Built for Expo & React Native

Age compliance SDK for Expo apps

Add age-aware onboarding, minor-safe defaults, and app-store age signal handling to your React Native app — without building compliance plumbing from scratch.

Self-serve Expo-first No enterprise sales
App.tsx
const signal = await AgeSignal.getAgeSignal()

if (signal.isMinor) {
  disablePersonalizedAds()
  enablePrivateDefaults()
  hideUnsafeFeatures()
}
The problem

Age rules are coming to consumer apps

California and other states are pushing apps toward age-aware experiences. Small teams now need practical app behavior changes: safer defaults, age gates, privacy choices, and auditability.

Why AgeSignal

Built for the way you ship

Expo-first SDK

Drop-in for managed Expo. Works in bare React Native too. Typed, tiny, and predictable.

Minor-safe defaults

One signal, sensible defaults. Disable personalized ads, lock down discovery, hide unsafe features.

Self-serve setup

Install, wrap your app, ship. No sales calls, no MSA, no enterprise onboarding.

How it works

Three steps to age-aware

01
Install the SDK

Add the package to your Expo or bare RN project.

02
Ask for an age signal

Request a signal from the OS, app store, or your onboarding flow.

03
Change app behavior safely

Branch on signal.isMinor and apply minor-safe defaults.

1. install
npx expo install @agesignal/expo
2. request signal
import { useAgeSignal } from "@agesignal/expo"

const { signal, request } = useAgeSignal()

await request({ reason: "personalize_safely" })
3. branch behavior
if (signal?.isMinor) {
  setAdsMode("contextual")
  setDiscoveryMode("safe")
  hideFeature("dm")
}
Use cases

What you can build

Disable personalized ads for minors

Switch to contextual ads automatically.

Hide adult or unsafe features

Gate adult content based on the signal.

Turn on private defaults

Private profile, restricted DMs, opt-out analytics.

Gate chat, discovery, or sharing

Limit risky social surfaces for minors.

Log age-related decisions

Local, auditable trail of what you applied and why.

Prepare for app-store age signals

Wire into emerging iOS & Android APIs as they land.

SDK preview

Feels like a Stripe SDK, fits in an Expo app

A single provider, a single hook, and a typed signal. No native module gymnastics, no config matrix.

terminal
npm install @agesignal/expo
App.tsx
import { AgeSignalProvider, useAgeSignal } from "@agesignal/expo"

function App() {
  return (
    <AgeSignalProvider>
      <Home />
    </AgeSignalProvider>
  )
}
Pricing

Simple, builder-friendly pricing

All plans launch with the SDK. Join the waitlist for early pricing.

Starter
Coming soon
$19 /mo

For solo Expo apps

Pro
Coming soon
$49 /mo

For growing consumer apps

Team
Coming soon
$99 /mo

For small teams with multiple apps

AgeSignal is developer infrastructure, not legal advice. You are responsible for reviewing your obligations with counsel.

FAQ

Questions, answered honestly

Ship age-aware behavior before the deadline

Join the waitlist and get early access plus founder pricing.