| Both sides previous revisionPrevious revision | |
| privacy:age_assurance [2026/09/15 17:14] – Generic review fixes: delete a false limitation, correct the 2019 detector's language coverage (8, not English), describe the probe honestly, bound six negative claims, add a 'what already exists' section with four artefacts (one paper's own URL 404s), an karel.kubicek.claude | privacy:age_assurance [2026/09/15 17:21] (current) – Second review round: retract a false claim that a cited paper's repository URL is broken (it is a de-hyphenation artefact in the corpus renderings), name the Zenodo record's actual title, bound three more negatives, and state the unguarded-figure class in karel.kubicek.claude |
|---|
| You want to know how many sites in your sample ask the visitor how old they are. The literature will not tell you, and this page is mostly about why, and about what you have to build and write down yourself. | You want to know how many sites in your sample ask the visitor how old they are. The literature will not tell you, and this page is mostly about why, and about what you have to build and write down yourself. |
| |
| Of the **5,855 papers** in the [[literature:corpus|publication corpus]] whose full text is on disk, **38** use any age-assurance phrase at all — //age verification//, //age assurance//, //age gate//, //age estimation//, //age check// and nine further forms, including //verify their age// and //prove their age//; the exact pattern is on the provenance page. Reading all 38: **one** has age assurance as its research question, **four more** measure it in a section, **six** hit it as an obstacle to a measurement about something else, and the rest — 20 mentions and 7 papers where the phrase is a de-columning artefact or the name of an unrelated ML task — are neither. One of the five is about the web; the other four are about Android apps. | Of the **5,855 papers** in the [[literature:corpus|publication corpus]] whose full text is on disk, **38** use any age-assurance phrase at all — //age verification//, //age assurance//, //age gate//, //age estimation//, //age check// and nine further forms, including //verify their age// and //prove their age//; the exact pattern is on the provenance page. Reading all 38: **one** has age assurance as its research question, **four more** measure it in a section, **six** hit it as an obstacle to a measurement about something else, and the rest are neither: **20** mention it in passing — in background, in a regulation, as a category label, or as the name of an unrelated face-attribute task — and in **7** the phrase is a de-columning artefact (//voltage signal//) or a cited title in a bibliography. One of the five is about the web; the other four are about Android apps. |
| |
| Meanwhile the UK requires "highly effective age assurance" on pornography services since July 2025, the European Commission has shipped a reference age-verification app and preliminarily found Meta in breach of the DSA for accepting a self-declared birth date, the US Supreme Court upheld the Texas age-verification statute in June 2025, and Google Play has been returning per-jurisdiction age signals to Android apps since March 2026. **The deployment surface is moving several years ahead of the published measurement** — and the one large deployment measurement that does exist was produced by a regulator using statutory information notices, not by a crawl. If you are reading this because you want to measure it, you are not late; you are early. | Meanwhile the UK requires "highly effective age assurance" on pornography services since July 2025, the European Commission has shipped a reference age-verification app and preliminarily found Meta in breach of the DSA for accepting a self-declared birth date, the US Supreme Court upheld the Texas age-verification statute in June 2025, and Google Play has been returning per-jurisdiction age signals to Android apps since March 2026. **The deployment surface is moving several years ahead of the published measurement** — and the one large deployment measurement that does exist was produced by a regulator using statutory information notices, not by a crawl. If you are reading this because you want to measure it, you are not late; you are early. |
| ===== "Age gate" is eight things ===== | ===== "Age gate" is eight things ===== |
| |
| The single biggest source of incomparable numbers here is that the term spans a range from a button to a government identity credential. The ordering below is this page's own, but it is the axis both {[yao2025_easy]} and Ofcom sort on — cost to the subject, and resistance to a determined minor, rise together. | The single biggest source of incomparable numbers here is that the term spans a range from a button to a government identity credential. The ordering below is this page's own: it is the axis {[yao2025_easy]}'s Table 2 sorts on, and it runs across the line Ofcom draws between methods capable of being highly effective and methods that are not. Cost to the subject and resistance to a determined minor rise together. |
| |
| ^ Mechanism ^ What the user does ^ What a crawler can observe ^ Ofcom's January 2025 position ^ | ^ Mechanism ^ What the user does ^ What a crawler can observe ^ Ofcom's January 2025 position ^ |
| ===== What already exists, so you do not rebuild it ===== | ===== What already exists, so you do not rebuild it ===== |
| |
| Four artefacts, all checked on 2026-09-15. There is no dataset of age gates and no filter list for them; this is what there is. | Four artefacts, all checked on 2026-09-15. No dataset of age gates and no filter list for them was found, in the corpus or outside it; this is what there is. |
| |
| ^ Artefact ^ What it is ^ State ^ | ^ Artefact ^ What it is ^ State ^ |
| | GUARD {[yao2025_easy]} | the Android age-verification detector: static UI extraction, taint analysis, dynamic path exploration | ''zenodo.org/records/14688696'', HTTP 200. The only published age-assurance detector whose code you can run. | | | GUARD {[yao2025_easy]} | the Android age-verification detector: static UI extraction, taint analysis, dynamic path exploration | ''zenodo.org/records/14688696'', HTTP 200. The only published age-assurance detector whose code you can run — but **the record is titled //Drexel-SePAL/AgeScope: v1.0.1-1// (2025-01-21)**, not GUARD, so searching for the paper's name will not find it. | |
| | ''500-labels-resources'' {[west2024_picture]} | code and data for extracting and evaluating the on-device vision models, including the age model | ''github.com/wi-pi/500-labels-resources'', HTTP 200. | | | ''500-labels-resources'' {[west2024_picture]} | code and data for extracting and evaluating the on-device vision models, including the age model | ''github.com/wi-pi/500-labels-resources'', HTTP 200. | |
| | ''kids_websites.csv'' {[moti2024_targeted]} | **the 2,004 hand-verified child-directed websites**, as a plain URL list — the only reusable population artefact for the children's-privacy denominator | **The URL printed in the paper 404s.** ''github.com/targeted-andtroublesome/'' does not exist; the org is ''targeted-and-troublesome'' with hyphens, and the file is ''urls/kids_websites.csv'' in ''targeted-and-troublesome-crawler'' (55,481 bytes, 2,004 distinct URLs, last pushed 2025-02-04). | | | ''kids_websites.csv'' {[moti2024_targeted]} | **the 2,004 hand-verified child-directed websites**, as a plain URL list — the only reusable population artefact for the children's-privacy denominator | ''github.com/targeted-and-troublesome'', HTTP 200. The list is ''urls/kids_websites.csv'' in the ''targeted-and-troublesome-crawler'' repository: 55,481 bytes, **2,004 distinct URLs**, matching the paper exactly; last pushed 2025-02-04. Note the org name has a hyphen before //troublesome//: the corpus extraction and every ''.txt'' rendering of the PDF drop it, because the URL breaks across a line at ''targeted-and-'' and the de-hyphenation swallows it. | |
| | DiffAudit {[figueira2024_diffaudit]} | implementation and datasets for the age-tiered differential audit | ''athinagroup.eng.uci.edu/projects/childrens-privacy/'', HTTP 200. | | | DiffAudit {[figueira2024_diffaudit]} | implementation and datasets for the age-tiered differential audit | ''athinagroup.eng.uci.edu/projects/childrens-privacy/'', HTTP 200. | |
| |
| |
| * **A population of sites plausibly in scope of an age rule.** {[vallina2019_porn]} built its 6,843 from three curated adult directories plus **Alexa's Adult category** — and Alexa was retired in 2022, so that construction cannot be repeated. Whatever you build instead is a methodological contribution in its own right, and belongs in the paper rather than in a footnote. [[Design:Website selection]] and [[Design:Website classification]] are the general machinery. | * **A population of sites plausibly in scope of an age rule.** {[vallina2019_porn]} built its 6,843 from three curated adult directories plus **Alexa's Adult category** — and Alexa was retired in 2022, so that construction cannot be repeated. Whatever you build instead is a methodological contribution in its own right, and belongs in the paper rather than in a footnote. [[Design:Website selection]] and [[Design:Website classification]] are the general machinery. |
| * **A hostname list for verification vendors.** Nobody has published one, and it is the single highest-leverage thing to build, for the reason in the detection section: the gate is nearly always a third party. The certification schemes the UK services named to Ofcom — the Age Check Certification Scheme, NIST testing, ISO-based certifications — are a seed list of vendors to resolve to hostnames, and [[Programming:Filter lists]] is how to express the result. | * **A hostname list for verification vendors.** None was found, and it is the single highest-leverage thing to build, for the reason in the detection section: the gate is nearly always a third party. The certification schemes the UK services named to Ofcom — the Age Check Certification Scheme, NIST testing, ISO-based certifications — are a seed list of vendors to resolve to hostnames, and [[Programming:Filter lists]] is how to express the result. |
| |
| ===== The denominator question ===== | ===== The denominator question ===== |
| The measurement consequence of the whole table is one sentence: **the same URL fetched from two countries is two different experiments** — which the 2019 paper already showed — and since 2025 the difference is something the law requires rather than something a site chose, while since March 2026 the same Android app on two devices may differ too. | The measurement consequence of the whole table is one sentence: **the same URL fetched from two countries is two different experiments** — which the 2019 paper already showed — and since 2025 the difference is something the law requires rather than something a site chose, while since March 2026 the same Android app on two devices may differ too. |
| |
| There is a second consequence for anyone choosing a population now. Every academic figure on this page, and Ofcom's own 2026 report, is about **pornography and adult-only apps**. From Spring 2027 the UK duty extends to ordinary social media for under-16s, and Ofcom has already recorded //"serious doubts"// about the age-inference systems those platforms currently use. A crawl designed today against adult sites will be measuring the smaller half of the problem by the time it is published. | There is a second consequence for anyone choosing a population now. Every academic figure on this page, and Ofcom's own 2026 report, is about **pornography and adult-only apps**. The UK duty is due to extend to ordinary social media for under-16s in Spring 2027 — the fact sheet says the changes //"should be implemented in Spring 2027"//, not that they will be — and Ofcom has already recorded //"serious doubts"// about the age-inference systems those platforms currently use. A crawl designed today against adult sites will be measuring one half of the problem by the time it is published, and the page cannot tell you which half is larger because nobody has measured the other one. |
| |
| ===== What to report ===== | ===== What to report ===== |
| ===== Methodology and limitations of these figures ===== | ===== Methodology and limitations of these figures ===== |
| |
| Every corpus figure on this page comes from ''scripts/report_age_assurance.mjs'', which prints the probe, the hand verdict for all 38 candidates, and a verbatim-quote check of **25 anchor sentences** against the source PDFs. A second script, ''scripts/aa_quotespans.mjs'', pulls every quoted span out of this page's own source and checks each one. Neither reads the prose around a number, so a figure stated in the page's own words rather than inside a quotation mark is checked by hand, not by a guard — the numbers in that position are 14%, 12%, 6%, 28%, 309, 12, 137/150/470, 27%, 25,000, 1,289 and 775. The script, its unedited output, the full verdict map, the discarded probe variants and the external sources that were rejected are on **[[provenance:privacy:age_assurance]]**. Corpus-level caveats — venue scope, the selection funnel, the provisional 2025–2026 years, extraction stability — are on [[Literature:Corpus]]. | Every corpus figure on this page comes from ''scripts/report_age_assurance.mjs'', which prints the probe, the hand verdict for all 38 candidates, and a verbatim-quote check of **25 anchor sentences** against the source PDFs. A second script, ''scripts/aa_quotespans.mjs'', pulls every quoted span out of this page's own source and checks each one. Neither reads the prose around a number. **Every figure stated in the page's own words rather than inside quotation marks is hand-checked, not guarded** — that is most of the paraphrased denominators, Ofcom's 25%-to-43% and 64-of-100, the artefact file sizes and dates, and the survey bases. An earlier draft tried to enumerate them and the list was incomplete twice; the class is the honest statement. The script, its unedited output, the full verdict map, the discarded probe variants and the external sources that were rejected are on **[[provenance:privacy:age_assurance]]**. Corpus-level caveats — venue scope, the selection funnel, the provisional 2025–2026 years, extraction stability — are on [[Literature:Corpus]]. |
| |
| Five limitations belong on the page itself: | Five limitations belong on the page itself: |