Раздел «Безопасность данных» в Google Play: как заполнить без отказа
Как заполнить раздел «Безопасность данных» в Google Play Console: сбор и передача данных, SDK, удаление аккаунта, частые причины отказа и как их избежать.
Раздел «Безопасность данных» (Data safety) в Google Play Console заполняют все приложения, кроме тех, что есть только во внутреннем тестировании. В анкете вы указываете, какие данные приложение собирает и передаёт третьим лицам, зачем, шифруются ли они при передаче и может ли пользователь запросить удаление. Ответы должны совпадать с реальным поведением приложения и всех подключённых SDK, иначе Google заблокирует обновление или снимет приложение.
Ниже пошаговая инструкция и разбор ошибок, из-за которых казахстанские приложения чаще всего получают отказ. Анкета заполняется один раз при первой публикации, но потом её нужно поддерживать в актуальном состоянии: каждое новое SDK или разрешение в обновлении может сделать старые ответы неверными. Поэтому это задача не только для запуска, но и для каждого релиза.
Кто обязан заполнять раздел
По правилам Google анкету заполняют все разработчики, чьи приложения опубликованы в Google Play, включая закрытое и открытое тестирование. Исключения: приложения только во внутреннем тестировании, системные сервисы и частные корпоративные приложения.
Даже если приложение вообще не собирает данные, анкету всё равно нужно пройти и честно это указать. На практике «ничего не собираем» бывает редко: почти любое приложение с аналитикой, push-уведомлениями или рекламой собирает хотя бы идентификаторы устройства и данные о работе приложения.
Анкета работает в паре с политикой конфиденциальности. Ссылка на политику обязательна, и её текст должен совпадать с ответами в анкете. Как составить политику, мы разобрали в статье о политике конфиденциальности для приложения.
Ключевые понятия: сбор и передача
Большинство ошибок в анкете идёт от неверного понимания двух слов.
- Сбор (collect). По определению Google, это передача данных из приложения за пределы устройства пользователя. Если номер телефона уходит на ваш сервер, это сбор. Если фото обрабатывается на телефоне и никуда не отправляется, это не сбор. Кратковременная обработка в памяти для выполнения запроса без сохранения тоже может не указываться.
- Передача (share). Это передача собранных данных третьей стороне. Не считается передачей: отправка данных поставщику услуг, который обрабатывает их от вашего имени (например, хостинг), передача по требованию закона и полностью обезличенные данные.
- Данные из SDK считаются вашими. Если библиотека аналитики или рекламы внутри приложения что-то отправляет, это тоже сбор вашим приложением, и указывать его нужно вам.
Как заполнить анкету: пошагово
- Соберите инвентарь. Выпишите все экраны, где пользователь что-то вводит, все разрешения из манифеста и все подключённые SDK: Firebase, Google Analytics, AdMob, AppsFlyer, карты, чат-виджеты, платёжные модули. Для каждого SDK откройте его документацию по Data safety: крупные поставщики публикуют, какие данные они собирают.
- Откройте анкету. В Play Console: «Политика» → «Контент приложения» → «Безопасность данных».
- Общие вопросы. Собирает ли приложение данные, шифруются ли они при передаче (если всё идёт по HTTPS, ответ «да»), может ли пользователь запросить удаление данных.
- Типы данных. Отметьте всё, что собирается: местоположение, личная информация, финансовые данные, фото, контакты, активность в приложении, информация о работе приложения, идентификаторы устройства и так далее.
- Детали по каждому типу. Собирается или передаётся, обязательно или по желанию пользователя, обрабатывается ли кратковременно, и для каких целей: работа приложения, аналитика, реклама, персонализация, управление аккаунтом, защита от мошенничества.
- Проверьте превью того, как раздел будет выглядеть в карточке, и сохраните.
Если приложений несколько или анкета большая, её можно экспортировать в CSV, заполнить в таблице и импортировать обратно в Play Console.
Пример: приложение магазина в Алматы
Возьмём типичное приложение магазина с регистрацией по номеру телефона, доставкой, оплатой картой и Firebase для push и аналитики. Вот как примерно выглядит анкета:
| Тип данных | Откуда | Сбор / передача | Цель |
|---|---|---|---|
| Имя, телефон, адрес | Регистрация и оформление заказа | Сбор, обязательно | Работа приложения, управление аккаунтом |
| Приблизительное или точное местоположение | Выбор адреса на карте | Сбор, по желанию | Работа приложения |
| История покупок | Заказы | Сбор | Работа приложения, персонализация |
| Платёжные данные | Платёжная страница банка | Обычно не собираются приложением, если карта вводится на стороне банка | Уточните у платёжного провайдера |
| Действия в приложении | Firebase Analytics | Сбор | Аналитика |
| Сбои и диагностика | Crashlytics | Сбор | Аналитика |
| Идентификаторы устройства | Firebase, push | Сбор | Работа приложения, аналитика |
Это ориентир, а не шаблон для копирования. Точные ответы зависят от вашего кода и версий SDK. Подробнее о том, что обычно собирают аналитические инструменты, в статье о Firebase для мобильного приложения.
Удаление аккаунта: отдельное требование
Если в приложении можно создать аккаунт, Google требует дать пользователю способ удалить его вместе с данными. В анкете для этого есть отдельные поля, включая ссылку на веб-страницу, где можно запросить удаление без установки приложения.
Что нужно сделать:
- кнопка «Удалить аккаунт» в профиле внутри приложения, которую легко найти;
- веб-страница с инструкцией или формой запроса на удаление, ссылка на неё указывается в Play Console;
- на сервере реальное удаление или обезличивание данных, а не просто скрытие профиля;
- если часть данных вы обязаны хранить по закону (например, бухгалтерские документы по заказам), укажите это в политике и в анкете.
Это требование пересекается с законом РК о персональных данных, подробнее в материале о защите персональных данных в приложении.
Как проверить себя перед отправкой
Анкету удобно проверять не по памяти, а по фактам из сборки. Вот порядок, которым пользуемся мы:
- Итоговый манифест. В Android Studio откройте Merged Manifest у release-сборки и выпишите все разрешения. Для каждого найдите тип данных в анкете: геолокация, камера, микрофон, контакты, файлы.
- Список зависимостей. Пройдитесь по build.gradle или pubspec.yaml для Flutter. Каждая библиотека, которая ходит в сеть, это кандидат в анкету.
- Сетевой трафик. Прогоните основной сценарий через прокси (Charles, Proxyman) и посмотрите, какие запросы уходят и к каким доменам. Неожиданные домены аналитики и рекламы всплывают именно здесь.
- Сверка с политикой. Положите рядом анкету и текст политики конфиденциальности. Каждый тип данных и каждый получатель должны совпадать.
- Сверка с iOS. Если есть версия для App Store, её «ярлык конфиденциальности» заполняется по похожей логике. Расхождения между двумя сторами вызывают вопросы у пользователей и у проверяющих.
В карточке раздел показывается пользователю ещё до установки. Честная и понятная анкета не отпугивает людей, а вот расплывчатая «собираем всё для всего» снижает конверсию. Поэтому указывайте цели точно: если геолокация нужна только для адреса доставки, так и отмечайте «работа приложения», без аналитики и рекламы.
Дополнительно в разделе могут отображаться значки: соответствие правилам программы для семей, если приложение для детей, и прохождение независимой проверки безопасности. Они необязательны, но повышают доверие к карточке.
Частые причины отказа
- Забыли про SDK. Самая частая ошибка. Разработчик указывает только то, что вводит пользователь, и забывает, что AdMob собирает рекламный идентификатор, а аналитика собирает действия в приложении. Google проверяет сборку и находит несоответствие.
- Разрешение в манифесте не отражено в анкете. В приложении есть доступ к местоположению или контактам, а в анкете «не собираем». Иногда разрешение приносит сторонняя библиотека, о которой вы даже не знали. Проверяйте итоговый манифест сборки.
- Анкета расходится с политикой конфиденциальности. В политике написано, что данные передаются партнёрам, а в анкете передачи нет. Или наоборот.
- Нет механизма удаления аккаунта при наличии регистрации, или ссылка на веб-страницу удаления не открывается.
- Анкету не обновили после обновления приложения. Добавили чат с загрузкой фото или новый рекламный SDK, а раздел остался старым.
- «Не шифруется», хотя всё идёт по HTTPS, или наоборот «шифруется», хотя где-то остались HTTP-запросы.
Если Google всё-таки прислал письмо о несоответствии, не спорьте, а сверьте сборку, исправьте анкету или код и отправьте обновление. Обычно это решается за 1-3 дня. Похожая логика работает и при отказах Apple, её мы разбирали в статье что делать, если отклонили приложение в App Store.
Частые вопросы
Нужно ли заполнять раздел, если приложение ничего не собирает?
Да. Анкету проходят все опубликованные приложения, просто в ответах указывается, что данные не собираются. Проверьте при этом SDK: они часто собирают идентификаторы без вашего ведома.
Считается ли сбором отправка данных на свой сервер?
Да. По определению Google сбор это любая передача данных с устройства пользователя, в том числе на ваш собственный бэкенд.
Нужно ли указывать данные, которые собирает Firebase или AdMob?
Да. Данные, которые собирают SDK внутри приложения, считаются собранными вашим приложением и должны быть в анкете.
Что будет, если указать неверные данные?
По правилам Google это нарушение политики. Возможна блокировка обновлений или удаление приложения из Google Play до исправления.
Как часто обновлять анкету?
При каждом изменении, которое затрагивает данные: новый SDK, новое разрешение, новая форма ввода. Лучше сверять анкету перед каждым релизом.
Заполним декларации за вас
Проверим код и SDK вашего приложения, заполним «Безопасность данных», возрастной рейтинг и остальные декларации, подготовим политику и страницу удаления аккаунта. Аудит и доработка от 500 000 ₸, смета бесплатно за 24 часа. Подробнее о доработке приложений или напишите нам.