This is an old revision of the document!
Table of Contents
Provenance: privacy:consent
Working notes behind consent — every query with its population and its denominator, the scripts and their unedited output, the folds and their residue, the figures checked against the source papers, the external sources and how each was verified, and what could not be established. Corpus-level caveats that apply to every page on this site are on corpus and are not restated here.
1. What this page is backing
| Item | Value |
|---|---|
| Content page | consent |
| Report script | scripts/report_consent.mjs |
| Folds it depends on | scripts/consent_fold.mjs (consent tools and CMP vendors), scripts/law_fold.mjs (shared with legal_enforcement), scripts/geo.mjs (shared with crawling_location) |
| Per-paper figure verification | scripts/consent_quotecheck.mjs — checks every literal figure the page publishes against the paper's own paper.cols.txt and paper.norm.txt |
| Field audit | scripts/consent_action_audit.mjs — reads all 36 papers whose consentAction claims an interaction against their own full text, and recomputes every dependent figure |
| Data | data/extract/run1/extractions.jsonl — 5,859 papers, 7 venues, 2010–2026 |
| Written | 2026-08-19, against the corpus as extended on 2026-08-11 (commit 8a6b843) |
| Bibliography entries added | 13 (§8) |
Create, extend or overlap? This is a rewrite. privacy:consent existed at 2,748 bytes and was explicitly labelled brainstorm notes: a <wrap todo> box and two bullet lists of topics to cover. Every topic it listed is now covered somewhere — notice detection and the Consent-O-Matic/autoconsent/IDCAC family, ML classification of consent choices, GPC, DNT, opt-out links. Nothing was deleted that carried information; the two citations the stub used ([1Khandelwal, Rishabh; Nayak, Asmit; Harkous, Hamza; Fawaz, Kassem (2023): "Automated Cookie Notice Analysis and Enforcement", in: 32nd USENIX Security Symposium (USENIX Security 23), pp. 1109-1126. USENIX Association, Anaheim, CA. (Link)] and [2Bouhoula, Ahmed; Kubicek, Karel; Zac, Amit; Cotrini, Carlos; Basin, David (2024): "Automated Large-Scale Analysis of Cookie Notice Compliance", in: 33rd USENIX Security Symposium (USENIX Security 24), pp. 1723-1739. USENIX Association, Philadelphia, PA. (Link)]) are both still cited.
The overlap that mattered, and how it was resolved. requests already carries a section called Cookie Notices and Their Interactive Elements which covers detecting the notice and labelling its buttons, with a comparison table of detectors, and which explicitly says “What the notice means legally, and what to do about consent, is on consent”. That division was kept rather than re-litigated. This page therefore does not repeat the detector comparison; it starts one step later, at “you have found the banner, now what do you do with it”. The judgement call and the alternative are in §10.
2. Populations and denominators
Two handles, because they answer different questions and only partly overlap.
| Tag | Definition | N |
|---|---|---|
| crawled | crawlConfig !== null OR studyTypes contains automated-web-crawl (the definition in lib.mjs, shared by every page) | 1,120 |
has a crawlConfig object | subset of the above for which the extraction produced a configuration object | 1,080 |
| S1 | crawled ∧ crawlConfig.consentAction ∈ {accept-all, reject-all, accept-and-reject, cmp-specific-choices, dismiss-or-remove, no-interaction} — i.e. a stated value | 349 |
| S1 ∧ interacted | S1 minus no-interaction | 36 |
| S2 | the consent-topic population: a vocabulary sweep over five free-text fields ∪ the classification.target == “consent-notice” enum, minus a hand-audited exclusion list | 72 |
| S2 raw (before the audit) | same sweep, no exclusions | 100 |
| S2 ∧ crawled | 51 | |
S2 ∧ has a consent-notice classification tuple | denominator for the classification-method table | 24 |
S2 ∧ has a legal tuple | denominator for the law table | 53 |
S1 is an enum and is published as percentages. crawlConfig.consentAction is in the schema's most stable band: an independent extraction run over the same 100 papers agreed with it on 93%. That figure was measured on the earlier 4,322-paper corpus and has not been re-measured on this one; it is quoted on the content page with that caveat attached.
S2 is a judgement and is published as counts and rankings, never as a share of the corpus. No field in the extraction means “is about consent”. The construction is below in full.
2.1 The S2 vocabulary sweep
A paper enters the raw candidate set if any of these fields contains a match for the CORE regex in report_consent.mjs:
classification[].resourceNameclassification[].targetDetaildetection[].phenomenonlegal[].whatWasAssessedtools[].nameandotherToolsMentioned[].name
or if any classification[] tuple has target == “consent-notice”.
The regex deliberately does not match a bare consent. In this corpus a bare “consent” is overwhelmingly research-ethics informed consent — “Consent, data handling, storage, and publication of interview data”, “Consent and anonymous research-data collection” — which is a different page's subject. It matches compound terms only: cookie bann*, consent notice, consent dialog, before consent, without consent, consent revocation, named CMPs, named tools, \btcf\b, \bcmp\b, \bgpc\b, \bdnt\b, opt-out and so on. The full alternation list is the CORE constant in the script.
Word boundaries are not cosmetic here, and an early draft got this wrong. A first version matched /iab/ and /gpc/ unanchored and pulled in five papers that have nothing to do with consent: Stochastic search variable selection, Variable Swapping Framework, Unique Variable Analysis, Latent Variable Defense and RAN-in-a-Box (RiaB) all contain iab (var-iab-le, R-iab), ViaBTC contains iab, and BGPCorsaro contains gpc. The published regex uses \biab\b and \bgpc\b. This is recorded because it is exactly the class of error that produces a plausible-looking population nobody re-checks.
2.2 Why the enum alone is not enough, in either direction
classification.target == “consent-notice” fires on 39 papers. The hand audit keeps 24 of them. The 15 it drops are not marginal calls — they are the enum firing on things that are not consent artefacts at all: cryptomining opt-in notices (two 2018 papers and OUTGUARD), Twitter misinformation labels, GPTzero output, taint-style vulnerability detection, ad-disclosure keywords, login/registration form heuristics, LlamaGuard safety labels, and privacy-policy rule checking. Using the enum as the population would have made a 38% error rate invisible.
In the other direction the enum misses most of the field: of the 72 papers in S2, only 24 carry the enum at all. Papers that measure GPC compliance, opt-out links, TCF string contents or pre-consent tracking classify something, but not “a consent notice”.
3. The hand-audited exclusion list, in full
28 of the 100 raw candidates were excluded, each with a recorded reason. This list is the part of the population definition most worth disagreeing with, which is why it is printed here rather than left in a script.
| Paper | Reason for exclusion |
|---|---|
CCS/2018/how-you-get-shot-in-the-back-a-systematical-study-about-cryptojacking-in-the-rea | cryptomining opt-in notice, not a tracking-consent mechanism |
CCS/2018/minesweeper-an-in-depth-look-into-drive-by-cryptocurrency-mining-and-its-defense | cryptomining opt-in notice, not a tracking-consent mechanism |
CCS/2021/android-on-pc-on-the-security-of-end-user-android-emulators | screenshot capture by emulators; “without consent” used colloquially |
CCS/2023/cookiegraph-understanding-and-detecting-first-party-tracking-cookies | cookie classification; CookieBlock appears only as a compared baseline |
CCS/2024/octopustaint-advanced-data-flow-analysis-for-detecting-taint-based-vulnerabiliti | consent-notice enum misfire on a taint-analysis paper |
IEEE-SP/2021/trouble-over-the-air-an-analysis-of-fota-apps-in-the-android-ecosystem | app installation without consent; no consent mechanism measured |
IEEE-SP/2024/to-auth-or-not-to-auth-a-comparative-analysis-of-the-pre-and-post-login-security | consent-notice enum misfire on login/registration form heuristics |
IEEE-SP/2025/analyzing-the-ios-local-network-permission-from-a-technical-and-user-perspective | OS permission rationale, not a tracking-consent mechanism |
IEEE-SP/2025/detecting-taint-style-vulnerabilities-in-microservice-structured-web-application | consent-notice enum misfire |
IMC/2013/understanding-the-effectiveness-of-video-ads-a-measurement-study | IAB ad-format definition, not IAB Europe TCF |
IMC/2024/analyzing-the-in-accessibility-of-online-advertisements | consent-notice enum misfire on ad-disclosure keywords |
IMC/2025/cookieguard-characterizing-and-isolating-the-first-party-cookie-jar | cookie-jar isolation defence; name collides with the tool vocabulary |
NDSS/2019/measuring-the-facebook-advertising-ecosystem | IAB content taxonomy, not IAB Europe TCF |
NDSS/2025/attributing-open-source-contributions-is-critical-but-difficult-a-systematic-analysis-of-github-practices-and-their-impact-on-software-supply-chain-security | consent-notice enum misfire (GPTzero) |
NDSS/2026/dom-xss-detection-via-webpage-interaction-fuzzing-and-url-component-synthesis | IAB content taxonomy, not IAB Europe TCF |
PETS/2017/detecting-anti-ad-blockers-in-the-wild | IAB anti-ad-block script, not IAB Europe TCF |
PETS/2020/angel-or-devil-a-privacy-study-of-mobile-parental-control-apps | no consent mechanism measured; consent inferred from data flows |
PETS/2025/your-signal-their-data-an-empirical-privacy-analysis-of-wireless-scanning-sdks-i | consent-notice enum misfire on SDK rationale detection |
PETS/2026/ai-in-the-loop-privacy-preserving-real-time-scam-detection-and-conversational-sc | consent-notice enum misfire (LlamaGuard safety labels) |
PETS/2026/audagent-automated-auditing-of-privacy-policy-compliance-in-ai-agents | consent-notice enum misfire on privacy-policy rules |
PETS/2026/no-privacy-for-privates-how-military-communities-experience-and-perceive-the-pri | consent-notice enum misfire on data-safety label comparison |
USENIX/2018/unveiling-and-quantifying-facebook-exploitation-of-sensitive-personal-data-for-a | no consent mechanism measured |
USENIX/2022/electronic-monitoring-smartphone-apps-an-analysis-of-risks-from-technical-human | pre-login transmissions; no consent mechanism measured |
USENIX/2025/exploring-user-security-and-privacy-attitudes-and-concerns-toward-the-use-of-gen | attitudes study; opt-out appears only in a legal framing sentence |
WWW/2019/outguard-detecting-in-browser-covert-cryptocurrency-mining-in-the-wild | cryptomining opt-in notice, not a tracking-consent mechanism |
WWW/2019/think-outside-the-dataset-finding-fraudulent-reviews-using-cross-dataset-analysi | consent-notice enum misfire on review-fraud labels |
WWW/2022/the-impact-of-twitter-labels-on-misinformation-spread-and-user-engagement-lesson | consent-notice enum misfire on misinformation labels |
WWW/2023/not-seen-not-heard-in-the-digital-world-measuring-privacy-practices-in-childrens | COPPA parental consent inferred from data flows; no mechanism measured |
WWW/2025/welcome-to-the-dark-side-analyzing-the-revenue-flows-of-fraud-in-the-online-ad-e | IAB ads.txt, not IAB Europe TCF |
One key in that list (IMC/2025/cookieguard-…) no longer matches the sweep at all: an earlier draft of consent_fold.mjs had cookieguard in the candidate vocabulary, which was wrong — CookieGuard is a first-party-cookie-jar isolation defence, not a consent tool. The key is kept in the exclusion map and the script marks it ? rather than x so the record of the decision survives.
Borderline calls that were kept, and would be reasonable to drop:
NDSS/2021/your-phone-is-my-proxy— measures user understanding of proxy-SDK consent dialogs. A consent dialog, but not a tracking-consent one.IMC/2024/watching-tv-with-the-second-partyandNDSS/2023/i-still-know-what-you-watched-last-sunday— smart-TV opt-out and pre-consent tracking. Not the web, but the same measurement.PETS/2022/atom-ad-network-tomography— kept because its consent decision was to exclude sites with banners from the sample, which is itself a consent-handling choice worth having in the population.IMC/2025/an-in-depth-investigation-of-data-collection-in-llm-app-ecosystems— measures availability of opt-out controls in LLM app ecosystems.
Borderline calls that were dropped, and would be reasonable to keep:
CCS/2023/policycheckerand the COPPA/parental-consent papers — they assess whether consent was obtained, but measure no consent mechanism.IEEE-SP/2025/analyzing-the-ios-local-network-permission— an OS permission rationale is arguably the mobile analogue of a consent notice.
Moving every borderline paper the other way changes S2 by about ±6 papers, i.e. under 10%. No figure on the content page turns on it, because S2 is only ever reported as counts and rankings.
4. Running it
cd /workspace/artifacts/wiki node scripts/report_consent.mjs # the numbers, with denominators node scripts/report_consent.mjs --wiki # the same, as DokuWiki tables node scripts/consent_quotecheck.mjs # every published literal vs the source PDFs
Both scripts resolve the dataset through scripts/lib.mjs → dataRoot(), so they work whether the mount root is /workspace/publications_dataset or /workspace/publications_dataset/data.
5. Unedited report output
5.1 Populations, folds, laws
corpus: 5859 papers, 7 venues, 2010-2026
2025 and 2026 are provisional venue-years (see literature:corpus).
── S1. Consent action, of every paper that ran an automated web crawl ──
population 'crawled' (crawlConfig present OR studyTypes includes automated-web-crawl): 1120
of those, a crawlConfig object was extracted for: 1080
Value Papers Share of 1120 Sentinel?
--------------------- ------ ------------- -------------------
no-interaction 313 27.9%
accept-all 15 1.3%
accept-and-reject 14 1.3%
reject-all 2 0.2%
dismiss-or-remove 3 0.3%
cmp-specific-choices 2 0.2%
not-stated 495 44.2% YES — not an answer
not-applicable 236 21.1% YES — not an answer
no-crawlConfig-object 40 3.6% YES — not an answer
STATED a consent action: 349 of 1120 (31.2%)
Of the 349 that state one, 36 (10.3%) actually touched the notice;
the other 313 (89.7%) state that they did not.
Papers in the whole corpus that state a consent action other than no-interaction: 36
── S1b. Is the reporting gap closing? consent action stated, by year bucket ──
Bucket Crawling papers State an action Share Actually interacted Share
---------- --------------- --------------- ----- ------------------- -----
2010–2013 102 25 24.5% 0 0.0%
2014–2017 167 50 29.9% 0 0.0%
2018–2021 308 99 32.1% 6 1.9%
2022–2024 345 116 33.6% 17 4.9%
2025–2026* 198 59 29.8% 13 6.6%
* 2025-2026 is provisional: CCS/IMC 2026 not held, IEEE S&P/WWW 2026 incompletely selected.
── S1c. Consent action x statefulness (of crawling papers stating BOTH) ──
population: 115 papers state a consent action AND a statefulness
Consent action stateful stateless both Total
-------------------- -------- --------- ---- -----
accept-all 2 4 1 7
accept-and-reject 1 4 5 10
cmp-specific-choices 1 1 0 2
dismiss-or-remove 0 1 1 2
no-interaction 21 62 10 93
reject-all 0 1 0 1
── S1d. Consent action x vantage point: did the crawl run where the law applies? ──
population: 349 crawling papers that state a consent action
Vantage Papers Share
---------------------------------- ------ -----
vantage tuple, location not-stated 206 59.0%
stated a non-EU/EEA vantage only 71 20.3%
EU/EEA vantage 68 19.5%
no vantage tuple at all 3 0.9%
location named but unmappable 1 0.3%
Of the 36 papers that actually interacted with a notice, 21 (58.3%) did so from an EU/EEA vantage.
Locations folded with scripts/geo.mjs; EEA membership list is in that file.
geo.mjs residue over this population: 5 unmapped strings: "not-stated", "all operating systems and geographic regions", "vantage country", "different continents", "various geographic regions"
── S2. Papers that measure or manipulate a consent mechanism ──
raw vocabulary + enum sweep: 100 candidates
hand-audited exclusions: 28
S2 population: 72 papers
(exclusion keys in EXCLUDED that no longer match the sweep: 1)
── S2b. S2 by venue and by year ──
Venue Papers in S2 Papers in corpus Share of venue
------- ------------ ---------------- --------------
PETS 30 510 5.9%
USENIX 14 1410 1.0%
WWW 8 843 0.9%
CCS 7 990 0.7%
IMC 7 638 1.1%
NDSS 3 701 0.4%
IEEE-SP 3 767 0.4%
Year Papers in S2
----- ------------
2018 1
2019 4
2020 3
2021 5
2022 9
2023 9
2024 20
2025* 15
2026* 6
* provisional venue-year.
── S2c. Object of study vs instrument ──
Role of consent in the paper Papers Share of S2
----------------------------------------------------------------------------------- ------ -----------
consent mechanism is measured (fires on a detection / classification / legal field) 60 83.3%
consent handling is only an instrument (fires on a tool name only) 12 16.7%
── S2d. Platform measured, of S2 papers ──
population: 72 S2 papers; platforms is multi-valued so shares do not sum to 100%
Platform Papers Share of S2
-------------------- ------ -----------
web 57 79.2%
mobile 15 20.8%
other-online-service 7 9.7%
iot 2 2.8%
offline 1 1.4%
── T1. Consent-handling tools, whole corpus, used or produced only ──
denominator: all 5859 papers; tuples filtered to usedOrMentioned in {used, produced}
Tool Papers Role
------------------------------- ------ -------------
Consent-O-Matic 9 used
BannerClick 4 produced+used
CookieBlock 4 used
custom GPC extension or crawler 4 produced+used
autoconsent 3 used
EasyList Cookie List 2 used
Priv-Accept 2 used
TC-string decoder 2 used
ConsentChk 1 produced
CookieCheck 1 produced
CookieEnforcer 1 produced
CookieGuard 1 produced
GDPR-Consent 1 produced
I don't care about cookies 1 used
Ninja Cookie 1 used
Opt-Out Easy 1 produced
OptOutCheck 1 produced
Super Agent 1 used
UNMAPPED RESIDUE of the consent-tool fold: 5 distinct names over 5 papers
1 IAB anti-ad-block script
1 Interactive Advertising Bureau (IAB) taxonomy
1 IAB Europe's CMP Compliance Programme
1 IAB Europe Transparency and Consent Framework
1 IAB ads.txt crawler
── T2. CMP vendors named as a tool used, whole corpus ──
denominator: all 5859 papers
CMP Papers
------------- ------
OneTrust 6
Quantcast 3
Cookiebot 3
Cookie Script 3
Didomi 1
This counts papers that name the CMP as a tool, not CMP market share.
── C1. Method used to classify a consent notice (audited subset of the enum) ──
population: 24 S2 papers carrying a classification tuple with target=consent-notice
(the enum fires on 39 papers before the audit)
Method Papers Share of subset
------------------- ------ ---------------
heuristic-rules 11 45.8%
manual-labelling 9 37.5%
supervised-ml 3 12.5%
regex-or-signature 2 8.3%
blocklist 2 8.3%
third-party-service 1 4.2%
curated-database 1 4.2%
llm 1 4.2%
── C2. Ground truth and validation, same subset ──
population: 24 papers
Validation Papers Share
----------------- ------ -----
manual-validation 19 79.2%
none-reported 4 16.7%
cross-validation 2 8.3%
held-out-test-set 1 4.2%
not-applicable 1 4.2%
Names a ground-truth source: 19 of 24 (79.2%)
── L1. Laws assessed by S2 papers, folded with scripts/law_fold.mjs ──
population: 53 of 72 S2 papers carry a legal tuple (corpus-wide, 402 papers do)
Law family Papers Share of the 53
------------------------------------------ ------ ---------------
EU data protection (GDPR and predecessors) 42 79.2%
ePrivacy / cookie law 20 37.7%
US state privacy law 20 37.7%
US children / education / health / finance 7 13.2%
EU platform / digital-market regulation 2 3.8%
Sector, national and other rules 1 1.9%
UNMAPPED 1 1.9%
Non-EU/US data protection law 1 1.9%
Strings that fell into the catch-all family or matched nothing: 2
1 Act against Unfair Competition (UWG)
1 Digital Economy Act 2017
5.2 Cross-check and exclusion list
── X. Cross-check: S2 papers that ran a crawl and what they did with the notice ──
population: 51 of 72 S2 papers ran an automated web crawl
Consent action Papers Share
-------------------- ------ -----
no-interaction 18 35.3%
accept-and-reject 14 27.5%
accept-all 8 15.7%
not-stated 6 11.8%
cmp-specific-choices 2 3.9%
reject-all 2 3.9%
not-applicable 1 2.0%
── E. The exclusion list, in full ──
x CCS/2018/how-you-get-shot-in-the-back-a-systematical-study-about-cryptojacking-in-the-rea
cryptomining opt-in notice, not a tracking-consent mechanism
x CCS/2018/minesweeper-an-in-depth-look-into-drive-by-cryptocurrency-mining-and-its-defense
cryptomining opt-in notice, not a tracking-consent mechanism
x CCS/2021/android-on-pc-on-the-security-of-end-user-android-emulators
screenshot capture by emulators; "without consent" used colloquially
x CCS/2023/cookiegraph-understanding-and-detecting-first-party-tracking-cookies
cookie classification; CookieBlock appears only as a compared baseline
x CCS/2024/octopustaint-advanced-data-flow-analysis-for-detecting-taint-based-vulnerabiliti
consent-notice enum misfire on a taint-analysis paper
x IEEE-SP/2021/trouble-over-the-air-an-analysis-of-fota-apps-in-the-android-ecosystem
app installation without consent; no consent mechanism measured
x IEEE-SP/2024/to-auth-or-not-to-auth-a-comparative-analysis-of-the-pre-and-post-login-security
consent-notice enum misfire on login/registration form heuristics
x IEEE-SP/2025/analyzing-the-ios-local-network-permission-from-a-technical-and-user-perspective
OS permission rationale, not a tracking-consent mechanism
x IEEE-SP/2025/detecting-taint-style-vulnerabilities-in-microservice-structured-web-application
consent-notice enum misfire
x IMC/2013/understanding-the-effectiveness-of-video-ads-a-measurement-study
IAB ad-format definition, not IAB Europe TCF
x IMC/2024/analyzing-the-in-accessibility-of-online-advertisements
consent-notice enum misfire on ad-disclosure keywords
? IMC/2025/cookieguard-characterizing-and-isolating-the-first-party-cookie-jar
cookie-jar isolation defence; name collides with the tool vocabulary
x NDSS/2019/measuring-the-facebook-advertising-ecosystem
IAB content taxonomy, not IAB Europe TCF
x NDSS/2025/attributing-open-source-contributions-is-critical-but-difficult-a-systematic-analysis-of-github-practices-and-their-impact-on-software-supply-chain-security
consent-notice enum misfire (GPTzero)
x NDSS/2026/dom-xss-detection-via-webpage-interaction-fuzzing-and-url-component-synthesis
IAB content taxonomy, not IAB Europe TCF
x PETS/2017/detecting-anti-ad-blockers-in-the-wild
IAB anti-ad-block script, not IAB Europe TCF
x PETS/2020/angel-or-devil-a-privacy-study-of-mobile-parental-control-apps
no consent mechanism measured; consent inferred from data flows
x PETS/2025/your-signal-their-data-an-empirical-privacy-analysis-of-wireless-scanning-sdks-i
consent-notice enum misfire on SDK rationale detection
x PETS/2026/ai-in-the-loop-privacy-preserving-real-time-scam-detection-and-conversational-sc
consent-notice enum misfire (LlamaGuard safety labels)
x PETS/2026/audagent-automated-auditing-of-privacy-policy-compliance-in-ai-agents
consent-notice enum misfire on privacy-policy rules
x PETS/2026/no-privacy-for-privates-how-military-communities-experience-and-perceive-the-pri
consent-notice enum misfire on data-safety label comparison
x USENIX/2018/unveiling-and-quantifying-facebook-exploitation-of-sensitive-personal-data-for-a
no consent mechanism measured
x USENIX/2022/electronic-monitoring-smartphone-apps-an-analysis-of-risks-from-technical-human
pre-login transmissions; no consent mechanism measured
x USENIX/2025/exploring-user-security-and-privacy-attitudes-and-concerns-toward-the-use-of-gen
attitudes study; opt-out appears only in a legal framing sentence
x WWW/2019/outguard-detecting-in-browser-covert-cryptocurrency-mining-in-the-wild
cryptomining opt-in notice, not a tracking-consent mechanism
x WWW/2019/think-outside-the-dataset-finding-fraudulent-reviews-using-cross-dataset-analysi
consent-notice enum misfire on review-fraud labels
x WWW/2022/the-impact-of-twitter-labels-on-misinformation-spread-and-user-engagement-lesson
consent-notice enum misfire on misinformation labels
x WWW/2023/not-seen-not-heard-in-the-digital-world-measuring-privacy-practices-in-childrens
COPPA parental consent inferred from data flows; no mechanism measured
x WWW/2025/welcome-to-the-dark-side-analyzing-the-revenue-flows-of-fraud-in-the-online-ad-e
IAB ads.txt, not IAB Europe TCF
x = excluded from a live sweep hit; ? = key no longer matches the sweep
5.3 Every consent-related measured result in S2
This is the block the content page's What the papers found table was built from — 109 tuples across 50 papers, each with its metric, its prevalence as the authors stated it, and the verbatim evidence quote with its section. It is long. It is here because the alternative is that nobody can check which of these the page chose to publish and which it passed over.
── D1. Every consent-related detection tuple in S2 that carries a prevalence ── 109 tuples across 50 papers metric names the unit, not always the population — check the paper before quoting. WWW 2018 an-automated-approach-to-auditing-disclosure-of-third-party-data-collection-in-w phenomenon: Do Not Track policy support metric: policy share mentioning or respecting DNT prevalence: 7% contained “do not track”; 64.80% explicitly did not honor DNT; 19.46% clearly committed to honor it. quote [results]: Across the population of website policies analyzed, 7% contain the string "do not track". A manual analysis of a sample of policies determines if the string is in reference to DNT WWW 2018 an-automated-approach-to-auditing-disclosure-of-third-party-data-collection-in-w phenomenon: third-party Do Not Track support metric: number of policies mentioning or supporting DNT prevalence: Nine of 25 mentioned DNT; two offered qualified support; none offered unqualified support. quote [results]: Despite this awareness, only nine of 25 data collectors mention the DNT standard in their privacy policies. As with first-party disclosures, the majority of these mentions are to specify that DNT is ignored. CCS 2019 un-informed-consent-studying-gdpr-consent-notices-in-the-field phenomenon: Consent-notice GUI properties metric: share of consent notices prevalence: 57.4% used nudging; 92.3% contained an additional-information link quote [methodology]: Nudging & Dark Patterns. Consent notices often (57.4 %) use interface design to steer website visitors towards accepting privacy-unfriendly options. CCS 2019 un-informed-consent-studying-gdpr-consent-notices-in-the-field phenomenon: Visitor consent behavior metric: number of unique visitors prevalence: 82,890 cleaned visitor logs quote [results]: Our cleaned dataset contained event logs of 82,890 unique website visitors: 14,135 in Experiment 1, 36,530 in Experiment 2, and 32,225 in Experiment 3. IMC 2019 tales-from-the-porn-a-comprehensive-privacy-analysis-of-the-web-porn-ecosystem phenomenon: cookie consent banners metric: share of pornographic websites prevalence: 4.41% in the EU and 3.76% in the USA quote [results]: The proportion of pornographic webpages with cookie banners is very small, being only 4% of the total. NDSS 2019 we-value-your-privacy-now-take-some-cookies-measuring-the-gdprs-impact-on-web-privacy phenomenon: cookie-consent notices metric: share of websites displaying notices prevalence: 62.1% in May 2018, up from 46.1% in January quote [results]: The GDPR's most notable (and visible for users) effect we observed is the increase of cookie consent notifications, which rose from 46.1 % in January to 62.1 % in May. PETS 2019 4-years-of-eu-cookie-law-results-and-lessons-learned phenomenon: Consent-related cookie installation metric: share of websites prevalence: 80.5% install profiling cookies before consent quote [results]: All other websites, i.e., 80.5% install profiling cookies before consent, and possibly install more after that. PETS 2020 multiple-purposes-multiple-problems-a-user-study-of-consent-dialogs-after-gdpr phenomenon: Consent-dialog interaction effort metric: response time prevalence: Reduced-choice participants spent approximately five seconds less responding on average than participants shown three purposes. quote [results]: The measurement starts when the cookie dialog appears and ends when the participant clicks a button. WWW 2020 finding-a-choice-in-a-haystack-automatic-extraction-of-opt-out-statements-from-p phenomenon: opt-out hyperlinks metric: precision, recall, and F1 prevalence: precision 0.93, recall 0.90, F1 0.91 quote [results]: When crafting simple rules to automatically detect these opt-outs and combining these rules with our classifiers, we are actually able to achieve an overall recall of 0.90 and a precision of 0.93 and an F1 score of 0.91. WWW 2020 finding-a-choice-in-a-haystack-automatic-extraction-of-opt-out-statements-from-p phenomenon: opt-out hyperlinks metric: share of hyperlinks prevalence: 441 of 3,251 hyperlinks (14%) were easily identifiable third-party opt-outs quote [results]: In our annotated corpus, the 11 easily-identifiable third party opt-out services accounted for 441 of 3,251 hyperlinks, which represents 14% of the hyperlinks. WWW 2020 finding-a-choice-in-a-haystack-automatic-extraction-of-opt-out-statements-from-p phenomenon: opt-out categories metric: percentage of detected opt-outs prevalence: 60% advertising, 17% cookies, 10% communication, 7% third-party sharing, and 6% analytics quote [results]: advertising opt-outs (AD) account overall for 60% of all detected opt-outs, following by 17% of cookie opt-outs (CK), 10% communication opt-outs (CM) WWW 2020 finding-a-choice-in-a-haystack-automatic-extraction-of-opt-out-statements-from-p phenomenon: opt-outs by website popularity metric: mean opt-outs per site prevalence: U.S. Alexa ranks 1–200: 3.43; 200–1000: 2.49; above 1000: 1.22 quote [results]: The average number of opt-outs varies with the website's Alexa rank. This is true both when looking solely at U.S. websites IEEE-SP 2020 do-cookie-banners-respect-my-choice-measuring-legal-compliance-of-banners-from-i phenomenon: TCF cookie banners metric: share of reachable and authorized websites prevalence: 1,426 of 22,949 websites (6.2%) quote [results]: Among reachable and authorized websites, 1 426 (6.2%) had a TCF banner IEEE-SP 2020 do-cookie-banners-respect-my-choice-measuring-legal-compliance-of-banners-from-i phenomenon: No way to opt out metric: share of semi-automatically crawled websites prevalence: 38 of 560 websites (6.8%) quote [results]: We find that 38 (6.8%) websites do no provide any way to refuse consent. IEEE-SP 2020 do-cookie-banners-respect-my-choice-measuring-legal-compliance-of-banners-from-i phenomenon: Shared-cookie consent reuse metric: share of semi-automatically crawled websites prevalence: 62 of 1,426 websites (4.3%) returned the same consent string quote [results]: Using this protocol, 62 (4.3%) websites return the same consent strings. PETS 2021 privacy-preference-signals-past-present-and-future phenomenon: TCF implementation and version metric: share of crawled websites prevalence: 7,582 TCF implementations in the top 100k quote [methodology]: As each CMP must implement a __cmp() function for TCF 1.x and __tcfapi() function for TCF 2.x, we check for the presence of these functions PETS 2021 privacy-preference-signals-past-present-and-future phenomenon: TCF 2.0 migration metric: longitudinal adoption and transition counts prevalence: 5.7 million Quantcast and 1.4 million OneTrust captures quote [methodology]: we identified distinct HTTP requests that indicate the use of specific TCF versions. PETS 2021 privacy-preference-signals-past-present-and-future phenomenon: TCF vendor adoption metric: vendor joins, departures, switches, and legal-basis declarations prevalence: More than 600 vendors had adopted TCF by October 2020 quote [methodology]: We then inspected these previous versions for longitudinal changes and measured every instance when an AdTech vendor joins, leaves, or switches to TCF 2.0. PETS 2021 privacy-preference-signals-past-present-and-future phenomenon: Cookie notices and consent prompts metric: estimated share of websites with cookie prompts prevalence: 5% overall error rate in manual checking quote [methodology]: In a manual inspection of 50 randomly picked domains with and 50 domains without "cookie" in their DOM tree, we found five domains NDSS 2021 your-phone-is-my-proxy-detecting-and-understanding-mobile-proxy-networks phenomenon: user understanding of consent dialogs metric: percentage of participants prevalence: 72% considered dialogs not at all clear after explanation quote [results]: After knowing the concepts of web proxy and relaying network traffic, 72% of the participants think the dialogs are "Not at all clear" PETS 2021 managing-potentially-intrusive-practices-in-the-browser-a-user-centered-perspect phenomenon: Users’ opt-out preferences metric: percentage of instances prevalence: Participants preferred to opt out in 81% of instances on average. quote [results]: Overall, participants preferred to opt out in 81% of instances on average. USENIX 2021 share-first-ask-later-or-never-studying-violations-of-gdprs-explicit-consent-in phenomenon: Personal-data transmission without consent metric: share of successfully analyzed apps prevalence: 24,838 apps (34.4%) sent personal data to third-party data controllers quote [results]: this means that 34.4% of them sent out PD to third-party data controllers, thereby violating GDPR's mandated consent USENIX 2021 share-first-ask-later-or-never-studying-violations-of-gdprs-explicit-consent-in phenomenon: Consent notices in violating apps metric: share of 100 sampled apps prevalence: 25 apps showed consent notices; 11 offered rejection quote [results]: Among these 100 apps, we found only 25 apps present any type of consent notices to users. Of these, only 11 apps provide an option to reject CCS 2022 do-opt-outs-really-opt-me-out phenomenon: opt-out buttons metric: precision and recall prevalence: OptOutCheck identified opt-out cookies from 165 trackers quote [results]: After excluding 30 trackers with non-English opt-out pages, OptOutCheck identified 265 opt-out cookies from 165 trackers. CCS 2022 do-opt-outs-really-opt-me-out phenomenon: opt-out policy statements metric: precision and recall prevalence: 55 No-data-collection and No-tracking policies from 54 sentences of 42 trackers quote [results]: OptOutCheck extracted 55 No-data-collection and No-tracking policies from 54 sentences of 42 trackers. CCS 2022 do-opt-outs-really-opt-me-out phenomenon: opt-out cookies metric: F1 score, precision, and recall prevalence: 84% F1, 97% precision, and 74% recall on the test set quote [evaluation]: the classifier achieves a high F1 score of 84% (97% precision and 74% recall) on the test set. CCS 2022 do-opt-outs-really-opt-me-out phenomenon: opt-out inconsistencies metric: number of inconsistent trackers prevalence: 11 trackers continued tracking or data collection inconsistently with policies quote [results]: OptOutCheck detected 11 trackers that had conducted tracking and data collection inconsistently with their opt-out policies after activating the opt-out choices. CCS 2022 freely-given-consent-studying-consent-notice-of-third-party-tracking-and-its-vio phenomenon: consent notices metric: share of analyzed apps prevalence: 13,082 consent notices among 239,381 successfully analyzed apps quote [results]: As a result, we identified 13,082 privacy-related user interfaces that are any form of consent notices. CCS 2022 freely-given-consent-studying-consent-notice-of-third-party-tracking-and-its-vio phenomenon: consent interaction mechanisms metric: share of consent notices prevalence: confirmation-only 43.87%; opt-out personalized ads 30.19%; binary choices 21.95%; complex choices 4% quote [results]: we identified the four mechanisms for user interaction that are currently widely implemented by Android apps CCS 2022 freely-given-consent-studying-consent-notice-of-third-party-tracking-and-its-vio phenomenon: lack of consent notices metric: share of apps sending personal data to ad domains prevalence: 30,160 of 32,341 apps (93.26%) quote [results]: we identified a significant number of 30,160 (93.26% of 32,341) apps have no implemented any form of consent notices. CCS 2022 freely-given-consent-studying-consent-notice-of-third-party-tracking-and-its-vio phenomenon: sharing data before consent metric: share of consent-notice apps prevalence: 2,181 apps (16.67%) sent personal data before explicit consent quote [results]: we identified 3,007 (23%) apps that sent users' personal data to the Internet before any given consent ... 2,181 (16,67% of 13,082) apps sent personal data to third-party data controllers CCS 2022 freely-given-consent-studying-consent-notice-of-third-party-tracking-and-its-vio phenomenon: no way to opt out metric: share of consent-notice apps prevalence: 1,084 apps (8.28%) sent data to advertising controllers without refusal options quote [results]: 1,084 (8.28% of 13,082) apps sent to third-party data controllers in which their consent notices do not offer a way to refuse consent. CCS 2022 freely-given-consent-studying-consent-notice-of-third-party-tracking-and-its-vio phenomenon: non-respect of opt-out metric: number of apps prevalence: 134 apps sent personal data after explicit opt-out quote [results]: We found 134 apps that still sent users' personal data to third-party advertising data controller after explicitly opting-out the data sharing PETS 2022 are-iphones-really-better-for-privacy-a-comparative-study-of-ios-and-android-app phenomenon: tracking before consent metric: share of apps contacting tracking domains at startup prevalence: 81.44% of Android apps and 68.46% of iOS apps potentially shared data before consent. quote [results]: This suggests potentially widespread violations of applicable data protection law (in 81.44% of Android apps, and 68.46% of iOS apps). PETS 2022 checking-websites-gdpr-consent-compliance-for-marketing-emails phenomenon: GDPR consent violations metric: share of websites prevalence: 17.3% of websites sending marketing emails had at least one potential violation. quote [results]: 17.3% of websites have at least one potential violation. PETS 2022 how-can-and-would-people-protect-from-online-tracking phenomenon: Opt-out difficulty metric: mean number of clicks prevalence: Opting out averaged 3 clicks initially and 6 clicks after previously accepting consent. quote [results]: For the remaining websites, it would take the user to opt-out from the cookie notice by 3 clicks on average... changes mind later, it would take them 6 clicks on average to opt-out. PETS 2022 on-dark-patterns-and-manipulation-of-website-publishers-by-cmps phenomenon: unbalanced consent choices metric: share of studied consent pop-ups prevalence: six out of ten studied consent pop-ups showed a difference between the “Accept” and “Reject” button by default quote [results]: We found out that six out of ten studied consent pop-ups - Quantcast, Cookiebot free, Cookiebot paid, and Cookie Script Free, Lite, and Plus - showed a difference between the “Accept” and “Reject” button by default PETS 2022 on-dark-patterns-and-manipulation-of-website-publishers-by-cmps phenomenon: CMP tracker-scanner manipulation metric: number of CMPs offering tracker scanners prevalence: four CMPs proposed tracker scanners quote [results]: We found out that four CMPs - CookiePro, Cookiebot, Crownpeak, and Cookie Script - propose tracker scanners. PETS 2022 on-dark-patterns-and-manipulation-of-website-publishers-by-cmps phenomenon: pre-consent Quantcast tracking metric: third-party requests and tracking cookies prevalence: Quantcast initially set a user-specific one-year mc cookie before consent quote [results]: This tracking pixel was integrated by default in all Quantcast Choice banners even before the user makes a decision regarding acceptance or refusal of consent PETS 2022 on-dark-patterns-and-manipulation-of-website-publishers-by-cmps phenomenon: third-party tracking in Cookie Script report metric: requests and cookies observed prevalence: 41 third-party requests and 6 cookies were deposited without prior consent quote [results]: The tracker scan page includes a Google Analytics service, as well as social sharing buttons, all which generating a total of 41 third-party requests and the deposit of 6 cookies without the user's prior consent USENIX 2022 automating-cookie-consent-and-gdpr-violation-detection phenomenon: Cookies before consent metric: share of websites setting non-necessary cookies prevalence: 69.7% of examined websites quote [results]: By crawling the website without interacting with the cookie banner, we inspect if websites set any cookies with a purpose that is not declared as necessary. We find that 69.7% USENIX 2022 automating-cookie-consent-and-gdpr-violation-detection phenomenon: Cookies despite negative consent metric: share of websites prevalence: 21.3% of 29,398 websites quote [results]: We then verify that the recorded consent status of the CMP is indeed negative, and identify which of these websites still set non-necessary cookies. CCS 2023 policychecker-analyzing-the-gdpr-completeness-of-mobile-apps-privacy-policies phenomenon: Consent-withdrawal omissions metric: share of consent-based policies prevalence: 66.1% of 77,522 consent-based policies quote [introduction]: among 77,522 privacy policies that indicated consent-based data processing, 66.1% of them failed to further indicate whether users have the right to withdraw their consents NDSS 2023 i-still-know-what-you-watched-last-sunday-privacy-of-the-hbbtv-protocol-in-the-european-smart-tv-landscape phenomenon: Tracking before consent metric: share of TV channels prevalence: 26 of 36 channels communicated with trackers before consent quote [discussion]: All the 36 TV channels we analyzed contact at least one tracking domain; further, 26 communicate with trackers before the user has expressed their consent. IMC 2023 thou-shalt-not-reject-analyzing-accept-or-pay-cookie-banners-on-the-web phenomenon: cookiewall prevalence metric: share of queried websites prevalence: 280 of 45,222 websites (0.6%) quote [results]: In total, we find cookiewalls on 280 unique websites, resulting in an overall cookiewall rate of 0.6% IMC 2023 thou-shalt-not-reject-analyzing-accept-or-pay-cookie-banners-on-the-web phenomenon: cookiewall detection metric: precision and recall prevalence: 98.2% precision; 100% precision and recall on 1,000 sampled websites quote [methodology]: We find that 280 websites have indeed a cookiewall, whereas 5 detections are classified as false positives. This results in a detection precision of 98.2%. USENIX 2023 automated-cookie-notice-analysis-and-enforcement phenomenon: cookie notice detection metric: accuracy prevalence: 986 of 2000 domains identified as having cookie notices; 16 false negatives and 2 false positives quote [results]: The module identified 986 domains as having cookie notices, with 2 false positives and 16 false negatives. USENIX 2023 automated-cookie-notice-analysis-and-enforcement phenomenon: cookie notices at scale metric: share of websites with notices prevalence: 52.7% of 85,473 analyzed websites quote [results]: First, we find that CookieEnforcer detects a cookie notice on 52.7% of the websites. USENIX 2023 automated-cookie-notice-analysis-and-enforcement phenomenon: multiple-view cookie notices metric: share of websites with notices prevalence: 35.4% had multiple views; 64.6% had a single-view notice quote [results]: 35.4% of the websites with notices had cookie notices with multiple views while 64.6% had a single-view cookie notice. USENIX 2023 automated-cookie-notice-analysis-and-enforcement phenomenon: one-click opt-out metric: share of websites with cookie notices prevalence: 21.5% provided a one-click opt-out mechanism quote [results]: We find that in total, only 21.5% of the websites with cookie notices provide a One-click opt-out mechanism USENIX 2023 the-ok-is-not-enough-a-large-scale-study-of-consent-dialogs-in-smartphone-applic phenomenon: privacy consent dialogs metric: share of successfully analyzed apps prevalence: 814 (22.3%) apps displayed a privacy consent dialog on start; 434 (11.9%) displayed a proper dialog. quote [results]: Overall, we detected 814 (22.3%) apps displaying a privacy consent dialog on start. 232 (6.3%) displayed a link, 165 (4.5%) displayed a notice, and 434 (11.9%) displayed a proper dialog. USENIX 2023 the-ok-is-not-enough-a-large-scale-study-of-consent-dialogs-in-smartphone-applic phenomenon: pre-consent tracker traffic metric: apps contacting monitored tracking endpoints before interaction prevalence: 3013 (82.5%) analyzed apps contacted a covered tracking endpoint before interaction. quote [results]: Mapping the requests back to apps, leads to 3013 (82.5%) of apps contacted one of our covered tracking endpoints before any interaction took place. USENIX 2023 the-ok-is-not-enough-a-large-scale-study-of-consent-dialogs-in-smartphone-applic phenomenon: TCF usage metric: apps setting TCF-related strings prevalence: 146 (4.0%) apps set TCF-related settings during execution. quote [results]: We detected only TCF-related settings in 146 (4.0%) apps. This highly limits any analysis approach based on frameworks. PETS 2023 comparing-large-scale-privacy-and-security-notifications phenomenon: third-party cookies without consent metric: share of candidate sites prevalence: 7.34% of sites with at least one privacy issue quote [methodology]: followed by Before Consent (7.57 %) and No Consent (7.34 %). PETS 2023 comparing-large-scale-privacy-and-security-notifications phenomenon: third-party cookies before consent metric: share of candidate sites prevalence: 7.57% of sites with at least one privacy issue quote [methodology]: followed by Before Consent (7.57 %) and No Consent (7.34 %). PETS 2023 everybodys-looking-for-ssomething-a-large-scale-evaluation-on-the-privacy-of-oau phenomenon: Preselected marketing consent metric: share of sites with marketing consent preselected prevalence: 31.82% of minimal-scope and 54.55% of non-minimal-scope sites. quote [results]: 14 out of these 44 (31.82%) websites include a preselected choice. On websites that use OAuth with non-minimal scopes ... 30 (54.55%) PETS 2023 usability-and-enforceability-of-global-privacy-control phenomenon: Willingness to enable GPC metric: share of participants prevalence: 46/49 (94%) opted to enable GPC quote [results]: 46/49 (94%) of the participants in our Browser Setup Survey opted to enable GPC PETS 2023 usability-and-enforceability-of-global-privacy-control phenomenon: Understanding of GPC metric: share answering correctly prevalence: 81% correctly answered that advertisers would not receive their data quote [results]: Based on the explanation, 81% of the participants in our GPC Survey correctly answered that advertisers would not receive their data if they turned on GPC. PETS 2023 usability-and-enforceability-of-global-privacy-control phenomenon: GPC compliance detection accuracy metric: accuracy prevalence: 89/100 sites quote [results]: Our extension ran successfully and correctly on 89/100 sites of the Test Set PETS 2023 usability-and-enforceability-of-global-privacy-control phenomenon: US Privacy String detection metric: F-1 score prevalence: 0.98 on the test-set subset quote [results]: With one false positive and an F-1 score of 0.98 our extension reliably identified the US Privacy String PETS 2023 usability-and-enforceability-of-global-privacy-control phenomenon: GPC compliance among combined-set sites metric: compliant sites with US Privacy Strings prevalence: 27/64 sites as of August 2022 quote [results]: As of August 2022, a total of 27/64 sites that implement the US Privacy String were compliant and respected GPC. PETS 2023 usability-and-enforceability-of-global-privacy-control phenomenon: GPC compliance at scale metric: sites respecting GPC prevalence: 54/464 (12%) sites with a US Privacy String quote [results]: with only 54/464 (12%) of the sites with US Privacy String opting us out ... GPC non-compliance appears widespread IMC 2024 diffaudit-auditing-privacy-practices-of-online-services-for-children-and-adolesc phenomenon: Pre-consent data processing metric: share of audited services prevalence: All services collected data before consent and age disclosure; all but one shared identifiers and personal information with third-party ATS. quote [results]: All of the services engaged in data collection and/or sharing prior to consent and age disclosure. PETS 2024 block-cookies-not-websites-analysing-mental-models-and-usability-of-the-privacy phenomenon: CookieBlock mental-model accuracy metric: accuracy category counts prevalence: Before: 15 inaccurate, 11 partially accurate, 14 accurate; After: 14, 12, and 12 quote [results]: The results are shown in Table 1 and illustrated in the following: PETS 2024 crumbling-cookie-categories-deconstructing-common-cookie-categories-to-create-ca phenomenon: Consent-interface comprehension metric: recall and focused comprehension accuracy prevalence: Focused comprehension for performance cookies was 79.0% with old terms versus 95.2% with new terms. quote [results]: Performance cookies 79.0% 95.2%* PETS 2024 crumbling-cookie-categories-deconstructing-common-cookie-categories-to-create-ca phenomenon: Consent behavior metric: consent-decision proportion prevalence: 63.1% accepted only necessary cookies; 33.8% accepted all cookies. quote [results]: The most common consent decision was to accept only necessary cookies with 63.1% of participants selecting this option. 33.8% of participants accepted all cookies PETS 2024 generalizable-active-privacy-choice-designing-a-graphical-user-interface-for-glo phenomenon: GPC interface usability metric: agreement with usability statements prevalence: 87% disagreed or strongly disagreed that opting out took a lot of effort. quote [results]: Across schemes, 87% disagreed or strongly disagreed that it took them a lot of effort to opt out PETS 2024 generalizable-active-privacy-choice-designing-a-graphical-user-interface-for-glo phenomenon: GPC comprehension metric: correct-response rate prevalence: 83% correctly explained GPC in free-form responses. quote [results]: The correct responses to the multiple choice question were confirmed by an 83% rate of participants' correct free-form responses to the question PETS 2024 johnny-still-cant-opt-out-assessing-the-iab-ccpa-compliance-framework phenomenon: USP String cookie storage metric: share of publishers prevalence: 358 of 10,000 publishers (3.6%) stored a USP String in a cookie quote [results]: In our data from Crawl 1 we detect the USP String value being stored in a cookie on 358 (3.6%) publishers out of 10 K PETS 2024 johnny-still-cant-opt-out-assessing-the-iab-ccpa-compliance-framework phenomenon: USP String HTTP propagation metric: share of requests containing injected opt-out value prevalence: 354,416 of 421,497 requests (84.1%) contained 1YYN quote [results]: 421,497 HTTP requests contained a URL with a USP parameter, of which 354,416 (84.1%) contained our chosen USP String value of 1YYN. PETS 2024 johnny-still-cant-opt-out-assessing-the-iab-ccpa-compliance-framework phenomenon: USP String propagation in inclusion chains metric: share of A&A chains rooted at USP-API publishers prevalence: 218,541 of 1,214,540 chains (17.9%) contained at least one USP String transmission quote [results]: There are 1,214,540 A&A inclusion chains rooted in the 821 publishers that implement the USP API, of which 218,541 (17.9%) contained at least one HTTP request transmitting the USP String. PETS 2024 johnny-still-cant-opt-out-assessing-the-iab-ccpa-compliance-framework phenomenon: USP String pairwise sharing metric: share of A&A pairs sharing in every chain prevalence: 47.1% of A&A pairs shared the USP String in all observed chains quote [results]: only 47.1% of A&A pairs share the USP String in all chains in which they appear. PETS 2024 johnny-still-cant-opt-out-assessing-the-iab-ccpa-compliance-framework phenomenon: GPC-to-USP opt-out conversion metric: share of USP-API publishers setting opt-out prevalence: 380 of 825 publishers (46.1%) set the USP String to opt-out quote [results]: In Crawl 3, when GPC was enabled, 380 out of 825 (46.1%) publishers with the USP API set the USP String to opt-out. PETS 2024 johnny-still-cant-opt-out-assessing-the-iab-ccpa-compliance-framework phenomenon: Tracking-pixel response to opt-out metric: tracking pixels per publisher prevalence: No statistically significant reduction for most crawl comparisons quote [results]: GPC and a USP String set to opt-out do not significantly reduce the number of tracking pixels embedded in publishers PETS 2024 two-steps-forward-and-one-step-back-the-right-to-opt-out-of-sale-under-cpra phenomenon: opt-out-of-sale links metric: share of top-25,000 websites prevalence: 2,429 websites (9.9%) provided manual opt-out links in November 2022. quote [results]: 2,429 websites (9.9%) provided manual opt-out of sale links on their homepage PETS 2024 two-steps-forward-and-one-step-back-the-right-to-opt-out-of-sale-under-cpra phenomenon: GPC signal honoring metric: number of websites honoring GPC prevalence: 814 websites honored GPC in November 2023. quote [results]: Our final crawl, conducted in November 2023, 2,987 websites provided some form of opt-out mechanism and 814 honored GPC signals. PETS 2024 two-steps-forward-and-one-step-back-the-right-to-opt-out-of-sale-under-cpra phenomenon: GPC-only opt-out mechanisms metric: number of websites prevalence: 340 websites supported GPC as the only opt-out mechanism in November 2023. quote [results]: there were 340 websites for which GPC signals were the only supported mechanism for opting-out of sale. PETS 2024 two-steps-forward-and-one-step-back-the-right-to-opt-out-of-sale-under-cpra phenomenon: loss of opt-out mechanisms metric: share of previously compliant websites prevalence: Approximately 24% subsequently provided no opt-out mechanism. quote [results]: Most of the websites that provided opt-out of sale links in November 2022 and subsequently removed them provided no opt-out of sale mechanism after CPRA went into effect. PETS 2024 two-steps-forward-and-one-step-back-the-right-to-opt-out-of-sale-under-cpra phenomenon: GPC-related privacy-policy language metric: number of websites prevalence: 1,350 policies included GPC-related expressions by November 2023. quote [results]: By November 2023, 1,350 websites in our dataset privacy policies that included one or more GPC-related expressions. PETS 2024 two-steps-forward-and-one-step-back-the-right-to-opt-out-of-sale-under-cpra phenomenon: gpc.json files metric: number of websites prevalence: 56 websites had such files when CPRA enforcement began. quote [results]: at which point 56 websites had such files PETS 2024 two-steps-forward-and-one-step-back-the-right-to-opt-out-of-sale-under-cpra phenomenon: GPC awareness metric: share of participants understanding GPC prevalence: Only 5.9% of responses indicated an understanding of GPC. quote [results]: Only 5.9% of responses indicated an understanding of what GPC is. IMC 2024 watching-tv-with-the-second-party-a-first-look-at-automatic-content-recognition phenomenon: ACR traffic after opt-out metric: presence or absence of communication with ACR domains prevalence: Opting out produced a complete absence of communication with previously identified ACR domains. quote [results]: once opt-out is exercised (Table 1), there is a complete absence of communication with any previously identified ACR domains USENIX 2024 automated-large-scale-analysis-of-cookie-notice-compliance phenomenon: Cookie notice detection metric: precision and recall prevalence: 100.0% precision and 86.9% recall quote [appendix]: We achieve 100.0% precision and 86.9% recall. USENIX 2024 automated-large-scale-analysis-of-cookie-notice-compliance phenomenon: Cookie consent violations metric: share of crawled websites with violations prevalence: 72.2% of successfully crawled websites contained at least one privacy violation quote [results]: We found that 72.2% of these websites contained at least one privacy violation. USENIX 2024 dissecting-privacy-perspectives-of-websites-around-the-world-aceptar-todo-alle-a phenomenon: cookie consent banner presence metric: share of successfully loaded websites prevalence: 37% (1511) of the total dataset included a cookie consent notice quote [methodology]: 37% (1511) included a cookie consent notice as a banner as part of the website's privacy policy. USENIX 2024 abandon-all-hope-ye-who-enter-here-a-dynamic-longitudinal-investigation-of-andro phenomenon: Consent-choice violations metric: share of apps with discrepancies among consent-dialog apps prevalence: 78.61% across the three reject scenarios quote [results]: Overall, for the three "Reject" scenarios (scenario-iii, scenario-iv, scenario-v), we found that 78.61% (σ = 0.54) of the apps that present a consent dialogue have discrepancies PETS 2024 opted-out-yet-tracked-are-regulations-enough-to-protect-your-privacy phenomenon: Advertiser data usage after opt-out metric: advertiser bid CPM distributions prevalence: Most personas received higher bids than control after opting out under GDPR and CCPA. quote [discussion]: Overall we note that under CMPs most personas receive higher bids compared to control when users opt-out of data processing and selling under GDPR and CCPA. PETS 2024 opted-out-yet-tracked-are-regulations-enough-to-protect-your-privacy phenomenon: Pre-opt-out tracking metric: bids and cookie syncing events prevalence: Advertisers continued using data and syncing cookies after pre-opt-out. quote [appendix]: we conduct additional experiments where we opt-out prior to simulating personas. PETS 2024 opted-out-yet-tracked-are-regulations-enough-to-protect-your-privacy phenomenon: CMP and prebid deployment metric: number of websites prevalence: 352 websites supported selected CMPs and client-side header bidding. quote [methodology]: scanning top-100K websites allows us to filter a meaningful number (i.e., 352) of websites that deploy CMPs and prebid.js under both GDPR and CCPA. USENIX 2024 the-effect-of-design-patterns-on-present-and-future-cookie-consent-decisions phenomenon: User satisfaction with consent choices metric: satisfaction percentage prevalence: 78% of those declining were satisfied, compared with 48% of those accepting. quote [results]: Our analyses reveal that people who declined tended to be more satisfied by their choice: 78% of those who declined were satisfied, while only 48% of those who had accepted were satisfied. WWW 2024 a-study-of-gdpr-compliance-under-the-transparency-and-consent-framework phenomenon: TCF consent-recording noncompliance metric: percentage of domains and crawls with violations prevalence: TCF violations occurred in 2.2% of domains and 1.3% of crawls. quote [results]: In total there are 117 crawls to 48 distinct domains where TCF policies are violated, which is 1.3% of all crawls and 2.2% of all domains, respectively. WWW 2024 a-study-of-gdpr-compliance-under-the-transparency-and-consent-framework phenomenon: Tracking cookies after consent rejection metric: average tracking cookies and percentage of domains setting them prevalence: Compliant, non-empty-TC domains averaged 1.28 tracking cookies; all domains averaged 1.11. quote [results]: The average number of tracking cookies set when no violation occurs is the average number of cookies set in domains belonging to the first two rows of Table 3 (1.09 tracking cookies). PETS 2025 johnny-can-t-revoke-consent-either-measuring-compliance-of-consent-revocation-on phenomenon: difficult consent revocation metric: share of reachable websites prevalence: 19.87% (32/158) offered revocation via a substantially different interface quote [results]: Overall, 32 (19.87%) websites out of 158 offered the option to revoke consent via an interface that is substantially different PETS 2025 johnny-can-t-revoke-consent-either-measuring-compliance-of-consent-revocation-on phenomenon: consent-storage inconsistency metric: websites with mismatches prevalence: 5 TCF cookie/API, 3 TCF localStorage/API, and 4 OneTrust mismatches quote [results]: Five websites implementing the TCF returned different TCStrings from __tcfapi and the TCString stored in the cookie after revocation. PETS 2025 intractable-cookie-crumbs-unveiling-the-nexus-of-stateful-banner-interaction-and phenomenon: GPC effect metric: average reduction in intractable cookies prevalence: approximately 30%, with an additional 32% after subsequent rejection quote [results]: enabling GPC reduces intractable cookies by approximately 30% on average ... further rejection of the banner can lead to an additional 32% reduction USENIX 2025 evaluating-privacy-policies-under-modern-privacy-laws-at-scale-an-llm-based-auto phenomenon: frictionless opt-out signals metric: share of domains mentioning GPC prevalence: 506 of 639 E8 domains (79%) mentioned Global Privacy Control quote [results]: The vast majority of these domains (506, or 79%) mentioned Global Privacy Control, or GPC [3], as a frictionless opt-out signal. USENIX 2025 websites-global-privacy-control-compliance-at-scale-and-over-time phenomenon: GPC compliance metric: share of sites opting out through all implemented privacy strings prevalence: 44% (1,411/3,226) in December 2023; 43% (1,473/3,402) in February 2024; 45% (1,620/3,566) in April 2024 quote [abstract]: In December 2023, 44% (1,411/3,226) of such sites opted users out via all implemented privacy strings. USENIX 2025 navigating-cookie-consent-violations-across-the-globe phenomenon: cookie consent violations metric: share of websites with at least one violation prevalence: 96.18% in the EU to 97.72% in the US quote [introduction]: ConsentChk detected that 96.18% (EU) - 97.72% (US) of websites across all regions contain at least one cookie consent violation. USENIX 2025 navigating-cookie-consent-violations-across-the-globe phenomenon: consent enforcement metric: share of websites correctly enforcing consent prevalence: 3.82% of websites quote [results]: Specifically, only 3.82% of websites correctly enforced the consent preferences of users. CCS 2025 whispertest-a-voice-control-based-library-for-ios-ui-automation phenomenon: tracker domains by consent mode metric: total distinct tracker domains prevalence: 512–943 accept; 409–805 reject quote [results]: Total distinct tracker domains 512 - 943 409 - 805 CCS 2025 layered-overlapping-and-inconsistent-a-large-scale-analysis-of-the-multiple-priv phenomenon: CCPA opt-out implementation metric: share of disclosing banks lacking required opt-outs prevalence: 22 of 45 banks (48.9%) acknowledging CCPA sale/sharing failed to implement required opt-outs quote [results]: Of the 45 banks that did acknowledge to sell/share data under CCPA, 22 (48.9%) failed to implement required opt-outs. CCS 2025 layered-overlapping-and-inconsistent-a-large-scale-analysis-of-the-multiple-priv phenomenon: GPC compliance metric: number of websites respecting GPC prevalence: 64 websites respected GPC signals quote [methodology]: In total, 64 were found to respect GPC signals. PETS 2026 exercising-the-ccpa-opt-out-right-on-android-legally-mandated-but-practically-ch phenomenon: app-level CCPA opt-out settings metric: share of apps prevalence: 48 of 100 apps implemented a legally mandated CCPA opt-out setting quote [results]: Only 48 of the 100 apps we evaluated implement the legally mandated CCPA opt-out setting PETS 2026 exercising-the-ccpa-opt-out-right-on-android-legally-mandated-but-practically-ch phenomenon: GPC opt-out compliance metric: privacy-flag opt-out rate prevalence: 338 apps remained opted_in for Vungle while 26 were opted_out under No AdID + GPC quote [results]: when sending GPC signals and disabling apps' access to the AdID, 338 apps still had the ccpa status of the ad network Vungle set to opted_in while only 26 had set it to opted_out. PETS 2026 the-tcf-doesn-t-really-a-a-id-automatic-privacy-analysis-and-legal-compliance-of phenomenon: TCF implementation prevalence metric: share of downloaded apps prevalence: 576 of 4482 apps (12.85%) quote [results]: 576 apps were identified as implementing the TCF ... representing 12.85% of the downloaded apps. PETS 2026 the-tcf-doesn-t-really-a-a-id-automatic-privacy-analysis-and-legal-compliance-of phenomenon: Incorrect consent-choice storage metric: share of TCF-based apps prevalence: 15 apps stored choices only after consent to all processing quote [results]: 15 apps only stored our choices if provided with consent to all data processing PETS 2026 the-tcf-doesn-t-really-a-a-id-automatic-privacy-analysis-and-legal-compliance-of phenomenon: AAID transmission without consent metric: share of analyzed apps prevalence: 66.2% transmitted AAID in the passive-stage Ø-approach; 55.3% transmitted it during active interaction quote [results]: In the passive-stage of traffic analysis, 66.2% of analyzed apps share personal data when using the Ø-approach. PETS 2026 the-tcf-doesn-t-really-a-a-id-automatic-privacy-analysis-and-legal-compliance-of phenomenon: AAID transmission before consent metric: share of active-stage apps prevalence: 284 of 513 apps (55.3%) transmitted AAID before consent quote [results]: During this stage, we found 284 apps that transmitted AAID before or during banner interaction, prior to obtaining consent. USENIX 2026 bridges-to-self-silent-web-to-app-tracking-on-mobile-via-localhost phenomenon: consent-bypass localhost tracking metric: share of sites triggering communications without consent prevalence: Meta: 75.8% EU and 78.2% USA; Yandex: 84.4% EU and 83.5% USA quote [results]: localhost communications were triggered without user consent by Meta Pixel. Yandex Metrica triggered localhost communications on 84.4% (EU), 83.5% (USA) of websites without user consent.
6. Folds, and their residue
6.1 The consent-tool fold: consent_fold.mjs
Two ordered rule lists, first match wins:
CONSENT_TOOLS— what a researcher drives a banner with, or decodes a signal with. MergesConsent-O-Matic/Consent-O-maticandautoconsent/DuckDuckGo autoconsent; maps a family ofGPC … extension/GPC … crawler/GPC … compliancestrings to one entry; mapsIAB consent-string decoding scriptandIAB TC String DecodertoTC-string decoder.CMPS— the vendor being measured. MergesOneTrust,OneTrust CMPandCookiePro(OneTrust acquired CookiePro);Cookie-ScriptandCookie Script;QuantcastandQuantcast Choice.
A separate CANDIDATE regex decides what the fold was ever meant to see, so a name that never matched it is not reported as residue. Residue of the fold, printed in full by the script: 5 distinct names over 5 papers, and all five are IAB artefacts that are not banner-interaction tools:
| Name | Papers | Why it is residue and not a mapping |
|---|---|---|
IAB anti-ad-block script | 1 | An anti-adblock script, nothing to do with consent |
Interactive Advertising Bureau (IAB) taxonomy | 1 | The content taxonomy, a website-classification artefact |
IAB ads.txt crawler | 1 | Ad-fraud tooling |
IAB Europe's CMP Compliance Programme | 1 | Genuinely consent-related, but a certification programme, not a tool anyone runs. Folding it into the tool table would have put a compliance scheme next to Selenium scripts |
IAB Europe Transparency and Consent Framework | 1 | The framework itself, recorded as a “tool” by the extraction. Same reason |
The last two are the honest judgement call: they could be folded into a third family. They were left as residue because the table they would join is headed tools you can install and run.
6.2 The law fold: law_fold.mjs
Reused unchanged from legal_enforcement, including its ordering (specific families before general) and its two hard-coded exceptions. Over the 53 S2 papers with a legal tuple it leaves 2 strings in the catch-all family: Digital Economy Act 2017 and Act against Unfair Competition (UWG). Both are correctly placed — neither is a data-protection instrument — and both are single papers.
The fold matters here. Unfolded, the raw strings split the CCPA across CCPA (16 papers) and California Consumer Privacy Act (CCPA) (4), and ePrivacy across ePrivacy Directive (15), ePrivacy directive (2) and ePrivacy Directive (2002/58/EC) (1). Publishing the raw counts would have understated US state privacy law by a fifth and ePrivacy by a sixth.
6.3 The vantage fold: geo.mjs
Reused unchanged from crawling_location, including its EEA_COUNTRIES set and isEeaVantage(). Note that the UK is deliberately not in that set (post-Brexit), which makes the page's EU/EEA figures slightly conservative — a UK-only vantage counts as non-EEA.
Residue over the 349 papers of S1: 5 strings, all of which name no resolvable place — not-stated, all operating systems and geographic regions, vantage country, different continents, various geographic regions. Of these only not-stated is common, and the script counts it in its own row rather than folding it away.
7. Figures checked against the source papers
Every literal figure the content page attributes to a corpus paper was searched for in that paper's own full text, in both renderings — paper.cols.txt (column reading order repaired; the one the extraction read) and paper.norm.txt. They fail on different sentences, so a figure found in either counts as verified and the report says which. Whitespace, thin and non-breaking spaces, curly quotes and unicode dashes are normalised first, because a PDF text layer produces all of them for what the author typed as a plain space or hyphen.
Result: 61 literals, 60 found in both renderings, 1 in cols only, 0 not found. The cols-only case is 62 (4.3%) in Matte et al.
The check is a superset of what the page publishes, not a mirror of it. Ten of the 61 literals were checked and then not used on the page — Bouhoula's 2353 and 95.1%, Rasaii's 6.91, Utz's 39.2, Khandelwal's 986, Rasaii's 98.2%, Bollinger's 87.2% and Koch's 22.3%, 82.5% and 4.0%. They are figures the page considered and cut, kept in the check because a checked-and-cut figure is cheap to keep and expensive to re-derive if a later edit wants it back. The direction that matters is the other one: no literal on the page is absent from the check. A reviewer flagged the “checked against the page” framing as overstated on 2026-08-19; it is corrected here rather than quietly narrowed.
both 2024 USENIX "100.0% precision and 86.9% recall" both 2024 USENIX "72.2%" both 2024 USENIX "2353" both 2024 USENIX "95.1%" both 2020 IEEE-SP "6.2%" both 2020 IEEE-SP "28 257" both 2020 IEEE-SP "141 out of 1 426 (10%)" both 2020 IEEE-SP "9.9% (141/1426)" both 2020 IEEE-SP "6.8% (38/560)" both 2020 IEEE-SP "46.5% (236/508)" both 2020 IEEE-SP "5.3% (27/508)" both 2020 IEEE-SP "54.29%" cols only 2020 IEEE-SP "62 (4.3%)" both 2023 USENIX "52.7%" both 2023 USENIX "21.5%" both 2023 USENIX "35.4%" both 2023 USENIX "986" both 2024 PETS "12 (65%)" both 2024 PETS "SD: 21%" both 2023 IMC "280" both 2023 IMC "0.6%" both 2023 IMC "98.2%" both 2025 PETS "30%" both 2025 PETS "32%" both 2025 PETS "6.91" both 2025 USENIX "96.18%" both 2025 USENIX "97.72%" both 2025 USENIX "3.82%" both 2024 USENIX "37%" both 2024 USENIX "1511" both 2019 NDSS "62.1" both 2019 NDSS "46.1" both 2022 USENIX "69.7%" both 2022 USENIX "87.2%" both 2019 CCS "57.4" both 2019 CCS "39.2" both 2021 PETS "__tcfapi" both 2021 PETS "__cmp" both 2023 PETS "54/464" both 2023 PETS "12%" both 2025 USENIX "1,411/3,226" both 2025 USENIX "44%" both 2024 PETS "2,429" both 2024 PETS "9.9%" both 2024 PETS "814" both 2024 PETS "46.1%" both 2024 PETS "825" both 2022 PETS "six out of ten" both 2026 PETS "12.85%" both 2026 PETS "55.3%" both 2026 PETS "576" both 2024 WWW "2.2%" both 2024 WWW "1.3%" both 2025 PETS "19.87%" both 2025 PETS "158" both 2022 CCS "13,082" both 2022 CCS "93.26%" both 2023 USENIX "22.3%" both 2023 USENIX "82.5%" both 2023 USENIX "4.0%" both 2019 IMC "4.41" both: 60 cols only: 1 norm only: 0 NOT FOUND: 0
7.1 What the check caught
Three literals failed on the first run, and all three were errors in this page's draft, not in the extraction:
| Draft claim | What the paper actually says |
|---|---|
Bouhoula et al. annotated 2,353 interactive-element texts | The paper writes 2353 with no thousands separator: “This results in 2353 unique text samples extracted from interactive elements.” The figure is right; the literal was not |
Matte et al., consent stored before choice: 141 (10.4%) | Invented percentage. The paper says 141 out of 1 426 (10%) in prose and 9.9% (141/1426) in its violations table. The page now uses 9.9% |
Demir et al., 12 banners on average | The paper writes “interacts, on average, with 12 (65%) (SD: 21%; max: 95% min: 48%) of all banners” |
The Matte case is the one worth keeping: a percentage that looks like it came from a paper, computed by the writer from a count and a denominator taken from two different tables. Reading the source turned up four more figures the draft did not have — 46.5% pre-selected, 5.3% non-respect of choice, 54.29% any violation, and the 4.3% shared-cookie consent reuse. The first three went into the results table immediately; the fourth was accidentally dropped between drafts and was restored, as a box in the TCF section, only after a reviewer noticed on 2026-08-19 that this very paragraph claimed it was on the page when it was not.
7.2 The ''consentAction'' audit, and why the standard quote check could not have caught it
The page's central figure is “how many papers interacted with a consent notice”. The extraction says 36. Reading all 36 against their own text says 29. That is a 19.4% false-positive rate on the interacting values of crawlConfig.consentAction, and it is the single most important thing on this provenance page.
Why the site's usual check is blind here. The dataset's guidance is to read a handful of evidence.quote values behind any figure before publishing it. That check cannot work for this field. crawlConfig is an object, not an array, and it carries one evidence quote for the whole object — statefulness, browsers, headless, consent action, interaction depth, authentication, languages and repeat visits all share it. So the quote behind a consentAction value usually evidences something else entirely. Read literally, the quotes for the 36 papers include “we create a separate docker container for each URL we visit”, “each crawl within a run is performed once without repetition” and “we visit each website afresh with storage cleared” — none of which says anything about a banner. One of them, for Trevisan et al., says the opposite of its label: “No user action is performed on the page” sits under a accept-and-reject value.
Doing the check properly meant a different method: extract every sentence in each paper containing a consent/banner term and a first-person marker, read them, and record a verdict. consent_action_audit.mjs –sentences reproduces the sentences; the verdicts are hard-coded in that file with a one-line reason each, and the script fails loudly if a paper claims an interaction and has no verdict, or if a verdict refers to a paper that no longer claims one. That guard caught three truncated slugs in the first version of the verdict table.
| Verdict | Papers | Share of 36 |
|---|---|---|
| supported by the paper's own text | 28 | 77.8% |
| supported, but the enum value overstates it | 1 | 2.8% |
| not supported — extraction false positive | 7 | 19.4% |
The seven false positives, and what the extraction mistook:
| Paper | Claimed | What the paper actually contains |
|---|---|---|
CCS/2018/pride-and-prejudice-in-progressive-web-apps-… | accept-all | the push-notification permission prompt, not a cookie banner |
WWW/2018/hiding-in-the-crowd-… | accept-all | no sentence in the paper mentions a consent notice or banner at all |
IMC/2020/when-push-comes-to-ads-… | accept-all | “banner” here means banner ads |
IMC/2023/understanding-the-privacy-risks-of-popular-search-engine-advertising-systems | accept-all | no first-person sentence mentions consent or a banner |
PETS/2023/a-utility-preserving-obfuscation-approach-for-youtube-recommendations | dismiss-or-remove | the only “consent” is IRB participant consent |
IMC/2024/analyzing-the-in-accessibility-of-online-advertisements | dismiss-or-remove | IRB informed consent, plus “banner ads” again |
PETS/2026/the-masks-we-think-we-wear-… | dismiss-or-remove | “explicit consent” is a recommendation about wallet permissions |
The one overstatement. Trevisan et al., 4 Years of EU Cookie Law (PoPETs 2019), is labelled accept-and-reject. Its main crawl states “No user action is performed on the page… We do not scroll the page, nor click on any link”, but the paper also reports a separate experiment “when consent to the usage of cookies is given”. An accept arm exists; a reject arm is not described. It is counted as verified, with the caveat recorded here.
The pattern is not random, and it is useful. All three dismiss-or-remove values are wrong and four of fifteen accept-all values are wrong, while accept-and-reject is 14 for 14, reject-all 2 for 2 and cmp-specific-choices 2 for 2. The reading: the field is reliable exactly where a paper had to describe two arms explicitly, and unreliable where a single ambiguous word — consent, banner, dismiss — appears somewhere in a paper about something else. Anyone reusing this field should treat accept-all and dismiss-or-remove as needing verification and the two-armed values as sound.
no-interaction was not audited. 313 papers is beyond a hand pass in one sitting. If its error rate resembles the interacting values', the true interaction count is somewhere either side of 29 in both directions. This is stated on the content page and is the first item in §11.
claimed an interaction: 36
adjudicated: 36
── Verdicts ──
Verdict Papers Share of the 36
------------------------------------------ ------ ---------------
supported by the paper text 28 77.8%
supported but the enum value overstates it 1 2.8%
NOT supported — extraction false positive 7 19.4%
FALSE-POSITIVE RATE of crawlConfig.consentAction on the interacting values: 7/36 = 19.4%
── Figures recomputed on the AUDITED set ──
papers that ran a crawl: 1120
state a consent action (incl. no-interaction): 349 (31.2%)
... of which no-interaction: 313
... claim an interaction (extraction): 36 (3.2% of crawled)
... interaction VERIFIED in the paper: 29 (2.6% of crawled, 8.3% of those stating)
── Audited interaction by enum value ──
Value Claimed Verified False positives
-------------------- ------- -------- ---------------
accept-all 15 11 4
accept-and-reject 14 14 0
cmp-specific-choices 2 2 0
dismiss-or-remove 3 0 3
reject-all 2 2 0
── Audited interaction by year bucket ──
Bucket Crawling papers Claimed Verified Share of bucket
---------- --------------- ------- -------- ---------------
2010–2013 102 0 0 0.0%
2014–2017 167 0 0 0.0%
2018–2021 308 6 3 1.0%
2022–2024 345 17 14 4.1%
2025–2026* 198 13 12 6.1%
── Vantage point of the VERIFIED interacting papers ──
Vantage Papers Share of 29
---------------------------------- ------ -----------
EU/EEA vantage 21 72.4%
vantage tuple, location not-stated 5 17.2%
stated a non-EU/EEA vantage only 3 10.3%
── Every verdict, in full ──
[WRONG ] CCS/2018/pride-and-prejudice-in-progressive-web-apps-abusing-native-app-like-features-in
claimed: accept-all
the only consent in the paper is the PUSH NOTIFICATION permission prompt
[WRONG ] WWW/2018/hiding-in-the-crowd-an-analysis-of-the-effectiveness-of-browser-fingerprinting-a
claimed: accept-all
no sentence in the paper mentions a consent notice or banner at all
[PARTIAL] PETS/2019/4-years-of-eu-cookie-law-results-and-lessons-learned
claimed: accept-and-reject
main crawl states "No user action is performed on the page"; a separate experiment gives consent, so an ACCEPT arm exists but no reject arm is described
[WRONG ] IMC/2020/when-push-comes-to-ads-measuring-the-rise-of-malicious-push-advertising
claimed: accept-all
"banner" in this paper means BANNER ADS; no consent interaction described
[OK ] IEEE-SP/2020/do-cookie-banners-respect-my-choice-measuring-legal-compliance-of-banners-from-i
claimed: accept-and-reject
semi-automatic crawl clicking through banners on 560 sites
[OK ] WWW/2021/user-tracking-in-the-post-cookie-era-how-websites-bypass-gdpr-consent-to-track-u
claimed: accept-and-reject
"we leverage the Consent-O-matic tool"; three crawls, one per consent action
[OK ] PETS/2022/how-can-and-would-people-protect-from-online-tracking
claimed: accept-and-reject
"On the second visit, we accept the cookies... on the next visit, we try to opt-out"
[OK ] USENIX/2022/automating-cookie-consent-and-gdpr-violation-detection
claimed: accept-and-reject
crawler consents to all purposes and separately denies consent
[OK ] USENIX/2022/leaky-forms-a-study-of-email-and-password-exfiltration-before-form-submission
claimed: accept-and-reject
"three consent modes... accept all, reject all, and no action"
[OK ] IMC/2023/the-prevalence-of-single-sign-on-on-the-web-towards-the-next-generation-of-web-c
claimed: accept-all
"We use a plugin to auto-accept cookie banners"
[WRONG ] IMC/2023/understanding-the-privacy-risks-of-popular-search-engine-advertising-systems
claimed: accept-all
no first-person sentence mentions consent or a banner
[WRONG ] PETS/2023/a-utility-preserving-obfuscation-approach-for-youtube-recommendations
claimed: dismiss-or-remove
the only "consent" is IRB participant consent for the user dataset
[OK ] IEEE-SP/2023/the-leaky-web-automated-discovery-of-cross-site-information-leaks-in-browsers-an
claimed: accept-all
"the cookie banners accepted by our module"
[WRONG ] IMC/2024/analyzing-the-in-accessibility-of-online-advertisements
claimed: dismiss-or-remove
the only "consent" is IRB informed consent; "banner" means banner ads
[OK ] USENIX/2024/automated-large-scale-analysis-of-cookie-notice-compliance
claimed: accept-and-reject
five crawling steps: accepting, rejecting, closing, saving defaults, not interacting
[OK ] NDSS/2024/fp-fed-privacy-preserving-federated-detection-of-browser-fingerprinting
claimed: accept-all
"...solving CAPTCHAs, and consenting to all cookie notices" (a manual sub-crawl)
[OK ] USENIX/2024/dissecting-privacy-perspectives-of-websites-around-the-world-aceptar-todo-alle-a
claimed: cmp-specific-choices
measures "depth to reach the reject option", i.e. navigates the notice's own layers
[OK ] PETS/2024/a-large-scale-study-of-cookie-banner-interaction-tools-and-their-impact-on-users
claimed: accept-and-reject
the paper IS a comparison of banner-interaction extensions
[OK ] PETS/2024/fp-tracer-fine-grained-browser-fingerprinting-detection-via-taint-tracking-and-e
claimed: accept-and-reject
"we measure whether fingerprinters respect user consent banners using the Consent-O-Matic plugin"
[OK ] PETS/2024/opted-out-yet-tracked-are-regulations-enough-to-protect-your-privacy
claimed: accept-and-reject
audits four CMPs with consent conveyed and not conveyed
[OK ] WWW/2024/a-study-of-gdpr-compliance-under-the-transparency-and-consent-framework
claimed: reject-all
"accepted the automatic decline of user consent by our data collection system"
[OK ] WWW/2024/the-double-edged-sword-identifying-authentication-pages-and-their-fingerprinting
claimed: accept-all
"To automatically interact with cookie consent banners, we integrated code derived from Priv-Accept"
[OK ] IEEE-SP/2024/targeted-and-troublesome-tracking-and-advertising-on-childrens-websites
claimed: accept-all
"provide affirmative consent to all data processing request options (accept all)" via autoconsent
[OK ] CCS/2025/piixel-leaks-passive-identification-of-personally-identifiable-information-leaka
claimed: accept-all
"we simulate a real user's choice of 'Accept All' using the Consent-O-Matic extension"
[OK ] IMC/2025/canvassing-the-fingerprinters-characterizing-canvas-fingerprinting-use-across-th
claimed: accept-all
"uses the autoconsent library to opt-in to common consent banners"
[OK ] PETS/2025/johnny-can-t-revoke-consent-either-measuring-compliance-of-consent-revocation-on
claimed: accept-and-reject
the paper accepts and then revokes consent on 200 sites
[OK ] PETS/2025/intractable-cookie-crumbs-unveiling-the-nexus-of-stateful-banner-interaction-and
claimed: accept-and-reject
"using BannerClick... accepting cookie banners in the first half and... rejected domains in the second"
[OK ] PETS/2025/referrer-policy-implementation-and-circumvention
claimed: accept-and-reject
"we employed DuckDuckGo's autoconsent library... comparison of RP implementations in different consent modes"
[OK ] WWW/2025/before-after-the-effect-of-eus-2022-code-of-practice-on-disinformation
claimed: accept-all
"we make use of Consent-O-Matic ... to automatically accept all cookies in consent banners"
[OK ] USENIX/2025/navigating-cookie-consent-violations-across-the-globe
claimed: reject-all
ConsentChk drives the banner across eight regions
[OK ] WWW/2025/semantics-aware-cookie-purpose-compliance
claimed: accept-all
"We use two browser extensions, namely Consent-O-Matic and Cookie-Editor"
[OK ] WWW/2025/the-first-early-evidence-of-the-use-of-browser-fingerprinting-for-online-trackin
claimed: cmp-specific-choices
"executing window.OneTrust.RejectAll to opt out"; per-CMP reject clicking
[WRONG ] PETS/2026/the-masks-we-think-we-wear-privacy-threats-of-browser-extension-wallets-in-the-w
claimed: dismiss-or-remove
"explicit consent" is a RECOMMENDATION about wallet permissions, not a crawl action
[OK ] PETS/2026/clicking-into-exposure-uncovering-privacy-risks-of-google-click-identifier-in-yo
claimed: accept-and-reject
"(i) a baseline run that accepts cookie banners... (ii) a rejection run that declines them"
[OK ] PETS/2026/privacy-vs-profit-the-impact-of-googles-manifest-version-3-mv3-update-on-ad-bloc
claimed: accept-all
"Accept consent notice via Super Agent-Automatic Cookie Consent extension"
[OK ] USENIX/2026/bridges-to-self-silent-web-to-app-tracking-on-mobile-via-localhost
claimed: accept-all
"We modify the crawler to automatically accept cookies using Priv-Accept"
8. Bibliography entries added
13 entries appended to bibliography before the closing </bibtex>. Authors, titles and DOIs come from scripts/bibgen.mjs, which reads the publisher metadata in data/corpus2/.meta rather than anything a model recalled. Four needed hand-work, recorded here because the failure mode is silent:
| Key | Hand-work needed |
|---|---|
hils2021_privacy, charatan2024_steps, kancherla2025_johnny, zimmeck2026_exercising | PETS index records carry no authors; fetch_authors.py could not parse these four landing pages, so the author lists were read from petsymposium.org by hand and written into out/authors.json |
degeling2019_value | bibgen.mjs emitted the slug as the title (no DOI in the index, NDSS venue-page metadata). Replaced with the paper's real title |
koch2023_enough | The USENIX landing page lists “Benjamin Altpeter, Datenanfragen.de e.V.” and the parser took the affiliation as a fourth author. Corrected to Koch, Altpeter, Johns after re-reading usenix.org/conference/usenixsecurity23/presentation/koch |
nouwens2020_dark | CHI is not in this corpus, so there is no index record. Entry written by hand and the DOI verified against Crossref (10.1145/3313831.3376321, Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems, 2020-04-21, authors Nouwens, Liccardi, Veale, Karger, Kagal) |
libert2018_automated and liu2024_opted were generated and then dropped from the additions because both already existed in the live bibliography. The assembled file was checked for duplicate keys before saving: 390 entries, 0 duplicates.
A pre-existing defect this page did not fix. The bibliography contains two entries for the same paper — bouhoula2024_automated and bouhoula2024automated, both Automated Large-Scale Analysis of Cookie Notice Compliance. Both are cited from live pages: the underscore form by openwpm, pvalue_corrections and several provenance: pages, the other by requests, crawling_location and now this page. Merging them means editing every citing page in one sitting; it was out of scope here. This page uses bouhoula2024automated to match requests and the stub it replaced. TODO for whoever does the merge.
9. External sources, and how each was verified
Everything on the content page that is not from the corpus was fetched on 2026-08-19 from a primary source — the project's own repository, the vendor's own page, the standards body's own document, or the regulator's own press release. Where the site is behind Cloudflare (w3.org, iabeurope.eu, dataprotectionauthority.be, edpb.europa.eu) the fetch used Playwright's own Chromium build rather than curl, which gets an interstitial.
| Claim on the page | Primary source | What it literally said |
|---|---|---|
| Consent-O-Matic: 204 rule files, last commit 2025-11-07, release v1.1.5 (2025-06-17) | GitHub REST API /repos/cavi-au/Consent-O-Matic/contents/rules, /commits?sha=master, /releases/latest | 204 entries; 2025-11-07T14:52:39Z; v1.1.5, 2025-06-17T11:55:24Z |
| autoconsent: 571 generated + 331 hand-authored rules, v16.23.0 on 2026-08-18 | Same API on duckduckgo/autoconsent | rules/generated 571 files, rules/autoconsent 331 files; release v16.23.0 2026-08-18T00:09:17Z; main HEAD 2026-08-18T00:09:07Z |
BannerClick alive, default branch bannerclick_v0.26.0, last commit 2025-07-01 | GitHub API on bannerclick/bannerclick | 2025-07-01T12:01:54Z, archived: false |
| Priv-Accept stale since 2022-04-13 | GitHub API on marty90/priv-accept | main HEAD 2022-04-13T13:42:00Z. Note pushed_at is 2024-02-27 — a non-default-branch push. The default-branch HEAD is the right field; pushed_at would have made the tool look two years fresher than it is |
| CookieBlock stale (2023-12-08), crawler (2023-06-03), MV2 | GitHub API on both dibollinger repos | 2023-12-08T16:25:38Z and 2023-06-03T10:37:14Z, neither archived |
| IDCAC fork maintained, last commit 2026-06-21 | GitHub API on OhMyGuus/I-Still-Dont-Care-About-Cookies | master HEAD 2026-06-21T07:45:37Z |
| EasyList Cookie List header and counts | secure.fanboy.co.nz/fanboy-cookiemonster.txt fetched directly | ! Title: Easylist Cookie List, ! Last modified: 2026-08-18 13:00 UTC, ! Expires: 9 days. No ! Version: line exists in the file. Counted locally: 25,900 lines, 25,111 non-comment rules, 23,012 containing ##/#@#/#?#, 2,099 other |
| GPC is a W3C Working Draft dated 11 June 2026 | w3.org/TR/GPC/ via Playwright | “Global Privacy Control (GPC) W3C Working Draft 11 June 2026 … published by the Privacy Working Group as a Working Draft using the Recommendation track” |
Sec-GPC value fixed at 1; navigator.globalPrivacyControl on Navigator and WorkerNavigator; /.well-known/gpc.json optional | Same document, §3.3, §3.4, §4 | Quoted on the page, including §4's own caveat that the resource “is not intended to convey whether the origin abides by GPC requests from the user agent accessing the resource” |
WebDriver commands POST/GET /session/{id}/privacy | Same document, §8 Automation | Verbatim |
| “At least four states have specifically identified GPC as a valid means” | Same document, §5.1 | Verbatim. The page quotes the spec's wording rather than enumerating states, because only California and Colorado were checked against a regulator page |
| DNT specs are W3C Working Group Notes of 17 January 2019 | w3.org/TR/tracking-dnt/ via Playwright | “W3C Working Group Note 17 January 2019 … there has not been sufficient deployment of these extensions (as defined) to justify further advancement” |
| Firefox 135 removed the DNT checkbox | mozilla.org/en-US/firefox/135.0/releasenotes/ | Quoted verbatim on the page |
| USP String deprecated 31 January 2024 in favour of GPP | iabtechlab.com deprecation-extension post | “extend support for the US Privacy signal until January 31, 2024 … an extension beyond the deprecation deadline of September 30, 2023”; “the GPP is the only privacy signaling mechanism available to signal consumer privacy choices for all US states with privacy laws” |
TCF v2.3 released 2025-06-19, transition ended 2026-02-28, disclosedVendors now mandatory | iabeurope.eu/all-you-need-to-know-about-the-transition-to-tcf-v2-3/ (page dated 15 December 2025) via Playwright | “Version 2.3 was released on 19th June 2025”; “the transition period … concludes on 28th February 2026”; “TC Strings created after 28 February 2026 without this segment will be considered invalid” |
| Belgian DPA decision, 2 February 2022, €250,000 | dataprotectionauthority.be press release | Page carries “02 Feb 2022”; the fine is stated in the Market Court release below |
| CJEU C-604/22, judgment 7 March 2024 | EUR-Lex CELEX 62022CJ0604 | “Judgment of the Court (Fourth Chamber) of 7 March 2024. IAB Europe v Gegevensbeschermingsautoriteit. Request for a preliminary ruling from the Hof van beroep te Brussel” |
| Market Court ruling 14 May 2025: annulled on procedure, fine confirmed, OpenRTB joint-controllership rejected | dataprotectionauthority.be/citizen/the-market-court-rules-in-the-iab-europe-case | “14 MAY 2025 … Although decision 21/2022 is annulled for procedural reasons, the Market Court endorses the reasoning of the Belgian DPA and confirms the fine of 250,000 euros imposed. However, the Court rejects the BE DPA's conclusion that IAB Europe acts as (joint) data controller for the processing operations that take place entirely within the OpenRTB protocol” |
| EDPB Cookie Banner Taskforce report, 18 January 2023 | edpb.europa.eu document page | “Task force report 18 January 2023” |
| EDPB Opinion 08/2024 on consent or pay, 17 April 2024 | edpb.europa.eu document page | “Opinion of the Board (Art. 64) 17 April 2024”; the page also lists a published Corrigendum, which the content page flags |
GVL at vendor-list.consensu.org/v3/vendor-list.json with numbered archives | Fetched by the external-currency reviewer on 2026-08-19 after the first draft failed to | Serves valid JSON: vendorListVersion: 172, lastUpdated: 2026-08-13; /v3/archives/ also resolves |
| EDPB Guidelines 2/2023 on the technical scope of Art. 5(3), final 16 October 2024 | edpb.europa.eu document page via Playwright | “Guidelines 2/2023 on Technical Scope of Art. 5(3) of ePrivacy Directive — Guideline 16 October 2024 — Final version” |
| Google consent mode: EEA advertisers must collect consent and share the signal | support.google.com/tagmanager/answer/13695607 via Playwright | “we are strengthening the enforcement of our EU user consent policy (EU UCP)… you must collect consent for use of personal data from end users based in the EEA and share consent signals with Google”. The page carries no date, which is why this page asserts none |
| Digital Omnibus is COM(2025) 837, 19 November 2025, inserting GDPR Art. 88a | EUR-Lex CELEX 52025PC0837 via Playwright | “A new Article 88a is inserted in Regulation (EU) 2016/679… which lays down the consent requirement for the storing or accessing of personal data on the terminal equipment of natural persons” |
| EDPB-EDPS Joint Opinion 2/2026 on the Digital Omnibus, 11 February 2026 | edpb.europa.eu document page via Playwright | “Legislative opinion 11 February 2026”; its editorial note corrects the proposal reference from COM(2025) 836 to COM(2025) 837 |
| Colorado: GPC mandatory since 1 July 2024, only recognised UOOM | coag.gov/opt-out/ | “Beginning July 1, 2024… Currently, the only UOOM considered valid by The Department is GPC” |
tcf_probe.js output from four live CMPs | Playwright/Chromium, non-EU vantage, 2026-08-19 | Reproduced verbatim on the content page. spiegel.de and heise.de return cmpId 6 (Sourcepoint), repubblica.it cmpId 123, lemonde.fr times out with __tcfapi defined |
9.1 Claims checked and rejected
| Claim that was on the table | Why it is not on the page |
|---|---|
| “Ninja Cookie is a current option” — it appears in [3Demir, Nurullah; Urban, Tobias; Pohlmann, Norbert; Wressnegger, Christian (2024): "A Large-Scale Study of Cookie Banner Interaction Tools and their Impact on Users' Privacy", in: Proceedings on Privacy Enhancing Technologies, pp. 5-20. (DOI)], which is cited approvingly | The project domain is parked, the GitLab repository has been silent since 2022-02, the AMO listing 404s. The page lists it explicitly as abandoned, precisely because a reader coming from Demir et al. would otherwise reach for it |
| “I don't care about cookies was acquired by Avast on 15 September 2022” | The vendor's own announcement page gives no date — it says only “After exactly 10 years of maintaining this project… Avast… has recognized its value”. The 15 September 2022 date circulates only in tech press. The page states the acquisition without a date |
| “Firefox embeds autoconsent” | No primary evidence found. The autoconsent README says DuckDuckGo's own apps use it and that the reference extension is deliberately not published to stores. The page says only that |
| “TCF v2.2 is current” | Two versions behind: v2.3 has been mandatory since 2026-02-28. This was the single largest currency error in the draft |
| “GPC is a W3C Community Group report” | Stale since November 2024; it is a Working Draft on the Recommendation track |
| “The ePrivacy Regulation is forthcoming” | The proposal was withdrawn in February 2025. The page says so, but in a footnote flagged as secondary-sourced, because no primary Commission document was fetched |
| A precise EasyList Cookie List rule count stated without a counting rule | Three different counting rules gave 682, 2,099 and 1,668 “network” rules for the same file. The page publishes its own count with the rule, and says the sibling page's differing figure comes from a different rule |
| Google Consent Mode v2 became mandatory for EEA advertisers on 6 March 2024 | Well corroborated in industry sources; Google's own policy page 404'd on two attempts. Left off the page entirely rather than cited to a vendor blog |
| Connecticut, Texas and other states legally require honouring GPC | Only California and Colorado were checked against a regulator's own page. The page quotes the specification's “at least four states”, adds that the practical number is “roughly a dozen and grows every session”, and tells the reader to check the current list rather than enumerating one that will rot |
| CNIL fined Google €325m and Shein €150m for cookie-consent violations on 3 September 2025 | Raised by the external-currency reviewer and rejected: the cnil.fr press-release URL returns 404 and no primary CNIL page was located within budget. Enforcement examples belong on legal_enforcement anyway |
| Didomi acquired Sourcepoint in July 2025 | Raised and rejected: this page does not profile the CMP market, and a vendor-consolidation line would rot faster than anything else on it. Worth knowing if you are attributing a behaviour to a CMP by cmpId — the ID outlives the company |
| “Global Privacy Platform” as the expansion of GPP | Corrected: IAB Tech Lab's own page is now titled “Global Privacy Protocol”. The page's text was checked and does not expand the acronym, so no edit was needed — recorded so the next run does not re-introduce the old expansion |
10. Judgement calls
- This page rather than broadening requests.
privacy:requestsalready covers notice detection and button labelling well, and explicitly delegates the rest here. The alternative — move the whole consent topic ontoprivacy:requests— was rejected because that page's subject is classifying requests, and consent is a crawl-design decision that affects cookies, requests, fingerprinting and legal analysis alike. The cost of the split is that a reader looking for “how do I find the banner” lands on the wrong page first; the page mitigates it with a pointer in the second paragraph. - Mobile apps were kept in S2. 15 of 72 S2 papers measure apps rather than the web, and the page is titled Granting Consent to Websites. They were kept because the measurement problem is the same one and the field treats them together, and the page states the split rather than hiding it. Dropping them would take S2 to 57.
- The tool table dates every tool and says which are dead. This is the “currency” requirement taken literally: a corpus that runs to 2026 will still recommend Ninja Cookie and Priv-Accept if you only read what papers used, because papers used them. Every row carries a check date and a verdict.
no-interactionis treated as a stated value, not a sentinel. A paper that says “we did not interact with cookie notices” has answered the question. Counting it as silence would have made the reporting rate 3.2% instead of 31.2% and would have been wrong. The content page keeps the two numbers visibly separate for exactly this reason.- The measured-results table publishes 21 of the 109 available prevalence tuples. Selection was by: is the denominator recoverable, is the phenomenon a consent mechanism rather than a downstream effect, and does it add something the other rows do not. The full 109 are in §5.3 so the selection is auditable.
- No
~~DISCUSSION~~on this provenance page. Following the convention set by the earlierprovenance:pages: comments belong on the content page. - The page publishes JavaScript that was not executed against a live site.
tcf_probe.jsis written from the TCF v2 API surface as documented and as used by the corpus papers; it was not run against a real CMP in this session. That is stated in §11 rather than implied away.
11. What could not be established
tcf_probe.jswas not executed. It is a straightforward use of the documented__tcfapi('getTCData', 2, cb)call and mirrors what Matte et al. and Hils et al. describe doing, but this run did not drive a browser at a TCF site to confirm the exact field names of the returned object across CMP implementations. Treat it as a template to test, not a tested snippet.- The GVL and CMP-list URLs were not fetched by this run. They are reported from IAB documentation via the verification sub-agent. Check them before relying on them.
- Google Consent Mode v2's mandatory date could not be confirmed from a Google-controlled page, so it is not on the content page at all — even though it is arguably the single biggest change to what a European crawl observes since the GDPR.
- The 2025–2026 EU legislative picture (ePrivacy Regulation withdrawal, Digital Omnibus, UK Data (Use and Access) Act) is secondary-sourced. It is on the page in a footnote that says so.
- Field stability was not re-measured. The 93% agreement figure for
consentActioncomes from the 100-paper stability comparison run against the earlier 4,322-paper corpus. Nobody has re-run it since 2026-08-11. - How many of the 495
not-statedpapers actually had a banner to handle is unanswerable from the extraction. A crawl of Chinese or US-only sites in 2015 may have faced none. The page therefore readsnot-statedas “the reader cannot tell”, not as “the authors were careless”. - The 313
no-interactionpapers were not audited, only the 36 claiming an interaction (§7.2). The false-positive rate on the audited side is 19.4%; nothing is known about the rate on the unaudited side, and if it is comparable the verified count of 29 could move in either direction. Auditing 313 papers is a day of work and would make the central figure of this page solid rather than indicative — it is the largest open item here. - A paper that clicked a banner and never wrote it down is invisible by construction, since
consentActionis extracted from the paper's own words. 29 is a floor on the true number as well as an audited count. - CHI, SOUPS, EuroS&P, ACSAC, RAID, AsiaCCS and WPES are absent from the corpus, and that bites harder on consent than on most topics: a large fraction of consent-notice work is usable-privacy work published at CHI and SOUPS. Every S2 count is a lower bound and the content page says so twice.
12. The run itself
| Date | 2026-08-19 |
| Corpus at the time | 5,859 extracted papers, 7 venues, 2010–2026, extended 2026-08-11 (8a6b843) |
| Main agent | Claude (Opus 5) — dataset queries, report and fold scripts, quote checks, page and provenance text, all primary-source fetches recorded in §9 except where marked |
| Sub-agent | one sonnet currency-verification pass over 19 tools and standards (§9). It produced the TCF v2.3 correction, the GPC status correction, the Ninja Cookie and IDCAC findings, and the Priv-Accept staleness. Its GitHub figures were re-derived independently by the main agent before publication, which is how the pushed_at versus default-branch-HEAD discrepancy for Priv-Accept was caught |
| Review | see §13 |
Mistakes caught in review of this run, recorded rather than tidied away:
- Three invented or mistyped literals in the first draft, caught by
consent_quotecheck.mjs(§7.1). One of them, the Matte 10.4%, was a percentage this page computed and presented as the paper's. - An unanchored
/iab/and/gpc/in the first population regex, which added five unrelated papers (§2.1). - A malformed multi-key citation: the four mobile-consent papers were written as four adjacent single-key groups rather than one comma-separated group inside a single brace-bracket pair. The plugin rendered it as nothing at all, silently dropping four citations. The check that caught it counts distinct keys in the source and compares against the rendered reference list.
- Two BibTeX entries generated for papers already in the bibliography, caught by the duplicate-key check before saving.
- The first published render showed 28 inline markers but only 15 reference entries — the known bibtex4dw cache staleness. Fixed by requesting
?purge=trueon bibliography and then on consent; re-verified at 28 of 28. - An unclosed inline-nowiki marker (a lone pair of percent signs) in §2.1 of this page silently stopped DokuWiki parsing everything after it: sections 2.2 to 11 rendered as raw source, with no error and no warning. Caught by counting rendered
h2/h3/table/preelements against what the source should produce, which is now the standard check — verifying that the citations resolve passes happily on a page that is 80% raw markup. - The page's central figure was wrong in its first published revision. It said 36 papers interacted with a consent notice, which is what the extraction says. The audit in §7.2, run after publication, brought it to 29. The corrected figures went live the same day. The lesson recorded for the next run: an object-valued extraction field shares one evidence quote across every one of its keys, so the site's standard quote spot-check cannot validate any individual key. Audit the field directly or do not publish a count from it.
13. Review log
Four reviewers, all handed the frozen page text, the report script and its output, and these notes, and all told explicitly that the author's context might not be exhaustive. Three focused passes ran in parallel first; the findings below are recorded with the verdict, because a rejection is as much a record of whether a reviewer earned its slot as a fix is.
13.1 Figures versus the script (Sonnet)
Re-ran report_consent.mjs and consent_quotecheck.mjs and diffed both against the committed output: clean, no differences.
| # | Finding | Verdict |
|---|---|---|
| 1 | The tool tally in prose omits two rows the script produces. T1 has 18 rows over 40 papers; the page's list summed to 37 and silently dropped EasyList Cookie List (2) and CookieGuard (1). | Accepted. Both restored, and the prose now states the totals (18 names, 40 papers) so the next drift is visible. CookieGuard is the interesting one: its paper is excluded from S2 as a cookie-jar isolation defence, but it still produced a tool the fold correctly catches — the population filter and the tool count are different questions and the page had conflated them. |
| 2 | “by a factor of six over the next venue” — the real next-highest share is IMC at 1.1%, so 5.9/1.1 ≈ 5.4×. “Six” only works against USENIX Security, which is second by count but not by share. The page's venue table was also ordered by neither. | Accepted, and it had already been caught in self-review and softened to “more than a factor of five”. The table is now sorted by papers in S2, which is what caused the slip. |
| 3 | The quote-check verifies literals that were never published, including the one “cols only” catch the page boasts about (Matte's 62 (4.3%)). | Accepted twice over. The framing is corrected in §7 above, and the 4.3% shared-consent-string finding is now a box on the content page — it is a genuinely useful result about stateful crawling that had been dropped between drafts. The second citations reviewer found the same thing independently. |
| 4 | “moved by about nine points in sixteen years and is flat since 2018” — actual movement is 24.5% → 29.8%, about five points, with a 33.6% peak in 2022–2024 and a decline in the provisional last bucket. “Nine points” uses the peak as the endpoint. | Accepted. Rewritten to give the three numbers and say the latest bucket is no better than pre-GDPR. This is the clearest case on the page of a sentence that was more rhetorically satisfying than true. |
| 5 | The law-family table shows 5 of the script's 8 rows. | Accepted, as a one-line note naming the three omitted single-paper families. |
| 6 | S1d's vantage classifier bucketed unmappable location strings as “non-EU/EEA”, when strings like “different continents” name no place and could include the EU. | Accepted, and it was a real bug in published code. report_consent.mjs and consent_action_audit.mjs now emit a separate location named but unmappable row. It moves one paper (non-EEA 72 → 71). Small, and exactly the kind of silent fall-through the site's rules exist to prevent. |
13.2 Citations and quotes (Sonnet)
Verified every [key] against a fresh fetch of the live bibliography, checked all 13 new entries against Crossref and landing pages, and traced every table row and prose figure to paper.cols.txt.
| # | Finding | Verdict |
|---|---|---|
| 1 | This provenance page claimed a figure was on the content page when it was not — Matte's 4.3% shared-cookie consent reuse. | Accepted. Same defect as 13.1 #3, found independently. Both the claim and the omission are fixed. |
| 2 | The quote-check is a superset of what shipped; at least two whole checked papers and a dozen literals never reached the page. | Accepted, corrected in §7. |
| 3 | The Colorado GPC claim carried no source footnote, breaking the page's own convention for regulator claims. | Accepted. Footnote added, quoting coag.gov/opt-out/ directly. |
| 4 | kumar2020_finding lists fuller author names (“Cranor, Lorrie Faith”) than Crossref (“Lorrie Cranor”). | Rejected as an error, recorded as a check. The fuller forms are the authors' own and bibgen.mjs took them from the index; the bib entry is more correct than Crossref, not less. |
| — | Everything else passed: all keys resolve, 390 entries with no duplicates, the multi-key citation renders, all 13 new entries match their sources, and every traced figure and denominator matched — Degeling's 6,357, Bouhoula's 72.2%, Hausladen's three dated percentages, Nguyen's two distinct denominators, Matte's four violation rates, Toth's six-of-ten. | Noted. |
13.3 External currency (Sonnet)
Everything in the tool table and every standards/legal claim independently re-fetched. All of them confirmed, including the GitHub dates and rule counts, the EasyList header and the three rule counts, the GPC spec status and all four quoted sections, the DNT notes and the Firefox 135 wording, TCF v2.3's three dates, CJEU C-604/22, both Belgian decisions, the USP deprecation and both EDPB documents. It also fetched the GVL URL this run had admitted not fetching — it serves valid JSON, vendorListVersion: 172, lastUpdated: 2026-08-13.
| # | Finding | Verdict |
|---|---|---|
| 1 | Google consent mode is missing entirely, and a working Google-controlled URL exists. | Accepted, and it was the biggest hole on the page. Consent mode is why a rejection can leave the Google tag firing with cookieless pings — a crawl counting requests and a crawl counting cookies reach opposite conclusions about the same site. Now a box in the law section. The page still refuses to state the March 2024 enforcement date, because Google's own page does not carry it. |
| 2 | EDPB-EDPS Joint Opinion 2/2026 on the Digital Omnibus (11 February 2026) answers the page's own open question and is fetchable. | Accepted. |
| 3 | A primary Commission document exists: COM(2025) 837, CELEX 52025PC0837, proposing GDPR Art. 88a. | Accepted. The hedged, secondary-sourced footnote is replaced by the primary text and its own wording. |
| 4 | EDPB Guidelines 2/2023 on the technical scope of Art. 5(3) (final 16 October 2024) are not mentioned. | Accepted, and the most useful of the four. They decide what a “cookie consent” measurement is even allowed to be about — pixels, link decoration, IP-only tracking. A study whose denominator is cookies has scoped the legal question too narrowly, and the page now says so. |
| 5 | The UK DUAA/PECR footnote is vaguer than what is findable, and omits the fine cap rising from £500k to £17.5m / 4%. | Accepted with its sourcing caveat kept. The ICO's own guidance page confirms only that a revision is out for consultation, so the commencement date and cap remain secondary-sourced and are labelled as such. |
| 6 | Universal opt-out requirements are in force in roughly a dozen states, not the spec's “at least four”. | Accepted in spirit, not in list form. The page adds “roughly a dozen and grows every legislative session” and tells the reader to check for their crawl's date. Publishing an enumerated list would rot within a year and is the kind of thing this site should not do. |
| 7 | CNIL fined Google €325m and Shein €150m on 3 September 2025. | Rejected. The cnil.fr URL 404s and no primary page was found; enforcement examples belong on legal_enforcement. |
| 8 | GPP is now “Global Privacy Protocol”, not “Platform”. | Confirmed and noted. IAB Tech Lab's page is retitled. The content page never expands the acronym, so no edit; recorded so it is not re-introduced. |
| 9 | Didomi acquired Sourcepoint, July 2025. | Rejected as out of scope — with a note in §9.1 about why it still matters if you attribute behaviour by cmpId. |
13.4 What the reviewers did not catch
Worth recording, because it is the honest measure of a review layer. The largest error on the first published revision — the 36-versus-29 interaction count (§7.2) — was found by the author, not by any reviewer, while the three focused passes were still running. The figures reviewer re-ran the script and confirmed every number matched it, which was true and was exactly the wrong question: the script faithfully reported a field that was wrong 19.4% of the time. A “figures versus script” pass cannot catch a script that correctly reports bad data. The next run should add a pass that reads a sample of the underlying papers rather than the underlying script.
References
- [1]
- Khandelwal, Rishabh; Nayak, Asmit; Harkous, Hamza; Fawaz, Kassem (2023): "Automated Cookie Notice Analysis and Enforcement", in: 32nd USENIX Security Symposium (USENIX Security 23), pp. 1109-1126. USENIX Association, Anaheim, CA. (Link)
- [2]
- Bouhoula, Ahmed; Kubicek, Karel; Zac, Amit; Cotrini, Carlos; Basin, David (2024): "Automated Large-Scale Analysis of Cookie Notice Compliance", in: 33rd USENIX Security Symposium (USENIX Security 24), pp. 1723-1739. USENIX Association, Philadelphia, PA. (Link)
- [3]
- Demir, Nurullah; Urban, Tobias; Pohlmann, Norbert; Wressnegger, Christian (2024): "A Large-Scale Study of Cookie Banner Interaction Tools and their Impact on Users' Privacy", in: Proceedings on Privacy Enhancing Technologies, pp. 5-20. (DOI)
