MOB-36Required
Use the store's age signals where state law requires them
In US states with app store age laws, read each user's age range from the store's age API. Get the store's parental approval before a significant change reaches a minor.
How to do it
Texas, Utah and Louisiana make the stores check age and get a parent's consent for minors. Each app must then use the age range the store sends and respect that consent. Texas SB 2420 was stopped by a court in December 2025, and has applied since the appeals court lifted that order on 4 June 2026. Utah applies to new accounts from 6 May 2026, and Louisiana from 1 July 2026. California's AB 1043 follows on 1 January 2027, with the age signal coming from the operating system. On iOS, use the Declared Age Range API and its requiredRegulatoryFeatures, and PermissionKit for significant changes. On Android, use the Play Age Signals API and tell Google Play about significant changes. You decide what counts as significant, so write the list down. Store only the age band, never a birth date. When a parent withdraws consent, Apple sends the RESCIND_CONSENT notification, so end access on the server. Turn on the protections in protect minors on platforms they can reach for every band under 18.
Examples
Plain text example
import DeclaredAgeRange
import SwiftUI
struct WelcomeView: View {
@Environment(\.requestAgeRange) var requestAgeRange
var body: some View {
ProgressView().task { await applyAgeBand() }
}
func applyAgeBand() async {
guard let response = try? await requestAgeRange(ageGates: 13, 16, 18),
case let .sharing(ageRange) = response else {
return settings.useMinorDefaults()
}
if (ageRange.lowerBound ?? 0) < 18 { settings.useMinorDefaults() }
}
}
Kotlin example
fun applyAgeBand(manager: AgeSignalsManager) {
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener { result ->
if ((result.ageLower() ?: 0) < 18) settings.useMinorDefaults()
}
.addOnFailureListener { settings.useMinorDefaults() }
}
How to check
In the store sandbox, a test account set as a minor in Texas gets the minor settings on first launch. A release marked significant stays locked for that account until the sandbox parent approves. A RESCIND_CONSENT test notification ends that account's sessions within 1 minute.
Sources
- Apple, age requirements for apps in Utah and Louisiana
- Apple, age assurance developer Q&A
- Google Play, changes for US app store bills
Related rules
- CMP-70 Protect minors on platforms they can reach in Compliance and governance
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/mobile-apps/store-review-and-listing/store-age-signals">Agent Wranglers mobile apps playbook</a>. In code you write, add a comment next to it with the same link.