Перейти к содержимому
AppFoyer
Начать

Руководства Формы магазинов и SDK

Как заполнить форму Data safety в Google Play и сведения App Privacy в Apple

О чём спрашивает каждая анкета, как ваши SDK меняют ответы, три вопроса, на которых ошибаются, и где каждый вендор публикует нужные вам ответы.

Перечислите все SDK в сборке, откройте у каждого вендора его собственную страницу раскрытия данных или privacy manifest и добавьте собственный сбор данных, например аккаунты. Затем ответьте на обе анкеты по этому одному списку. Play спрашивает, что собирается, что передаётся и зачем. Apple спрашивает то же самое, плюс связаны ли данные каждого типа с пользователем и используются ли они для отслеживания.

Сделайте это за несколько минут

AppFoyer размещает страницы, о которых это руководство, — политику конфиденциальности, условия использования, поддержку, удаление аккаунта и app-ads.txt — на отдельном поддомене, без собственного домена и сервера. Одно приложение — бесплатно, и ничто из того, что требует магазин, никогда не бывает платным.

Проверено 25 сентября 2026 г. Правила магазинов меняются, иногда без предупреждения. Всё ниже ссылается на официальную документацию, и авторитетна именно она, а не эта страница. Если они расходятся, прав магазин. Это руководство переведено с английского; цитаты из документации магазинов приведены в оригинале на английском.

Составьте один список того, что ваше приложение отправляет с устройства, включая SDK, и отвечайте на обе анкеты по нему. Форма Data safety в Google Play и сведения App Privacy в Apple спрашивают об одних и тех же фактах разными словами. Когда ответы берутся из двух разных воспоминаний, они расходятся.

Каждое приложение в Google Play должно заполнить форму Data safety, включая приложение, которое ничего не собирает. Исключение — только приложения, опубликованные исключительно на треках внутреннего тестирования (справка Google Play по Data safety). Apple запрашивает сведения App Privacy для каждого приложения в App Store (сведения App Privacy от Apple).

Где находятся формы

  • Google Play: Play Console → ваше приложение → App content → Data safety.
  • App Store: App Store Connect → ваше приложение → App Privacy.

Шаг 1: составьте список

  1. Все сторонние SDK. Прочитайте файлы зависимостей: build.gradle / libs.versions.toml, Podfile / Package.swift, pubspec.yaml, package.json. Оба магазина считают то, что собирает SDK, вашим сбором. Apple возлагает на вас ответственность за весь код в приложении, включая код, написанный не вами.
  2. Что отправляет каждый из них. Используйте собственную страницу вендора. Некоторые вендоры публикуют свои ответы в терминах самого Play, в том числе RevenueCat, Unity Ads и OneSignal. Google публикует таблицы для AdMob и для каждого продукта Firebase. На iOS большинство актуальных SDK поставляются с privacy manifest (PrivacyInfo.xcprivacy). В Xcode откройте Organizer, щёлкните правой кнопкой по архиву и выберите Generate Privacy Report, чтобы увидеть все manifest вашей сборки на одной странице (документация Apple по privacy manifest).
  3. Ваш собственный сбор данных. Аккаунты (email, идентификатор пользователя), всё, что хранит ваш бэкенд, геолокация, которую читает ваш собственный код, записи о покупках, которые хранит ваш сервер.

Некоторые вендоры не публикуют ничего. У AppLovin нет списка типов данных ни для одного из магазинов, а у ряда SDK аналитики нет соответствия формам Play. Для них прочитайте собственную документацию SDK о том, что он передаёт, и запишите пробел. Не угадывайте.

Шаг 2: вопросы Google Play

