隐私权核对清单

Android 致力于帮助用户利用最新的创新成果,同时将安全性和隐私权作为重中之重。您可以使用此页面上的核对清单,作为常见隐私权指南和最佳实践的参考。

此页面上介绍的一些最佳实践也出现在速查表中。

核对清单:最大限度地减少权限请求

通过提高透明度并让用户能够控制其应用体验,与用户建立信任。

  • 请求功能所需的最低权限: 在对应用进行重大更改时,请查看请求的权限,以确认您的应用功能是否仍需要这些权限。
    • 较新的 Android 版本通常会引入在不要求权限的情况下以隐私保护方式访问数据的方法。如需了解详情,请参阅评估您的应用是否需要声明权限
    • 如果您的应用在 Google Play 上发布,您可以使用 Android vitals 来获取拒绝您应用权限的用户所占的百分比。使用此数据重新评估那些所需权限最常被拒绝的功能的设计。
  • 解释您的应用中的功能为何需要权限: 请遵循建议的流程进行操作。在需要时请求权限,而不是在应用启动时请求,这样用户就能清楚地了解所需权限。
  • 请注意,用户或系统可以多次拒绝权限: Android 会尊重此用户选择,忽略来自同一应用的权限请求。
  • 在没有权限的情况下正常降级: 当用户拒绝或撤销权限时,您的应用应正常降级,例如,如果用户未授予麦克风权限,则停用语音输入。
  • 移除对不必要权限的访问:更新应用时,请移除其对不再需要的任何运行时权限的访问权限。
  • 了解 SDK 或库所需的权限: 如果您使用的是访问受危险权限保护的数据的 SDK 或库,用户通常会将其归因于您的应用。请务必了解您的 SDK 需要哪些权限以及原因

核对清单:最大限度地减少对位置信息的使用

用户的位置信息数据是敏感信息;如果可能,请避免使用位置信息数据。如果您必须使用位置服务,请采取措施最大限度地减少位置信息数据的收集。使用以下核对清单可最大限度地减少应用对位置信息的使用。

  • 在没有位置数据的情况下正常降级: 在 Android 10 (API 级别 29) 及更高版本中,用户可以将应用的位置信息访问权限限制为仅在应用使用期间。设计您的应用时,应使其在无法不间断地访问位置信息时也能正常降级。
  • 使用附近的蓝牙或 WLAN 设备: 如果您的应用需要通过蓝牙或 WLAN 将用户的设备与附近的设备配对,请使用伴生设备管理器,这不需要位置信息权限。详细了解蓝牙WLAN权限。
  • 尽可能使用粗略位置信息精确度: 查看您的应用所需的位置信息粒度级别。粗略位置信息访问权限足以满足大多数与位置信息相关的用例。
  • 仅在必要时访问后台位置信息: 如果您的应用需要后台位置信息(例如地理围栏),请将其实现为用户显而易见。详细了解使用后台位置信息时的注意事项
  • 在您的应用对用户可见时访问位置信息数据: 这能让用户更好地理解您的应用请求位置信息的原因。
  • 不要从后台启动前台服务: 考虑从通知启动您的应用,然后在应用界面可见时执行位置信息代码。如果您的应用必须保留位置信息访问权限以支持用户在离开应用界面后启动的持续任务,请在进入后台之前启动前台服务

核对清单:安全处理数据

注意: 您可以在 Google Play 开发者政策中心内的用户数据文章页面中阅读更多关于敏感数据的信息。

在处理敏感数据时,请务必透明、安全、周全。使用以下核对清单作为指导,以便在您的应用中更安全地处理用户数据。

  • 审核数据访问权限: 在 Android 11 (API 级别 30) 及更高版本上,执行数据访问审核以深入了解您的应用及其依赖项如何访问用户的私人数据,从而更轻松地识别意外的数据访问。

  • 声明软件包可见性需求: 如果您的应用面向 Android 11 或更高版本,则系统默认会将某些应用对您的应用不可见。了解如何使这些其他应用对您的应用可见

  • 支持分区存储: 为了让用户更好地控制并限制文件混乱,面向 Android 10 (API 级别 29) 或更高版本的应用会自动获得对外部存储设备的分区访问权限,即分区存储。此类应用只能访问其自己的目录以及其创建的媒体文件。了解如何迁移到分区存储

  • 使用用户可重置标识符: 为了保护用户的隐私,请使用满足您的用例的最严格的标识符——请参阅本文档中的可重置标识符核对清单

  • 提供醒目披露和征求同意: 遵循Google Play 用户数据政策最佳实践,向用户提供醒目披露和征求同意请求。

  • 声明您的应用数据使用情况: 正确填写 Google Play 管理中心数据安全表单,该表单会向用户说明您的应用收集和共享的用户数据类型。

  • 安全地将敏感数据传递给其他应用: 使用显式 Intent 将敏感数据传递给另一个应用。授予一次性数据访问权限可进一步限制另一个应用的访问权限。

  • 不要在 Logcat 消息或日志文件中包含敏感数据: 了解详情

核对清单:使用可重置标识符

尊重用户的隐私并使用可重置标识符。如需了解详情,请参阅唯一标识符的最佳实践

  • 不要访问 IMEI 或设备序列号: 这些标识符是持久性的。如果应用尝试访问这些标识符,则面向 Android 10 (API 级别 29) 或更高版本的应用会引发 SecurityException

  • 仅将广告 ID 用于用户分析或广告用例: 始终尊重用户对个性化广告跟踪的偏好设置。重要提示:这是 Google Play 的强制要求。

  • 使用私有存储的 GUID: 对于绝大多数非广告用例,请使用私有存储的全局唯一 ID (GUID),其作用域为应用。

  • 对您拥有的应用使用 SSAID: 要在您拥有的应用之间共享状态而无需用户登录帐号,请使用安全设置 Android ID (SSAID)。详细了解如何在应用之间保存已退出登录的用户偏好设置

核对清单:支持面向用户的隐私功能

在处理敏感数据时,请务必透明、安全、周全。使用以下核对清单作为指导,以确保您的应用安全处理用户数据。

  • 提供访问敏感信息的理由: 在 Android 12 (API 级别 31) 及更高版本中,用户可以在系统设置中访问隐私信息中心,了解应用何时访问位置信息、麦克风和相机信息的详细信息。详细了解如何向用户提供此说明

  • 提示用户停用应用休眠: 如果用户在几个月内没有与面向 Android 11 (API 级别 30) 或更高版本的应用互动,系统会将该应用置于休眠状态。详细了解应用休眠以及如何请求用户停用它

  • 安全地将敏感数据传递给其他应用: 如果您需要将敏感数据传递给另一个应用,请使用显式 Intent授予一次性数据访问权限可进一步限制另一个应用的访问权限。

  • 直观地指示您的应用正在捕获音频或图像: 即使您的应用在前台,也要显示实时指示器,表明您正在从麦克风或相机捕获数据。注意:Android 9 (API 级别 28) 及更高版本不允许在应用处于后台时访问麦克风或相机

隐私权速查表

隐私权速查表是 Android 中一些最有用的隐私权 API 以及您在设计应用时应牢记的最佳实践的快速参考。

速查表也提供 PDF 格式下载