Руководства Формы магазинов и SDK
Когда форма Data safety и политика конфиденциальности расходятся
Два заявления об одном приложении, которые читают вместе, а пишут обычно с разницей в месяцы. Что это такое, где они расходятся и как свести их по списку зависимостей.
Это два описания одного и того же приложения, и магазины читают их вместе, поэтому само расхождение и есть проблема. Исправляйте его от приложения, а не от одного из документов: перечислите все SDK в сборке, запишите, что отправляет каждый, а затем заполните форму и перепишите политику по этому одному списку.
Сделайте это за несколько минут
AppFoyer размещает страницы, о которых это руководство, — политику конфиденциальности, условия использования, поддержку, удаление аккаунта и app-ads.txt — на отдельном поддомене, без собственного домена и сервера. Одно приложение — бесплатно, и ничто из того, что требует магазин, никогда не бывает платным.
Проверено 19 сентября 2026 г. Правила магазинов меняются, иногда без предупреждения. Всё ниже ссылается на официальную документацию, и авторитетна именно она, а не эта страница. Если они расходятся, прав магазин. Это руководство переведено с английского; цитаты из документации магазинов приведены в оригинале на английском.
Форма Data safety и политика конфиденциальности — это два описания одного и того же приложения, и магазины читают их вместе. Если они расходятся, проблема именно в расхождении, а не в том, какой из документов оказался неверным. Google Play говорит об этом прямо: “When Google becomes aware of a discrepancy between your app behavior and your declaration, we may take appropriate action, including enforcement action.” (Перевод: «Когда Google узнаёт о расхождении между поведением вашего приложения и вашей декларацией, мы можем принять соответствующие меры, включая принудительные».)
У Apple та же структура под другими названиями: сведения App Privacy на странице продукта плюс обязательный URL политики конфиденциальности.
Эта страница о том, как держать два документа согласованными, и о третьей вещи, с которой сверяют их оба: о том, что на самом деле делает ваше приложение.
Два документа вкратце
Форма Data safety (Play Console → App content) и сведения App Privacy (App Store Connect) — это структурированные декларации: флажки и категории, которые показываются на странице приложения в магазине как сводка, которую пользователь читает перед установкой. Это ответы на фиксированную анкету.
Политика конфиденциальности — это текст по URL, который размещаете вы. В ней то же самое сказано предложениями, плюс то, для чего в анкете нет поля: правовое основание, сроки хранения, к кому обращаться, как запросить удаление.
Одно не заменяет другое. Политика не заполняет форму, а заполненная форма не означает, что политика точна.
Где они расходятся
Их пишут с разницей в месяцы. Политику пишут в неделю запуска. Форму заполняют в день отправки на проверку — кто-то читает список зависимостей, — и к политике никто не возвращается.
Появляется новый SDK. В одном из спринтов вы добавляете crash reporter. В pull request нет ничего ни о политике, ни о форме, поэтому ни то, ни другое не меняется. Google Play прямо говорит, что это учитывается: сбор данных “includes data collected and handled through any third-party libraries or SDKs used in their apps… You must reflect data collection or sharing carried out by such third-party code in the Data safety form for your app.” (Перевод: «включает данные, собираемые и обрабатываемые любыми сторонними библиотеками или SDK, используемыми в приложении… Вы должны отразить сбор или передачу данных таким сторонним кодом в форме Data safety для вашего приложения».) Apple требует того же: “You need to identify all of the data you or your third-party partners collect.” (Перевод: «Вы должны указать все данные, которые собираете вы или ваши сторонние партнёры».)
Функция выходит без раскрытия. Геолокация для функции «найти поблизости», реферальная система, которая передаёт партнёру идентификатор пользователя. Инженерная работа видна, а работа над декларацией не стоит ни у кого на доске.
Для одного из документов использовали шаблон. Сгенерированная политика, которая перечисляет рекламные идентификаторы для приложения без рекламы, — такое же расхождение, как и пропуск. Причём его легче заметить, потому что оно противоречит честно заполненной форме.
Как их согласовать — в единственном работающем порядке
Начинайте с приложения, а не с одного из документов. Оба должны описывать приложение, поэтому если исправлять один по другому, ошибка просто переедет.
- Откройте файлы зависимостей —
build.gradle/libs.versions.toml,Podfile/Package.swift,pubspec.yaml,package.json. Перечислите все сторонние SDK. - Для каждого запишите, что он отправляет. Crash reporter отправляет идентификаторы устройства и stack traces. SDK аналитики отправляет события и часто рекламный идентификатор. Рекламный SDK отправляет заметно больше. Библиотека push-уведомлений регистрирует токен устройства. Источник здесь — собственная документация вендора о конфиденциальности.
- Добавьте собственный сбор данных — аккаунты, загрузки, всё, что хранит ваш бэкенд.
- Проверьте разрешения и usage strings, которые вы объявляете: это второй, независимый список
того, к чему у приложения есть доступ:
ACCESS_FINE_LOCATION,NSLocationWhenInUseUsageDescription, камера, контакты, фото. - Теперь заполните форму по этому списку и перепишите политику по тому же списку. Они окажутся согласованными, потому что взяты из одного источника, а не потому, что вы их сравнили.
Актуальным нужно держать именно этот список, а не форму. Обе декларации вытекают из него.
Как держать их согласованными дальше
Декларации устаревают незаметно, поэтому проверку нужно привязать к тому, что незаметно не происходит. Google Play этого требует: “Your Data safety form responses must remain accurate and complete at all times.” (Перевод: «Ответы в вашей форме Data safety должны всегда оставаться точными и полными».) Apple — аналогично: “You’re responsible for keeping your responses accurate and up to date.” (Перевод: «Вы отвечаете за то, чтобы ваши ответы были точными и актуальными».)
Самый дешёвый работающий вариант — строка в чек-листе релиза: менялись ли зависимости в этом релизе? если да, перепроверьте политику и форму — потому что изменение зависимостей и есть то событие, которое делает недействительными оба документа.
Чего эта страница сказать не может
Какой именно режим регулирования применяется к вам. GDPR, UK GDPR, CCPA/CPRA, LGPD и правила о конфиденциальности детей ожидают в политике определённых вещей, а какие из них применяются, зависит от того, где ваши пользователи и что делает ваше приложение. Если в вашем приложении есть что-то необычное — данные о здоровье, дети, всё, что вы не решились бы объяснить одним предложением, — на это стоит потратить час работы юриста. Шаблоны, включая наши, — это отправная точка, а не консультация.
Что здесь делает AppFoyer
Мы составляем черновик политики конфиденциальности по SDK, найденным в ваших файлах сборки, — с помощью coding agent, который читает репозиторий, или по короткой форме, — так что политика и ответы, которые вы даёте магазинам, берутся из одного списка зависимостей, а не по памяти. Чек-лист продолжает отмечать страницу, пока не заменён placeholder с перечнем ваших третьих сторон, потому что именно этот раздел проверяющий сравнивает с вашей формой.
Мы не заполняем форму Data safety за вас, и никакой сервис не может этого сделать: это декларация, которую вы подписываете в собственной консоли, и Google Play говорит: “you alone are responsible for making complete and accurate declarations.” (Перевод: «только вы несёте ответственность за полноту и точность деклараций».)
Официальные источники
- Предоставление информации для раздела Data safety в Google Play — Справка Google Play Console
- Сведения App Privacy в App Store — Apple
- Требования к политике конфиденциальности — Справка Google Play