Для каждого типа данных Play спрашивает:

  • Собираются, передаются или и то и другое? «Collected» (собираемые) означает отправленные с устройства. «Shared» (передаваемые) означает отправленные третьей стороне. Поставщик услуг, обрабатывающий данные от вашего имени, не считается передачей, как и полностью анонимизированные данные. Поэтому Firebase Analytics обычно «collected, not shared», а рекламный SDK обычно «collected and shared».
  • Обрабатываются эфемерно? Только если данные хранятся в памяти ровно столько, сколько нужно для обслуживания одного запроса, — например, геолокация, отправленная для получения погоды и нигде не сохраняемая.
  • Обязательно или по выбору? «По выбору» означает, что пользователь может решить, собираются ли эти данные.
  • Зачем? Цели в Play: App functionality, Analytics, Developer communications, Advertising or marketing, Fraud prevention, security, and compliance, Personalization, Account management. У сбора и у передачи — свои отдельные цели.

Затем два вопроса о безопасности. Шифруются ли все пользовательские данные при передаче? Проверить это можете только вы. Один обычный endpoint http:// делает ответ «No». Могут ли пользователи запросить удаление? Можно ответить «Yes», если вы предоставляете способ запросить его или если вы удаляете данные автоматически в течение 90 дней.

Если в приложении пользователи могут создавать аккаунты, вопросы Data deletion в той же форме также запрашивают веб-ссылку, по которой пользователи могут запросить удаление аккаунта (требования Google Play к удалению аккаунтов). См. руководство по URL удаления аккаунта.

Платёжные данные, введённые в собственном окне оплаты Google Play, декларировать не нужно, пока ваше приложение не получает к ним доступ. Записи о покупках, которые получает ваше приложение или SDK, декларировать по-прежнему должны вы.

Шаг 3: вопросы Apple

Для каждого типа данных Apple спрашивает цель и задаёт два вопроса «да/нет»:

  • Связаны ли данные с пользователем? Данные считаются связанными, если они не обезличены до сбора. Аккаунта, идентификатора пользователя или идентификатора устройства достаточно, чтобы их связать.
  • Используются ли они для отслеживания? Отслеживание — это объединение данных вашего приложения о пользователе или устройстве с данными других компаний для таргетированной рекламы или измерения рекламы либо передача их брокеру данных. SDK может делать это, даже если вы никогда не используете эту функцию. Если что-либо используется для отслеживания, приложение должно сначала запросить разрешение через App Tracking Transparency (user privacy and data use от Apple).

Цели в Apple: Third-Party Advertising, Developer’s Advertising or Marketing, Analytics, Product Personalization, App Functionality, Other Purposes.

Apple разрешает не указывать тип данных, только если выполняются все четыре условия. Данные не должны использоваться для отслеживания или рекламы. Они должны собираться лишь изредка, вне основной функции приложения и по выбору пользователя. И пользователь должен предоставлять их осознанно каждый раз. Большинство данных SDK не проходит уже первое условие.

Три ответа, в которых ошибаются

  1. «Мы ничего не собираем». Crash reporters и аналитика отправляют идентификаторы устройства и диагностику, даже если ваш собственный код не отправляет ничего.
  2. «Not shared» для рекламного SDK. Рекламные сети получают идентификаторы и взаимодействия для собственных рекламных целей. Это передача.
  3. Форма, которая расходится с политикой конфиденциальности. Магазины читают их вместе, так что расхождения достаточно самого по себе. Пишите оба документа по одному списку. См. когда они расходятся.

Как поддерживать актуальность

Ответы актуальны ровно настолько, насколько актуален ваш список SDK. Когда вы добавляете SDK, обновляйте обе формы и политику конфиденциальности в одном и том же изменении. Вендоры тоже пересматривают свои раскрытия с новыми версиями SDK.

Пусть SDK найдёт AI-ассистент

Самая медленная часть — шаг 1, и coding agent, открытый в репозитории вашего приложения, может сделать её за вас: Claude Code, Cursor, Codex и подобные. Промпт ниже просит его прочитать только файлы сборки и назвать каждый SDK и каждый факт о данных вместе с файлом, из которого он взят. Он не спрашивает, что собирает каждый SDK. Память модели о раскрытии вендора — это догадка, и эта часть должна приходить от самого вендора.

Ответ приходит в небольшом формате JSON, который читает дашборд AppFoyer. Без AppFoyer список, который он покажет вам на шаге 2, — всё равно тот самый, по которому стоит заполнять обе формы.

