隱私權最佳做法

我們在開發 Android 時,不僅著重於協助使用者善用各項創新功能,也持續將維護使用者的安全性和隱私權當做首要任務。

本頁說明的一些最佳做法也會列在一覽表中。

注意權限

請秉持資訊公開的原則,並為應用程式使用者提供控制選項,以贏得使用者的信任。

  • 只要求應用程式功能所需的最低權限。每當您的應用程式推出重大異動時,請檢查應用程式要求的權限,確認應用程式的功能仍需要這些權限才能運作。

    • 提醒您,Android 常會在新版本中導入重視隱私權的資料存取方式,這樣一來,應用程式不需要權限也能取得資料。 詳情請參閱「評估應用程式是否需要宣告權限」。
    • 如果您透過 Google Play 發布應用程式,Android Vitals 功能會提供拒絕授權的應用程式使用者比例。如果大多數使用者常會拒絕讓應用程式功能存取必要權限,請根據這項資料重新評估此類功能的設計。
  • 按照建議的流程,解釋應用程式中的功能為什麼需要這項權限。只在必要時才提出權限要求,而不是一啟動應用程式就要求權限,使用者就會比較清楚應用程式為何需要權限。

  • 請注意,使用者或系統可能會多次拒絕授予權限。Android 尊重使用者的選擇,因此會忽略同一個應用程式提出的權限要求。

  • 在使用者拒絕或撤銷授權時優雅降級。舉例來說,假設使用者未授權讓應用程式存取麥克風,您可以停用應用程式的語音輸入功能。

  • 更新應用程式時,請針對應用程式不再需要的執行階段權限,移除應用程式的存取權

  • 如果您使用的 SDK 或程式庫會存取受危險權限保護的資料,使用者通常會認為是您的應用程式需要相應權限。請務必瞭解 SDK 需要哪些權限及其原因

    • 如果您在 Android 11 (API 級別 30) 測試應用程式,請使用資料存取稽核功能找出自己的程式碼和第三方程式庫程式碼中有哪些地方會存取私人資料。

盡可能避免使用位置資訊

如果您的應用程式不需要任何位置資料即可達到既定用途,就請不要提出任何位置存取權要求。如果您的應用程式會要求位置資訊存取權,請讓使用者在資訊充足的情況下做決定。

  • 如果您的應用程式需要收集位置資訊,請說明應用程式會如何使用這項資訊為使用者提供特定功能。
  • 如果您的應用程式必須透過藍牙/Wi-Fi 將使用者的裝置與鄰近裝置配對,請使用不需要位置存取權的隨附裝置管理工具
  • 查看應用程式需要的位置資訊精細程度。只要取得概略的位置存取權,就足以達成大部分的位置資訊相關用途。
  • 在使用者看得到應用程式時存取位置資料。這樣一來,使用者可以更瞭解應用程式要求存取位置資訊的原因。
  • 如果應用程式需要背景位置資訊才能運作 (例如實作地理圍欄功能),請確認應用程式確實需要這項權限才能運作核心功能,並讓使用者明確知道應用程式在背景存取位置資訊。進一步瞭解使用背景位置資訊的注意事項
  • 在 Android 10 (API 級別 29) 以上版本中,使用者可以將應用程式限制為只在使用期間才能要求位置存取權。設計應用程式時,要讓應用程式能夠在沒有「一律允許」位置存取權時優雅降級。
  • 如果您的應用程式需要保留位置存取權,以便在使用者離開應用程式的 UI 後,繼續完成使用者啟動的工作,請在應用程式進入背景前啟動前景服務。您可以透過其中一種 Android 生命週期回呼執行這項動作,例如 onPause()
  • 請勿從背景啟動前景服務。建議您改為透過通知啟動應用程式,然後在應用程式 UI 處於可見狀態時執行位置資訊程式碼。

安全處理資料

注意:如要進一步瞭解哪些資料屬於私密資料,請參閱 Google Play 開發人員政策中心的使用者資料文章頁面。

請以公開透明且安全的方式處理私密資料。

Jetpack 備有多個程式庫,可進一步保護應用程式的資料。詳情請參閱 Jetpack Security 程式庫Jetpack Preferences 程式庫使用指南。

使用可重設的 ID

請尊重使用者的隱私權,並使用可重設的 ID。詳情請參閱「專屬 ID 的最佳做法」。