Android ориентирован на то, чтобы помочь пользователям воспользоваться преимуществами новейших инноваций, уделяя при этом безопасность и конфиденциальность главным приоритетам. Используйте контрольные списки на этой странице в качестве источника общих правил и рекомендаций по обеспечению конфиденциальности.
Некоторые из лучших практик, описанных на этой странице, также присутствуют в шпаргалке .
Контрольный список: сведите к минимуму запросы на разрешения
Повысьте доверие своих пользователей, обеспечив прозрачность и предоставив им контроль над тем, как они используют ваше приложение.
- Запросите минимальные разрешения, необходимые вашей функции: при внесении серьезных изменений в ваше приложение просмотрите запрошенные разрешения , чтобы убедиться, что они по-прежнему нужны функциям вашего приложения.
- В новых версиях Android часто представлены способы доступа к данным с соблюдением конфиденциальности без необходимости получения разрешений. Дополнительные сведения см. в разделе Оцените, нужно ли вашему приложению объявлять разрешения .
- Если ваше приложение распространяется в Google Play, вы можете использовать Android Vitals , чтобы узнать процент пользователей, которые отказывают в разрешениях в вашем приложении. Используйте эти данные для переоценки проектирования функций, которым чаще всего отказывают в необходимых разрешениях.
- Объясните, почему для функции вашего приложения требуется разрешение: для этого следуйте рекомендуемой процедуре . Запрашивайте разрешение, когда оно необходимо, а не при запуске приложения, чтобы пользователи знали, какое разрешение необходимо.
- Имейте в виду, что пользователи или система могут отказать в разрешении несколько раз: Android уважает этот выбор пользователя, игнорируя запросы разрешений от одного и того же приложения.
- Грамотное снижение производительности без разрешения: ваше приложение должно корректно ухудшаться, когда пользователи отклоняют или отзывают разрешение — например, отключая голосовой ввод, если пользователь не предоставляет разрешение микрофону.
- Удалите доступ к ненужным разрешениям : при обновлении приложения закройте ему доступ ко всем разрешениям времени выполнения, которые ему больше не нужны.
- Поймите разрешения, необходимые для SDK или библиотеки: если вы используете SDK или библиотеку, которая обращается к данным, защищенным опасными разрешениями, пользователи обычно связывают это с вашим приложением. Убедитесь, что вы понимаете, какие разрешения требуются вашим SDK и почему .
Контрольный список: минимизируйте использование местоположения
Данные о местоположении пользователя являются конфиденциальными; по возможности избегайте использования данных о местоположении. Если вам необходимо использовать службы определения местоположения, примите меры, чтобы свести к минимуму сбор данных о местоположении. Используйте следующий контрольный список, чтобы свести к минимуму использование местоположения вашим приложением.
- Грамотная деградация без данных о местоположении: на Android 10 (уровень API 29) и более поздних версиях пользователи могут ограничить доступ вашего приложения к местоположению, пока оно используется. Спроектируйте свое приложение так, чтобы оно корректно ухудшалось, когда у него нет непрерывного доступа к местоположению.
- Используйте близлежащие устройства Bluetooth или Wi-Fi: если вашему приложению необходимо выполнить сопряжение устройства пользователя с находящимся поблизости устройством через Bluetooth или Wi-Fi, используйте диспетчер сопутствующих устройств , для которого не требуются разрешения на определение местоположения. Узнайте больше о разрешениях Bluetooth и Wi-Fi .
- По возможности используйте грубую точность определения местоположения: проверьте уровень детализации местоположения , необходимый вашему приложению. Грубого доступа к местоположению достаточно для реализации большинства случаев использования, связанных с определением местоположения.
- Доступ к местоположению в фоновом режиме только при необходимости: если вашему приложению требуется фоновое местоположение, например, с помощью геозон, реализуйте его так, чтобы оно было очевидным для пользователей. Узнайте больше о соображениях по использованию фонового местоположения .
- Доступ к данным о местоположении, когда ваше приложение видно пользователю: это позволяет пользователям лучше понять, почему ваше приложение запрашивает информацию о местоположении.
- Не запускайте службы переднего плана в фоновом режиме: рассмотрите возможность запуска приложения из уведомления, а затем выполнения кода местоположения, когда пользовательский интерфейс вашего приложения станет видимым. Если ваше приложение должно сохранять доступ к местоположению для поддержки текущей задачи, инициированной пользователем, после того, как пользователь выходит из пользовательского интерфейса вашего приложения, запустите службу переднего плана , прежде чем переходить в фоновый режим.
Контрольный список: безопасно обращаться с данными
Примечание. Подробнее о том, что считается конфиденциальными данными, можно прочитать на странице статьи «Пользовательские данные» в Центре политики разработчиков Google Play.
Будьте прозрачными, безопасными и тщательными в обращении с конфиденциальными данными. Используйте следующий контрольный список в качестве руководства по более безопасному обращению с пользовательскими данными в вашем приложении.
Аудит доступа к данным: на Android 11 (уровень API 30) и выше выполняйте аудит доступа к данным , чтобы получить представление о том, как ваше приложение и его зависимости получают доступ к личным данным пользователей, что упрощает выявление непредвиденного доступа к данным.
Объявите требования к видимости пакета: если ваше приложение предназначено для Android 11 или более поздней версии, система по умолчанию делает определенные приложения невидимыми для вашего приложения. Узнайте, как сделать эти другие приложения видимыми для вашего приложения .
Поддержка хранилища с ограниченной областью: чтобы предоставить пользователям больше контроля и ограничить беспорядок с файлами, приложения, предназначенные для Android 10 (уровень API 29) или выше, автоматически получают ограниченный доступ к внешнему хранилищу или хранилищу с ограниченной областью . Такие приложения имеют доступ только к своему собственному каталогу и созданным ими носителям. Узнайте, как перейти на хранилище с ограниченной областью .
Работайте со сбрасываемыми пользователем идентификаторами: чтобы защитить конфиденциальность ваших пользователей, используйте наиболее строгий идентификатор, соответствующий вашему сценарию использования — см. контрольный список сбрасываемых идентификаторов в этом документе .
Обеспечьте заметное раскрытие информации и согласие: следуйте рекомендациям политики Google Play в отношении пользовательских данных , чтобы предоставлять пользователям заметные запросы на раскрытие информации и согласие.
Объявите об использовании данных вашим приложением: правильно заполните форму безопасности данных консоли Google Play , в которой объясняется, какие типы пользовательских данных собирает и передает ваше приложение.
Безопасно передавайте конфиденциальные данные другим приложениям: используйте явное намерение передать конфиденциальные данные другому приложению. Предоставьте одноразовый доступ к данным , чтобы дополнительно ограничить доступ другого приложения.
Не включайте конфиденциальные данные в сообщения Logcat или файлы журналов: узнайте больше .
Контрольный список: используйте сбрасываемые идентификаторы
Уважайте конфиденциальность своих пользователей и используйте сбрасываемые идентификаторы. Дополнительные сведения см. в разделе «Рекомендации по использованию уникальных идентификаторов» .
Не обращайтесь к IMEI или серийному номеру устройства: эти идентификаторы постоянны. Приложение, предназначенное для Android 10 (уровень API 29) или выше, вызывает исключение
SecurityException
, если оно пытается получить доступ к этим идентификаторам.Используйте рекламный идентификатор только для профилирования пользователей или сценариев использования рекламы: всегда соблюдайте предпочтения пользователей при отслеживании рекламы для персонализации. Важно: это необходимо для Google Play.
Используйте частный GUID: для подавляющего большинства случаев использования, не связанных с рекламой, используйте частный глобально уникальный идентификатор (GUID) , который распространяется на область приложения.
Используйте SSAID для принадлежащих вам приложений: чтобы обмениваться состояниями между принадлежащими вам приложениями, не требуя от пользователей входа в учетную запись, используйте безопасные настройки Android ID (SSAID). Узнайте больше о том , как сохранять настройки невыполнившего вход пользователя между приложениями .
Контрольный список: поддержка функций конфиденциальности, ориентированных на пользователя
Будьте прозрачными, безопасными и тщательными в обращении с конфиденциальными данными. Используйте следующий контрольный список в качестве руководства, чтобы убедиться, что ваше приложение безопасно обрабатывает пользовательские данные.
Предоставьте обоснование доступа к конфиденциальной информации: на Android 12 (уровень API 31) и выше пользователи могут получить доступ к панели конфиденциальности в настройках системы, чтобы узнать подробности, связанные с тем, когда приложения получают доступ к информации о местоположении, микрофоне и камере. Узнайте больше о предоставлении этого объяснения пользователям .
Предложить пользователю отключить спящий режим приложения : если пользователь не взаимодействовал с приложением, предназначенным для Android 11 (уровень API 30) или более поздней версии, в течение нескольких месяцев, система переводит это приложение в состояние спящего режима. Узнайте о спящем режиме приложения и о том, как попросить пользователя отключить его .
Безопасно передавайте конфиденциальные данные в другие приложения: если вам нужно передать конфиденциальные данные в другое приложение, используйте явное намерение . Предоставьте одноразовый доступ к данным , чтобы дополнительно ограничить доступ другого приложения.
Визуально укажите, что ваше приложение записывает звук или изображение: даже если ваше приложение находится на переднем плане, покажите в реальном времени индикатор того, что вы записываете с микрофона или камеры. Примечание. Android 9 (уровень API 28) и более поздних версий не обеспечивает доступ к микрофону или камере, когда ваше приложение находится в фоновом режиме .
Шпаргалка по конфиденциальности
Шпаргалка по конфиденциальности — это краткий справочник некоторых наиболее полезных API конфиденциальности в Android, а также рекомендации, которые следует учитывать при разработке приложения.
Шпаргалку также можно скачать в формате PDF: