IN FORCE  BRAZIL 17 Mar 2026  ·  TEXAS 4 Jun 2026

Your age-signal integration probably compiles, passes review, and does nothing.

Every ad SDK's child-directed flag has to be set before that SDK initialises. Set it after and the call succeeds, logs nothing, and has no effect. This tells you what is actually in your build.

Free and open source  ·  Zero dependencies  ·  Your build never leaves your machine  ·  Apache-2.0

Check a published app

Check your own build

A store listing cannot tell you which SDKs are compiled in, or whether the age-signal library is there at all. For that, run the scanner against your build:

npx agesignals app-release.apk

We never ask you to upload your binary. It stays on your machine — nothing to transfer, nothing to retain, and nothing for your security team to review.

Obfuscated build? Want a PDF? Running it in CI?
npx agesignals app-release.apk \
  --mapping build/outputs/mapping/release/mapping.txt \
  --pdf report.pdf

The mapping file is optional. Without it we can still tell you an SDK is missing; with it that answer is definitive rather than very likely, because renamed classes get searched too.

npx agesignals@latest app-release.apk --fail-on critical --quiet

Exits non-zero when a finding at or above the threshold is present, so a pipeline breaks the build the day someone drops the age-signal call. Use @latest in CI — a pinned copy carries old SDK remediation calls, and the report will say so.

What this can and cannot prove

Reliable

  • The age-signals library is not in this build — a definitive negative.
  • Which advertising, analytics and attribution SDKs are compiled in.
  • Which permissions the manifest declares.

Not determinable from a binary

  • Whether checkAgeSignals() is ever actually called.
  • Whether each SDK's flag is set before that SDK initialises.
  • Whether anything observably changes for a minor.

Those three need the app running. The scanner says so on every report — it can prove non-compliance, and it will never certify compliance. Any tool claiming otherwise is selling you a certificate rather than an answer.

Which rules apply

JurisdictionStatusWhat it turns on
Brazil — ECA Digital In force
17 Mar 2026
Reaches companies outside Brazil whose apps are likely to be accessed by Brazilian minors. Prohibits mere self-declaration — and Play's TIER_A responses are self-declared.
Texas — SB 2420 In force
4 Jun 2026
Took effect after the Fifth Circuit stayed an injunction. Safe harbour for relying on app-store age data.
EU — DSA Art. 28 In force
since 2024
Prohibits targeting minors with personalised advertising — a ban, not a duty to act on a signal. Binds "online platforms", not ordinary apps.
UK — Online Safety Act In force
25 Jul 2025
Ofcom's accepted methods do not include app-store age signals, so one may not discharge the duty. Binds user-to-user, search and pornography services.
Utah 7 May 2027 Developer obligations postponed. Safe harbour for relying on app-store age data.
Louisiana 2027 — date unsettled Reported as both 6 May and 1 July 2027. Notably gives developers no safe harbour.

Dates verified 3 August 2026 and they have moved repeatedly — check primary sources before relying on any of them. This is not legal advice.