Как написать страницы соответствия требованиям с помощью ИИ-агента для программирования
Нужные факты уже есть в вашем репозитории. Что агент может вывести сам, о чём должен спросить вас и какие границы ему стоит поставить.
ИИ-агент для программирования, который может читать ваш репозиторий, уже располагает фактами, нужными этим страницам: название приложения, bundle id, ссылки на магазины и каждый SDK в сборке. С подходящими инструментами он составляет черновики страниц на основе этих данных и даёт вам ссылку для проверки — вы проверяете и публикуете.
Сделайте это за несколько минут
AppFoyer размещает страницы, о которых это руководство, — политику конфиденциальности, условия использования, поддержку, удаление аккаунта и app-ads.txt — на отдельном поддомене, без собственного домена и сервера. Одно приложение — бесплатно, и ничто из того, что требует магазин, никогда не бывает платным.
Проверено 25 сентября 2026 г. Правила магазинов меняются, иногда без предупреждения. Всё ниже ссылается на официальную документацию, и авторитетна именно она, а не эта страница. Если они расходятся, прав магазин. Это руководство переведено с английского; цитаты из документации магазинов приведены в оригинале на английском.
Написание политики конфиденциальности — это в основном переписывание. Сложная часть — понять, что ваше приложение на самом деле собирает, — решается файлами, которые уже лежат в вашем репозитории, а это ровно та работа, с которой хорошо справляется агент с доступом к файловой системе.
Что агент действительно может вывести
Только из файлов сборки, ничего у вас не спрашивая:
| Факт | Откуда он берётся |
|---|---|
| Название приложения | strings.xml app_name, CFBundleDisplayName, pubspec.yaml, app.json |
| Application / bundle id | applicationId в Gradle, PRODUCT_BUNDLE_IDENTIFIER в проекте Xcode |
| Платформа | Какие из этих файлов существуют |
| Сбор данных | Каждый сторонний SDK в build.gradle, Podfile, Package.swift, pubspec.yaml, package.json |
| Разрешения и строки описания использования | AndroidManifest.xml, Info.plist |
| Идентификатор рекламного издателя | Идентификатор приложения AdMob в манифесте или plist |
| Предлагаемый URL в Play | Строится из application id — это предложение, а не факт, поскольку приложение может быть не опубликовано |
Эта таблица — суть политики конфиденциальности. Это ещё и ответ на вопрос «что собирает моё приложение», на который большинство разработчиков по памяти отвечают неправильно, а при чтении файлов — правильно.
Чего он знать не может и о чём должен спросить
Агент, который это выдумывает, хуже, чем отсутствие агента:
- Название вашего юридического лица и юрисдикция, указанная в ваших условиях.
- Адрес поддержки, который вы действительно читаете. Агент никогда не должен угадывать его по git config или по логину разработчика Apple, найденному в файле fastlane.
- Ваш настоящий App Store id, если только он не указан в конфигурации fastlane, — числовой id вывести нельзя.
- Опубликовано ли приложение и под какой страницей в магазине.
- Бизнес-факты: продаёте ли вы подписки, являются ли дети целевой аудиторией, передаёте ли вы данные партнёру, который не оставляет следа в списке зависимостей.
- Всё о вашем бэкенде. Ничто в репозитории не говорит, как долго вы храните данные.
Хороший результат выглядит так: всё, что можно вывести, выведено с указанием файла и строки, откуда это взято, а остаётся короткий список вопросов, ответить на которые можете только вы.
Границы, на которых стоит настоять
Прежде чем подпускать к этому любого агента, определитесь со следующим — это разница между полезным инструментом и источником проблем:
- Ничего не публикуется без клика человека. Сгенерированная юридическая страница, вышедшая в сеть без проверки, — это весь риск в одном предложении.
- Каждый выведенный факт можно отследить до источника. «Я нашёл
firebase-crashlyticsвapp/build.gradle:47» можно проверить; «ваше приложение собирает диагностические данные» — нет. - Он не делает commit и push. Предложить diff — это помощь; переписать ваш репозиторий — нет.
- Он отправляет с вашей машины минимум. Вывести факты локально и отправить выводы — совсем не то же самое, что загрузить ваш исходный код.
- Он говорит, чего не знает. Агент, который заполняет заглушку правдоподобной фразой, создал документ о соответствии требованиям, содержащий догадку.
Задайте эти пять вопросов любому инструменту в этой категории, включая наш.
Где человек остаётся в контуре
Агент составляет черновик; решаете вы. А именно, вы тот, кто:
- подтверждает ответы на вопросы, которые агент не смог вывести;
- читает раздел о третьих сторонах — ту часть, которую проверяющий сравнивает с вашей формой Data safety;
- определяет сроки хранения, потому что только вы знаете свой бэкенд;
- нажимает «опубликовать»;
- заполняет поля в консоли магазина — никакому агенту не место внутри вашей Play Console.
Если ваше приложение связано с деньгами, данными о здоровье или детьми, час работы юриста по-прежнему должен быть в этом списке. Шаблон, составленный на основе фактических данных, — лучшая отправная точка, чем пустая страница; но это не консультация.
Что здесь делает AppFoyer
Есть плагин для Claude Code. Вы устанавливаете его, говорите “make this app store-ready” («подготовь
это приложение к публикации в магазине»), и навык (skill) читает ваши файлы сборки, выводит таблицу
выше с файлом и строкой для каждого факта, спрашивает только то, чего не смог найти, и составляет
черновики всех пяти страниц плюс app-ads.txt. Затем он даёт вам URL для проверки в панели
управления.
Описанные выше границы обеспечиваются технически, а не просто обещаны. Учётные данные агента дают
доступ к фиксированному набору инструментов — просмотр и чтение приложений, их создание (по одному на
flavor), изменение настроек, черновики страниц, app-ads.txt, чек-лист, иконка приложения и
собственный адрес — и публикации среди них нет: request_publish даёт вам ссылку, а не
опубликованную страницу. Иконка и адрес — две вещи без шага черновика, поэтому агент сообщает, когда
он их установил, и не станет заменять уже используемый вами адрес, не спросив. Агент не может
публиковать, снимать с публикации, удалять приложение, менять каналы уведомлений или трогать ваш
входящий список запросов на удаление; это действия только для сессии, которые вы выполняете сами.
Полный список инструментов и разобранные примеры — на странице документации по агенту.
Навык никогда не делает commit или push и предлагает diff, только когда вы просите его вписать
готовые URL обратно в приложение.
Если ваш агент — не Claude Code, а Cursor, Codex или чат-ассистент, для страницы политики конфиденциальности есть вариант с копированием и вставкой: редактор даёт вам промпт, уже заполненный данными вашего приложения, вы запускаете его где угодно и вставляете ответ обратно. Сам промпт и то, почему он сформулирован именно так, описаны в руководстве Как написать политику конфиденциальности с помощью ИИ-ассистента.
Если агента у вас нет, то же самое доступно в виде короткой формы. Путь с агентом быстрее, потому что ответы уже есть в вашем репозитории, — но это не другой продукт.
Официальные источники
- Предоставление информации для раздела Data safety в Google Play — Google Play Console Help, о том, что данные SDK декларируете вы
- Сведения о конфиденциальности приложения в App Store — Apple
- Конфиденциальность и безопасность в Firebase — пример раскрытия по отдельному SDK, которое читает агент