You are helping me fill in Google Play's Data safety form and Apple's App Privacy details for my mobile app. AppFoyer turns your answer into draft answers for both forms, using each SDK vendor's own published disclosure. Your job is only to find what is in the build — not to say what any SDK collects.

## About the app

- App name: [app name]
- Platforms: [Android, iOS or both]

## Step 1 — read the build files

Read only the app's build, manifest and store-metadata files — for example `build.gradle(.kts)`, `gradle/libs.versions.toml`, `AndroidManifest.xml`, `Podfile.lock`, `Package.swift`, `Package.resolved`, `Info.plist`, `*.entitlements`, `PrivacyInfo.xcprivacy`, `pubspec.yaml`, `package.json`, `app.json`. Do not open `.env` files, keystores, credentials or any other secrets, and do not change any file. If you cannot read the code, ask me which SDKs the app uses instead.

Find:

1. Every third-party SDK in the build. Match it to one of these ids where it fits:

- `admob` — Google Mobile Ads (AdMob)
- `applovin-max` — AppLovin MAX
- `unity-ads` — Unity Ads
- `firebase-analytics` — Google Analytics for Firebase
- `mixpanel` — Mixpanel
- `amplitude` — Amplitude
- `meta-app-events` — Meta SDK — App Events
- `firebase-crashlytics` — Firebase Crashlytics
- `sentry` — Sentry
- `firebase-auth` — Firebase Authentication
- `google-sign-in` — Google Sign-In
- `meta-login` — Meta SDK — Facebook Login
- `revenuecat` — RevenueCat
- `firebase-messaging` — Firebase Cloud Messaging
- `onesignal` — OneSignal

   An SDK that fits none of them goes under `otherSdks` with its package name. Never force a match.

2. Which of these facts are true, from the dependencies, permissions and usage-description keys:

- `account` — users sign in or create accounts
- `analytics` — usage analytics
- `ads` — advertising
- `crash` — crash reporting or diagnostics
- `location` — the app reads the device location
- `purchases` — in-app purchases or subscriptions

   If none is true, the facts are `["none"]`.

Keep the file, and the line where you can, for every SDK and every fact. A README sentence is not evidence.

## Step 2 — confirm with me

Show me the list, grouped as SDKs, other SDKs and facts, each with its file. Ask me to confirm or correct it, and to add anything the build files cannot show — for example an SDK loaded at runtime. Wait for my answer.

## Step 3 — reply in AppFoyer's format

Reply with one ```json code block and nothing after it, exactly in this shape:

```json
{
  "format": "appfoyer-store-forms/1",
  "platform": "android | ios | both",
  "sdks": [{ "id": "admob", "file": "app/build.gradle.kts", "line": 42 }],
  "otherSdks": [{ "name": "com.example:tracker", "file": "app/build.gradle.kts", "line": 57 }],
  "facts": [{ "fact": "ads", "file": "app/src/main/AndroidManifest.xml", "line": 12 }]
}
```

- `id` is one of the ids above, spelled exactly. `fact` is one of the facts above, or `none`.
- `line` is a number, or leave it out when you do not know it.
- Empty lists are `[]`. No comments inside the JSON.
- Do not describe what an SDK collects, and do not add fields.

С AppFoyer

У каждого приложения в дашборде есть вкладка Store forms. Отметьте SDK, которые входят в вашу сборку, и она составит черновики ответов для Data safety и App Privacy по ним и по настройкам приложения. У каждого ответа указан источник: собственные ответы вендора, его privacy manifest или наше прочтение его списка данных. Вкладка отмечает SDK, который не упомянут в вашей политике конфиденциальности, и даёт ссылку на удаление аккаунта, которую нужно вставить. Плагин Claude Code заполняет список SDK по вашим файлам сборки. С другим ассистентом скопируйте промпт со вкладки, запустите его и вставьте ответ обратно: вкладка покажет вытекающие из него ответы до того, как что-либо будет сохранено. Ответы вы по-прежнему вводите в каждой консоли и проверяете там же. Это черновики, а не юридическая консультация. Вкладка бесплатна на любом тарифе.