Проверка возраста в App Store: Техас, Юта, Бразилия
Автор: Mehdi Azizi
Опубликовано , 13 мин
С июня 2026 года в Техасе App Store проверяет возраст и передаёт тебе возрастную группу. Бразилия, Юта, Австралия: что кодить с Declared Age Range.
В Техасе с 4 июня 2026 года App Store проверяет возраст новых аккаунтов и передаёт их возрастную категорию твоему приложению, когда оно запрашивает её через API Declared Age Range. Там, где этого требует закон, ты сам должен прочитать эту категорию, запросить согласие родителя перед значимым изменением и обработать отзыв этого согласия. У Бразилии, Юты, Луизианы и Алабамы свои сроки, а в Австралии, Бразилии и Сингапуре App Store уже блокирует приложения 18+ для тех, чья совершеннолетность не подтверждена.
Я публикую свои iOS-приложения на Expo, в том числе Solys и TradaZen. Здесь я собрал по каждой территории, что говорят Apple и официальные тексты законов, а затем последовательность шагов для кода. Этот гайд не юридическая консультация: Apple сама отправляет тебя к юристу по поводу твоих обязательств. Чтобы выбрать рейтинг от 4+ до 18+, лучше прочитай про возрастной рейтинг в App Store Connect.
Что проверка возраста меняет для тебя
Согласно FAQ Apple по age assurance, «developers are responsible for their own age restrictions». Там, где этого требует закон, Apple подтверждает возраст владельца аккаунта и передаёт тебе его возрастную категорию. В этих регионах ты обязан проверять возраст тех, кто пользуется твоим приложением.
Меняются три вещи:
- Ты получаешь возрастной диапазон, а не точный возраст. Apple сообщает, например, «от 13 до 15 лет» и то, как этот диапазон был установлен.
- Значимое изменение приложения может потребовать согласия родителя. Что считать значимым, решаешь ты, исходя из применимого закона.
- Родитель может отозвать согласие. Тогда Apple не даёт приложению открыться на устройстве ребёнка, а твой сервер получает уведомление
RESCIND_CONSENT, если ты его настроил.
Что не меняется: по тому же FAQ, «there are no changes to the App Review process». Существующие аккаунты на iOS 18 и ниже не затронуты. А вот API работает по всему миру: вне регулируемых регионов пользователь сам решает, делиться ли своим диапазоном.
Ревью из-за этих законов не меняется. Apple передаёт тебе возраст, а использовать его требует закон.
Техас: закон SB 2420 действует с 4 июня 2026 года
Техасский закон SB 2420, так называемый App Store Accountability Act (раздел 121.001), должен был вступить в силу 1 января 2026 года, согласно его принятому тексту. 23 декабря 2025 года Apple объявила, что судебный запрет окружного суда приостановил его применение. Apple поставила свои планы на паузу и оставила инструменты в sandbox.
3 июня 2026 года Apple объявила, что судебное решение сняло запрет: федеральный апелляционный суд пятого округа приостановил его на время апелляции. С 4 июня 2026 года новые аккаунты Apple в Техасе подпадают под закон. 6 июля 2026 года Верховный суд США отказался отменить эту приостановку (дело 25A1390). Это срочное решение, а не решение по существу. На 27 октября 2026 года я не нашёл апелляционного решения по существу: закон действует, но ситуация ещё может измениться.
Что делает App Store в Техасе
Для каждого нового аккаунта в Техасе App Store проверяет возраст. Для несовершеннолетнего младше 18 лет он дополнительно запрашивает согласие родителя на три действия: скачать приложение, совершить встроенную покупку, получить доступ к значимому изменению. Родитель может отозвать согласие для любого уже одобренного приложения.
В своей заметке от 4 ноября 2025 года Apple описывает четыре категории закона: младше 13 лет, от 13 до 15 лет, 16 и 17 лет, 18 лет и старше. Там же Apple предупреждает, что закон может обязать собирать чувствительные данные «just to download an app», даже для приложения с погодой. Закон касается любого разработчика, чьё приложение доступно в Техасе через магазин (раздел 121.051): простое приложение не выпадает из сферы его действия.
Что закон требует от разработчика
Текст SB 2420 ставит перед тобой четыре обязательства:
- Проверять возраст по данным магазина (раздел 121.054): категорию каждого пользователя и, для несовершеннолетнего, наличие родительского согласия.
- Использовать эти данные только для возраста (раздел 121.055): ограничения, соблюдение закона, настройки безопасности. После проверки ты их удаляешь.
- Предупреждать магазин перед любым значимым изменением твоих условий использования или политики конфиденциальности (раздел 121.053).
- Присваивать возрастной рейтинг приложению и каждой возможной покупке внутри него (раздел 121.052). В App Store рейтинг приложения берётся из анкеты App Store Connect.
Значимым закон считает изменение, которое меняет собираемые или передаваемые данные, затрагивает возрастной рейтинг, добавляет покупку или рекламу или заметно меняет функции или опыт. Apple добавляет, что Техас считает смену возрастного рейтинга значимым изменением.
Юта, Луизиана, Алабама: законы на 2027 год
Заметка Apple от 24 февраля 2026 года называла две даты. Для новых аккаунтов API должен был передавать возрастную категорию в Юте с 6 мая 2026 года, а в Луизиане с 1 июля 2026 года. Новые сигналы сообщают тебе, действуют ли для пользователя возрастные правила, должен ли он поделиться диапазоном и должен ли родитель одобрить значимое изменение. Взрослые в этих штатах могут получать уведомление о значимом изменении: тогда Apple просит у тебя понятное описание изменения.
С тех пор оба закона изменили:
- Юта: H.B. 498 вносит изменения в App Store Accountability Act 2025 года (S.B. 142). Согласно его принятому тексту, обязательства магазинов и разработчиков начинаются 6 мая 2027 года. Понятие значимого изменения там уже: изменение условий или политики конфиденциальности, которое меняет собираемые данные, возрастной рейтинг или добавляет первую встроенную покупку или первую рекламу.
- Луизиана: закон HB 977, подписанный 15 мая 2026 года, стал Act 185. Он не даёт закону 2025 года (HB 570, ставшему Act 481) вступить в силу и заменяет его новыми правилами, которые применяются с 1 июля 2027 года.
Оба текста требуют от разработчика проверять возрастную категорию через инструменты магазина и предупреждать магазин о значимом изменении. Юта запрещает передавать эти данные, Луизиана запрещает их продавать.
Алабама следует той же модели. Её закон HB 161, подписанный 17 февраля 2026 года и ставший Act 2026-59, применяется с 1 января 2027 года, согласно его принятому тексту. Разработчик проверяет возрастную категорию и родительское согласие через инструменты магазина, предупреждает его о любом значимом изменении и использует эти данные только для возраста, закона и безопасности.
На 27 октября 2026 года Apple не опубликовала ни одной заметки ни о переносах в Юте и Луизиане, ни об Алабаме: проверь, что API на самом деле возвращает твоим пользователям из этих штатов. Как я это понимаю: инструменты готовы раньше обязательства, так что используй эти месяцы, чтобы написать код и протестировать.
Бразилия: ECA Digital действует с 17 марта 2026 года
Цифровой статут ребёнка и подростка, ECA Digital, это закон № 15.211 от 17 сентября 2025 года. Статья 41-A вводит его в силу 17 марта 2026 года. Тебя касаются три статьи:
- Статья 12: магазины и операционные системы определяют возраст или возрастной диапазон и передают приложениям возрастной сигнал через API. Скачивание ребёнком или подростком требует свободного и информированного согласия родителя.
- Статья 13: данные проверки возраста используются только для этого.
- Статья 14: приложение, предназначенное для детей и подростков или которым они, скорее всего, будут пользоваться, должно уметь принимать этот сигнал. Оно сохраняет собственные механизмы блокировки неподходящего контента, что бы ни делал магазин.
Со стороны Apple возрастная категория передаётся, когда пользователь или родитель соглашается. Приложение, которое указывает в анкете платные лутбоксы, получает 18+ на бразильской витрине. Если ты предлагаешь в Бразилии альтернативную оплату, страница Apple о дистрибуции в Бразилии требует поставить её за родительский барьер для пользователей младше 18 лет и не предлагать им покупку на сайте. Комиссии и шаги этой опции описаны в гайде про альтернативную оплату в Бразилии.
Контроль за законом поручен автономному административному органу. Подзаконные акты и руководства этого органа, на которые ссылаются юридические фирмы, его уточняют: их официальный текст я не читал. Попроси бразильского юриста проверить их, прежде чем адаптировать приложение.
Австралия и Сингапур: приложения 18+ заблокированы
С 24 февраля 2026 года App Store в Австралии, Бразилии и Сингапуре блокирует скачивание приложений 18+, пока совершеннолетие пользователя не подтверждено. App Store делает эту проверку автоматически. Apple уточняет, что у тебя могут быть свои обязательства проверять совершеннолетие пользователей и что API присылает тебе сигнал, чтобы в этом помочь. Какие именно законы имеются в виду, Apple не называет.
Австралия добавляет два правила, объявленных Apple:
- Соцсети: с 10 декабря 2025 года некоторые социальные платформы должны не давать пользователям младше 16 лет заводить аккаунт. Затронутые разработчики отключают существующие аккаунты младше 16 лет и следят за регистрациями.
- Возрастные рейтинги: с 18 июня 2026 года рейтинг 15+ исчезает в Австралии. Приложения 15+ с открытым вебом, частой медицинской информацией или платными лутбоксами переходят в 16+. Рейтинг выбирается в возрастной анкете.
Для Сингапура Apple не объявляет ничего, кроме блокировки приложений 18+.
Таблица: что действует, с какого момента и что делаешь ты
Таблица подытоживает предыдущие разделы на 27 октября 2026 года. «Apple» означает дату, с которой App Store применяет правило, «закон» означает дату обязательств по тексту закона.
| Территория | Дата | App Store | Что делаешь ты |
|---|---|---|---|
| Техас | 4 июня 2026 | Проверяет возраст, согласие родителя | Диапазон, согласие, отзыв |
| Юта | Закон 6 мая 2027 | Категория анонсирована в 2026 | Написать код до 6 мая 2027 |
| Луизиана | Закон 1 июля 2027 | Категория анонсирована в 2026 | Написать код до 1 июля 2027 |
| Алабама | Закон 1 янв. 2027 | Ничего не объявлено | Написать код до 1 янв. 2027 |
| Бразилия | Apple 24 февр. 2026, закон 17 марта 2026 | Категория при согласии, 18+ заблокированы | Читать сигнал, фильтровать |
| Австралия | 24 февраля 2026 | 18+ заблокированы | Соцсети: никого младше 16 лет |
| Сингапур | 24 февраля 2026 | 18+ заблокированы | Проверить свои обязательства |
Что нужно закодить: последовательность из пяти шагов
Согласно FAQ Apple, собирать нужно с SDK iOS 26.2 и iPadOS 26.2 или новее, в Xcode 26.2 (17C52) или новее. Затем включи capability Declared Age Range для своего таргета: она добавляет entitlement com.apple.developer.declared-age-range, которого требует документация API.
- Узнать, действует ли закон для этого пользователя. Начиная с iOS 26.4,
requiredRegulatoryFeaturesвозвращает активные правила:declaredAgeRangeRequired,significantAppChangeRequiresParentalConsent,significantAppChangeRequiresAdultNotification. На iOS 26.2isEligibleForAgeFeaturesуже сообщает, подпадает ли пользователь под функции, связанные с возрастом. - Запросить возрастной диапазон.
requestAgeRange(ageGates:_:_:in:)принимает до трёх пороговых возрастов, например 13, 16 и 18, чтобы совпасть с категориями законов. Там, где закон задаёт свои пороги, ответ следует закону, а не твоим порогам. Ответ равен.sharing(range:)или.declinedSharing. Диапазон содержитlowerBound,upperBoundиageRangeDeclaration: заявлен пользователем, родителем или подтверждён. - Обработать значимое изменение. Для несовершеннолетнего PermissionKit и
SignificantAppUpdateTopicзапрашивают согласие родителя, который читает твоё описание. Пока он не согласится, ты блокируешь новинку или даже всё приложение. Для взрослого, начиная с iOS 26.4,showSignificantUpdateAcknowledgment(in:updateDescription:)показывает системный лист. Свойство StoreKitageRatingCodeотдаёт текущий возрастной рейтинг на устройстве: сравнивай его, чтобы заметить изменение. - Слушать отзыв согласия. Включи App Store Server Notifications версии 2 и обрабатывай тип
RESCIND_CONSENT. Apple уже блокирует приложение. На стороне сервера учесть этот отзыв должен ты, например приостановив доступ аккаунта. Если твои уведомления идут через RevenueCat, он может пересылать их на твой сервер. На его странице этот тип не упоминается: проверь в sandbox, что он действительно приходит. - Протестировать в sandbox. Включи режим разработчика, открой Settings, затем Developer. Под своим sandbox-аккаунтом Apple выбери Manage, затем Age Assurance или Revoke App Consent, по английским названиям из документации Apple. Страница тестирования Apple предлагает шесть сценариев, от «младше 13 лет, изменение одобрено» до «18 лет и старше, возраст подтверждён, изменение применимо». Меню отзыва согласия принимает твой bundle identifier и запускает
RESCIND_CONSENTна твоём сервере.
Вот набросок на Swift, написанный по сигнатурам из документации Apple, адаптируй его под своё приложение:
import DeclaredAgeRange
import UIKit
@available(iOS 26.4, *)
func lireTrancheAge(depuis vc: UIViewController) async throws {
let service = AgeRangeService.shared
let regles = try await service.requiredRegulatoryFeatures
guard regles.contains(.declaredAgeRangeRequired) else { return }
let reponse = try await service.requestAgeRange(ageGates: 13, 16, 18, in: vc)
if case .sharing(let tranche) = reponse {
// tranche.lowerBound, tranche.upperBound, tranche.ageRangeDeclaration
}
}
В sandbox для взрослого PermissionKit выбрасывает ошибку AskError.notAvailable вместо ответа: это ожидаемо, взрослому родительское согласие не нужно.
С Expo или React Native
Expo выпускает модуль expo-age-range. Его документация, перечитанная 27 октября 2026 года, предоставляет requestAgeRangeAsync, isEligibleForAgeFeaturesAsync (iOS 26.2), getRequiredRegulatoryFeaturesAsync и showSignificantUpdateAcknowledgmentAsync (iOS 26.4). Entitlement объявляется в ios.entitlements твоей конфигурации Expo.
Два ограничения, о которых стоит знать:
- До iOS 26 модуль отвечает
lowerBound: 18, как для взрослого. Не принимай этот ответ за проверку. - В документации Expo нет ни PermissionKit, ни
ageRatingCode. Чтобы запросить согласие родителя, предусмотри нативный модуль или перечитай документацию перед тем, как писать код.RESCIND_CONSENTобрабатывается на сервере, вне приложения.
Модуль нативный: он требует нового билда, а не OTA-обновления. Путь тот же, что и при публикации приложения Expo в App Store через EAS.
Ты публикуешься из Франции: касается ли это тебя?
FAQ Apple ничего не говорит о стране, где зарегистрирован разработчик. По любым вопросам соответствия она отправляет тебя к юристу. Техасский закон касается разработчика, который делает своё приложение доступным в Техасе через магазин (раздел 121.051). Законы Юты и Луизианы определяют разработчика как того, кто владеет приложением, доступным в штате, или контролирует его, без условия о местонахождении.
Как я это понимаю: если твоё приложение доступно на одной из этих территорий, исходи из того, что правила касаются тебя. Исключить только Техас нельзя, потому что доступность в App Store Connect настраивается по странам. А убрать США или Бразилию, чтобы обойти вопрос, значит отрезать себя от двух крупных рынков.
Что касается данных, возрастной диапазон остаётся персональными данными, и законы Техаса, Юты, Алабамы и Бразилии ограничивают их использование возрастом. Лицензионное соглашение программы разработчиков Apple добавляет своё правило (раздел 3.3.3(O)): API служит для адаптации приложения к возрасту или соблюдения закона, а его данные нельзя продавать или передавать брокерам данных. Обращайся с ними по правилам сбора данных из guideline 5.1.1 и перечитай правила передачи данных из guideline 5.1.2: законы добавляются к ним.
Мой чек-лист перед следующим обновлением
- Составь список территорий, где доступно твоё приложение: США, Бразилия, Австралия, Сингапур.
- Собирай в Xcode 26.2 или новее и включи capability Declared Age Range.
- Вызови
requiredRegulatoryFeatures, затемrequestAgeRangeс порогами 13, 16 и 18 лет. - Запиши, что для твоего приложения считается значимым изменением, и дай это проверить юристу.
- Подключи запрос родительского согласия (PermissionKit) и лист для взрослых.
- Включи серверные уведомления версии 2 и обрабатывай
RESCIND_CONSENT. - Прогони шесть sandbox-сценариев и один отзыв согласия.
- Проверь свои ответы в возрастной анкете: платные лутбоксы в Бразилии дают 18+, а соцсеть, закрытая для младше 13 лет, обязывает тебя использовать API.
Что я проверил и когда
Перечитано 27 октября 2026 года. Даты и обязательства взяты из заметок Apple Developer, её FAQ, документации, лицензии разработчика и правил ревью, из принятого текста каждого закона (Техас, Юта, Луизиана, Алабама, Бразилия) и из реестра Верховного суда. Этот гайд не опирается ни на какую интеграцию в моих приложениях: код представляет собой набросок по сигнатурам Apple, а не протестированную интеграцию. Бразильские подзаконные акты, законы Австралии и Сингапура и законы других штатов США я не читал.
Частые вопросы
Что такое API Declared Age Range?
Это API Apple, которое запрашивает возрастной диапазон пользователя, доступное с iOS 26 по всему миру. Там, где этого требует закон, Apple подтверждает возраст аккаунта и передаёт его категорию. В остальных местах пользователь сам решает, делиться ли ею.
Должно ли приложение с рейтингом 18+ использовать API?
Да. Так сказано в FAQ Apple: в регионах, где этого требует закон, ты обязан проверять возраст пользователей через API, даже для приложения 18+. Блокировка в App Store в Австралии, Бразилии и Сингапуре не заменяет твоих собственных обязательств.
Может ли Apple отклонить моё приложение, если я не использую API?
Согласно FAQ Apple, процесс App Review из-за этих законов не меняется. Обязательство вытекает из закона территории, а не из ревью. Но три правила Apple уже требуют контроля возраста. Если ты указываешь соцсеть, закрытую для младше 13 лет, анонс Time Allowances обязывает тебя как минимум использовать API. Правила ревью требуют от приложений для креаторов (1.2.1) и приложений с мини-приложениями, мини-играми или чат-ботами (4.7.5) ограничивать доступ по проверенному или заявленному возрасту. А guideline 2.3.6 по-прежнему требует честно отвечать на возрастную анкету.
Что Apple считает значимым изменением?
Apple оставляет решение тебе, исходя из применимого закона, и отправляет к юристу. Техасский закон называет изменение собираемых данных, возрастного рейтинга, покупок, рекламы или заметное изменение функций. Изменённый закон Юты и закон Алабамы последний пункт не включают, закон Луизианы его сохраняет.
Что происходит, когда родитель отзывает согласие?
Apple не даёт приложению открыться на устройстве ребёнка. Твой сервер получает уведомление RESCIND_CONSENT, если ты включил App Store Server Notifications версии 2.
Распространяется ли закон Техаса на французского разработчика?
Apple этот вопрос не решает и отправляет тебя к юристу. Техасский закон касается разработчика, который делает приложение доступным в Техасе через магазин, и ничего не говорит о его стране. Как я это понимаю: если твоё приложение доступно в США, оно доступно и в Техасе, так что действуй так, будто закон касается тебя.
Как протестировать проверку возраста без аккаунта несовершеннолетнего?
В sandbox, начиная с iOS 26.2. В Settings, затем Developer, твой sandbox-аккаунт Apple предлагает готовые возрастные сценарии и имитацию отзыва согласия для твоего bundle identifier.
Источники
- Age assurance frameworks Q&A, FAQ Apple Developer.
- Заметки Apple Developer: 4 ноября 2025, 8 декабря 2025, 23 декабря 2025, 24 февраля 2026, 21 мая 2026, 3 июня 2026 и 8 июня 2026.
- Тексты законов: Техас SB 2420, Юта H.B. 498, Луизиана Act 185, Алабама HB 161, Бразилия, закон № 15.211.
- Правила Apple: App Review Guidelines, лицензионное соглашение программы разработчиков.
- Реестр Верховного суда, дело 25A1390.
- Документация Apple: Declared Age Range, тестирование в sandbox, типы серверных уведомлений.
- expo-age-range, документация Expo.
Перед следующим обновлением
Прежде чем отправлять следующую версию, пройди бесплатную диагностику: она покажет, что на самом деле тормозит твой проект, и пришлёт тебе мой чек-лист против отказов Apple.
Apple Review Kit собирает мой чек-лист перед отправкой, мои исправленные отказы и два skills для Claude Code, которые проверяют твой проект и страницу приложения, а затем готовят ответ, если Apple отклонит приложение. Полный подход описан на странице приложение отклонено Apple.