User Tools

Site Tools


provenance:privacy:pii_leakage

This is an old revision of the document!


Provenance: privacy:pii_leakage

Working log behind Measuring PII Leakage to Third Parties. Every page in the provenance: namespace mirrors a content page's id exactly; this one audits privacy:pii_leakage. Corpus-wide caveats (venue coverage, the selection funnel, provisional venue-years) are on corpus and are not restated here. Citations use the shared bibliography; the 13 entries this run added are listed under Bibliography below and belong to the content page, not to this log. No ~~DISCUSSION~~ block: comments belong on the content page.

Voice here is a working log. It is read by somebody checking a number.

The run

Item Value
Dates Started 2026-09-23 by an earlier drain session that stopped before writing the page (its last note: “Not published. Boundary: new privacy:pii_leakage page; email_tracking keeps address-as-identifier. 314 candidates, 21 IN; research notes done; page, provenance, reviews pending.”). Finished and published 2026-10-08 in a second sitting, which re-derived everything it publishes
Item privacy:pii_leakage (new, or broaden an existing page) — PII sent to third parties, chosen by Karel in the 2026-09-22 gap pass; not on the roadmap's Queued table
Corpus data/extract/run1/extractions.jsonl, 5,859 papers, 5,855 with paper.cols.txt; 7 venues, 2010–2026; screening labels data/labels/run1. The bibliographic index data/corpus2/.meta held 16,963 records on 2026-10-08, not the 16,864 corpus counts: IMC-2026.json (99 records) was added to the mount at 11:16 UTC during this sitting, and IMC 2026 PDFs were being fetched into data/fulltext/2026/IMC/ at the same time. The extraction changed too: run1/extractions.jsonl went from 5,859 records to 5,912 at 11:34 UTC and kept growing (run.json: complete: false; IMC 2026 plus an IEEE S&P 2021/2023/2024 backfill). The report is frozen on records with extractedAt before 2026-10-08T00:00Z — exactly the 5,859 every other page counts — and prints how many later records it ignored; that one line, and PASS H's status for IMC 2026 records, will differ on a re-run. The index assertion is 16,864 + the IMC 2026 records
Page status New page. privacy:pii_leakage did not exist (dw.mjs info: 121 The requested page (revision) does not exist; the 2026-10-08 export returned DokuWiki's “not found” page). sitemap.mjs on 2026-10-08: 199 existing pages, 0 promised-but-missing, no red link to this id
Models Page, scripts, verdict corrections and this log: Claude (Opus 5.5). Full-text reading of the IN papers: three sonnet sub-agents against one written brief (out/pii/reader_brief.md), notes in notes/pii_papers_{A,C,D}.md; the 2026-09-23 session's reader notes for seven papers are notes/pii_papers_B.md. Independent second reader of 97 exclusions: one sonnet sub-agent. External facts: the 2026-09-23 session's notes/pii_external.md and notes/pii_outside.md (sonnet), every fact the page uses re-fetched on 2026-10-08 by external_checks_pii_leakage.sh. Review layer: see Review
Scripts scripts/pii_fold.mjs (probes, inclusion rule, 314 verdicts, ENCODINGS hand map, citekeys, the outside-the-extraction map), scripts/report_pii_leakage.mjs (+ -output.txt), scripts/verify_pii_figures.mjs (+ -output.txt), scripts/external_checks_pii_leakage.sh (+ -output.txt), scripts/bib_additions_pii_leakage.bib, scripts/build_provenance_pii_leakage.py + scripts/provenance_pii_leakage_prose.txt; the published demo is sandbox/pii/pii_needles.py with fixture.har and both outputs
Guards run before publication check_page_numbers.mjs windowed (Use in Publications → What to Report) and whole-page against the concatenation of the report, verifier and external-check outputs and the two fixture outputs; check_wrap.mjs; check_tables.mjs; check_typography.mjs; check_attributions.mjs; bib_dedup_scan.py on a fresh export plus the additions; the published <file> block and its <code> output compared byte-for-byte with the sandbox files and a fresh run
Write path node scripts/dw.mjs put (JSON-RPC) with --if-rev on every save; literature:bibliography and roadmap re-exported immediately before each save, never from a workdir copy
Accidental exposure None. Credentials stayed in .env; GH_TOKEN was tested for presence only with ${GH_TOKEN:+x}

What the 2026-09-23 session left, and what happened to it

Artefact State found on 2026-10-08 What this sitting did
pii_fold.mjs probes, inclusion rule, 314 verdicts Complete; the rule is dated as written before the first verdict Kept the probes and the rule unchanged. 13 verdicts changed (table under Hand classifications)
pii_fold.mjs ENCODINGS Empty (// filled from the full-text reading) Filled for all 20 IN papers from the reading; four statuses defined; every deciding sentence is a needle
report_pii_leakage.mjs The 2026-09-23 version crashed at its pass D on the empty ENCODINGS map. A codex run at 10:58 UTC on 2026-10-08 (about six minutes, then stopped) had rewritten it: passes D–G removed rather than fixed, a per-year method table and the line “Coding inherited from unfinished 2026-09-23 run … not independently re-read for every exclusion” added. The codex version ran Rebuilt: the codex file is kept as out/pii/report_codex_20261008.mjs with its output; the pre-codex file as out/pii/run20261008/report_unfinished_before.mjs. Passes D–I restored and finished with new guards (below); the “not re-read” line removed because the second-reader pass made it untrue
pii_fold.mjs after codex Codex also touched the fold (same timestamp); the tracker-installations verdict carries a note “corrected 2026-10-08”. No pre-codex copy of the fold survives, so its exact edits cannot be reconstructed Superseded: every IN verdict was re-read in full this sitting, and the fold as of the start of this sitting is kept as out/pii/pii_fold_before_20261008.mjs
A codex page draft (out/pii/run20261008/page.txt, 24 KB, 11:01 UTC) Unpublished; its own text says the exclusions were inherited and not re-read Read, not reused as text. Two of its numbers were wrong in the way this log records under Mistakes caught (it attributed SHA-256 “of a Base64-encoded string” ordering to the Google Tag search as a fact, and pooled config and transmission evidence under one table without the unit)
Reader notes A and C Two-line stubs: the sub-agents that should have written them never did Re-commissioned (pii_papers_A.md, _C.md, new _D.md)
External notes pii_external.md and pii_outside.md, fetched 2026-09-23, with their own rejected-source lists Used as leads only; every fact on the page re-fetched by the external-check script

Scope and judgement calls

Decision Why What a reasonable person might have done instead
A new page, not a broadening of privacy:email_tracking The item asked for this decision first. Of the 20 IN papers, 5 are cited on privacy:email_tracking (PASS F); 15 are not, and they are about search terms, wallet addresses, SSNs, sensitive visits, logged-in content and tag configurations — none of which is an email address. The email slice is not the whole of this literature. email_tracking keeps the address as an identifier and the mailbox as an instrument; this page owns the measurement recipe for any personal value Broaden email_tracking to “identifiers and personal data”. Rejected: that page's own boundary section already separates message channels from web pixels
Pseudonymous identifiers are not personal data for the rule; neither is an IP address Otherwise the population is every tracking paper and duplicates privacy:cookie_syncing and privacy:fingerprinting. This is why the Meta Conversions API study (IP, user agent, IP-derived geolocation, fbp/fbc) and the WebSocket study (visitor IDs and the crawler's IP) are CONTEXT Count IP addresses as personal data, as the GDPR does. Defensible; it would add both papers and blur the page's method focus
The special-category visit is IN (four papers) The item names “health or search terms”; a visit to a health page is that disclosure without a value. The rule requires the paper to frame the flow as that disclosure, which keeps general tracking papers out Keep only value leaks. Rejected: the health stakes the item asks about are mostly visit-based
A wallet address is personal data (torres2023_wallet IN) The rule, written before counting, lists “a payment or wallet identifier”. The paper itself says the address is linked to an account “but not necessarily to its realworld identity”; flagged on the page as borderline OUT as a pseudonymous ID. Reasonable
Mailbox canaries are IN with the serverside channel (Kafle et al. 2024, Kubicek et al. 2022) The rule includes “the site itself sending to a third party”; these are the only measurements of the server-side route the item asks about. The second reader proposed the Kubicek paper as “borderline”; accepted for consistency with Kafle OUT:email, leaving server-side sharing to email_tracking. Defensible
Configuration evidence is IN (bekos2025_piixel; Hitchhiker for adoption) The rule says “or shows the tag configuration or code that sends it”. The page keeps configuration and transmission in separate columns everywhere Require an observed transmission. Would drop PIIxel, the largest study
Health 0 is published as a finding, not hidden The sector tag is one per paper and no IN paper is a health-sector study; the general crawls' health rows are quoted on the page instead. The out-of-corpus health studies are cited and labelled as such Tag papers with health sub-analyses as health. Rejected: it would turn a sub-analysis into a sector study
PixelConfig (IMC 2026) cited although outside the snapshot Selected for the corpus, its PDF fetched at 11:19 UTC and its extraction appended at 11:34 UTC on 2026-10-08, after the freeze; it is the newest and most directly relevant configuration study, and the only longitudinal one. Its three figures are needles against its paper.txt / paper.pdf Leave it out until extracted. Rejected: the page would then call configuration reading “2023–2025” while the field has moved
Out-of-corpus sector studies cited, not counted — [1Friedman, Ari B.; Merchant, Raina M.; Maley, Amey; Farhat, Karim; Smith, Kristen; Felkins, Jackson; Gonzales, Rachel E.; Bauer, Lujo; McCoy, Matthew S. (2023): "Widespread Third-Party Tracking On Hospital Websites Poses Privacy Risks For Patients And Legal Liability For Hospitals", Health Affairs 42(4). (DOI)], [2Huo, Mingjia; Bland, Maxwell; Levchenko, Kirill (2022): "All Eyes On Me: Inside Third Party Trackers' Exfiltration of PHI from Healthcare Providers' Online Systems", in: Proceedings of the 21st Workshop on Privacy in the Electronic Society. (DOI)], [3Libert, Timothy (2015): "Privacy Implications of Health Information Seeking on the Web", Communications of the ACM 58(3):68-77. (DOI)], [4Krishnamurthy, Balachander; Naryshkin, Konstantin; Wills, Craig E. (2011): "Privacy Leakage vs. Protection Measures: the Growing Disconnect", in: Web 2.0 Security and Privacy Workshop (W2SP). (Link)], [5Dao, Ha; Fukuda, Kensuke (2021): "Alternative to Third-Party Cookies: Investigating Persistent PII Leakage-Based Web Tracking", in: Proceedings of the 17th International Conference on emerging Networking EXperiments and Technologies. (DOI)], [6Chatzimpyrros, Manolis; Solomos, Konstantinos; Ioannidis, Sotiris (2020): "You Shall Not Register! Detecting Privacy Leaks Across Registration Forms", in: Computer Security, pp. 91-104. (DOI)] The spec asks for what the corpus cannot cover; the health sector is the item's own example and is outside the seven venues. Each figure used is checked by the external script against a primary source (Crossref, Semantic Scholar abstract, arXiv, or the PDF) Leave the health row empty. Rejected
The encoding table is coded from what papers say they searched The question a student needs answered is “what should I search for”; the only defensible coding is the stated one. Statuses reported and not-stated keep “named only as a finding” apart from “searched” Infer the search from what was found. Rejected: that is how a reviewer gets fooled
A small, tested detector is published (pii_needles.py) The spec says test any code embedded; the point it demonstrates (depth and normalisation decide recall) is made by its own output No code. Reasonable; the point would then rest on prose

Probes and the candidate set

Unchanged from 2026-09-23 and documented in the header of pii_fold.mjs (below, unedited). Three probes over paper.cols.txt, whitespace-collapsed, paper-counted:

Probe Rule Papers
GAP the gap pass's own pii_leakage regex, ≥ 5 hits (kept verbatim so the page can measure the probe that queued it) 226 (218 on paper.norm.txt as the gap pass ran it)
LEAK sentences with a flow verb, a personal-data term and a recipient term, ≥ 3 such sentences 108
SEC sentences with a sector or GDPR special-category term and a tracking term, ≥ 3 51
union 314

Queries, with their denominators

Every figure on the page and the report pass that prints it.

Figure on the page Population (denominator) Report pass
314 candidates; 20 IN (6.4%), 10 CONTEXT, 284 OUT; OUT codes the candidate set B
GAP 226 hits, 13 IN, 5.8% precision, 13 of 20 recall; top-20 composition; 7 misses GAP hits; the IN set B
LEAK finds 16 of 20; SEC finds 9 the IN set B
per-bucket, per-venue, channel, method, sector counts the 20 IN papers C
encoding statuses (7 / 2 / 3 / 8), 6 of 12 beyond plain, the grouped table, 0 normalise the 20 IN papers; the 12 that search traffic for a value D
crawl-config, vantage, ethics, artifacts and legal rows IN papers with a crawl config (16), with a vantage record (20), empirical (20), against 1,080 / 3,908 / 5,118 / 5,859 E
5 IN papers cited on privacy:email_tracking the 20 IN papers × that page's live citekeys F
second reader: 97 audited, 91 agree, 4 code-only, 2 level disagreements accepted; 3 moved by reading CONTEXT + web-platform OUT verdicts as of the audit G
50 title-probe hits outside the extraction; 1 S (PixelConfig), 1 C, 3 M; 28 in-extraction title hits not selected the 16,963-record index; web-platform extraction records H
method by year the 20 IN papers I

Hand classifications, and their residue

Residue: 0. resolveVerdicts throws on a candidate without a verdict or a verdict that matches no candidate, and on an unknown code, channel, method or sector. PAPER_KEYS, ENCODINGS and MOVED_BY_READING each throw on a stale or ambiguous prefix.

Changes in this sitting: 13 — 5 verdicts (3 IN → CONTEXT, 2 OUT → IN) and 8 tag sets on papers that stayed IN (old → new; the 2026-09-23 tags are as found at the start of the sitting, after the codex edit):

Paper Was Now Evidence
[7Starov, Oleksii; Gill, Phillipa; Nikiforakis, Nick (2016): "Are You Sure You Want to Contact Us? Quantifying the Leakage of PII via Website Contact Forms", in: Proceedings on Privacy Enhancing Technologies. (DOI)] IN form; canary, encsearch IN form, url; canary, differential, manual No named encoding is searched; unknown encodings are caught by a three-submission differential; the 2.5% leak is GET form data in the URL/Referer (reader A)
[8Acar, Gunes; Englehardt, Steven; Narayanan, Arvind (2020): "No boundaries: data exfiltration by third parties embedded on web pages", Proceedings on Privacy Enhancing Technologies 2020(4):220-238. (DOI)] IN; canary, instrument IN; canary, encsearch, instrument Three-layer encoding and hash search in its Appendix C (reader A)
[9Bekos, Paschalis; Papadopoulos, Panagiotis; Kourtellis, Nicolas; Polychronakis, Michalis (2025): "PIIxel Leaks: Passive Identification of Personally Identifiable Information Leakage through Meta Pixel", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] IN; static, encsearch IN; static, manual Reads the Pixel configuration; never searches traffic for a value (reader C)
[10Kafle, Kaushal; Mandal, Prianka; Singh, Kapil; Andow, Benjamin; Nadkarni, Adwait (2024): "Understanding the Privacy Practices of Political Campaigns: A Perspective from the 2020 US Election Websites", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)] IN form, serverside IN serverside Forms read statically from HTML; no traffic capture (reader C)
[11Bekos, Paschalis; Papadopoulos, Panagiotis; Markatos, Evangelos P.; Kourtellis, Nicolas (2023): "The Hitchhiker's Guide to Facebook Web Tracking with Invisible Pixels and Click IDs", in: Proceedings of the ACM Web Conference. (DOI)] IN event, visit; static IN visit; presence, static No PII value or advanced-matching field is measured (reader C)
[12Vallina, Pelayo; Feal, Álvaro; Gamba, Julien; Vallina-Rodriguez, Narseo; Anta, Antonio Fernández (2019): "Tales from the Porn: A Comprehensive Privacy Analysis of the Web Porn Ecosystem", in: Proceedings of the ACM Internet Measurement Conference. (DOI)] IN visit; manual IN visit; presence An automated OpenWPM crawl (reader D)
[13Goldfeder, Steven; Kalodner, Harry; Reisman, Dillon; Narayanan, Arvind (2018): "When the cookie meets the blockchain: Privacy risks of web payments via cryptocurrencies", Proceedings on Privacy Enhancing Technologies . (DOI)] IN url, page, event; canary, encsearch IN url, traffic; canary, manual PII manually marked; no encoding search described (readers B, D)
[14Pradeep, Amogh; Gunawan, Johanna; Feal, Álvaro; Hartzog, Woodrow; Choffnes, David (2025): "Gig Work at What Cost? Exploring Privacy Risks of Gig Work Platform Participation in the U.S.", Proceedings on Privacy Enhancing Technologies . (DOI)] IN; canary, encsearch IN; canary, manual SHA-256 named only as a finding; the search is not described (reader D)
[15El fraihi, Asmaa; Amieur, Nardjes; Rudametkin, Walter; Goga, Oana (2024): "Client-side and Server-side Tracking on Meta: Effectiveness and Accuracy", Proceedings on Privacy Enhancing Technologies 2024(3):431-445. (DOI)] IN CONTEXT:channel IP, user agent, IP geolocation and fbp/fbc only; no hashed email or phone (reader C)
[16Munir, Shaoor; Lee, Patrick; Iqbal, Umar; Shafiq, Zubair; Siby, Sandra (2024): "PURL: Safe and Effective Sanitization of Link Decoration", in: 33rd USENIX Security Symposium (USENIX Security 24), pp. 4103-4120. USENIX Association, Philadelphia, PA. (Link)] IN CONTEXT:channel Counts email-triggered link decorations (538, 62 tracking) but never shows the email value leaving (reader A)
[17Murley, Paul; Ma, Zane; Mason, Joshua; Bailey, Michael D.; Kharraz, Amin (2021): "WebSocket Adoption and the Landscape of the Real-Time Web", in: Proceedings of the ACM Web Conference. (DOI)] IN CONTEXT:channel Key-name matching in an unauthenticated crawl; the observed values are visitor IDs and the crawler's IP (reader D)
[18Kubíček, Karel; Merane, Jakob; Cotrini, Carlos; Stremitzer, Alexander; Bechtold, Stefan; Basin, David (2022): "Checking Websites' GDPR Consent Compliance for Marketing Emails", Proceedings on Privacy Enhancing Technologies 2022(2). (DOI)] OUT:email IN serverside; canary Second reader; consistency with [10Kafle, Kaushal; Mandal, Prianka; Singh, Kapil; Andow, Benjamin; Nadkarni, Adwait (2024): "Understanding the Privacy Practices of Political Campaigns: A Perspective from the 2020 US Election Websites", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)]
[19Dambra, Savino; Sanchez-Rola, Iskander; Bilge, Leyla; Balzarotti, Davide (2022): "When Sally Met Trackers: Web Tracking From the Users' Perspective", in: Proceedings of the USENIX Security Symposium. (Link)] OUT:tracking IN visit; passive; sensitive Second reader: real users' telemetry on Health, Sexuality, Political and Religion sites framed as sensitive disclosure

Methods differential and presence were added to the vocabulary for these corrections; deploy was removed when its only IN paper moved to CONTEXT.

Second reader. A sonnet sub-agent, given the rule verbatim, re-adjudicated all 7 CONTEXT verdicts and every OUT verdict on a paper whose extraction lists the web platform — 97 papers, frozen before the full-text reading. It grepped the full text for the flagged groups (all tracking, client, email, policy and the three named CONTEXT papers) and relied more on the first reader's note for the mention, security, perception, breach, llm and dsr codes, spot-checking four. Result in PASS G: 91 agree, 4 differ only in the OUT code (kept: the code does not move any population), 2 at the IN/OUT level (both accepted, above). Its rows are below, unedited. Not audited by anyone but the first reader: the 196 OUT verdicts (PASS G prints the count) on papers whose extraction does not list the web platform (mostly mobile, perception, llm, security); a web PII-leak paper mis-tagged as app-only would be missed.

The ENCODINGS map. Coded from the readers' item 4 (each gave a JSON line with a deciding quote), then normalised to four statuses: stated (names what it searched; 7), reported (names a transformation only as a finding; 2), not-stated (searches for values, names nothing; 3), not-applicable (no value search: a visit, a configuration, a mailbox, or key names; 8). Two quotes were shortened after the verifier failed them on a hyphenated line break (pat-, Base 64-). The report fails if the encsearch method tag and the map disagree in either direction.

notes/pii_audit_second_reader.tsv, unedited (key, first verdict, second reader's verdict, agreement, deciding quote, reason):

pii_audit_second_reader.tsv
CCS/2012/priceless-the-role-of-payments-in-abuse-advertised-goods	OUT:mention	OUT:mention	yes		
CCS/2017/data-breaches-phishing-or-malware-understanding-the-risks-of-stolen-credentials	OUT:breach	OUT:breach	yes		
CCS/2018/mystique-uncovering-information-leakage-from-browser-extensions	OUT:client	OUT:client	yes		
CCS/2020/fill-in-the-blanks-empirical-analysis-of-the-privacy-threats-of-browser-form-aut	CONTEXT:firstparty	CONTEXT:firstparty	yes		Paper states "we do not focus on how that exfiltrated information is actually used by the website or how the collected/inferred values are sent to their backend server or third parties"; firstparty confirmed.
CCS/2020/mnemosyne-an-effective-and-efficient-postmortem-watering-hole-attack-investigati	OUT:mention	OUT:mention	yes		
CCS/2020/the-cookie-hunter-automated-black-box-auditing-for-web-authentication-and-author	OUT:security	OUT:security	yes		
CCS/2022/cart-ology-intercepting-targeted-advertising-via-ad-network-identity-entanglemen	OUT:security	OUT:security	yes		
CCS/2023/general-data-protection-runtime-enforcing-transparent-gdpr-compliance-for-existi	OUT:defence	OUT:defence	yes		
CCS/2023/ileakage-browser-based-timerless-speculative-execution-attacks-on-apple-devices	OUT:security	OUT:security	yes		
CCS/2024/a-first-look-at-security-and-privacy-risks-in-the-rapidapi-ecosystem	OUT:breach	OUT:breach	yes		
CCS/2024/breaching-security-keys-without-root-fido2-deception-attacks-via-overlays-exploi	OUT:security	OUT:security	yes		
CCS/2024/measuring-compliance-implications-of-third-party-libraries-privacy-label-disclos	OUT:mobile	OUT:mobile	yes		
CCS/2025/layered-overlapping-and-inconsistent-a-large-scale-analysis-of-the-multiple-priv	OUT:tracking	OUT:tracking	yes		
CCS/2025/lock-the-door-but-keep-the-window-open-extracting-app-protected-accessibility-in	OUT:security	OUT:security	yes		
CCS/2025/passwords-and-fido2-are-meant-to-be-secret-a-practical-secure-authentication-cha	OUT:client	OUT:client	yes		
IEEE-SP/2016/sending-out-an-sms-characterizing-the-security-of-the-sms-ecosystem-with-public	OUT:email	OUT:security	code-only		SMS gateway exposure is a security study, not a site-embedded leak
IEEE-SP/2016/the-cracked-cookie-jar-http-cookie-hijacking-and-the-exposure-of-private-informa	OUT:security	OUT:security	yes		
IEEE-SP/2017/the-password-reset-mitm-attack	OUT:security	OUT:security	yes		
IEEE-SP/2018/privacy-risks-with-facebooks-pii-based-targeting-auditing-a-data-brokers-adverti	CONTEXT:downstream	CONTEXT:downstream	yes		
IEEE-SP/2018/the-spyware-used-in-intimate-partner-violence	OUT:mention	OUT:mention	yes		
IEEE-SP/2023/detection-of-inconsistencies-in-privacy-practices-of-browser-extensions	OUT:client	OUT:client	yes		
IEEE-SP/2023/investigating-the-password-policy-practices-of-website-administrators	OUT:perception	OUT:perception	yes		
IEEE-SP/2026/setting-the-course-but-forgetting-to-steer-analyzing-compliance-with-gdprs-right	OUT:dsr	OUT:dsr	yes		
IMC/2018/an-empirical-study-of-the-i2p-anonymity-network-and-its-censorship-resistance	OUT:homograph	OUT:security	code-only		I2P network study
IMC/2020/analyzing-third-party-service-dependencies-in-modern-web-services-have-we-learne	OUT:homograph	OUT:security	code-only		service dependency study, no personal data
IMC/2020/demystifying-the-messaging-platforms-ecosystem-through-the-lens-of-twitter	OUT:breach	OUT:breach	yes		
IMC/2021/a-large-scale-characterization-of-online-incitements-to-harassment-across-platfo	OUT:breach	OUT:breach	yes		
IMC/2021/unique-on-facebook-formulation-and-evidence-of-nano-targeting-individual-users-w	OUT:adtarget	OUT:adtarget	yes		
IMC/2023/not-only-e-t-phones-home-analysing-the-native-user-tracking-of-mobile-browsers	OUT:client	OUT:client	yes		
IMC/2023/tracking-profiling-and-ad-targeting-in-the-alexa-echo-smart-speaker-ecosystem	OUT:mobile	OUT:mobile	yes		
IMC/2025/cookieguard-characterizing-and-isolating-the-first-party-cookie-jar	OUT:tracking	OUT:tracking	yes		
IMC/2025/fishing-for-smishing-understanding-sms-phishing-infrastructure-and-strategies-by	OUT:email	OUT:email	yes		
NDSS/2019/dns-cache-based-user-tracking	OUT:tracking	OUT:tracking	yes		
NDSS/2019/measuring-the-facebook-advertising-ecosystem	OUT:adtarget	OUT:adtarget	yes		
NDSS/2023/auto-draft-336	OUT:dsr	OUT:dsr	yes		
NDSS/2023/chkplug-checking-gdpr-compliance-of-wordpress-plugins-via-cross-language-code-property-graph	CONTEXT:method	CONTEXT:method	yes		Static analysis of plugin code (method); no deployed-site recipient measurement.
NDSS/2024/fp-fed-privacy-preserving-federated-detection-of-browser-fingerprinting	OUT:tracking	OUT:tracking	yes		
NDSS/2025/automated-expansion-of-privacy-data-taxonomy-for-compliant-data-breach-notification	OUT:breach	OUT:breach	yes		
NDSS/2025/duumviri-detecting-trackers-and-mixed-trackers-with-a-breakage-detector	OUT:tracking	OUT:tracking	yes		
NDSS/2025/policypulse-precision-semantic-role-extraction-for-enhanced-privacy-policy-comprehension	OUT:policy	OUT:policy	yes		
PETS/2016/privacy-challenges-in-the-quantified-self-movement-an-eu-perspective	OUT:policy	OUT:policy	yes		
PETS/2018/exploiting-tls-client-authentication-for-widespread-user-tracking	OUT:tracking	OUT:tracking	yes		
PETS/2018/i-never-signed-up-for-this-privacy-implications-of-email-tracking	OUT:email	OUT:email	yes		
PETS/2019/investigating-sources-of-pii-used-in-facebook-s-targeted-advertising	CONTEXT:downstream	CONTEXT:downstream	yes		
PETS/2020/canarytrap-detecting-data-misuse-by-third-party-apps-on-online-social-networks	CONTEXT:method	CONTEXT:method	yes		
PETS/2021/a-calculus-of-tracking-theory-and-practice	OUT:tracking	OUT:tracking	yes		
PETS/2021/defining-privacy-how-users-interpret-technical-terms-in-privacy-policies	OUT:perception	OUT:perception	yes		
PETS/2021/managing-potentially-intrusive-practices-in-the-browser-a-user-centered-perspect	OUT:perception	OUT:perception	yes		
PETS/2022/checking-websites-gdpr-consent-compliance-for-marketing-emails	OUT:email	IN (borderline)	no	Lastly, we detect that 4.1% of websites share users' email addresses with third parties.	Per-site honeytoken email typed into real registration forms on 666 deployed sites shows the address reaching third parties; borderline because the hand-off is server-side, not from the page, so CONTEXT/OUT:email stays defensible under the "leaving a web page" wording.
PETS/2022/ctrl-shift-how-privacy-sentiment-changed-from-2019-to-2021	OUT:perception	OUT:perception	yes		
PETS/2022/it-feels-like-whack-a-mole-user-experiences-of-data-removal-from-people-search-w	OUT:breach	OUT:breach	yes		
PETS/2022/user-friendly-yet-rarely-read-a-case-study-on-the-redesign-of-an-online-hipaa-au	OUT:perception	OUT:perception	yes		
PETS/2023/privacy-rarely-considered-exploring-considerations-in-the-adoption-of-third-part	OUT:tracking	OUT:tracking	yes		
PETS/2024/opted-out-yet-tracked-are-regulations-enough-to-protect-your-privacy	OUT:tracking	OUT:tracking	yes		
PETS/2024/please-unstalk-me-understanding-stalking-with-bluetooth-trackers-and-democratizi	OUT:mention	OUT:mention	yes		
PETS/2024/privacy-policies-on-the-fediverse-a-case-study-of-mastodon-instances	OUT:policy	OUT:policy	yes		
PETS/2024/what-does-it-mean-to-be-creepy-responses-to-visualizations-of-personal-browsing	OUT:perception	OUT:perception	yes		
PETS/2024/what-to-expect-when-you-re-accessing-an-exploration-of-user-privacy-rights-in-pe	OUT:dsr	OUT:dsr	yes		
PETS/2025/measuring-the-accuracy-and-effectiveness-of-pii-removal-services	OUT:breach	OUT:breach	yes		
PETS/2025/misalignments-and-demographic-differences-in-expected-and-actual-privacy-setting	OUT:perception	OUT:perception	yes		
PETS/2025/referrer-policy-implementation-and-circumvention	CONTEXT:channel	CONTEXT:channel	yes		Paper states "our study examines whether third parties receive the webpage's URL"; PII-in-referrer is only cited from prior work, so channel confirmed.
PETS/2025/rethinking-fingerprinting-an-assessment-of-behavior-based-methods-at-scale-and-i	OUT:tracking	OUT:tracking	yes		
PETS/2026/a-year-under-the-dsa-ad-transparencys-uneven-landscape	OUT:adtarget	OUT:adtarget	yes		
PETS/2026/disclosure-divergence-measuring-privacy-policy-and-data-safety-misalignment-at-s	OUT:policy	OUT:policy	yes		
PETS/2026/understanding-how-university-guidelines-address-privacy-and-security-issues-of-g	OUT:llm	OUT:llm	yes		
USENIX/2014/hulk-eliciting-malicious-behavior-in-browser-extensions	OUT:client	OUT:client	yes		
USENIX/2014/ssoscan-automated-testing-of-web-applications-for-single-sign-on-vulnerabilities	OUT:security	OUT:security	yes		
USENIX/2020/cached-and-confused-web-cache-deception-in-the-wild	OUT:security	OUT:security	yes		
USENIX/2020/droplet-decentralized-authorization-and-access-control-for-encrypted-data-stream	OUT:mention	OUT:mention	yes		
USENIX/2020/sunrise-to-sunset-analyzing-the-end-to-end-life-cycle-and-effectiveness-of-phish	OUT:security	OUT:security	yes		
USENIX/2020/the-tools-and-tactics-used-in-intimate-partner-surveillance-an-analysis-of-onlin	OUT:mention	OUT:mention	yes		
USENIX/2022/ovrseen-auditing-network-traffic-and-privacy-policies-in-oculus-vr	OUT:mobile	OUT:mobile	yes		
USENIX/2022/smart-home-privacy-policies-demystified-a-study-of-availability-content-and-cove	OUT:policy	OUT:policy	yes		
USENIX/2022/when-sally-met-trackers-web-tracking-from-the-users-perspective	OUT:tracking	IN	no	Visiting or regularly browsing particular types of websites could reveal sensitive information about users. In this part of our analysis, we focus on websites that could fall into sensitive categories and check which trackers are present on those sites and could therefore gain access to private users' information.	Real-user telemetry measuring third-party trackers on Health/Sexuality/Political/Religion sites and framing it as disclosure of sensitive attributes meets the special-category branch of A.
USENIX/2023/checking-passwords-on-leaky-computers-a-side-channel-analysis-of-chromes-passwor	OUT:security	OUT:security	yes		
USENIX/2023/policycomp-counterpart-comparison-of-privacy-policies-uncovers-overbroad-persona	OUT:policy	OUT:policy	yes		
USENIX/2023/poligraph-automated-privacy-policy-analysis-using-knowledge-graphs	OUT:policy	OUT:policy	yes		
USENIX/2024/understanding-the-security-and-privacy-implications-of-online-toxic-content-on-r	OUT:perception	OUT:perception	yes		
USENIX/2024/what-was-your-prompt-a-remote-keylogging-attack-on-ai-assistants	OUT:security	OUT:security	yes		
USENIX/2025/big-help-or-big-brother-auditing-tracking-profiling-and-personalization-in-gener	OUT:client	OUT:client	yes		
USENIX/2025/darkgram-a-large-scale-analysis-of-cybercriminal-activity-channels-on-telegram	OUT:security	OUT:security	yes		
USENIX/2025/effective-pii-extraction-from-llms-through-augmented-few-shot-learning	OUT:llm	OUT:llm	yes		
USENIX/2025/evaluating-privacy-policies-under-modern-privacy-laws-at-scale-an-llm-based-auto	OUT:policy	OUT:policy	yes		
USENIX/2025/malicious-llm-based-conversational-ai-makes-users-reveal-personal-information	OUT:llm	OUT:llm	yes		
USENIX/2025/too-much-of-a-good-thing-in-security-of-mandatory-security-software-for-financia	OUT:security	OUT:security	yes		
USENIX/2025/websites-global-privacy-control-compliance-at-scale-and-over-time	OUT:dsr	OUT:dsr	yes		
USENIX/2025/when-llms-go-online-the-emerging-threat-of-web-enabled-llms	OUT:llm	OUT:llm	yes		
USENIX/2026/bridges-to-self-silent-web-to-app-tracking-on-mobile-via-localhost	CONTEXT:linkage	CONTEXT:linkage	yes		
USENIX/2026/the-state-of-passkeys-studying-the-adoption-and-security-of-passkeys-on-the-web	OUT:security	OUT:security	yes		
WWW/2013/your-browsing-behavior-for-a-big-mac-economics-of-personal-information-online	OUT:perception	OUT:perception	yes		
WWW/2017/extended-tracking-powers-measuring-the-privacy-diffusion-enabled-by-browser-exte	OUT:client	OUT:client	yes		
WWW/2017/the-long-standing-privacy-debate-mobile-websites-vs-mobile-apps	OUT:mobile	OUT:mobile	yes		
WWW/2019/studying-preferences-and-concerns-about-information-disclosure-in-email-notifica	OUT:perception	OUT:perception	yes		
WWW/2022/et-tu-brute-privacy-analysis-of-government-websites-and-mobile-apps	OUT:tracking	OUT:tracking	yes		
WWW/2023/bad-apples-understanding-the-centralized-security-risks-in-decentralized-ecosyst	OUT:mobile	OUT:mobile	yes		
WWW/2023/cashing-in-on-contacts-characterizing-the-onlyfans-ecosystem	OUT:mention	OUT:mention	yes		
WWW/2026/privsniffer-graph-based-contextual-privacy-leakage-detection-for-user-generated	OUT:homograph	OUT:llm	code-only		text-level leak detector for user-generated text, no third-party recipient

Quotes and figures checked against the papers

verify_pii_figures.mjs: 136 needles — 116 page figures and quotes, 20 ENCODINGS deciding sentences — each located in paper.cols.txt, then paper.norm.txt, then paper.txt, then a pypdf re-extraction; 0 not located; 3 mutated controls correctly not located; 11 needles under 20 characters are flagged WEAK. Most sit beside a longer needle from the same table or sentence; location (on 2 websites) and App 50 32.0 90.0% All Web 50 - 76.0% are table-row fragments whose row label is the only context (the figures reviewer noted that 76.0% also occurs in the iOS row). The IMC 2026 PixelConfig needles are located in its paper.txt and paper.pdf (it has no .cols). Output below, unedited.

Denominator checks the readers made and the page follows:

  • Starov et al. 2016: the paper calls 2.5% and 6.1% shares of submitted forms, but 423/16,981 = 2.49% and 1,035/16,981 = 6.10%; against the ~14,009 submitted (82.5% of 16,981, the paper never prints the count) they would be 3.0% and 7.4%. The page cites the counts and says so.
  • Kats et al. 2022: the abstract pairs 81.3% with the 512,701 sites with a search box; the body says all results are over the 472,333 successful executions and Table 8's 384,101 / 472,333 = 81.3% (/ 512,701 = 74.9%). The page uses 472,333.
  • Senol et al. 2022: the headline rates are over sites where an email field was filled — 60,008 EU and 60,999 US in Table 7 (desktop, no-action), whose numerator counts emails or passwords; Table 1 gives 52,055 and 53,038 for the same crawls. The text's “0.05%” EU consent effect contradicts its Table 6 (202 → 201 sites, 0.5%). The page states both conflicts.
  • Bekos et al. 2025: 122,577 / 65.45% are configurations over 187,257 Pixel sites; the abstract's 12.2% is over the 1M list; the conclusion's 65.6% disagrees with Section 5.1's 65.45% (the page uses 5.1). The paper's crawl dates (Feb–Mar 2024) precede its stated Tranco list date (16 Dec 2024); not reconciled, not used.
  • Kubicek et al. 2022: “4.1%” appears as a share of websites (abstract), of addresses (contributions: “4.1% of our addresses receive emails from multiple senders”) and in Fig. 5 as “domains differ” with no stated base. The first draft paired it with the 568 mail-sending sites; no integer over 568 rounds to 4.1% (figures reviewer). The page now quotes the addresses sentence and gives the 1,234 addresses.
  • Pradeep et al. 2025: “15 of 16 share worker PII” counts Android advertising IDs; the page gives the paper's 14 (names) and 12 (emails) beside it.
  • Torres et al. 2023: the results section says “of the 1,572 DApps that we analyzed, 211”; the contribution list says “211 out of 616”, 616 being the DApps the automator could connect to. The first draft copied the 1,572 — the page's own rule broken; caught by the citations reviewer.
  • Dimova et al. 2021: of the 13 sites with a sensitive leak, 10 are authentication cookies; name 1, location 2, email 4. The page gives the breakdown. The paper's Experiment 3 says both “4 platforms” and “2 platforms”; not used.
  • Vallina et al. 2019: the age-verification shares come from a manual check of the top 50 sites in four countries and must not be attached to the 6,843-site crawl; the page does not use them.

External sources

Every fact the page uses from outside the corpus is re-fetched by external_checks_pii_leakage.sh (output below; 0 FAILED on 2026-10-08). Bot-walled sources are read through the Wayback Machine and the check says so.

Fact on the page Primary source How verified
GoodRx, first HBNR action (2023-02-01); BetterHelp final order, $7.8M (2023-07-14); HBNR amendment counts unauthorised disclosure (2024-04-26) ftc.gov press releases phrase match, live fetch
HHS tracking bulletin; AHA v. Becerra vacatur (2024-06-20); appeal dismissed 2024-09-04 HHS bulletin page (Wayback 2026-09-04; hhs.gov 403s non-browsers); RECAP docket 4:23-cv-01110 phrase match
Senate tax-privacy report (2023-07-12); TIGTA 2024-400-062 (2024-09-17) warren.senate.gov landing page (Wayback 2023-07-13); oversight.gov PDF phrase match; PDF via pypdf
IMY Apoteket SEK 37M / Apohem SEK 8M (2024-08-30) imy.se phrase match (Swedish)
Datatilsynet, six websites (2025) datatilsynet.no phrase match
Meta advanced matching hashes with SHA-256; Google enhanced conversions normalisation; Google Analytics PII policy; TikTok automatic advanced matching developers.facebook.com (Wayback 2026-06-24; live returns 400 to curl); support.google.com; ads.tiktok.com phrase match
Clarity masks inputs in all modes; LogRocket never records password fields learn.microsoft.com; docs.logrocket.com phrase match
The Markup tax-filing story (2022-11-22) themarkup.org phrase match
Libert 2015 (1,986 diseases; 70% of Referers); Huo 2022 (5 portals, 4 telehealth); Friedman 2023 (98.6%); Dao 2021 (42.3%); Krishnamurthy 2011; Cory & Küpper 2026; Vekaria SoK arXiv abstract; Semantic Scholar abstracts; WPI PDF; Crossref phrase match / Crossref title and authors
Tool status (Leaky Forms three repos, Blacklight, Tracker Radar Collector, OpenWPM, Formlock, PIIxel, trackers-not-equal) GitHub API archived, pushed_at, licence printed
jellybeans-paper.com does not resolve curl printed as INFO/DEAD, not FAILED

Rejected or not used, so the next run does not re-add them: trade-press and law-firm summaries of the FTC, HHS and VPPA matters (used only to find the primary URLs; full list in notes/pii_external.md); Cerebral's penalty breakdown and the HBNR effective date (secondary only); Meta's “Core setup” mechanics and rollout dates (no primary Meta page found — the page cites PixelConfig's measurement instead); Hotjar's current masking default (live page 403, Wayback copy a different locale); Salazar v. NBA cert denial (secondary only); the VPPA and CIPA case law (true, fetched, but legal doctrine belongs on Legal enforcement); Ghostery/Verified Data pharmacy blog (vendor marketing); the “PII leakage” SEO posts about LLM redaction. The Javier v. Assurance IQ memorandum is fetched and passes but is not on the page.

What could not be established

  • What the codex run changed in pii_fold.mjs. No pre-codex copy exists. Every IN verdict was re-read, so the population does not depend on it; an OUT verdict it might have changed would only be visible through the second reader, who saw 97 of 284.
  • Recall outside the three probes. The title probe inside the extraction (PASS H, last block) lists 28 web-platform papers whose titles match but which no probe selected; all were read by title and none meets the rule (the nearest are Understanding Privacy Norms through Web Forms, first-party collection, and Missed by Filter Lists, invisible pixels without personal data). A paper that measures PII leakage in one section, with a title about something else, and fewer than three qualifying sentences, is invisible to this audit.
  • How many hashed leaks a non-normalising detector misses. Asked on the page; not measured here.
  • Whether the readers' “no ethics statement found” is exact. They grepped ethic, IRB, disclos, notif; a statement worded otherwise would be missed. The page's ethics figures come from the extraction field, not from the readers.
  • Meta's automatic-event default. The currency reviewer reported, from a Wayback capture of Meta's Ads Data Advisor page, that new Pixels pre-select automatically detected events from 3 August 2026. The capture is a JavaScript shell to curl and to a headless browser; the sentence could not be found, so the claim is not on the page.
  • IMC 2026 beyond PixelConfig. The venue-year was being fetched during the sitting; the other 98 records were probed by title only.

Mistakes caught during the run

  • The inherited tags were wrong on 8 of 21 IN papers, and 3 of the 21 were not IN at all (table above). Every one was caught by the full-text reading, none by a script. The 2026-09-23 verdicts had been made from titles, summaries and extracted detection records.
  • The method tag encsearch was on four papers that never search for an encoding (PIIxel, the gig-work study, the Bitcoin study, the contact-form study) and missing from one that does (No boundaries). The new guard in PASS D ties the tag to the ENCODINGS map in both directions.
  • The corpus moved under the run. The index went from 16,864 to 16,963 records (IMC 2026, 11:16 UTC) and the extraction from 5,859 to 5,912+ (11:34 UTC). Both hard-coded assertions failed loudly; the report now freezes on extractedAt < 2026-10-08 and asserts 16,864 + IMC 2026 for the index.
  • The codex draft's Google Tag claim. It stated as fact that Google Tag uses SHA-256 of a Base64-encoded string; the paper says “SHA-256 on a base64 encoded string” and does not say which comes first. The page quotes the paper.
  • The PASS G guard first failed on the three papers the reading moved out of IN after the audit list was frozen; MOVED_BY_READING now names them, and the report fails if one is both audited and moved.
  • Two ENCODINGS quotes failed the verifier on hyphenated line breaks; shortened.
  • $7.8 in a double-quoted bash string expanded $7 under set -u and aborted the external checks; escaped.
  • A script edit that silently did not apply. A Python str.replace meant to add two Leaky Forms repositories to the external checks matched nothing and raised nothing; the page then claimed three repositories checked. The generic reviewer caught it (F21). Every later scripted edit of this sitting asserts its anchor.
  • The citations reviewer's “no religion figure” was wrong and was accepted in round 1; the generic reviewer caught it (F14).
  • pypdf is not in the system Python in this container; installed to out/pii/pydeps and put on PYTHONPATH by both scripts.

Other pages touched in this sitting

Page Change Revision
bibliography 13 entries appended to a fresh export (rev 1791456134), duplicate-checked, saved with --if-rev 1791460488
privacy Row for PII leakage, placing paragraph, count 19 → 20 in the box and Methodology see notes/pii_log.md
roadmap Assessed, and not written row see notes/pii_log.md
email_tracking One sentence in The Address as the Identifier pointing here for the recipe; one Related Pages bullet see notes/pii_log.md

Not done for quota: the planned Related-Pages back-links on privacy:server_side_tracking, programming:interaction, programming:registration, privacy:javascript (prepared by scripts/pii_collateral.py), the provenance:roadmap section and the provenance:privacy child-added note.

Review

Four reviewers plus a re-check, each told that the author's context might not be exhaustive and each handed the page, this log's draft, the report script with its unedited output, the verifier with its output, the external-check script with its output and the fold. The three focused passes ran in parallel (sonnet) on one frozen snapshot (out/pii/review_snapshot_r1/, page md5 be54f8ff…); their findings were applied together; then the generic pass (fable) read the corrected pages (snapshot review_snapshot_r2); its findings were applied; then one sonnet re-check covered every line changed since round 1 (review_snapshot_r3, out/pii/review_r3_recheck.md). Findings files: out/pii/review_r1_{figures,citations,currency}.md, out/pii/review_generic.md.

Focused passes (round 1)

Reviewer Finding Action
figures (sonnet) Report re-run byte-identical (including the “ignored” line); verifier 102/0; fixture output identical —
figures Defect. “every CONTEXT verdict” was audited: 3 of the 10 CONTEXT papers were moved there after the audit list was frozen Accepted. Page and log now say “the 97 papers that were CONTEXT or web-platform OUT when the audit list was frozen”
figures Defect. Kubicek “4.1% of the 568”: no integer over 568 rounds to 4.1% Accepted. Rewritten from the paper's addresses sentence; 1,234 addresses given
figures + citations Defect. “two of the four gig-work personas”: the paper never says four Accepted. “two of them were two authors' real identities” (needle)
figures Defect. “188” unaudited OUT verdicts; it is 196 and no script printed it Accepted. PASS G prints it; page and log say 196
figures Defect. Leaky Forms' “0.05%” EU consent effect contradicts its Table 6 (202 → 201 = 0.5%) Accepted. Both stated, with the table counts as needles
figures Defect. Leaky Forms 60,008 / 60,999 are Table 7, whose numerator is emails or passwords; Table 1 says 52,055 / 53,038 Accepted. Table named, both pairs given, numerator corrected
figures 3.0% and 65.45% are the papers' prints (arithmetic 3.07%, 65.46%); the verifier's mutation control “3.1%” was the arithmetically correct value Accepted for the control (now 3.2%). Printed figures kept as the papers' own
figures “states an ethics-review outcome” counts 3 papers saying none was sought and 1 not stating the outcome Accepted. Relabelled “says anything about ethics review”; the sentence names the three
figures + citations Starov's 16,981 is sites, not forms; Pradeep's 15 is driven by advertising IDs; Dimova's 13 is mostly cookies Accepted. All three rewritten with the papers' own breakdowns
figures “flat within noise” vs “fastest-growing” pull against each other Accepted. “fastest-growing” removed; “3 of the 20 papers, all since 2023”
figures “never more than two a year” not script-backed Rejected. PASS I's per-year table has an encsearch column; the reviewer missed it
figures “first large crawl that submits forms”, “largest stated encoding search in this corpus” not backed Accepted. Reworded; Leaky Forms ties No boundaries
figures “50 papers never reached the extraction”: 2 were extracted after the freeze Accepted
figures The page named only IMC 2026 as post-snapshot; 13 IEEE S&P records were also added Accepted
figures Log said “13 verdicts changed”: 5 verdicts, 8 tag sets Accepted
figures Missing needles (No boundaries' three layers, Torres' three layers, Yandex 50/52, “more than 50”, Fathom baseline) Accepted. 26 needles added (128 in all)
figures “none says it normalised” is zero by construction in the hand map Accepted. PASS D now greps every IN paper for normalisation vocabulary within 150 characters of a hash name: 0
figures Nit. check_page_numbers.mjs passes mutated small integers (49 → 42) because they occur elsewhere in 170 KB Acknowledged, not fixed: a known property of the shared guard (README, “presence check, not a binding check”). The verifier's needles bind the per-paper figures; the residual risk is a page edit no needle covers
figures Nit ×5. pii_needles.py: --depth parsing, the Gmail plus-and-dots seed, “hits” counted matches not requests, lower-case percent escapes, request-only search Accepted (all five); re-run, re-embedded, outputs compared byte-for-byte
citations (sonnet; four sub-agents) Blocking. Torres “1,572 dApps / 211”: the analysed set is 616 Accepted. Row rewritten, both of the paper's sentences named
citations Blocking. Agrigento called the “descendant” of Starov's differential; it does not cite it Accepted. “applies the same differential idea to Android apps”
citations Defect. The configuration-versus-transmission contrast between [9Bekos, Paschalis; Papadopoulos, Panagiotis; Kourtellis, Nicolas; Polychronakis, Michalis (2025): "PIIxel Leaks: Passive Identification of Personally Identifiable Information Leakage through Meta Pixel", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] and [20Kieserman, Julia B.; Andreou, Athanasios; Geeng, Chris; Lauinger, Tobias; McCoy, Damon (2025): "Tracker Installations Are Not Created Equal: Understanding Tracker Configuration of Form Data Collection", in: Proceedings on Privacy Enhancing Technologies, pp. 679-695. (DOI)] is the page's reading; Kieserman calls its form test a proxy for configuration Accepted in part. The contrast stays — one reads a config file, the other sees an injected value leave the browser, and the evidence differs — but the page now says the values were synthetic and quotes the authors' own “proxy” framing
citations Defect. The Leaky Forms blocklist sentence contradicted itself Accepted
citations Defect. Kaizer's 42% is the logged-in crawl, HTTP only Accepted
citations Defect. Goldfeder's 130 / 49 are from the pre-payment crawl; 20 purchases Accepted
citations Defect. Leung filed as “plain only”: it used ReCon plus string matching Accepted in part. Kept in the “no transformation named” row (it names none), with the method stated
citations Defect. Hitchhiker reports no religion figure Accepted — wrongly. The generic reviewer showed the paper prints religion (4.6% of 9,119); the figure is back on the page with a needle
citations Defect. Only Dambra frames the visit itself as the disclosure Accepted. The section says the page counts all four under the special-category rule and how each frames it
citations Defect. “33 most-leaking”: the paper says “top 33” Accepted
citations Process. bib_plus.txt was stale (no ghani2026_pixelconfig) Accepted. Rebuilt from a fresh export before every later run
citations Vendor normalisation stated as fact; Google's steps apply to operators who hash themselves Accepted. Reworded, both vendors quoted
citations IMY footnote cites the announcement, which does not name advanced matching Accepted. Decision PDF added (checked)
citations Datatilsynet takeaway overstated; the fine was for a children's service Accepted
citations Huo 5 of 459; Friedman non-federal acute care; Kats upper bound; PixelConfig year; Kubicek 1,234 addresses; Krishnamurthy not “founding”; Englehardt 2018 already chained three layers; Blacklight “released” Accepted (all)
citations Footnotes without titles Accepted for the FTC, Senate, TIGTA and Datatilsynet notes
citations chatzimpyrros2020_register booktitle is only “Computer Security” Not changed: a pre-existing entry other pages cite
currency (sonnet) Defect. IMY: Apohem appealed (upheld 15 May 2026, now at the court of appeal); the leak was an unintended automatic-advanced-matching setting, fined under Art. 32 Accepted and re-fetched (IMY case page)
currency Defect. Missing 2026 FTC action (Hims & Hers, July 2026, pending) Accepted and re-fetched, labelled an allegation
currency Defect. No finance-sector regulator row: IMY v. Avanza Bank (SEK 15M, 2024) Accepted and re-fetched
currency Defect. Cory & Küpper accepted at EuroS&P Workshops 2026 Accepted (arXiv record; bib note added)
currency Defect. Google tag gateway sends measurement requests through the first-party domain Accepted and re-fetched; one sentence in Who Received It
currency Defect. Meta pre-selects automatic events for new Pixels from 2026-08-03 Rejected for lack of a readable source: the Wayback capture renders no text for curl or a headless browser. Replaced by a general “date the read” caution
currency Defect. Jelly Beans artefacts are not in the Internet Archive Accepted (“ask the authors”)
currency Datatilsynet date is 12 June 2025; TikTok's advice to regulated sectors; no newer HHS or TIGTA action; LogRocket wording; licences Accepted (all; the LogRocket sentence now states only what the docs say)

Generic pass (fable)

# Finding Action
F1 Defect. “…and their ethics worse” was built by dropping two ethics rows that go the other way (harm mitigation 85% vs 62.3%, notification 65% vs 46%); the measure is an extracted “review mentioned” enum; n = 20 Accepted. Heading retitled; both rows added; the two crawl rows left out are named; “indications, not tests”
F2 “Leaky Forms shows that most leakage happens before submit” — never compared Accepted. “substantial leakage happens before submit (1,844 / 2,950 sites)”
F3 Placeholder under Other pages touched; this table missing Accepted. Both filled at publication
F4 Methods table: lead disclaims advice the Status column gives; encoding search's full pool last appears in 2023; instrumentation nothing since 2022 Accepted. Lead owns the judgement; both rows qualified
F5 “The methods moved toward configuration” is a trend on 3 papers Accepted. “Configuration reading is new”
F6 Kats' validation is of the search-box detector, not the leak search Accepted
F7 DSARs and ad-audience probes are other windows on what the recipient holds Accepted. New outcome row; mailbox row scoped “in this population”
F8 Leung's four password recipients are not form-builders Accepted. Recipients named from the paper (needle)
F9 “A landing-page crawl cannot tell you” contradicts the configuration and visit methods Accepted. “cannot see a value leave”
F10 “best data there is” vs the response-rate literature Accepted
F11 Detector: phones not normalised, Chrome HAR WebSocket frames ignored, “distinct requests” counted URLs, partial percent-encoding, plus-tag uniqueness collapses under stripping Accepted. Phone seeds added; requests counted by HAR entry (a two-entry same-URL HAR now prints 2); the rest stated on the page; the canary bullet warns about plus-tags
F12 Law row mixed denominators Accepted. PASS E now prints the empirical baseline: 388 of 5,118 (7.6%), not the reviewer's 7.9%
F13 “re-adjudicated the 97” overstates; ~60 were judged from the first reader's notes Accepted on the page
F14 Religion is in the Hitchhiker paper; the round-1 “accepted” finding was wrong Accepted. See the round-1 row
F15 “regulators acted before the literature measured them” — No boundaries found a prescription leak in 2017–18 data Accepted. Scoped to “as a sector or at scale”, with the exception named
F16 DiffAudit IN and the WebSocket paper CONTEXT on the same key-name evidence Accepted. The distinction (logged-in accounts vs an unauthenticated crawl) is on the page's borderline list
F17 The normalisation point misses its rejoinder: a canary already in normalised form Accepted
F18 No SoK cited Accepted. [21Vekaria, Yash; Beugin, Yohan; Munir, Shaoor; Acar, Gunes; Bielova, Nataliia; Englehardt, Steven; Iqbal, Umar; Kapravelos, Alexandros; Laperdrix, Pierre; Nikiforakis, Nick; Polakis, Jason; Roesner, Franziska; Shafiq, Zubair; Zimmeck, Sebastian (2025): "SoK: Advances and Open Problems in Web Tracking". arXiv preprint arXiv:2506.14057. (Link)] in Related Pages. Formlock (2016, unmaintained) and the Google Analytics PII policy are checked by the script and not used on the page
F19 “never divide by the sampling frame” too absolute Accepted. “a share of the frame is a lower bound”
F20 The spine candidate [22Venkatadri, Giridhari; Lucherini, Elena; Sapiezynski, Piotr; Mislove, Alan (2019): "Investigating sources of PII used in Facebook’s targeted advertising", in: Proceedings on Privacy Enhancing Technologies. (DOI)] never named Accepted
F21 Only one of three Leaky Forms repositories checked Accepted. An earlier edit meant to add the other two had silently not applied; the script now reads all three (output below)
F22 IMY “found from outside” unverified Accepted. “the companies had not noticed”
F23 Opening box led with a table-number dispute Accepted. Moved to the per-paper row and the provenance
F24 “first large-scale study” Accepted. “the earliest paper in this population”
F25 Section lead ignores the bait and injected-form designs Accepted
F26 Mailbox row dates Accepted. Both readings given

Re-check of the changed passages (sonnet)

3 defects, 4 imprecisions, 5 nits; all accepted except the Datatilsynet date (not confirmable, the row now says 2025) and the Kubicek base ambiguity (already stated). Defects: the Kieserman open question (it re-inspected 219 disagreeing sites and found collection on 36.1%: part of the gap is its own detector); “introduction” reverted to “abstract” for the Kats 81.3% pairing (the round-1 figures finding that caused the change was wrong); Torres' results section uses the 616 (35% of connected DApps), the 1,572 is the introduction's summary. Imprecisions fixed: Table 6 “gives” 0.5% → its counts work out to 0.5%; Leung's recipients named as the paper names them; the IMY row now quotes the Apoteket decision (AAM activated by individual employees without a risk assessment) and IMY's announcement (no routines to detect it; stopped after outsiders told them) — both checked by the external script; the Kieserman “proxy” sentence paraphrases the authors' own sentence. No further review round was run: the session was stopped for quota.

Report output, unedited

node scripts/report_pii_leakage.mjs --bib <fresh export of literature:bibliography> > scripts/report_pii_leakage-output.txt — deterministic, ~20 s. Needs out/pii/email_tracking_live.txt (raw export of privacy:email_tracking) and notes/pii_audit_second_reader.tsv.

report_pii_leakage-output.txt
frozen corpus: 5859 records extracted before 2026-10-08T00:00:00Z; ignored: 105 records extracted later (IEEE-SP 2021, IEEE-SP 2023, IEEE-SP 2024, IMC 2026)
 
=== PASS A — candidate probes (full text, paper-counted) ===
papers in extraction: 5859; with paper.cols.txt: 5855; missing: 4; with paper.norm.txt: 5859
probe                                               rendering                             threshold       papers
--------------------------------------------------  ------------------------------------  --------------  ------
GAP (2026-09-22 gap pass, as run)                   paper.norm.txt, raw                   >= 5 hits       218
  of which platform web                                                                                   76
  of which 2024–2026                                                                                      96
GAP (same regex)                                    paper.cols.txt, whitespace-collapsed  >= 5 hits       226
LEAK (flow × personal × recipient sentences)        paper.cols.txt, collapsed             >= 3 sentences  108
SEC (sector/special category × tracking sentences)  paper.cols.txt, collapsed             >= 3 sentences  51
UNION = candidate set                                                                                     314
GAP only: 170; LEAK only: 46; SEC only: 34; in all three: 7
 
=== PASS B — hand verdicts over the candidate set ===
A candidate is IN if both hold:
 (A) the paper's own data shows PERSONAL DATA — a value that identifies or
     describes a person: name, email address, phone, postal address,
     credentials, typed form input, a payment or wallet identifier, health,
     financial or search content, or a hash or encoding of any of these —
     leaving a web page (desktop or mobile web) for a party other than the site
     operator, or shows the tag configuration or code that sends it; OR it
     measures third-party tracking specifically on pages whose visit itself
     discloses a GDPR special-category attribute (health, sex life or sexual
     orientation, religion, politics) and frames the flow as that disclosure;
 (B) it observes deployed sites or services (crawl, manual audit, real users'
     traffic), or deploys its own site to see what a real third party receives.
Pseudonymous identifiers alone (cookie IDs, fingerprints, ID syncing) are NOT
personal data for this rule; neither is the page URL, unless the paper
measures personal or sensitive content inside it.
A candidate is CONTEXT if it is one of: the same flow measured without
personal data in it (channel), personal data collected by the first party with
no third-party recipient measured (firstparty), what a recipient platform does
with PII it already holds (downstream), a leak-detection method evaluated on
code or on non-web platforms (method), or a channel that links a web visit to
an identity without sending a personal-data value (linkage).
Everything else is OUT, with a code saying where it belongs.
The leaking party must be code the SITE embedded (or the site itself sending
to a third party). The browser or an extension leaking is OUT (client).
 
candidates: 314; IN 20 (6.4%); CONTEXT 10 (3.2%); OUT 284 (90.4%)
 
OUT, by code (papers):
code        papers  meaning
----------  ------  -----------------------------------------------------------------------------------------------
mobile      85      app / IoT / VR / voice data flows with no web page measured — design:mobile_and_app_measurement
perception  43      user study; no flow measured
security    33      attack, side channel or vulnerability: data reaches an attacker, not a party the site chose
mention     24      personal data mentioned in passing; the paper is about something else
llm         21      PII in or extracted from ML models, LLM apps or agents
homograph   15      "PII", "leak", "honey" or "health" in another sense (images, record linkage, crypto)
breach      14      credential dumps, secrets, breaches, doxing, people-search: data exposed, not sent by a page
tracking    11      pseudonymous tracking or third-party presence only; no personal-data content measured
policy      10      privacy-policy or disclosure text only
client      8       the browser or an extension leaks, not code the site embedded — privacy:browser_extensions
email       7       message channel (mail, SMS, contact discovery) — privacy:email_tracking
dsr         5       data-subject requests or opt-out signals — privacy:data_subject_rights
adtarget    5       ad targeting mechanics — privacy:advertising
defence     3       a system evaluated without a leak measurement
 
CONTEXT, by code (papers):
code        papers  meaning
----------  ------  ------------------------------------------------------------------------------------------------------
channel     4       the same flow measured without personal data in it
firstparty  1       personal data collected by the first party; no third-party recipient measured
downstream  2       what a recipient platform does with PII it already holds (privacy:email_tracking, privacy:advertising)
method      2       a leak-detection method evaluated on code or on non-web platforms
linkage     1       links a web visit to an identity without sending a personal-data value
 
Precision and recall of each probe against the hand audit:
probe  hits  IN  precision  CONTEXT  recall of the IN set
-----  ----  --  ---------  -------  --------------------
GAP    226   13  5.8%       10       13 of 20 (65.0%)
LEAK   108   16  14.8%      7        16 of 20 (80.0%)
SEC    51    9   17.6%      0        9 of 20 (45.0%)
union  314   20  6.4%       10       20 of 20 (100.0%)
IN papers the GAP probe misses: 7: IMC/2018/tracing-cross-border-web-tracking, IMC/2019/tales-from-the-porn-a-comprehensive-privacy-analysis-of-the-web-porn-ecosystem, IMC/2024/diffaudit-auditing-privacy-practices-of-online-services-for-children-and-adolesc, PETS/2021/the-cname-of-the-game-large-scale-analysis-of-dns-based-tracking-evasion, PETS/2022/checking-websites-gdpr-consent-compliance-for-marketing-emails, USENIX/2022/when-sally-met-trackers-web-tracking-from-the-users-perspective, USENIX/2023/is-your-wallet-snitching-on-you-an-analysis-on-the-privacy-implications-of-web3
GAP hits with platform web: 79; of those IN: 13; CONTEXT: 9
GAP hits by verdict: OUT:mobile 61, OUT:security 27, OUT:perception 24, OUT:llm 20, OUT:mention 18, OUT:breach 14, IN 13, OUT:homograph 10, CONTEXT 10, OUT:client 5, OUT:email 5, OUT:adtarget 5, OUT:tracking 4, OUT:policy 4, OUT:dsr 4, OUT:defence 2
 
Top 20 GAP hits by hit count, with verdict:
   379  OUT:llm	IEEE-SP/2023/analyzing-leakage-of-personally-identifiable-information-in-language-models
   353  OUT:llm	USENIX/2025/effective-pii-extraction-from-llms-through-augmented-few-shot-learning
   302  IN	CCS/2025/piixel-leaks-passive-identification-of-personally-identifiable-information-leaka
   257  OUT:homograph	PETS/2024/privacylens-on-device-pii-removal-from-rgb-images-using-thermally-enhanced-sensi
   225  CONTEXT:downstream	PETS/2019/investigating-sources-of-pii-used-in-facebook-s-targeted-advertising
   220  OUT:llm	USENIX/2025/private-investigator-extracting-personally-identifiable-information-from-large-l
   219  IN	PETS/2025/tracker-installations-are-not-created-equal-understanding-tracker-configuration
   205  OUT:breach	PETS/2025/measuring-the-accuracy-and-effectiveness-of-pii-removal-services
   189  OUT:breach	CCS/2016/targeted-online-password-guessing-an-underestimated-threat
   189  OUT:homograph	WWW/2026/privsniffer-graph-based-contextual-privacy-leakage-detection-for-user-generated
   172  OUT:perception	WWW/2013/your-browsing-behavior-for-a-big-mac-economics-of-personal-information-online
   144  IN	PETS/2016/are-you-sure-you-want-to-contact-us-quantifying-the-leakage-of-pii-via-website-c
   134  OUT:breach	CCS/2017/data-breaches-phishing-or-malware-understanding-the-risks-of-stolen-credentials
   133  OUT:security	USENIX/2025/password-guessing-using-large-language-models
   132  OUT:security	IEEE-SP/2022/how-to-attack-and-generate-honeywords
   121  CONTEXT:downstream	IEEE-SP/2018/privacy-risks-with-facebooks-pii-based-targeting-auditing-a-data-brokers-adverti
   120  OUT:security	IEEE-SP/2025/rankguess-password-guessing-using-adversarial-ranking
   117  OUT:mobile	NDSS/2024/maginot-line-assessing-a-new-cross-app-threat-to-pii-as-factor-authentication-in-chinese-mobile-apps
   108  IN	IMC/2016/should-you-use-the-app-for-that-comparing-the-privacy-implications-of-app-and-we
    85  OUT:llm	PETS/2026/ai-in-the-loop-privacy-preserving-real-time-scam-detection-and-conversational-sc
of the top 20: IN 4, OUT:llm 4
 
=== PASS C — the IN population ===
  2016 IMC     [page,url] [canary,manual] general    Characterizing Website Behaviors Across Logged-in and Not-logged-in Users.
  2016 IMC     [traffic] [canary,manual] general    Should You Use the App for That?: Comparing the Privacy Implications of App- and Web-based Online Services.
  2016 PETS    [form,url] [canary,differential,manual] general    Are You Sure You Want to Contact Us? Quantifying the Leakage of PII via Website Contact Forms
  2017 PETS    [url,traffic] [canary,encsearch] general    Cross-Device Tracking: Measurement and Disclosures
  2018 IMC     [visit] [passive] sensitive  Tracing Cross Border Web Tracking.
  2018 PETS    [url,traffic] [canary,manual] finance    When the cookie meets the blockchain: Privacy risks of web payments via cryptocurrencies
  2019 IMC     [visit] [presence] adult      Tales from the Porn: A Comprehensive Privacy Analysis of the Web Porn Ecosystem.
  2020 PETS    [form,page,replay] [canary,encsearch,instrument] general    No boundaries: data exfiltration by third parties embedded on web pages
  2021 PETS    [page,traffic] [canary,manual] general    The CNAME of the Game: Large-scale Analysis of DNS-based Tracking Evasion
  2022 PETS    [serverside] [canary] general    Checking Websites’ GDPR Consent Compliance for Marketing Emails
  2022 PETS    [url] [canary,encsearch] general    Who Knows I Like Jelly Beans? An Investigation Into Search Privacy
  2022 USENIX  [form] [canary,encsearch,instrument] general    Leaky Forms: A Study of Email and Password Exfiltration Before Form Submission
  2022 USENIX  [visit] [passive] sensitive  When Sally Met Trackers: Web Tracking From the Users' Perspective
  2023 USENIX  [traffic] [canary,encsearch] finance    Is Your Wallet Snitching On You? An Analysis on the Privacy Implications of Web3
  2023 WWW     [visit] [presence,static] sensitive  The Hitchhiker's Guide to Facebook Web Tracking with Invisible Pixels and Click IDs.
  2024 IEEE-SP [serverside] [canary,manual] politics   Understanding the Privacy Practices of Political Campaigns: A Perspective from the 2020 US Election Websites.
  2024 IMC     [traffic] [llm,manual] children   DiffAudit: Auditing Privacy Practices of Online Services for Children and Adolescents.
  2025 CCS     [event,url] [static,manual] general    PIIxel Leaks: Passive Identification of Personally Identifiable Information Leakage through Meta Pixel.
  2025 PETS    [traffic,event] [canary,manual] employment Gig Work at What Cost? Exploring Privacy Risks of Gig Work Platform Participation in the U.S.
  2025 PETS    [form,event] [static,manual,canary,encsearch] general    Tracker Installations Are Not Created Equal: Understanding Tracker Configuration of Form Data Collection
 
IN papers per bucket:
bucket      years  IN papers  per year  corpus papers  per 1,000 corpus papers
----------  -----  ---------  --------  -------------  -----------------------
2010–2013   4      0          0.00      511            0.0
2014–2017   4      4          1.00      769            5.2
2018–2021   4      5          1.25      1439           3.5
2022–2024   3      8          2.67      1955           4.1
2025–2026*  2      3          1.50      1185           2.5
IN papers per year: 2016 3, 2017 1, 2018 2, 2019 1, 2020 1, 2021 1, 2022 4, 2023 2, 2024 2, 2025* 3
 
By venue, as a share of that venue's papers:
venue    IN  venue papers  share
-------  --  ------------  -----
PETS     9   510           1.8%
IMC      5   638           0.8%
USENIX   3   1410          0.2%
CCS      1   990           0.1%
IEEE-SP  1   767           0.1%
WWW      1   843           0.1%
NDSS     0   701           0.0%
 
Channel (multi-valued; papers):
channel     papers  first–latest  per bucket         meaning
----------  ------  ------------  -----------------  ------------------------------------------------------------------------------------------------------------
form        4       2016–2025     0 / 1 / 1 / 1 / 1  typed or autofilled form input, before or on submit
url         6       2016–2025     0 / 3 / 1 / 1 / 1  in the URL, Referer or link decoration (incl. search terms)
event       3       2025–2025     0 / 0 / 0 / 0 / 3  tag / pixel event parameters (advanced matching, custom data, hashed identifiers)
page        3       2016–2021     0 / 1 / 2 / 0 / 0  personal data rendered on the page (logged-in DOM, cookies) and read by a third party
replay      1       2020–2020     0 / 0 / 1 / 0 / 0  session-replay / DOM-recording scripts
traffic     7       2016–2025     0 / 2 / 2 / 2 / 1  any outgoing request content, classified by data type
serverside  2       2022–2024     0 / 0 / 0 / 2 / 0  leaves via the site operator's own server (list sharing, Conversions API) — invisible to a client-side crawl
visit       4       2018–2023     0 / 0 / 2 / 2 / 0  the visit itself discloses a special-category attribute
 
Detection method (multi-valued; papers):
method        papers  first–latest  per bucket         meaning
------------  ------  ------------  -----------------  ------------------------------------------------------------------------------------------------------------------------
canary        14      2016–2025     0 / 4 / 3 / 5 / 2  typed or seeded values the researchers control (synthetic identity, unique address per site)
encsearch     6       2017–2025     0 / 1 / 1 / 3 / 1  searched outgoing traffic for encodings and hashes of those values
instrument    2       2020–2022     0 / 0 / 1 / 1 / 0  instrumented the page (hooks on input access, DOM reads, taint)
static        3       2023–2025     0 / 0 / 0 / 1 / 2  read the tag configuration or code (fbq calls, gtag config, pixel settings)
manual        10      2016–2025     0 / 3 / 2 / 2 / 3  manual traffic inspection / auditing
passive       2       2018–2022     0 / 0 / 1 / 1 / 0  real users' traffic or telemetry
llm           1       2024–2024     0 / 0 / 0 / 1 / 0  LLM classification of data types in traffic
differential  1       2016–2016     0 / 1 / 0 / 0 / 0  varied the seeded value between otherwise identical runs and diffed the traffic, to catch transformations it cannot name
presence      2       2019–2023     0 / 0 / 1 / 1 / 0  recorded which third parties load on the page (crawl), no personal-data value searched
 
Sector (one per paper):
sector      papers
----------  ------
general     11
health      0
finance     2
politics    1
children    1
employment  1
adult       1
sensitive   3
canary without a stated encoding search: 8: IMC/2016/characterizing-website-behaviors-across-logged-in-and-not-logged-in-users, IMC/2016/should-you-use-the-app-for-that-comparing-the-privacy-implications-of-app-and-we, PETS/2016/are-you-sure-you-want-to-contact-us-quantifying-the-leakage-of-pii-via-website-c, PETS/2018/when-the-cookie-meets-the-blockchain-privacy-risks-of-web-payments-via-cryptocur, PETS/2021/the-cname-of-the-game-large-scale-analysis-of-dns-based-tracking-evasion, PETS/2022/checking-websites-gdpr-consent-compliance-for-marketing-emails, IEEE-SP/2024/understanding-the-privacy-practices-of-political-campaigns-a-perspective-from-th, PETS/2025/gig-work-at-what-cost-exploring-privacy-risks-of-gig-work-platform-participation
platform (multi-valued) of the 20: web 20, mobile 3, other-online-service 6
 
=== PASS D — which encodings each IN paper says it searched (hand map; deciding quotes checked by verify_pii_figures.mjs) ===
year  venue    paper                                         status          encodings / transformations searched
----  -------  --------------------------------------------  --------------  ----------------------------------------------------------------------------------
2016  PETS     are-you-sure-you-want-to-contact-us-quantify  stated          plain
2016  IMC      characterizing-website-behaviors-across-logg  not-stated
2016  IMC      should-you-use-the-app-for-that-comparing-th  not-stated
2017  PETS     cross-device-tracking-measurement-and-disclo  stated          plain, md5, sha1, sha256, base64
2018  IMC      tracing-cross-border-web-tracking             not-applicable
2018  PETS     when-the-cookie-meets-the-blockchain-privacy  not-stated
2019  IMC      tales-from-the-porn-a-comprehensive-privacy-  not-applicable
2020  PETS     no-boundaries-data-exfiltration-by-third-par  stated          plain, urlenc, base64, md5, sha1, sha256, sha_other, other_hash, compress, chained
2021  PETS     the-cname-of-the-game-large-scale-analysis-o  reported        plain
2022  PETS     checking-websites-gdpr-consent-compliance-fo  not-applicable
2022  USENIX   leaky-forms-a-study-of-email-and-password-ex  stated          plain, urlenc, base64, md5, sha1, sha256, sha_other, other_hash, compress, chained
2022  USENIX   when-sally-met-trackers-web-tracking-from-th  not-applicable
2022  PETS     who-knows-i-like-jelly-beans-an-investigatio  stated          plain, base64
2023  USENIX   is-your-wallet-snitching-on-you-an-analysis-  stated          plain, urlenc, base64, compress, md5, sha256, other_hash, chained
2023  WWW      the-hitchhikers-guide-to-facebook-web-tracki  not-applicable
2024  IMC      diffaudit-auditing-privacy-practices-of-onli  not-applicable
2024  IEEE-SP  understanding-the-privacy-practices-of-polit  not-applicable
2025  PETS     gig-work-at-what-cost-exploring-privacy-risk  reported        plain, sha256
2025  CCS      piixel-leaks-passive-identification-of-perso  not-applicable
2025  PETS     tracker-installations-are-not-created-equal-  stated          sha256, base64
 
Papers that state each transformation (of the IN papers):
transformation  papers  meaning
--------------  ------  ------------------------------------------------------
plain           8       the value as typed
urlenc          3       URL / percent-encoding
base64          6       Base64
md5             4       MD5
sha1            3       SHA-1
sha256          6       SHA-256
sha_other       2       other SHA-2 / SHA-3 / hash families
other_hash      3       other named hashes or checksums (e.g. CRC, MurmurHash)
compress        3       compression (gzip, deflate, LZString …)
chained         3       nested / chained combinations of the above
normalise       0       normalisation before hashing (lower-case, trim, E.164)
status: stated 7, reported 2, not-stated 3, not-applicable 8 (of 20)
IN papers that search traffic for a value (status is not 'not-applicable'): 12; of those, state what they searched: 7; name a transformation only as a finding: 2; name none: 3
of those, state a search beyond the plain value: 6 (PETS 2017, PETS 2020, PETS 2022, USENIX 2022, USENIX 2023, PETS 2025)
name at least one hash: 6; name a chained / nested search: 3; name normalisation before hashing: 0
 
Grouped as on the page (years = first–latest IN paper in the group):
group                                                                     papers  years      who
------------------------------------------------------------------------  ------  ---------  --------------------------------------------------------------------------------------
1 the plain value only, or no transformation named (incl. reported-only)  6       2016–2025  IMC 2016, IMC 2016, PETS 2016, PETS 2018, PETS 2021, PETS 2025
2 Base64 (or another encoding) only                                       1       2022–2022  PETS 2022
3 hashes and encodings, no chaining stated                                1       2017–2017  PETS 2017
4 the vendor's own hash only                                              1       2025–2025  PETS 2025
5 a pool of encodings, hashes and compressions, chained                   3       2020–2023  PETS 2020, USENIX 2022, USENIX 2023
6 no value searched (a visit, a configuration, a mailbox, or key names)   8       2018–2025  CCS 2025, IEEE-SP 2024, IMC 2018, IMC 2019, IMC 2024, PETS 2022, USENIX 2022, WWW 2023
full-text check: IN papers with normalisation vocabulary within 150 characters of a hash name: 0
guard: the 'encsearch' method tag and the ENCODINGS map agree on all 20 IN papers (6 search beyond the plain value)
 
Encodings by bucket (papers that search beyond the plain value / value-leak IN papers):
bucket      search beyond plain  value-leak IN papers
----------  -------------------  --------------------
2010–2013   0                    0
2014–2017   1                    4
2018–2021   1                    3
2022–2024   3                    3
2025–2026*  1                    2
 
=== PASS E — extraction fields on the IN papers, against the corpus baseline on the same denominator ===
indicator                                                         IN papers          corpus baseline
----------------------------------------------------------------  -----------------  --------------------
crawlConfig.statefulness stated (papers with a crawl config)      6 of 16 (37.5%)    219 of 1080 (20.3%)
crawlConfig.consentAction stated (papers with a crawl config)     9 of 16 (56.3%)    349 of 1080 (32.3%)
crawlConfig.headless stated (papers with a crawl config)          7 of 16 (43.8%)    140 of 1080 (13.0%)
crawlConfig.interactionDepth stated (papers with a crawl config)  16 of 16 (100.0%)  841 of 1080 (77.9%)
crawlConfig.authentication stated (papers with a crawl config)    15 of 16 (93.8%)   779 of 1080 (72.1%)
vantage location stated (papers with a vantage record)            12 of 20 (60.0%)   1228 of 3908 (31.4%)
ethics.reviewOutcome stated (empirical papers)                    4 of 20 (20.0%)    1728 of 5118 (33.8%)
ethics.notifiedAffectedParties stated (empirical papers)          13 of 20 (65.0%)   2354 of 5118 (46.0%)
ethics.regulatorContact stated (empirical papers)                 4 of 20 (20.0%)    2129 of 5118 (41.6%)
ethics.harmMitigation stated (empirical papers)                   17 of 20 (85.0%)   3186 of 5118 (62.3%)
artifacts.availability stated (empirical papers)                  13 of 20 (65.0%)   2890 of 5118 (56.5%)
  IN crawlConfig.statefulness: not-stated 10, stateless 3, stateful 2, both 1
  IN crawlConfig.consentAction: no-interaction 7, not-stated 7, accept-all 1, accept-and-reject 1
  IN crawlConfig.headless: not-stated 9, headless 4, headful 2, both 1
  IN crawlConfig.interactionDepth: landing-plus-subpages 8, landing-page-only 5, single-target-page 2, deep-crawl 1
  IN crawlConfig.authentication: none 11, account-registration 2, automated-login 1, manual-login 1, not-stated 1
  IN ethics.reviewOutcome: none-mentioned 16, explicitly-discussed-no-review 3, sought-outcome-unstated 1
  IN ethics.notifiedAffectedParties: yes 7, not-stated 5, partial 5, not-applicable 2, no 1
  IN ethics.regulatorContact: not-stated 16, no 3, yes 1
  IN artifacts.availability: public 11, none-mentioned 7, on-request 1, promised-not-yet-available 1
assessed a law (legal[] non-empty): IN 8 of 20 (40.0%); corpus 402 of 5859 (6.9%)
assessed a law, same denominator: empirical baseline 388 of 5118 (7.6%)
  laws (paper-counted, unfolded, as extracted): GDPR 5, COPPA 2, Act against Unfair Competition (UWG) 1, CCPA 1, Digital Economy Act 2017 1, ePrivacy 1, ePrivacy directive 1, ePrivacy Directive 1, German Telemedia Act (TMG) 1, Gramm-Leach-Bliley Act 1, HIPPA 1
IN papers that are empirical: 20 of 20; with a crawl config: 16; with a vantage record: 20
 
=== PASS F — citekeys, and the overlap with privacy:email_tracking ===
every IN and CONTEXT paper (30) has exactly one citekey, present in out/pii/bib_live.txt with a matching title
privacy:email_tracking cites 72 distinct keys; of them IN here: 5 (starov2016_sure, acar2020_noboundaries, kubicek2022_emails, senol2022_leaky, kieserman2025_tracker); CONTEXT here: 3 (venkatadri2018_privacy, venkatadri2019_investigating, farooqi2020_canarytrap)
IN papers NOT cited on privacy:email_tracking: 15 of 20
IN papers whose title names email: 2; IN papers with the form channel: 4; with no form channel: 16
 
=== PASS G — second reader: an independent re-adjudication of every CONTEXT verdict and every web-platform OUT verdict ===
  moved by the full-text reading after the audit list was frozen: IN -> CONTEXT:channel (identifiers and IP only, no hashed email or phone); now CONTEXT:channel	PETS/2024/client-side-and-server-side-tracking-on-meta-effectiveness-and-accuracy
  moved by the full-text reading after the audit list was frozen: IN -> CONTEXT:channel (email-triggered decorations counted, the email value never shown leaving); now CONTEXT:channel	USENIX/2024/purl-safe-and-effective-sanitization-of-link-decoration
  moved by the full-text reading after the audit list was frozen: IN -> CONTEXT:channel (key-name matching finds IDs and the crawler IP, no personal-data value); now CONTEXT:channel	WWW/2021/websocket-adoption-and-the-landscape-of-the-real-time-web
audited: 97; agreed with the first verdict: 91; same level, different code: 4; different level: 2
  OUT:email -> second reader IN (borderline); now IN	PETS/2022/checking-websites-gdpr-consent-compliance-for-marketing-emails
  OUT:tracking -> second reader IN; now IN	USENIX/2022/when-sally-met-trackers-web-tracking-from-the-users-perspective
level disagreements accepted: 2 of 2
OUT verdicts never seen by the second reader (extraction does not list the web platform): 196 of 284; audited OUT now: 88
  code-only, first verdict kept: OUT:email (second reader OUT:security; now OUT:email)	IEEE-SP/2016/sending-out-an-sms-characterizing-the-security-of-the-sms-ecosystem-with-public
  code-only, first verdict kept: OUT:homograph (second reader OUT:security; now OUT:homograph)	IMC/2018/an-empirical-study-of-the-i2p-anonymity-network-and-its-censorship-resistance
  code-only, first verdict kept: OUT:homograph (second reader OUT:security; now OUT:homograph)	IMC/2020/analyzing-third-party-service-dependencies-in-modern-web-services-have-we-learne
  code-only, first verdict kept: OUT:homograph (second reader OUT:llm; now OUT:homograph)	WWW/2026/privsniffer-graph-based-contextual-privacy-leakage-detection-for-user-generated
 
=== PASS H — web PII-leak papers in the venue index that are NOT in the extraction ===
index records: 16963 = 16,864 counted by literature:corpus + 99 IMC 2026 records added to the index on 2026-10-08 (not extracted)
title-probe hits not in the extraction: 50
code  papers  meaning
----  ------  ----------------------------------------------------------------------------------------------------------------------------------------
S     1       a web PII-leak measurement this page would have counted
C     1       a channel that carries personal data, measured without it (CONTEXT)
M     3       mobile / app PII-leak detection (method context)
X     45      off topic: side channels, ML and federated-learning leakage, images, kernel and hardware leaks, crypto, health analytics, search engines
  S extracted-after-freeze IMC 2026  PixelConfig: Longitudinal Measurement and Reverse-Engineering of Meta Pixel Configurations
  M venue-year-unlabelled  NDSS 2011  PiOS: Detecting Privacy Leaks in iOS Applications
  M venue-year-unlabelled  NDSS 2016  The Price of Free: Privacy Leakage in Personalized Mobile In-Apps Ads
  M venue-year-unlabelled  NDSS 2018  Bug Fixes, Improvements, … and Privacy Leaks – A Longitudinal Study of PII Leaks Across Android App Versions
  C venue-year-unlabelled  PETS 2012  Exploring the Ecosystem of Referrer-Anonymizing Services
all 50 hits by status: screened-out 39, venue-year-unlabelled 6, no-abstract 3, extracted-after-freeze 2
every X hit, by title:
  X screened-out           CCS 2020  Analyzing Information Leakage of Updates to Natural Language Models.
  X screened-out           PETS 2024  Anonify: Decentralized Dual-level Anonymity for Medical Data Donation
  X screened-out           WWW 2021  Communication Efficient Federated Generalized Tensor Factorization for Collaborative Health Data Analytics.
  X screened-out           WWW 2021  Completing Missing Prevalence Rates for Multiple Chronic Diseases by Jointly Leveraging Both Intra- and Inter-Disease Population Health Data Correlations.
  X screened-out           USENIX 2017  Computer Security, Privacy, and DNA Sequencing: Compromising Computers with Synthesized DNA, Privacy Leaks, and More
  X screened-out           CCS 2017  Deep Models Under the GAN: Information Leakage from Collaborative Deep Learning.
  X screened-out           CCS 2017  Defending Against Key Exfiltration: Efficiency Improvements for Big-Key Cryptography via Large-Alphabet Subkey Prediction.
  X screened-out           PETS 2026  Enabling Personal Dataflow Sovereignty via Bolt-on Data Escrow
  X screened-out           CCS 2018  End-to-End Secure Mobile Group Messaging with Conversation Integrity and Minimal Metadata Leakage.
  X screened-out           WWW 2010  Exploring web scale language models for search query processing.
  X no-abstract            WWW 2026  Fast or Secure? Push the Limit of Privacy Leakage Threat via Charging Side-Channel Attacks.
  X screened-out           USENIX 2024  Go Go Gadget Hammer: Flipping Nested Pointers for Arbitrary Data Leakage
  X screened-out           PETS 2026  Gradient-Free Privacy Leakage in Federated Language Models through Selective Weight Tampering
  X screened-out           USENIX 2015  GSMem: Data Exfiltration from Air-Gapped Computers over GSM Frequencies
  X no-abstract            NDSS 2013  How Privacy Leaks From Bluetooth Mouse
  X venue-year-unlabelled  NDSS 2011  HTTPOS: Sealing Information Leaks with Browser-side Obfuscation of Encrypted Flows
  X screened-out           WWW 2019  Inferring Search Queries from Web Documents via a Graph-Augmented Sequence to Attention Network.
  X screened-out           CCS 2020  Information Leakage in Embedding Models.
  X screened-out           CCS 2014  Information Leaks Without Memory Disclosures: Remote Side Channel Attacks on Diversified Code.
  X screened-out           IEEE-SP 2022  Mitigating Information Leakage Vulnerabilities with Type-based Data Isolation.
  X screened-out           CCS 2012  Model-based context privacy for personal data streams.
  X screened-out           CCS 2018  Not All Pixels are Born Equal: An Analysis of Evasion Attacks under Locality Constraints.
  X venue-year-unlabelled  NDSS 2018  OS-level Side Channels without Procfs: Exploring Cross-App Information Leakage on iOS
  X screened-out           WWW 2024  Perceptions in Pixels: Analyzing Perceived Gender and Skin Tone in Real-world Image Search Results.
  X screened-out           USENIX 2025  Phantom Trails: Practical Pre-Silicon Discovery of Transient Data Leaks
  X screened-out           WWW 2026  PIXEL: Adaptive Steering Via Position-wise Injection with eXact Estimated Levels under a Subspace Calibration.
  X screened-out           USENIX 2020  Pixel: Multi-signatures for Consensus
  X screened-out           USENIX 2024  Pixel+ and Pixel++: Compact and Efficient Forward-Secure Multi-Signatures for PoS Blockchain Consensus
  X screened-out           CCS 2025  Pixnapping: Bringing Pixel Stealing out of the Stone Age.
  X screened-out           CCS 2014  POSTER: Protecting Against Data Exfiltration Insider Attacks Through Application Programs.
  X screened-out           CCS 2025  Poster: Recapture Detection Using Disparity Map Obtained from Dual-Pixel Image Sensors.
  X screened-out           CCS 2014  POSTER: Recommendation-based Third-Party Tracking Monitor to Balance Privacy with Personalization.
  X no-abstract            IEEE-SP 2026  PrintSpy: Pixel-Level Eavesdropping on Commodity Laser Printers via Electromagnetic Side Channels.
  X screened-out           PETS 2019  Privacy-Preserving Similar Patient Queries for Combined Biomedical Data
  X screened-out           PETS 2019  Reducing Metadata Leakage from Encrypted Files and Communication with PURBs
  X screened-out           NDSS 2022  ScriptChecker: To Tame Third-party Script Execution With Task Capabilities
  X screened-out           WWW 2023  SeqCare: Sequential Training with External Medical Knowledge Graph for Diagnosis Prediction in Healthcare Data.
  X screened-out           CCS 2015  Static Detection of Packet Injection Vulnerabilities: A Case for Identifying Attacker-controlled Implicit Information Leaks.
  X extracted-after-freeze IMC 2026  The Silent Spill: Measuring Sensitive Data Leaks Across Public URL Repositories
  X screened-out           PETS 2025  TimberStrike: Dataset Reconstruction Attack Revealing Privacy Leakage in Federated Tree-Based Systems
  X screened-out           PETS 2024  TMI! Finetuned Models Leak Private Information from their Pretraining Data
  X screened-out           CCS 2016  UniSan: Proactive Kernel Memory Initialization to Eliminate Data Leakages.
  X screened-out           PETS 2025  Unveiling Client Privacy Leakage from Public Dataset Usage in Federated Distillation
  X screened-out           CCS 2018  Unveiling Hardware-based Data Prefetcher, a Hidden Source of Information Leakage.
  X screened-out           WWW 2019  VACCINE: Using Contextual Integrity For Data Leakage Detection.
 
web-platform papers IN the extraction whose title matches the same probe but which no full-text probe selected: 28
  2012 WWW     Answering search queries with CrowdSearcher.
  2012 CCS     How privacy leaks from bluetooth mouse?
  2012 NDSS    You are what you like! Information leakage through users’ Interests
  2013 CCS     A footprint of third-party tracking on mobile web.
  2013 CCS     Cross-origin pixel stealing: timing attacks using CSS filters.
  2015 WWW     Automatic Detection of Information Leakage Vulnerabilities in Browser Extensions.
  2015 CCS     Face/Off: Preventing Privacy Leakage From Photos in Social Networks.
  2017 PETS    Fingerprinting Keywords in Search Queries over Tor
  2018 CCS     Measuring Information Leakage in Website Fingerprinting Attacks and Defenses.
  2018 USENIX  Unveiling and Quantifying Facebook Exploitation of Sensitive Personal Data for Advertising Purposes
  2020 PETS    Missed by Filter Lists: Detecting Unknown Third-Party Trackers with Invisible Pixels
  2021 NDSS    Awakening the Web’s Sleeper Agents: Misusing Service Workers for Privacy Leakage
  2021 PETS    Domain name encryption is not enough: privacy leakage via IP-based website fingerprinting
  2022 PETS    Personal information inference from voice recordings: User awareness and privacy concerns
  2022 WWW     WebFormer: The Web-page Transformer for Structure Information Extraction.
  2023 IEEE-SP Blue Is the New Black (Market): Privacy Leaks and Re-Victimization from Police-Auctioned Cellphones.
  2023 USENIX  Hot Pixels: Frequency, Power, and Temperature Attacks on GPUs and Arm SoCs
  2023 IEEE-SP RuleKeeper: GDPR-Aware Personal Data Compliance for Web Frameworks.
  2023 PETS    SenRev: Measurement of Personal Information Disclosure in Online Health Communities
  2023 IEEE-SP The Leaky Web: Automated Discovery of Cross-Site Information Leaks in Browsers and the Web.
  2023 USENIX  The Writing on the Wall and 3D Digital Twins: Personal Information in (not so) Private Real Estate
  2024 NDSS    IdleLeak: Exploiting Idle State Side Effects for Information Leakage
  2024 USENIX  Pixel Thief: Exploiting SVG Filter Leakage in Firefox and Chrome
  2025 USENIX  Evaluating LLM-based Personal Information Extraction and Countermeasures
  2025 NDSS    Secret Spilling Drive: Leaking User Behavior through SSD Contention
  2025 PETS    Understanding Privacy Norms through Web Forms
  2026 NDSS    LOKI: Proactively Discovering Online Scam Websites by Mining Toxic Search Queries
  2026 WWW     TGNN: Enhancing Pixel Tracking Detection via LLM-driven Annotation and GAT-powered Structural Representation.
 
=== PASS I — method family by year, IN papers (multi-valued; 2025–2026 provisional) ===
year   IN papers  canary  encsearch  instrument  static  manual  passive  llm  differential  presence
-----  ---------  ------  ---------  ----------  ------  ------  -------  ---  ------------  --------
2010   0          0       0          0           0       0       0        0    0             0
2011   0          0       0          0           0       0       0        0    0             0
2012   0          0       0          0           0       0       0        0    0             0
2013   0          0       0          0           0       0       0        0    0             0
2014   0          0       0          0           0       0       0        0    0             0
2015   0          0       0          0           0       0       0        0    0             0
2016   3          3       0          0           0       3       0        0    1             0
2017   1          1       1          0           0       0       0        0    0             0
2018   2          1       0          0           0       1       1        0    0             0
2019   1          0       0          0           0       0       0        0    0             1
2020   1          1       1          1           0       0       0        0    0             0
2021   1          1       0          0           0       1       0        0    0             0
2022   4          3       2          1           0       0       1        0    0             0
2023   2          1       1          0           1       0       0        0    0             1
2024   2          1       0          0           0       2       0        1    0             0
2025*  3          2       1          0           2       3       0        0    0             0
2026*  0          0       0          0           0       0       0        0    0             0
 
=== PASS J — the per-paper measured results the extraction holds for the IN papers (detection[].prevalence; model summaries, not quotes) ===
 
  2025 CCS PIIxel Leaks: Passive Identification of Personally Identifiable Information Leakage through Meta Pixel.
    - Meta Pixel adoption | share of websites containing valid Meta Pixel | 187,257 (18.7%) of the 1M websites
    - PII leakage configuration | share of Meta Pixel websites tracking at least one PII parameter | 122,577 (65.45%) configurations
    - Full URL leakage | share of sampled websites reporting full URLs | 65.85% for E-commerce; 11.30% for Health
    - Contextual information leakage | number of website types and universities examined | 10 website types and two universities
    - PII-navigation association | χ² = 225.97, p < 0.001, Cramer's V = 0.130 | 58% of PII-collecting versus 44.6% of non-PII-collecting websites
 
  2024 IEEE-SP Understanding the Privacy Practices of Political Campaigns: A Perspective from the 2020 US Election Websites.
    - private data collection | share of campaign websites | 1462/2060 (70.97%) collected personal information
    - missing privacy disclosures | share of campaign websites | 1458/2060 (70.78%) lacked privacy disclosures
    - undisclosed data collection | share of analyzed policies | 209/507 (41.22%) did not fully disclose collected data
    - cross-campaign email sharing | campaigns sharing email | 8/26 (30.77%) shared emails with other political entities
    - malicious or phishing URLs | share of campaign websites | 17/2060 (0.82%) flagged unsafe by at least one engine
    - tracker presence | share of campaign websites | 1504/2060 (73.01%) used trackers
    - TLS usage | share of campaign websites | 168/2060 (8.16%) did not use HTTPS
    - offshore hosting | share of campaign websites | 53/2060 hosted outside the U.S.; 38 after removing major providers
 
  2016 IMC Characterizing Website Behaviors Across Logged-in and Not-logged-in Users.
    - Advertising and privacy concerns | average categorized FQDNs per page | Not-logged-in users encountered 5.9 ads and 6.3 privacy concerns per page on average.
    - PII leakage | percentage of websites leaking PII | 42% (144) of crawled websites revealed PII to a third party.
    - Third-party PII recipients | number of third-party domains receiving PII | 463 unique third parties received at least one piece of tracked PII; 52 received all six pieces.
    - PII desirability | leak rate and leak ratio | Age, gender, and zipcode had higher leak ratios than username, first name, and last name.
 
  2016 IMC Should You Use the App for That?: Comparing the Privacy Implications of App- and Web-based Online Services.
    - PII leakage | fraction of services leaking PII | 14% more services leak PII via apps than via Web sites
    - Third-party tracking | share of services with more Web A&A domains | 86% on Android and 84% on iOS
    - PII-type differences | share of services where Web leaked more types | Web sites leak more types in 40% of cases
    - Cross-platform PII overlap | Jaccard index | Web and app share no leaked PII types more than half the time
    - Password leakage | number of cases | Four cases of password leaks to third parties over HTTPS
    - A&A traffic overhead | share of services with extra Web connections | 74% of Android and 80% of iOS services
 
  2018 IMC Tracing Cross Border Web Tracking.
    - cross-border tracking flows | percentage of tracking flows | 84.9% of EU28-originating tracking flows terminated within EU28.
    - national tracking-flow confinement | country-level confinement percentage | UK confinement was 58.4%; Greece, Romania, and Cyprus were 6.77%, 5.1%, and 1.16%.
    - tracking flows in sensitive categories | share of total tracking flows | 127K requests, representing 2.89% of total tracking flows.
    - sensitive-flow border crossing | destination-continent percentage | 84.9% remained within EU28; porn, sexual orientation, and alcohol had 44%, 36%, and 33% leakage.
    - tracker IP coverage | number of tracking IPs and increase from passive DNS | 28,939 observed IPs plus 806 additional IPs from passive DNS, a 2.78% increase.
    - ISP tracking-flow confinement | EU28 confinement percentage | Confinement across ISP snapshots ranged from 76% to 93%.
 
  2019 IMC Tales from the Porn: A Comprehensive Privacy Analysis of the Web Porn Ecosystem.
    - third-party HTTP cookies | share of pornographic websites | 72% of the corpus contained third-party cookies
    - canvas fingerprinting | share of pornographic websites | 245 scripts in 315 websites; third-party services appeared in 4% of sites
    - cookie synchronization | share of pornographic websites | 2,867 websites, covering 58% of the top-100 popular sites
    - HTTPS support | share of websites not fully HTTPS | 4,663 websites (68%) were not fully HTTPS
    - potentially malicious domains | number of pornographic websites | 7 porn websites and 16 third-party services were classified as potentially malicious
    - privacy policies | share of pornographic websites | 16% had a privacy policy
    - cookie consent banners | share of pornographic websites | 4.41% in the EU and 3.76% in the USA
    - age-verification mechanisms | share of top-50 websites | 20% in the USA, UK, and Spain; 14% in Russia
 
  2024 IMC DiffAudit: Auditing Privacy Practices of Online Services for Children and Adolescents.
    - Outgoing network requests | number of outgoing packets | 440,513 outgoing packets
    - Data-type transmission | unique extracted data types | 3,968 unique data types
    - Data flows | unique data flows | 5,508 unique data flows
    - Pre-consent data processing | share of audited services | All services collected data before consent and age disclosure; all but one shared identifiers and personal information with third-party ATS.
    - Data linkability | counts of third parties receiving linkable data | All services except one sent linkable data types to third-party domains for all age groups and while logged out.
 
  2016 PETS Are You Sure You Want to Contact Us? Quantifying the Leakage of PII via Website Contact Forms
    - Contact-form discovery and submission | share of Alexa top 100K websites | 29.6% had a contact page; 17% had a located contact form; 82.5% of discovered forms were successfully submitted
    - Potential PII leakage | share of sites with more third-party JavaScript inclusions | 29% of sites with contact forms
    - Accidental PII leakage | share of submitted contact forms | 423 forms, or 2.5%, leaked PII to 3,573 unique third-party domains
    - Intentional PII leakage | share of submitted contact forms | 6.1% (1,035) of all submitted contact forms
    - Third-party email leakage | third-party emails received | 309 emails from domains the crawler never contacted
 
  2017 PETS Cross-Device Tracking: Measurement and Disclosures
    - Third-party domain exposure across devices | number of domains and share of sites | 861 domains saw users on at least one run on each device; 34.25 of 100 sites connected to leading probabilistic services
    - Personally identifying information sharing | share of websites | 16 of 100 sites shared an email address, username, or common hash with 60 third-party domains
    - Cookie syncing | domains and recipient domains | 106 domains transmitted cookie IDs to 210 different domains
    - Cross-device reuse of cookie values | detected instances | No third parties were detected using the same cookie values across multiple devices
    - Privacy-policy cross-device disclosures | share of policies | Only three sites provided specific information about enabling third-party cross-device tracking
    - Privacy-policy identifier disclosures | share of policies | 73 sites reserved broader rights to use and share non-personally identifiable information
    - Consumer-control disclosures | share of policies | 67 sites linked to industry self-regulatory controls; 50 mentioned no Do Not Track control
 
  2018 PETS When the cookie meets the blockchain: Privacy risks of web payments via cryptocurrencies
    - Sensitive payment-information leaks | share of merchants | 53/130 merchants leaked payment information to at least 40 third parties
    - Bitcoin address or price leakage | share of merchants | 17/130 merchants sent a Bitcoin address or BTC-denominated price to third parties
    - PII leakage | share of merchants | 49 merchants leaked PII to 137 third parties
    - Active script access to payment data | share of merchants | 107 sites granted third-party scripts access to transaction-relevant information
    - Single-transaction linkability | true-positive and true-negative rates | 76% true-positive rate and 62% true-negative rate under default parameters
    - CoinJoin cluster-intersection attack | attack success rate | Two observed transactions identified the wallet cluster with 89% success; three achieved 99%
    - End-to-end wallet deanonymization | successful purchase pairs | 20 of 25 purchase pairs enabled wallet identification
    - End-to-end transaction linkability | anonymity set size | Anonymity set size was 1 in 10 of 21 purchases
 
  2020 PETS No boundaries: data exfiltration by third parties embedded on web pages
    - login-manager credential exfiltration | scripts and sites | two scripts found on 1,110 Alexa top-million sites
    - social data exfiltration | scripts and sites | seven scripts on 434 Alexa top-million sites; six collected user IDs
    - whole-DOM exfiltration | scripts | 28 scripts identified; eight only by chunk injection
    - sensitive-data leakage in session replay | manually observed leak cases | passwords, medical, student, credit-card, billing, and prescription data observed
 
  2021 PETS The CNAME of the Game: Large-scale Analysis of DNS-based Tracking Evasion
    - CNAME-based tracking prevalence | share of websites | 9.98% of the top 10,000 websites employed at least one CNAME-based tracker.
    - CNAME-tracking growth | relative increase in publishers | 21% growth over 22 months, compared with −3% and −8% for comparison tracker groups.
    - Cookie leaks in HTTP headers | share of sites with leaks | 95% of sites with an identified CNAME tracker had one or more cookie leaks.
    - Sensitive information leakage | sites leaking sensitive information | 13 of 50 successfully registered sites leaked sensitive information.
    - Cookie leaks in POST bodies | number of leaked cookies and sites | 166 cookies on 94 distinct sites were sent in POST bodies.
    - Cookie leaks in request URLs | number of leaks and sites | 1,899 cookie leaks on 1,295 distinct sites.
    - Insecure CNAME tracking requests | number of websites | 19 websites requested active content over HTTP; 72 sent analytics over HTTP from HTTPS pages.
    - Tracker web vulnerabilities | number of vulnerable trackers | Two different trackers had vulnerabilities affecting publishers that included them.
 
  2022 PETS Checking Websites’ GDPR Consent Compliance for Marketing Emails
    - GDPR consent violations | share of websites | 17.3% of websites sending marketing emails had at least one potential violation.
    - Potential violations overall | share of websites | 21.9% of websites contained potential violations.
    - Email content violations | share of services | 17.7% of services sent emails potentially violating content requirements.
    - Double opt-in | share of websites sending emails | 59% first sent a double opt-in email.
    - Plaintext user passwords | share of websites | 2.3% sent the user-provided password in plaintext.
    - Missing unsubscribe or legal notice | share of emails | 16% of websites did not provide an unsubscribe method or legal notice.
    - Third-party email sharing | share of email addresses | 4.1% received emails from multiple senders.
    - Marketing versus servicing emails | classification accuracy | 96.8% correct on manually inspected emails.
 
  2022 PETS Who Knows I Like Jelly Beans? An Investigation Into Search Privacy
    - internal search functionality | number of domains | 512,701 sites had internal site search
    - search-term leakage | share of sites | 81.3% of websites containing internal site search sent search terms to third parties
    - Referer leakage | share of sites | 75.8%
    - URL query leakage | share of sites | 71%
    - payload leakage | share of sites | 21.2%
    - potential link-based leakage | share of sites | 87.4%
    - privacy-policy search-term mentions | share of English privacy policies | 13% explicitly mentioned search terms; about 75% mentioned generic information sharing
    - search-input detection accuracy | accuracy, precision, recall | 75.7% accuracy, 88.6% precision, and 69.1% recall
 
  2025 PETS Gig Work at What Cost? Exploring Privacy Risks of Gig Work Platform Participation in the U.S.
    - worker PII sharing with third parties | share of platforms | 15 of 16 platforms shared at least one form of worker PII
    - reversible SSN hash sharing | platforms sharing SSN hashes | Lyft and Uber shared reversible hashes of worker SSNs
    - email tracking | share of platforms | 8 platforms embedded trackers; 5 included third-party trackers
    - Android permission access | average permissions per app type | User apps requested 33 permissions versus 35 for worker apps
    - privacy dark patterns | number of platforms exhibiting patterns | Forced Registration on 14 platforms; nags to work on 11 by email and 6 by SMS
    - off-platform messaging | message counts | 43 texts and 578 emails received within two weeks
 
  2025 PETS Tracker Installations Are Not Created Equal: Understanding Tracker Configuration of Form Data Collection
    - Meta Pixel and Google Tag installation | share of websites | Google Tag on 72.6% and Meta Pixel on 28.2% of 40,150 websites
    - Form data collection | share of tracker installations | Meta Pixel 62.3% versus Google Tag 11.6%
    - Meta FDC configuration | share of Meta FDC configurations | 51.3% used the default configuration collecting all fields
    - Collected PII fields | share of Meta FDC configurations | Email 99.5%, name 93.7%, phone number 93.5%
    - Vertical differences in FDC | share of Meta installations | Meta FDC: 68% non-sensitive, 30.8% health, 20.3% finance
    - Parser false negatives | false-negative rate | Google FDC 1.4%; Meta FDC 9.6% in validated samples
 
  2022 USENIX Leaky Forms: A Study of Email and Password Exfiltration Before Form Submission
    - pre-submission email exfiltration | number of distinct websites | 1,844 EU websites and 2,950 US websites
    - pre-submission password exfiltration | number of distinct websites | 52 websites in follow-up crawls without password input-type swapping
    - previously unlisted tracker domains | number of domains and percentage increase | 41 tracker domains; 13.4% EU and 4.2% US increase in leaky websites
    - received emails after abandoned forms | received emails and source websites | 290 emails from 88 desktop-crawl sites in six weeks
 
  2022 USENIX When Sally Met Trackers: Web Tracking From the Users' Perspective
    - web tracker encounters | trackers per user over eight days | Users encounter 3,170 trackers from 177 distinct organizations on average.
    - time to encounter trackers | hours of activity to reach tracker coverage | After 2, 12, and 24 hours, users encountered 50%, 84%, and 94% of their trackers.
    - tracker history coverage | percentage of browsing history | Google covered 63.07% of users' history; the average tracker covered 0.14%.
    - geographic tracker variation | share of websites with identical or similar trackers | Around 95.5% of websites showed no or subtle geographic differences.
    - information-sharing coverage gain | additional known-history percentage | Collaboration increased coverage by 5%–10% in typical best cases and up to 50% with multiple trackers.
    - sensitive-category tracking | known-history percentage by category | Untracked history was 12% for Health, 15% for Religion, and 10% for Political browsing.
    - optimal key-website tracking | fraction of users' browsing history | Two hundred websites covered 50% of users' browsing history; 5,000 covered 78%.
 
  2023 USENIX Is Your Wallet Snitching On You? An Analysis on the Privacy Implications of Web3
    - wallet API probing | websites with wallet-API calls | 1,325 of 96,905 successfully crawled websites
    - wallet-enhanced browser fingerprinting | fingerprinting scripts and websites | 878 scripts belonging to 1,099 websites
    - DApp wallet-address leakage | connected DApps leaking wallet addresses | 211 of 616 connected DApps (35%)
    - wallet-extension address leakage | wallet extensions leaking wallet addresses | 13 of 100 extensions
    - third-party blocklist coverage | blocked third parties | 60 of 108 checked third parties (56%) blocked by all five combined
 
  2023 WWW The Hitchhiker's Guide to Facebook Web Tracking with Invisible Pixels and Click IDs.
    - Facebook Pixel adoption | share of websites | 2,308 of the top 10K websites (23.08%)
    - Facebook Pixel event tracking | portion of websites tracking each event | at least 28 different web events
    - Historical Pixel adoption | adoption over time | Facebook Pixel present since December 2013
    - FBCLID-to-user matching | share of Pixel sites sending both identifiers | 2,165 of 2,308 websites (93%)
    - Third-party identifier sharing | third-party domains receiving identifiers | median website passed IDs to 6.2 third parties
    - Rolling _fbp expiration | share of websites updating expiration | 87.3% of 2.3K FB Pixel websites
 
=== PASS K — full verdict log and residue ===
OUT:mention	CCS/2012/priceless-the-role-of-payments-in-abuse-advertised-goods	payment processing of abuse-advertised goods
OUT:breach	CCS/2016/targeted-online-password-guessing-an-underestimated-threat	leaked password datasets
OUT:breach	CCS/2017/data-breaches-phishing-or-malware-understanding-the-risks-of-stolen-credentials	credential leaks, phishing kits, keyloggers
OUT:client	CCS/2018/mystique-uncovering-information-leakage-from-browser-extensions	browser extensions leak
OUT:mention	CCS/2020/enhancing-state-of-the-art-classifiers-with-api-semantics-to-detect-evolved-andr	
CONTEXT:firstparty	CCS/2020/fill-in-the-blanks-empirical-analysis-of-the-privacy-threats-of-browser-form-aut	autofill writes PII into hidden fields the page itself collects; no third-party recipient measured
OUT:mention	CCS/2020/mnemosyne-an-effective-and-efficient-postmortem-watering-hole-attack-investigati	
OUT:security	CCS/2020/the-cookie-hunter-automated-black-box-auditing-for-web-authentication-and-author	cookie hijacking exposes account data to an attacker
OUT:mobile	CCS/2021/consistency-analysis-of-data-usage-purposes-in-mobile-apps	
OUT:mention	CCS/2021/dissecting-residual-apis-in-custom-android-roms	
OUT:security	CCS/2022/cart-ology-intercepting-targeted-advertising-via-ad-network-identity-entanglemen	identity-entanglement attack on ad networks
OUT:mobile	CCS/2022/freely-given-consent-studying-consent-notice-of-third-party-tracking-and-its-vio	
OUT:mobile	CCS/2022/hidden-in-plain-sight-exploring-encrypted-channels-in-android-apps	
OUT:defence	CCS/2023/general-data-protection-runtime-enforcing-transparent-gdpr-compliance-for-existi	
OUT:security	CCS/2023/ileakage-browser-based-timerless-speculative-execution-attacks-on-apple-devices	
OUT:mobile	CCS/2023/iotflow-inferring-iot-device-behavior-at-scale-through-static-mobile-companion-a	
OUT:mobile	CCS/2023/skillscanner-detecting-policy-violating-voice-applications-through-static-analys	voice skills
OUT:breach	CCS/2024/a-first-look-at-security-and-privacy-risks-in-the-rapidapi-ecosystem	API key leaks
OUT:security	CCS/2024/breaching-security-keys-without-root-fido2-deception-attacks-via-overlays-exploi	
OUT:llm	CCS/2024/dye4ai-assuring-data-boundary-on-generative-ai-services	
OUT:mobile	CCS/2024/measuring-compliance-implications-of-third-party-libraries-privacy-label-disclos	
OUT:mention	CCS/2024/skipping-the-security-side-quests-a-qualitative-study-on-security-practices-and	
OUT:breach	CCS/2024/understanding-legal-professionals-practices-and-expectations-in-data-breach-inci	breach reporting
OUT:mobile	CCS/2024/vpvet-vetting-privacy-policies-of-virtual-reality-apps	VR app policies
OUT:mobile	CCS/2025/fingerprinting-sdks-for-mobile-apps-and-where-to-find-them-understanding-the-mar	
OUT:security	CCS/2025/how-to-design-secure-honey-vault-schemes	honey vaults (homonym of honey values)
OUT:tracking	CCS/2025/layered-overlapping-and-inconsistent-a-large-scale-analysis-of-the-multiple-priv	bank websites: third-party cookies, policies and opt-outs; no personal data content measured (sector study that is not a leak study)
OUT:mobile	CCS/2025/leaky-apps-large-scale-analysis-of-secrets-distributed-in-android-and-ios-apps	
OUT:security	CCS/2025/lock-the-door-but-keep-the-window-open-extracting-app-protected-accessibility-in	on-device accessibility exposure
OUT:client	CCS/2025/passwords-and-fido2-are-meant-to-be-secret-a-practical-secure-authentication-cha	extensions reading request bodies
IN	CCS/2025/piixel-leaks-passive-identification-of-personally-identifiable-information-leaka	Meta Pixel configurations (selectedMatchKeys) on 187,257 Pixel sites of a 1M crawl, plus an observed full-URL crawl. encsearch dropped 2026-10-08 full-text reading
OUT:perception	CCS/2025/security-and-privacy-perceptions-of-pakistani-facebook-matrimony-group-users	
OUT:mention	IEEE-SP/2010/inspector-gadget-automated-extraction-of-proprietary-gadgets-from-malware-binari	
OUT:defence	IEEE-SP/2014/bootstrapping-privacy-compliance-in-big-data-systems	
OUT:mobile	IEEE-SP/2015/leave-me-alone-app-level-protection-against-runtime-information-gathering-on-and	
OUT:email	IEEE-SP/2016/sending-out-an-sms-characterizing-the-security-of-the-sms-ecosystem-with-public	public SMS gateways
OUT:security	IEEE-SP/2016/the-cracked-cookie-jar-http-cookie-hijacking-and-the-exposure-of-private-informa	
OUT:homograph	IEEE-SP/2017/identifying-personal-dna-methylation-profiles-by-genotype-inference	
OUT:perception	IEEE-SP/2017/obstacles-to-the-adoption-of-secure-communication-tools	
OUT:security	IEEE-SP/2017/the-password-reset-mitm-attack	
OUT:security	IEEE-SP/2017/to-catch-a-ratter-monitoring-the-behavior-of-amateur-darkcomet-rat-operators-in	
CONTEXT:downstream	IEEE-SP/2018/privacy-risks-with-facebooks-pii-based-targeting-auditing-a-data-brokers-adverti	what the ad platform does with PII (custom audiences); privacy:email_tracking
OUT:security	IEEE-SP/2018/sok-keylogging-side-channels	keylogging side channels
OUT:mention	IEEE-SP/2018/the-spyware-used-in-intimate-partner-violence	
OUT:email	IEEE-SP/2019/characterizing-pixel-tracking-through-the-lens-of-disposable-email-services	disposable-mail PII leaks happen in the mailbox; privacy:email_tracking
OUT:defence	IEEE-SP/2019/khyperloglog-estimating-reidentifiability-and-joinability-of-large-data-at-scale	
OUT:mobile	IEEE-SP/2020/an-analysis-of-pre-installed-android-software	
OUT:perception	IEEE-SP/2020/influencing-photo-sharing-decisions-on-social-media-a-case-of-paradoxical-findin	
OUT:mobile	IEEE-SP/2020/textexerciser-feedback-driven-text-input-exercising-for-android-applications	
OUT:perception	IEEE-SP/2020/towards-effective-differential-privacy-communication-for-users-data-sharing-deci	
OUT:security	IEEE-SP/2022/how-to-attack-and-generate-honeywords	honeywords
OUT:homograph	IEEE-SP/2022/measuring-and-mitigating-the-risk-of-ip-reuse-on-public-clouds	IP reuse
OUT:llm	IEEE-SP/2023/analyzing-leakage-of-personally-identifiable-information-in-language-models	
OUT:client	IEEE-SP/2023/detection-of-inconsistencies-in-privacy-practices-of-browser-extensions	extensions
OUT:perception	IEEE-SP/2023/investigating-the-password-policy-practices-of-website-administrators	
OUT:perception	IEEE-SP/2023/perceptions-of-distributed-ledger-technology-key-management-an-interview-study-w	
OUT:mobile	IEEE-SP/2023/protected-or-porous-a-comparative-analysis-of-threat-detection-capability-of-iot	IoT
OUT:homograph	IEEE-SP/2023/weak-fiat-shamir-attacks-on-modern-proof-systems	
OUT:llm	IEEE-SP/2024/combing-for-credentials-active-pattern-extraction-from-smart-reply	
OUT:homograph	IEEE-SP/2024/scores-tell-everything-about-bob-non-adaptive-face-reconstruction-on-face-recogn	face reconstruction
IN	IEEE-SP/2024/understanding-the-privacy-practices-of-political-campaigns-a-perspective-from-th	26 dedicated newsletter addresses reveal cross-campaign sharing; forms read statically, no traffic capture. form channel dropped 2026-10-08 full-text reading
OUT:mobile	IEEE-SP/2024/withdrawing-is-believing-detecting-inconsistencies-between-withdrawal-choices-an	
OUT:mobile	IEEE-SP/2025/code-speaks-louder-exploring-security-and-privacy-relevant-regional-variations-i	
OUT:security	IEEE-SP/2025/rankguess-password-guessing-using-adversarial-ranking	
OUT:perception	IEEE-SP/2025/the-importance-of-being-earnest-shedding-light-on-johnnys-false-sense-of-privacy	
OUT:mention	IEEE-SP/2025/transparency-in-usable-privacy-and-security-research-scholars-perspectives-pract	
OUT:llm	IEEE-SP/2025/understanding-users-security-and-privacy-concerns-and-attitudes-towards-conversa	
OUT:mention	IEEE-SP/2025/why-would-money-protect-me-from-cyber-bullying-a-mixed-methods-study-of-personal	
OUT:dsr	IEEE-SP/2026/consumer-beware-exploring-data-brokers-ccpa-compliance	
OUT:security	IEEE-SP/2026/rain-transiently-leaking-data-from-public-clouds-using-old-vulnerabilities	
OUT:dsr	IEEE-SP/2026/setting-the-course-but-forgetting-to-steer-analyzing-compliance-with-gdprs-right	
OUT:homograph	IMC/2015/management-plane-analytics	
IN	IMC/2016/characterizing-website-behaviors-across-logged-in-and-not-logged-in-users	logged-in vs not-logged-in crawls of 345 sites
IN	IMC/2016/should-you-use-the-app-for-that-comparing-the-privacy-implications-of-app-and-we	50 services, app vs mobile web
OUT:mention	IMC/2017/ethical-issues-in-research-using-datasets-of-illicit-origin	
OUT:homograph	IMC/2018/an-empirical-study-of-the-i2p-anonymity-network-and-its-censorship-resistance	
IN	IMC/2018/tracing-cross-border-web-tracking	real users and ISP NetFlow; sensitive-category flows
OUT:mobile	IMC/2019/information-exposure-from-consumer-iot-devices-a-multidimensional-network-inform	IoT
IN	IMC/2019/tales-from-the-porn-a-comprehensive-privacy-analysis-of-the-web-porn-ecosystem	third-party tracking on 6,843 porn sites (automated crawl) framed as Art. 9 data. method corrected 2026-10-08 full-text reading
OUT:homograph	IMC/2020/analyzing-third-party-service-dependencies-in-modern-web-services-have-we-learne	
OUT:breach	IMC/2020/demystifying-the-messaging-platforms-ecosystem-through-the-lens-of-twitter	PII exposed in public messaging groups
OUT:breach	IMC/2021/a-large-scale-characterization-of-online-incitements-to-harassment-across-platfo	doxing
OUT:mobile	IMC/2021/racketstore-measurements-of-aso-deception-in-google-play-via-mobile-and-app-usag	
OUT:adtarget	IMC/2021/unique-on-facebook-formulation-and-evidence-of-nano-targeting-individual-users-w	
OUT:mobile	IMC/2022/a-comparative-analysis-of-certificate-pinning-in-android-ios	
OUT:mobile	IMC/2023/in-the-room-where-it-happens-characterizing-local-communication-and-threats-in-s	
OUT:client	IMC/2023/not-only-e-t-phones-home-analysing-the-native-user-tracking-of-mobile-browsers	the mobile browser itself leaks history, not code the site embedded
OUT:adtarget	IMC/2023/poster-analysis-of-user-uniqueness-on-linkedin-based-on-publicly-available-non-p	
OUT:mobile	IMC/2023/tracking-profiling-and-ad-targeting-in-the-alexa-echo-smart-speaker-ecosystem	Echo ecosystem
IN	IMC/2024/diffaudit-auditing-privacy-practices-of-online-services-for-children-and-adolesc	child/adolescent/adult accounts; GPT-4 classifies data types
OUT:tracking	IMC/2025/cookieguard-characterizing-and-isolating-the-first-party-cookie-jar	first-party cookie jar
OUT:email	IMC/2025/fishing-for-smishing-understanding-sms-phishing-infrastructure-and-strategies-by	smishing
OUT:mobile	NDSS/2017/automated-analysis-of-privacy-requirements-for-mobile-apps	
OUT:tracking	NDSS/2019/dns-cache-based-user-tracking	
OUT:mobile	NDSS/2019/geo-locating-drivers-a-study-of-sensitive-data-leakage-in-ride-hailing-services	
OUT:adtarget	NDSS/2019/measuring-the-facebook-advertising-ecosystem	
OUT:mention	NDSS/2020/compliance-cautions-investigating-security-issues-associated-with-u-s-digital-security-standards	
OUT:email	NDSS/2021/all-the-numbers-are-us-large-scale-abuse-of-contact-discovery-in-mobile-messengers	contact discovery; privacy:email_tracking
OUT:mobile	NDSS/2021/privacyflash-pro-automating-privacy-policy-generation-for-mobile-apps	
OUT:security	NDSS/2021/processing-dangerous-paths-on-security-and-privacy-of-the-portable-document-format	PDF form-data leakage
OUT:mobile	NDSS/2021/understanding-worldwide-private-information-collection-on-android	
OUT:dsr	NDSS/2023/auto-draft-336	
CONTEXT:method	NDSS/2023/chkplug-checking-gdpr-compliance-of-wordpress-plugins-via-cross-language-code-property-graph	static analysis of WordPress plugin code for third-party PII sharing; code, not deployed sites
OUT:mobile	NDSS/2023/post-gdpr-threat-hunting-on-android-phones-dissecting-os-level-safeguards-of-user-unresettable-identifiers	
OUT:homograph	NDSS/2024/campro-camera-based-anti-facial-recognition	
OUT:tracking	NDSS/2024/fp-fed-privacy-preserving-federated-detection-of-browser-fingerprinting	
OUT:security	NDSS/2024/ghosttype-the-limits-of-using-contactless-electromagnetic-interference-to-inject-phantom-keys-into-analog-circuits-of-keyboards	
OUT:mobile	NDSS/2024/maginot-line-assessing-a-new-cross-app-threat-to-pii-as-factor-authentication-in-chinese-mobile-apps	
OUT:mention	NDSS/2024/understanding-and-analyzing-appraisal-systems-in-the-underground-marketplaces	
OUT:breach	NDSS/2025/automated-expansion-of-privacy-data-taxonomy-for-compliant-data-breach-notification	
OUT:tracking	NDSS/2025/duumviri-detecting-trackers-and-mixed-trackers-with-a-breakage-detector	
OUT:policy	NDSS/2025/policypulse-precision-semantic-role-extraction-for-enhanced-privacy-policy-comprehension	
OUT:mention	NDSS/2025/revealing-the-black-box-of-device-search-engine-scanning-assets-strategies-and-ethical-consideration	
OUT:mobile	NDSS/2025/skillpov-towards-accessible-and-effective-privacy-notice-for-amazon-alexa-skills	
OUT:mobile	NDSS/2025/the-skeleton-keys-a-large-scale-analysis-of-credential-leakage-in-mini-apps	
OUT:mobile	NDSS/2025/understanding-miniapp-malware-identification-dissection-and-characterization	
OUT:mobile	NDSS/2026/better-safe-than-sorry-uncovering-the-insecure-resource-management-in-app-in-app-cloud-services	
OUT:mobile	NDSS/2026/cross-boundary-mobile-tracking-exploring-java-to-javascript-information-diffusion-in-webviews	WebView injection inside apps
OUT:email	NDSS/2026/hey-there-you-are-using-whatsapp-enumerating-three-billion-accounts-for-security-and-privacy	phone-number enumeration; privacy:email_tracking
OUT:homograph	NDSS/2026/pandora-lightweight-adversarial-defense-for-edge-iot-using-uncertainty-aware-metric-learning	
OUT:security	NDSS/2026/success-rates-doubled-with-only-one-character-mask-password-guessing	
OUT:perception	NDSS/2026/the-role-of-privacy-guarantees-in-voluntary-donation-of-private-health-data-for-altruistic-goals	
OUT:mention	NDSS/2026/tickets-to-hide-an-inside-look-into-the-anti-abuse-ecosystem-through-internal-abuse-data	
OUT:homograph	NDSS/2026/tipso-gan-malicious-network-traffic-detection-using-a-novel-optimized-generative-adversarial-network	
OUT:security	NDSS/2026/vault-raider-stealthy-ui-based-attacks-against-password-managers-in-desktop-environments	
OUT:security	NDSS/2026/xr-devices-send-wifi-packets-when-they-should-not-cross-building-keylogging-attacks-via-non-cooperative-wireless-sensing	
IN	PETS/2016/are-you-sure-you-want-to-contact-us-quantifying-the-leakage-of-pii-via-website-c	contact forms submitted on Alexa top 100K (Jan 2015); GET-submitted forms leak via URL/Referer; unnamed encodings caught by a three-submission differential. Tags corrected 2026-10-08 full-text reading
OUT:homograph	PETS/2016/linking-health-records-for-federated-query-processing	record linkage
OUT:policy	PETS/2016/privacy-challenges-in-the-quantified-self-movement-an-eu-perspective	quantified-self providers; Google Analytics presence only
IN	PETS/2017/cross-device-tracking-measurement-and-disclosures	100 sites; plain, hashed and base64 identifiers
OUT:mobile	PETS/2017/privateride-a-privacy-enhanced-ride-hailing-service	
OUT:tracking	PETS/2018/exploiting-tls-client-authentication-for-widespread-user-tracking	
OUT:email	PETS/2018/i-never-signed-up-for-this-privacy-implications-of-email-tracking	the measured leaks are from mail, not the sign-up form; privacy:email_tracking
OUT:mobile	PETS/2018/nomoads-effective-and-efficient-cross-app-mobile-ad-blocking	
OUT:mobile	PETS/2018/panoptispy-characterizing-audio-and-video-exfiltration-from-android-applications	
IN	PETS/2018/when-the-cookie-meets-the-blockchain-privacy-risks-of-web-payments-via-cryptocur	130 Bitcoin-accepting merchants; the authors' own checkout data, PII manually marked; 49 merchants leak some PII. Tags corrected 2026-10-08 full-text reading
OUT:mobile	PETS/2018/won-t-somebody-think-of-the-children-examining-coppa-compliance-at-scale	
CONTEXT:downstream	PETS/2019/investigating-sources-of-pii-used-in-facebook-s-targeted-advertising	which PII sources Facebook makes targetable; privacy:email_tracking
OUT:mobile	PETS/2019/maps-scaling-privacy-compliance-analysis-to-a-million-apps	
CONTEXT:method	PETS/2020/canarytrap-detecting-data-misuse-by-third-party-apps-on-online-social-networks	honeytoken addresses per app to attribute misuse; social-network apps, not web pages
OUT:mobile	PETS/2020/how-private-is-your-period-a-systematic-analysis-of-menstrual-app-privacy-polici	
IN	PETS/2020/no-boundaries-data-exfiltration-by-third-parties-embedded-on-web-pages	login-manager autofill, Facebook API data and whole-DOM bait; up to three layers of encodings and hashes. encsearch added 2026-10-08 full-text reading
OUT:mobile	PETS/2020/nomoats-towards-automatic-detection-of-mobile-tracking	
OUT:breach	PETS/2020/sok-anatomy-of-data-breaches	
OUT:homograph	PETS/2020/spy-car-steering-reveals-your-trip-route	
OUT:mobile	PETS/2020/the-price-is-not-right-comparing-privacy-in-free-and-paid-apps	
OUT:mobile	PETS/2020/the-tv-is-smart-and-full-of-trackers-measuring-smart-tv-advertising-and-tracking	smart TV
OUT:tracking	PETS/2021/a-calculus-of-tracking-theory-and-practice	
OUT:perception	PETS/2021/defining-privacy-how-users-interpret-technical-terms-in-privacy-policies	
OUT:perception	PETS/2021/did-you-know-this-camera-tracks-your-mood-understanding-privacy-expectations-and	
OUT:perception	PETS/2021/exploring-mental-models-of-the-right-to-informational-self-determination-of-offi	
OUT:perception	PETS/2021/i-would-have-to-evaluate-their-objections-privacy-tensions-between-smart-home-de	
OUT:perception	PETS/2021/managing-potentially-intrusive-practices-in-the-browser-a-user-centered-perspect	
OUT:mobile	PETS/2021/real-time-analysis-of-privacy-un-aware-iot-applications	
IN	PETS/2021/the-cname-of-the-game-large-scale-analysis-of-dns-based-tracking-evasion	registered accounts on 50 CNAME-tracker sites
OUT:mobile	PETS/2022/analyzing-the-monetization-ecosystem-of-stalkerware	
OUT:mobile	PETS/2022/are-iphones-really-better-for-privacy-a-comparative-study-of-ios-and-android-app	
IN	PETS/2022/checking-websites-gdpr-consent-compliance-for-marketing-emails	per-site address typed into registration forms on 666 sites; 4.1% share it with third parties, detected by inbound mail. OUT:email -> IN on 2026-10-08 second-reader audit, for consistency with the political-campaigns paper
OUT:perception	PETS/2022/ctrl-shift-how-privacy-sentiment-changed-from-2019-to-2021	
OUT:mobile	PETS/2022/developers-say-the-darnedest-things-privacy-compliance-processes-followed-by-dev	
OUT:perception	PETS/2022/employees-privacy-perceptions-exploring-the-dimensionality-and-antecedents-of-pe	
OUT:breach	PETS/2022/it-feels-like-whack-a-mole-user-experiences-of-data-removal-from-people-search-w	people-search removal
OUT:mobile	PETS/2022/keeping-privacy-labels-honest	honey data used on iOS apps
OUT:perception	PETS/2022/user-friendly-yet-rarely-read-a-case-study-on-the-redesign-of-an-online-hipaa-au	
IN	PETS/2022/who-knows-i-like-jelly-beans-an-investigation-into-search-privacy	internal site search on 1M sites
OUT:mention	PETS/2023/heads-in-the-clouds-measuring-universities-migration-to-public-clouds-implicatio	
OUT:mobile	PETS/2023/lessons-in-vcr-repair-compliance-of-android-app-developers-with-the-california-c	
OUT:mobile	PETS/2023/no-privacy-among-spies-assessing-the-functionality-and-insecurity-of-consumer-an	
OUT:client	PETS/2023/not-your-average-app-a-large-scale-privacy-analysis-of-android-browsers	Android browsers
OUT:tracking	PETS/2023/privacy-rarely-considered-exploring-considerations-in-the-adoption-of-third-part	third-party adoption survey plus crawl; no personal-data content
OUT:perception	PETS/2023/revoked-just-now-users-behaviors-toward-fitness-data-sharing-with-third-party-ap	
OUT:perception	PETS/2023/speculative-privacy-concerns-about-ar-glasses-data-collection	
CONTEXT:channel	PETS/2024/client-side-and-server-side-tracking-on-meta-effectiveness-and-accuracy	Pixel vs Conversions API on the authors' own sites with real users; sends IP, user agent, geolocation and fbp/fbc only, no hashed email or phone. IN -> CONTEXT 2026-10-08 full-text reading
OUT:perception	PETS/2024/cross-contextual-examination-of-older-adults-privacy-concerns-behaviors-and-vuln	
OUT:mobile	PETS/2024/honesty-is-the-best-policy-on-the-accuracy-of-apple-privacy-labels-compared-to-a	
OUT:perception	PETS/2024/internet-users-willingness-to-disclose-biometric-data-for-continuous-online-acco	
OUT:mention	PETS/2024/mitigating-inference-risks-with-the-nist-privacy-framework	
OUT:policy	PETS/2024/on-the-quality-of-privacy-policy-documents-of-virtual-personal-assistant-applica	
OUT:tracking	PETS/2024/opted-out-yet-tracked-are-regulations-enough-to-protect-your-privacy	opt-out and bids
OUT:perception	PETS/2024/our-data-our-solutions-a-participatory-approach-for-enhancing-privacy-in-wearabl	
OUT:mention	PETS/2024/please-unstalk-me-understanding-stalking-with-bluetooth-trackers-and-democratizi	
OUT:policy	PETS/2024/privacy-policies-on-the-fediverse-a-case-study-of-mastodon-instances	
OUT:homograph	PETS/2024/privacylens-on-device-pii-removal-from-rgb-images-using-thermally-enhanced-sensi	PII in images
OUT:mobile	PETS/2024/the-medium-is-the-message-how-secure-messaging-apps-leak-sensitive-data-to-push	
OUT:perception	PETS/2024/what-does-it-mean-to-be-creepy-responses-to-visualizations-of-personal-browsing	
OUT:dsr	PETS/2024/what-to-expect-when-you-re-accessing-an-exploration-of-user-privacy-rights-in-pe	
OUT:perception	PETS/2025/evaluating-a-data-fiduciary-standard-for-privacy-developer-and-end-user-perspect	
OUT:perception	PETS/2025/free-wifi-is-not-ultimately-free-privacy-perceptions-of-users-in-the-us-regardin	
IN	PETS/2025/gig-work-at-what-cost-exploring-privacy-risks-of-gig-work-platform-participation	16 gig platforms, web and Android, fictional and real worker personas; SSN sent as unsalted SHA-256 by sign-up pixels. encsearch dropped (search not described) 2026-10-08 full-text reading
OUT:llm	PETS/2025/hoovered-up-as-a-data-point-exploring-privacy-behaviours-awareness-and-concerns	
OUT:perception	PETS/2025/it-s-not-my-data-anymore-exploring-non-users-privacy-perceptions-of-medical-data	
OUT:breach	PETS/2025/measuring-the-accuracy-and-effectiveness-of-pii-removal-services	people-search / removal services
OUT:perception	PETS/2025/misalignments-and-demographic-differences-in-expected-and-actual-privacy-setting	
CONTEXT:channel	PETS/2025/referrer-policy-implementation-and-circumvention	full-URL leakage past the Referrer Policy, measured without looking for personal data in the URL
OUT:tracking	PETS/2025/rethinking-fingerprinting-an-assessment-of-behavior-based-methods-at-scale-and-i	
OUT:mobile	PETS/2025/surveillance-disguised-as-protection-a-comparative-analysis-of-sideloaded-and-in	
OUT:mobile	PETS/2025/the-effect-of-platform-policies-on-app-privacy-compliance-a-study-of-child-direc	
OUT:mobile	PETS/2025/the-impact-of-default-mobile-sdk-usage-on-privacy-and-data-protection	
IN	PETS/2025/tracker-installations-are-not-created-equal-understanding-tracker-configuration	Meta Pixel and Google Tag: synthetic form injection and configuration analysis; corrected 2026-10-08
OUT:mobile	PETS/2025/tracking-without-borders-studying-the-role-of-webviews-in-bridging-mobile-and-we	
OUT:mobile	PETS/2025/uncovering-the-app-cloud-access-risks-under-recommended-iam-security-practices	
OUT:perception	PETS/2025/user-centric-textual-descriptions-of-privacy-enhancing-technologies-for-ad-track	
OUT:mobile	PETS/2025/watchwitch-interoperability-privacy-and-autonomy-for-the-apple-watch	
OUT:perception	PETS/2025/what-are-they-gonna-do-with-my-data-privacy-expectations-concerns-and-behaviors	
OUT:mobile	PETS/2025/what-wechat-knows-pervasive-first-party-tracking-in-a-billion-user-super-app-eco	super-app first-party tracking
OUT:mobile	PETS/2025/your-signal-their-data-an-empirical-privacy-analysis-of-wireless-scanning-sdks-i	
OUT:adtarget	PETS/2026/a-year-under-the-dsa-ad-transparencys-uneven-landscape	
OUT:llm	PETS/2026/ai-in-the-loop-privacy-preserving-real-time-scam-detection-and-conversational-sc	
OUT:perception	PETS/2026/are-bite-size-data-safety-details-a-healthy-diet-for-android-telehealth-app-user	
OUT:llm	PETS/2026/audagent-automated-auditing-of-privacy-policy-compliance-in-ai-agents	
OUT:llm	PETS/2026/chatbot-confessions-large-scale-analysis-of-private-data-disclosure-in-shared-ai	
OUT:mobile	PETS/2026/dead-domains-living-data-a-privacy-risk-analysis-of-domain-lifecycle-in-android	
OUT:policy	PETS/2026/disclosure-divergence-measuring-privacy-policy-and-data-safety-misalignment-at-s	
OUT:mobile	PETS/2026/exadprinter-semi-exhaustive-permissionless-device-fingerprinting-within-the-andr	
OUT:mobile	PETS/2026/exercising-the-ccpa-opt-out-right-on-android-legally-mandated-but-practically-ch	
OUT:perception	PETS/2026/i-don-t-think-it-needs-to-be-political-privacy-experiences-and-concerns-of-femhe	
OUT:perception	PETS/2026/linguistic-hooks-investigating-the-role-of-language-triggers-in-phishing-emails	
OUT:mobile	PETS/2026/no-privacy-for-privates-how-military-communities-experience-and-perceive-the-pri	
OUT:llm	PETS/2026/operationalizing-the-motivated-intruder-a-codebook-guided-inference-framework-fo	
OUT:mobile	PETS/2026/panoptes-detecting-out-of-sight-privacy-exposure-in-android	
OUT:llm	PETS/2026/personal-data-flows-and-privacy-policy-traceability-in-third-party-llm-apps-in-t	
OUT:perception	PETS/2026/privacy-by-voice-designing-usable-privacy-notices-for-the-voice-interface	
OUT:perception	PETS/2026/the-role-of-online-forums-in-developer-understanding-of-privacy-law-a-reddit-cas	
OUT:llm	PETS/2026/understanding-how-university-guidelines-address-privacy-and-security-issues-of-g	
OUT:perception	PETS/2026/users-are-worried-but-we-are-confused-exploring-the-privacy-security-and-safety	
OUT:client	USENIX/2014/hulk-eliciting-malicious-behavior-in-browser-extensions	
OUT:security	USENIX/2014/ssoscan-automated-testing-of-web-applications-for-single-sign-on-vulnerabilities	
OUT:mobile	USENIX/2015/you-shouldn-t-collect-my-secrets-thwarting-sensitive-keystroke-leakage-in-mobile	
OUT:security	USENIX/2018/schrodinger-s-rat-profiling-the-stakeholders-in-the-remote-access-trojan-ecosyst	
OUT:mobile	USENIX/2018/sensitive-information-tracking-in-commodity-iot	
OUT:policy	USENIX/2019/policylint-investigating-internal-privacy-policy-contradictions-on-google-play	
OUT:mobile	USENIX/2020/actions-speak-louder-than-words-entity-sensitive-privacy-policy-and-data-flow-an	
OUT:security	USENIX/2020/cached-and-confused-web-cache-deception-in-the-wild	
OUT:mention	USENIX/2020/droplet-decentralized-authorization-and-access-control-for-encrypted-data-stream	
OUT:mention	USENIX/2020/empirical-measurement-of-systemic-2fa-usability	
OUT:perception	USENIX/2020/i-am-uncomfortable-sharing-what-i-cant-see-privacy-concerns-of-the-visually-impa	
OUT:security	USENIX/2020/sunrise-to-sunset-analyzing-the-end-to-end-life-cycle-and-effectiveness-of-phish	
OUT:mention	USENIX/2020/the-tools-and-tactics-used-in-intimate-partner-surveillance-an-analysis-of-onlin	
OUT:adtarget	USENIX/2020/what-twitter-knows-characterizing-ad-targeting-practices-user-perceptions-and-ad	
OUT:llm	USENIX/2021/extracting-training-data-from-large-language-models	
OUT:perception	USENIX/2021/helping-users-automatically-find-and-manage-sensitive-expendable-files-in-cloud	
OUT:mobile	USENIX/2021/mind-your-weight-s-a-large-scale-study-on-insufficient-machine-learning-model-pr	
OUT:mobile	USENIX/2021/privatedrop-practical-privacy-preserving-authentication-for-apple-airdrop	
OUT:breach	USENIX/2021/risky-business-investigating-the-security-practices-of-vendors-on-an-online-anon	
OUT:mobile	USENIX/2021/share-first-ask-later-or-never-studying-violations-of-gdprs-explicit-consent-in	
OUT:mobile	USENIX/2021/understanding-malicious-cross-library-data-harvesting-on-android	
OUT:perception	USENIX/2022/caring-about-sharing-user-perceptions-of-multiparty-data-sharing	
IN	USENIX/2022/leaky-forms-a-study-of-email-and-password-exfiltration-before-form-submission	pre-submission email and password exfiltration
OUT:mobile	USENIX/2022/ovrseen-auditing-network-traffic-and-privacy-policies-in-oculus-vr	
OUT:policy	USENIX/2022/smart-home-privacy-policies-demystified-a-study-of-availability-content-and-cove	
IN	USENIX/2022/when-sally-met-trackers-web-tracking-from-the-users-perspective	real users' browsing telemetry; trackers on Health, Sexuality, Political, Religion sites framed as sensitive disclosure. OUT:tracking -> IN on 2026-10-08 second-reader audit
OUT:mobile	USENIX/2023/are-you-spying-on-me-large-scale-analysis-on-iot-data-exposure-through-companion	
OUT:security	USENIX/2023/beyond-the-gates-an-empirical-analysis-of-http-managed-password-stealers-and-ope	
OUT:security	USENIX/2023/checking-passwords-on-leaky-computers-a-side-channel-analysis-of-chromes-passwor	
OUT:llm	USENIX/2023/codexleaks-privacy-leaks-from-code-generation-language-models-in-github-copilot	
OUT:mobile	USENIX/2023/credit-karma-understanding-security-implications-of-exposed-cloud-services-throu	
OUT:security	USENIX/2023/going-through-the-motions-ar-vr-keylogging-from-user-head-motions	
OUT:perception	USENIX/2023/investigating-verification-behavior-and-perceptions-of-visual-digital-certificat	
IN	USENIX/2023/is-your-wallet-snitching-on-you-an-analysis-on-the-privacy-implications-of-web3	wallet addresses to third parties
OUT:mobile	USENIX/2023/lalaine-measuring-and-characterizing-non-compliance-of-apple-privacy-labels	
OUT:mobile	USENIX/2023/log-it-s-big-it-s-heavy-it-s-filled-with-personal-data-measuring-the-logging-of	
OUT:breach	USENIX/2023/mixed-signals-analyzing-ground-truth-data-on-the-users-and-economics-of-a-bitcoi	
OUT:policy	USENIX/2023/policycomp-counterpart-comparison-of-privacy-policies-uncovers-overbroad-persona	
OUT:policy	USENIX/2023/poligraph-automated-privacy-policy-analysis-using-knowledge-graphs	
OUT:mobile	USENIX/2023/security-and-privacy-failures-in-popular-2fa-apps	
OUT:mobile	USENIX/2023/the-digital-safety-risks-of-financial-technologies-for-survivors-of-intimate-par	
OUT:mobile	USENIX/2023/the-ok-is-not-enough-a-large-scale-study-of-consent-dialogs-in-smartphone-applic	
OUT:homograph	USENIX/2023/watch-your-watch-inferring-personality-traits-from-wearable-activity-trackers	
OUT:email	USENIX/2023/youve-got-report-measurement-and-security-implications-of-dmarc-reporting	
OUT:mobile	USENIX/2024/a-decade-of-privacy-relevant-android-app-reviews-large-scale-trends	
OUT:mobile	USENIX/2024/abandon-all-hope-ye-who-enter-here-a-dynamic-longitudinal-investigation-of-andro	
OUT:perception	USENIX/2024/i-dont-know-if-were-doing-good-i-dont-know-if-were-doing-bad-investigating-how-p	
OUT:mobile	USENIX/2024/ihunter-hunting-privacy-violations-at-scale-in-the-software-supply-chain-on-ios	
CONTEXT:channel	USENIX/2024/purl-safe-and-effective-sanitization-of-link-decoration	link decorations as a channel; the email-typed crawl finds 538 decorations that appear only with an email entered (62 tracking) but never shows the email value leaving. IN -> CONTEXT 2026-10-08 full-text reading
OUT:mobile	USENIX/2024/racing-for-tls-certificate-validation-a-hijackers-guide-to-the-android-tls-galax	
OUT:security	USENIX/2024/remote-keylogging-attacks-in-multi-user-vr-applications	
OUT:perception	USENIX/2024/understanding-the-security-and-privacy-implications-of-online-toxic-content-on-r	
OUT:security	USENIX/2024/what-was-your-prompt-a-remote-keylogging-attack-on-ai-assistants	
OUT:mobile	USENIX/2025/autovr-automated-ui-exploration-for-detecting-sensitive-data-flow-exposures-in-v	
OUT:client	USENIX/2025/big-help-or-big-brother-auditing-tracking-profiling-and-personalization-in-gener	GenAI browser-assistant extensions send page content
OUT:mention	USENIX/2025/covault-secure-scalable-analytics-of-personal-data	
OUT:security	USENIX/2025/darkgram-a-large-scale-analysis-of-cybercriminal-activity-channels-on-telegram	
OUT:llm	USENIX/2025/effective-pii-extraction-from-llms-through-augmented-few-shot-learning	
OUT:policy	USENIX/2025/evaluating-privacy-policies-under-modern-privacy-laws-at-scale-an-llm-based-auto	
OUT:llm	USENIX/2025/exploring-user-security-and-privacy-attitudes-and-concerns-toward-the-use-of-gen	
OUT:llm	USENIX/2025/generated-data-with-fake-privacy-hidden-dangers-of-fine-tuning-large-language-mo	
OUT:llm	USENIX/2025/malicious-llm-based-conversational-ai-makes-users-reveal-personal-information	
OUT:security	USENIX/2025/password-guessing-using-large-language-models	
OUT:mention	USENIX/2025/patching-up-stakeholder-experiences-of-security-updates-for-connected-medical-de	
OUT:perception	USENIX/2025/privacy-solution-or-menace-investigating-perceptions-of-radio-frequency-sensing	
OUT:llm	USENIX/2025/privacyxray-detecting-privacy-breaches-in-llms-through-semantic-consistency-and	
OUT:llm	USENIX/2025/private-investigator-extracting-personally-identifiable-information-from-large-l	
OUT:security	USENIX/2025/too-much-of-a-good-thing-in-security-of-mandatory-security-software-for-financia	
OUT:mention	USENIX/2025/trust-but-verify-an-assessment-of-vulnerability-tagging-services	
OUT:dsr	USENIX/2025/websites-global-privacy-control-compliance-at-scale-and-over-time	GPC
OUT:llm	USENIX/2025/when-llms-go-online-the-emerging-threat-of-web-enabled-llms	
CONTEXT:linkage	USENIX/2026/bridges-to-self-silent-web-to-app-tracking-on-mobile-via-localhost	localhost web-to-app channel ties browsing to a logged-in app identity; no personal-data value sent
OUT:security	USENIX/2026/the-state-of-passkeys-studying-the-adoption-and-security-of-passkeys-on-the-web	
OUT:security	USENIX/2026/turn-your-face-into-an-attack-surface-screen-attack-using-facial-reflections-in	
OUT:perception	WWW/2013/your-browsing-behavior-for-a-big-mac-economics-of-personal-information-online	PII valuation
OUT:client	WWW/2017/extended-tracking-powers-measuring-the-privacy-diffusion-enabled-by-browser-exte	extensions
OUT:mobile	WWW/2017/the-long-standing-privacy-debate-mobile-websites-vs-mobile-apps	the web side is a comparison and leaks device data, not personal data
OUT:breach	WWW/2017/tools-for-automated-analysis-of-cybercriminal-markets	
OUT:perception	WWW/2019/studying-preferences-and-concerns-about-information-disclosure-in-email-notifica	
OUT:security	WWW/2020/dark-matter-uncovering-the-darkcomet-rat-ecosystem	
CONTEXT:channel	WWW/2021/websocket-adoption-and-the-landscape-of-the-real-time-web	WebSocket payloads as a channel; key-name matching in an unauthenticated crawl finds visitor IDs and the crawler's IP, no personal-data value. IN -> CONTEXT 2026-10-08 full-text reading
OUT:tracking	WWW/2022/et-tu-brute-privacy-analysis-of-government-websites-and-mobile-apps	government websites: trackers and cookies on the web side; personal-data leaks measured only in apps
OUT:mobile	WWW/2023/bad-apples-understanding-the-centralized-security-risks-in-decentralized-ecosyst	
OUT:mention	WWW/2023/cashing-in-on-contacts-characterizing-the-onlyfans-ecosystem	OnlyFans creator ecosystem
OUT:llm	WWW/2023/do-language-models-plagiarize	
OUT:mobile	WWW/2023/not-seen-not-heard-in-the-digital-world-measuring-privacy-practices-in-childrens	
IN	WWW/2023/the-hitchhikers-guide-to-facebook-web-tracking-with-invisible-pixels-and-click-i	Pixel adoption on health, politics, sexual-orientation, religion sites; no PII value measured. method corrected 2026-10-08 full-text reading
OUT:breach	WWW/2026/doxing-as-a-service-demystifying-the-chinese-online-doxing-ecosystem	doxing
OUT:homograph	WWW/2026/privsniffer-graph-based-contextual-privacy-leakage-detection-for-user-generated	PII in user-generated text
Unmapped candidate verdict residue: 0 (resolveVerdicts throws otherwise).

Figure and quote verification, unedited

verify_pii_figures-output.txt
control ok (mutated needle not located)  2022/USENIX/leaky-forms  "Desktop 1,844 / 60,008 (3.2%) 2,950/ 60,999 (4.8%)"
control ok (mutated needle not located)  2022/PETS/who-knows-i-like-jelly-beans  "81.4% of these leak search terms to third parties in some form"
control ok (mutated needle not located)  2025/CCS/piixel-leaks  "Among the 187,257 websites that use Meta Pixel, we identify 122,577 (65.54%) configurations"
OK   paper.cols.txt 2016/PETS/are-you-sure  | crawl date
       "The crawl was executed on a 16-core server located in the US, in January 2015."
OK   paper.cols.txt 2016/PETS/are-you-sure  | 16,981 forms found
       "the 16,981 websites on which our crawler was able to"
OK   paper.cols.txt 2016/PETS/are-you-sure  | 82.5% submitted
       "We were able to complete and successfully submit approximately 82.5% of the discovered forms"
OK   paper.cols.txt 2016/PETS/are-you-sure  | 423 / 2.5%
       "423 forms i.e. 2.5% of the total number of contact forms which our crawler submitted, leaked the user's PII through the URL query string"
OK   paper.cols.txt 2016/PETS/are-you-sure  | 1,035 / 6.1%
       "6.1% (1,035) of all submitted contact forms"
OK   paper.cols.txt 2016/PETS/are-you-sure  | 309 emails
       "we received 309 emails from third parties, that is,"
OK   paper.cols.txt 2016/PETS/are-you-sure  | the differential
       "we mark this form as one that is potentially leaking user PII and requires manual analysis"
OK   paper.cols.txt 2016/IMC/characterizing-website-behaviors  | 345 sites
       "This criteria resulted in 345 websites crawled"
OK   paper.cols.txt 2016/IMC/characterizing-website-behaviors  | 42%
       "We also note that 42% of websites crawled leaked PII"
OK   paper.cols.txt 2016/IMC/characterizing-website-behaviors  | 463 third parties
       "463 unique third parties received at least"
OK   paper.cols.txt 2016/IMC/should-you-use  | Table 1 all-OS rows: apps 90.0%, web 76.0%
       "App 50 32.0 90.0% All Web 50 - 76.0%"
OK   paper.cols.txt 2016/IMC/should-you-use  | reading of Table 1 (90.0% vs 76.0%)
       "14% more services leak PII via apps than via Web sites"
OK   paper.cols.txt 2016/IMC/should-you-use  | four password flows
       "we found four cases of password leaks to third parties over HTTPS connections"
OK   paper.cols.txt 2017/PETS/cross-device-tracking  | 16 of 100
       "Of the 100 sites we reviewed, we detected 16 sites"
OK   paper.cols.txt 2017/PETS/cross-device-tracking  | 60 third-party domains
       "with a total of 60 third party"
OK   paper.cols.txt 2018/PETS/when-the-cookie-meets  | 130 merchants
       "This left 130 merchants in our crawl"
OK   paper.cols.txt WEAK 2018/PETS/when-the-cookie-meets  | 49 merchants (sentence spliced; second half below)
       "In our crawl, 49"
OK   paper.cols.txt 2018/PETS/when-the-cookie-meets  | 137 third parties
       "PII to a total of 137 third parties"
OK   paper.cols.txt 2018/IMC/tracing-cross-border  | 350 users
       "We employ our methodology on a dataset from 350 real users"
OK   paper.cols.txt 2018/IMC/tracing-cross-border  | 2.89%
       "We observe 127K requests towards sensitive topics, 2.89% of the total tracking flows we observed"
OK   paper.cols.txt 2018/IMC/tracing-cross-border  | health the most tracked (Health 38%, next needle)
       "The most heavily tracked category is"
OK   paper.cols.txt 2018/IMC/tracing-cross-border  | Health 38%
       "with 38% of the tracking flows"
OK   paper.cols.txt 2019/IMC/tales-from-the-porn  | 72%
       "72% of the websites use third-party cookies"
OK   paper.cols.txt 2020/PETS/no-boundaries  | data dates
       "All measurements were taken between June 2017 and December 2018"
OK   paper.cols.txt 2020/PETS/no-boundaries  | about 50 sites by hand
       "we manually examined around 50 of the top sites on which we found session replay scripts"
OK   paper.cols.txt 2020/PETS/no-boundaries  | 8 of 28
       "Eight of the 28 scripts were only discovered by our chunk injection measurement due to unsupported payload encodings."
OK   paper.cols.txt WEAK 2020/PETS/no-boundaries  | size differential
       "200 Kilobyte chunk"
OK   pypdf          2020/PETS/no-boundaries  | WebSocket/WebRTC gap
       "Firefox did not expose WebSocket and WebRTC connection data through these"
OK   paper.cols.txt 2021/PETS/the-cname-of-the-game  | 50 of 103
       "Out of the 103 considered websites, we were able to successfully register and log in on 50 of them"
OK   paper.cols.txt 2021/PETS/the-cname-of-the-game  | 13
       "we found that on 13 of these websites sensitive information leaked to a CNAME tracker"
OK   paper.cols.txt 2022/USENIX/leaky-forms  | crawl dates
       "Our main dataset consists of eight crawls, all of which were run in May and June of 2021."
OK   paper.cols.txt 2022/USENIX/leaky-forms  | Table 7 desktop row
       "Desktop 1,844 / 60,008 (3.0%) 2,950/ 60,999 (4.8%)"
OK   paper.cols.txt 2022/USENIX/leaky-forms  | Fathom +76%
       "Using the Fathom-based detector allowed us to identify 76% more email fields"
OK   paper.cols.txt 2022/USENIX/leaky-forms  | reject-all effect
       "decreases by 13% in the US, 0.05% in the EU."
OK   paper.cols.txt 2022/USENIX/leaky-forms  | 290 emails / 88 sites
       "In the six-week period following the crawls, we received 290 emails from 88 distinct sites on the email addresses used in the desktop crawls, despite not submitting any form."
OK   paper.cols.txt 2022/USENIX/leaky-forms  | 41 unlisted trackers
       "Thanks to this manual analysis, we uncover 41 tracker domains that are not listed in any of the popular blocklists."
OK   paper.cols.txt 2022/USENIX/leaky-forms  | LZString found via mail
       "we also found a third party that compresses payloads using lzstring"
OK   paper.cols.txt 2022/USENIX/leaky-forms  | fixed salt
       "hashes email addresses with a fixed salt, which was hard-coded in their script"
OK   paper.cols.txt WEAK 2022/USENIX/leaky-forms  | differential displaced (1/2)
       "Since Starov et al."
OK   paper.cols.txt 2022/USENIX/leaky-forms  | differential displaced (2/2)
       "s method requires more crawls and manual analysis, we prefer Englehardt et al."
OK   paper.cols.txt 2022/USENIX/leaky-forms  | no CNAME handling
       "Future work could investigate exfiltrations to CNAME-based trackers that appear as first parties"
OK   paper.cols.txt 2022/USENIX/leaky-forms  | Mixpanel fix
       "Mixpanel released an update only two days after we disclosed the issue."
OK   paper.cols.txt 2022/USENIX/leaky-forms  | 33 sites silent
       "We did not get any response from these 33 websites."
OK   paper.cols.txt 2022/PETS/who-knows-i-like-jelly-beans  | list date
       "We used the list created on April 27, 2020."
OK   paper.cols.txt 2022/PETS/who-knows-i-like-jelly-beans  | 512,701 with a search box
       "This left us with 512,701 sites"
OK   paper.cols.txt 2022/PETS/who-knows-i-like-jelly-beans  | 472,333 denominator
       "As presented in Table 2, this number is 472,333."
OK   paper.cols.txt 2022/PETS/who-knows-i-like-jelly-beans  | 81.3%
       "81.3% of these leak search terms to third parties in some form"
OK   paper.cols.txt 2022/PETS/who-knows-i-like-jelly-beans  | 26% interaction failures
       "we were unable to interact successfully with a detected search input for 26% of the sites"
OK   paper.cols.txt 2022/PETS/checking-websites-gdpr  | 666 sites
       "registered for 666 of these websites"
OK   paper.cols.txt 2022/PETS/checking-websites-gdpr  | 4.1% of addresses
       "finding that 4.1% of our addresses receive emails from multiple senders"
OK   paper.cols.txt 2022/PETS/checking-websites-gdpr  | 1,234 addresses
       "In total, we generated 1234 unique email addresses."
OK   paper.cols.txt 2022/PETS/checking-websites-gdpr  | per-site address
       "we generated a unique email address for each website"
OK   paper.cols.txt 2023/USENIX/is-your-wallet  | 211 of 1,572
       "of the 1, 572 DApps that we analyzed, 211 of them leak the user's wallet address to third-parties"
OK   paper.cols.txt 2023/USENIX/is-your-wallet  | wallet address and identity
       "but not necessarily to its realworld identity"
OK   paper.cols.txt 2023/WWW/the-hitchhikers-guide  | Table 1, health
       "Pixel adoption 16.9% 14% 10.5% 5.3% Total websites 7679"
OK   paper.cols.txt WEAK 2023/WWW/the-hitchhikers-guide  | Table 1, religion
       "religion 4.6% 9119"
OK   paper.cols.txt 2016/IMC/should-you-use  | taplytics = analytics provider
       "Grubhub's analytics provider"
OK   paper.cols.txt 2016/IMC/should-you-use  | app fix
       "released a new version of the app addressing this bug"
OK   paper.cols.txt 2016/IMC/should-you-use  | the four recipients
       "Grubhub sent passwords to taplytics.com, JetBlue to usablenet.com, and The Food Network and NCAA Sports sent passwords to Gigya"
OK   paper.cols.txt WEAK 2022/PETS/who-knows-i-like-jelly-beans  | search-box detector validation
       "recall of 69.1%"
OK   paper.cols.txt 2024/IMC/diffaudit  | 397 keys
       "two researchers independently and manually labeled a random sample of 10% (n=397)"
OK   paper.cols.txt 2024/IMC/diffaudit  | 84%
       "The two researchers originally had 84% agreement in their labeling"
OK   paper.cols.txt 2024/IEEE-SP/understanding-the-privacy-practices  | 8 of 26
       "In total, 8/26 (30.77%) campaigns we studied shared our emails with other political entities"
OK   paper.cols.txt 2025/PETS/tracker-installations  | 40,150 visited
       "Out of the 42,481 websites visited, we visited 40,150 (94.51%) successfully."
OK   paper.cols.txt WEAK 2025/PETS/tracker-installations  | Table 3: Google Tag installations
       "Google 29,137 72.6%"
OK   paper.cols.txt 2025/PETS/tracker-installations  | Table 3: Meta Pixel installations and FDC configurations
       "Meta 11,309 28.2% 7,849"
OK   paper.cols.txt 2025/PETS/tracker-installations  | 62.3%
       "We detected a Meta Pixel form data collection event on 62.3% of websites with a Meta Pixel (17.6% of all websites)."
OK   paper.cols.txt 2025/PETS/tracker-installations  | 11.6%
       "only 11.6% of websites with Google Tag exhibited form data collection (8.4% of all websites)"
OK   paper.cols.txt 2025/PETS/tracker-installations  | verticals
       "While 68% of Meta Pixels in non-sensitive verticals collected form data, only 30.8% of health and 20.3% of finance websites with Meta Pixel installations did."
OK   paper.cols.txt 2025/PETS/tracker-installations  | 219 / 36.1%
       "we evaluated a sample of 219 websites. We found that 36.1% of those websites did in fact have Meta Pixel form data collection."
OK   paper.cols.txt 2025/PETS/tracker-installations  | 89.8%
       "Of the 7,849 websites with FDC configuration, 89.8% had Meta Pixel form data collection"
OK   paper.cols.txt 2025/PETS/tracker-installations  | 9.6% FN
       "Out of the remaining 324 websites, 31 (9.6%) were false negatives."
OK   paper.cols.txt 2025/PETS/tracker-installations  | no PII-form check
       "We did not measure if a website actually had a PII form"
OK   paper.cols.txt 2025/PETS/tracker-installations  | four follow-ups
       "Four websites have followed up with an"
OK   paper.cols.txt 2025/PETS/tracker-installations  | 119 sites notified
       "and 119 websites we determined"
OK   paper.cols.txt 2025/PETS/tracker-installations  | visit dates
       "between September and November 2024"
OK   paper.cols.txt 2025/PETS/tracker-installations  | vendor hashes (quoted on the page)
       "SHA-256 for Meta Pixel and SHA-256 on a base64 encoded string for Google Tag"
OK   paper.cols.txt 2025/CCS/piixel-leaks  | 18.7%
       "187,257 (18.7%) of the 1M websites"
OK   paper.cols.txt 2025/CCS/piixel-leaks  | 65.45%
       "Among the 187,257 websites that use Meta Pixel, we identify 122,577 (65.45%) configurations that track at least one PII-related parameter."
OK   paper.cols.txt 2025/CCS/piixel-leaks  | 2,000 per category
       "We quantify URL tracking in this population by randomly sampling 2,000 websites from each category."
OK   paper.cols.txt 2025/CCS/piixel-leaks  | Table 4 e-commerce
       "E-commerce 1317 65.85"
OK   paper.cols.txt WEAK 2025/CCS/piixel-leaks  | Table 4 health
       "Health 226 11.30"
OK   paper.cols.txt 2025/PETS/gig-work-at-what-cost  | 15 of 16
       "15 of 16 share worker PII with unrelated third parties"
OK   paper.cols.txt 2025/PETS/gig-work-at-what-cost  | SSN via sign-up pixels
       "tracking pixels found on sign-up web pages"
OK   paper.cols.txt 2025/PETS/gig-work-at-what-cost  | SSN fix
       "Lyft and Uber both removed the sharing of"
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/HotCRPNumberTime', '/Encoding': '/WinAnsiEncoding', '/FirstChar': 48, '/FontDescriptor': IndirectObject(1141, 0, 277390365358160), '/LastChar': 57, '/Subtype': '/Type1', '/Type': '/Font', '/Widths': [500, 500, 500, 500, 500, 500, 500, 500, 500, 500]}, but is not installed. Consider installing fontTools if you encounter encoding problems.
OK   pypdf          2026/IMC/pixelconfig  | 34.3% / 8.7%
       "Tracking restriction features, such as Core Setup, are configured on up to 34.3% of health websites and 8.7% of control websites."
OK   paper.cols.txt 2026/IMC/pixelconfig  | limited protection
       "these tracking restriction features provide limited protection"
OK   pypdf          2026/IMC/pixelconfig  | 18K health sites
       "18K health-related websites"
OK   paper.cols.txt 2016/IMC/characterizing-website-behaviors  | HTTP only
       "HTTPS-based leakages were not explored."
OK   paper.cols.txt 2016/IMC/characterizing-website-behaviors  | 42% (144) is the logged-in crawl (sentence spliced by a figure caption)
       "revealed PII to a third party"
OK   paper.cols.txt 2018/PETS/when-the-cookie-meets  | 20 purchases
       "We made purchases from 20 distinct merchants in total."
OK   paper.cols.txt 2020/PETS/no-boundaries  | three layers
       "We configure our heuristics to detect up to three"
OK   paper.cols.txt 2021/PETS/the-cname-of-the-game  | name on 1
       "The leaked information included the user's full name (on 1 website),"
OK   paper.cols.txt 2021/PETS/the-cname-of-the-game  | location on 2
       "location (on 2 websites)"
OK   paper.cols.txt 2021/PETS/the-cname-of-the-game  | cookie on 10
       "and the authentication cookie (on 10 websites)"
OK   paper.cols.txt 2022/USENIX/leaky-forms  | Fathom baseline
       "Using the Fathom-based detector allowed us to identify 76% more email fields than we would detect by simply searching for input fields with type email."
OK   paper.cols.txt 2022/USENIX/leaky-forms  | Table 7 numerator
       "Table 7: The number of sites leaking emails or passwords to trackers"
OK   paper.cols.txt 2022/USENIX/leaky-forms  | Table 1 EU
       "Websites where we filled email 52,055"
OK   paper.cols.txt WEAK 2022/USENIX/leaky-forms  | Table 1 US no-action (row interleaved with mobile and other columns)
       "47,825 53,038"
OK   paper.cols.txt WEAK 2022/USENIX/leaky-forms  | Table 6 reject-all EU/US
       "reject-all 201 199"
OK   paper.cols.txt WEAK 2022/USENIX/leaky-forms  | Table 6 no-action EU/US
       "no-action 202 228"
OK   paper.cols.txt 2022/USENIX/leaky-forms  | top 33
       "we notified the top 33 websites"
OK   paper.cols.txt 2022/USENIX/leaky-forms  | 28 third parties asked
       "We reached out to 58 first and 28 third parties with GDPR requests."
OK   paper.cols.txt 2022/USENIX/leaky-forms  | 52 sites
       "We found that passwords are collected by trackers on 52 distinct websites"
OK   paper.cols.txt 2022/USENIX/leaky-forms  | 50 of 52 Yandex
       "(50/52) of these leaks were due to Yandex Metrica's session"
OK   paper.cols.txt 2022/USENIX/leaky-forms  | more than 50
       "We have also notified more than 50 websites where passwords were collected."
OK   paper.cols.txt 2022/PETS/who-knows-i-like-jelly-beans  | upper bound
       "upper bound because for 1.57% of the 472,333 sites"
OK   paper.cols.txt 2023/USENIX/is-your-wallet  | 211 of 616
       "We find that 211 out of 616 DApps"
OK   paper.cols.txt 2023/USENIX/is-your-wallet  | 35% of connected
       "(35% of the connected DApps)"
OK   paper.cols.txt 2023/USENIX/is-your-wallet  | 616 of 1,572 connected
       "tomator was able to automatically connect to 616 (39%)"
OK   paper.cols.txt 2023/USENIX/is-your-wallet  | three layers
       "This process is repeated until a level of three layers of encodings and decodings is reached."
OK   paper.cols.txt 2025/PETS/tracker-installations  | authors: a proxy, not real leaks
       "we are not measuring acutal observed PII leaks but rather whether a website is configured in a way that could potentially cause PII leaks"
OK   paper.cols.txt 2025/PETS/gig-work-at-what-cost  | two authors
       "two legitimate, verifiable personas associated with two authors"
OK   paper.cols.txt 2025/PETS/gig-work-at-what-cost  | 14 / 12
       "14 share worker full names, and 12 share emails"
OK   paper.cols.txt 2026/IMC/pixelconfig  | 2023 -> 2024
       "health websites from 15.6% in 2023 to 34.3% in 2024"
OK   paper.cols.txt WEAK 2026/IMC/pixelconfig  | control 2024
       "to 8.7% in 2024"
OK   paper.cols.txt 2025/CCS/piixel-leaks  | ENCODINGS: not-applicable
       "we can identify the specific PII-related parameters it is configured to capture and transmit to Meta"
OK   paper.cols.txt 2024/IEEE-SP/understanding-the-privacy-practices-of-political  | ENCODINGS: not-applicable
       "We examined the domains of the senders to identify emails from external parties"
OK   paper.cols.txt 2016/IMC/characterizing-website-behaviors  | ENCODINGS: not-stated
       "Information in HTTP requests, HTTP referer information, and cookies set and retrieved were tracked to identify when PII was leaked using conservative"
OK   paper.cols.txt 2016/IMC/should-you-use-the-app  | ENCODINGS: not-stated
       "Our experiments are limited to detecting PII leaks that occur directly to first and third parties, and that are detectable using common encodings (i.e., are not obfuscated)."
OK   paper.cols.txt 2018/IMC/tracing-cross-border-web-tracking  | ENCODINGS: not-applicable
       "we only collected domain names instead of full URLs"
OK   paper.cols.txt 2019/IMC/tales-from-the-porn  | ENCODINGS: not-applicable
       "We decode the cookie values using two types of encoding: base64, and URL."
OK   paper.cols.txt 2024/IMC/diffaudit  | ENCODINGS: not-applicable
       "Starting from a raw, clear-text network traffic trace, we extract each packet's destination and data types from the packet headers and payloads, respectively."
OK   paper.cols.txt 2016/PETS/are-you-sure-you-want-to-contact-us  | ENCODINGS: plain
       "While one can straightforwardly search for PII being transmitted in the clear, this method will not be able to account for leaks that use various encoding or obfuscation techniques to hide the PII in the outgoing traffic."
OK   paper.cols.txt 2017/PETS/cross-device-tracking  | ENCODINGS: plain, md5, sha1, sha256, base64
       "We looked for this information in both plain, hashed, (MD5, SHA-1, SHA-256) and base64 encoded forms."
OK   paper.cols.txt 2018/PETS/when-the-cookie-meets-the-blockchain  | ENCODINGS: not-stated
       "We also manually marked any PII and payment-related information that we encountered on the pages we visited; we added functionality to the tool to automatically record this information when marked."
OK   paper.cols.txt 2020/PETS/no-boundaries  | ENCODINGS: plain, urlenc, base64, md5, sha1, sha256, sha_other, other_hash, compress, chained
       "Encodings Base16, Base32, Base58, Base64, Entity encoding, URL encoding (percent-encoding), yEnc, DEFLATE, GZIP, ZLIB (RFC 1950)."
OK   paper.cols.txt 2021/PETS/the-cname-of-the-game  | ENCODINGS: plain
       "email address (on 4 websites, either in plain-text or hashed)"
OK   paper.cols.txt 2022/PETS/checking-websites-gdpr-consent  | ENCODINGS: not-applicable
       "To analyze whether the website shares the email address with a third party, we generated a unique email address for each website."
OK   paper.cols.txt 2022/PETS/who-knows-i-like-jelly-beans  | ENCODINGS: plain, base64
       "we report that 0.9% of sites make use of third parties that rely on Base 64"
OK   paper.cols.txt 2025/PETS/gig-work-at-what-cost  | ENCODINGS: plain, sha256
       "The SSNs were transmitted as an unsalted SHA256 hash of the worker's SSN."
OK   paper.cols.txt 2025/PETS/tracker-installations  | ENCODINGS: sha256, base64
       "We identified our data by hashing it according to the standard for each tracker (SHA-256 for Meta Pixel and SHA-256 on a base64 encoded string for Google Tag) and then searching network events for a matching string hash."
OK   paper.cols.txt 2022/USENIX/leaky-forms  | ENCODINGS: plain, urlenc, base64, md5, sha1, sha256, sha_other, other_hash, compress, chained
       "We repeat this process until we reach a level of three layers of encodings or decodings."
OK   paper.cols.txt 2022/USENIX/when-sally-met-trackers  | ENCODINGS: not-applicable
       "we selected a set of sensitive categories: Health, Legal, Financial, Sexuality, Political, and Religion."
OK   paper.cols.txt 2023/USENIX/is-your-wallet-snitching  | ENCODINGS: plain, urlenc, base64, compress, md5, sha256, other_hash, chained
       "The method consists of searching for a variety of encodings and hashes within strings, by precomputing a set of strings, which contains all possible encodings"
OK   paper.cols.txt 2023/WWW/the-hitchhikers-guide  | ENCODINGS: not-applicable
       "Still, websites can share other IDs such as hashed emails, etc."
 
136 needles (116 page figures and quotes, 20 ENCODINGS deciding sentences); located by: paper.cols.txt 133, pypdf 3; weak (<20 chars): 11; not located: 0
 
=== EXTERNAL FIGURES (non-corpus; each checked by external_checks_pii_leakage.sh, output on the provenance page) ===
1,986 diseases and 70% of Referer strings (Libert, CACM 2015, arXiv 1404.1951 abstract)
98.6% of hospital websites (Friedman et al., Health Affairs 2023)
5 portals and 4 telehealth websites (Huo et al., WPES 2022)
$7.8 million (FTC BetterHelp final order, 2023-07-14); SEK 37 million and SEK 8 million (IMY, 2024-08-30)
docket 4:23-cv-01110, i.e. 01110 (AHA v. Becerra, N.D. Tex.; appeal dismissed 2024-09-04); TIGTA report 2024-400-062
answer 9888656 (Google Ads Help article id); E.164, i.e. 164 (phone-number format named by Google)
NOK 250,000, written NOK 250 000 at the source (Datatilsynet, 2025); IMY decision DI-2021-5544, i.e. 5544 (Avanza, 2024-06-25)
=== ARITHMETIC ===
0.5% = (202 - 201) / 202, Leaky Forms Table 6, EU no-action vs reject-all (needles above)
=== NOT FIGURES ===
60,000 = "roughly 60,000", the rounding of Leaky Forms' 60,008 / 60,999 (needles above) in the opening box
100,000 = the "100K" Tranco frame of Leaky Forms, written out in a sentence about not dividing by it
23 = a fragment of the citekey torres2023_wallet that the guard's regex splits
=== TEMPLATE LITERALS (the illustrative "What to Report" sentence; not data) ===
18,204 sites; 50,000-site list; Chromium 152; 612 sites (3.4%); 541 as SHA-256; 14 transformations; depth 3; 96 of 100 fixtures; 37 sites

External checks, unedited

external_checks_pii_leakage-output.txt
== 1. Regulators and enforcement (sector section) ==
OK   [200] FTC GoodRx (2023-02-01), first HBNR action — "for the first time under its Health Breach Notification Rule"
OK   [200] FTC BetterHelp final order (2023-07-14) — "email addresses, IP addresses, and health questionnaire information to Facebook, Snapchat, Criteo, and Pinterest"
OK   [200] FTC HBNR final rule (2024-04-26): unauthorized disclosure is a breach — "or an unauthorized disclosure"
OK   [200] HHS tracking bulletin: AHA v. Becerra vacatur notice (Wayback 2026-09-04) — "issued an order declaring unlawful and vacating a portion of this guidance document"
OK   [200] AHA v. Becerra appeal dismissed (RECAP docket) — "the appeal is dismissed as of September 04, 2024"
OK   [200] TIGTA 2024-400-062 (2024-09-17): pixels not addressed by consent guidance — "does not specifically address the use of pixels"
OK   [200] Senate 'Attacks on Tax Privacy' report landing page (Wayback 2023-07-13) — "for at least a couple of years"
OK   [200] IMY Apoteket / Apohem (2024-08-30): SEK 37M and 8M — "37 miljoner kronor mot Apoteket AB och 8 miljoner mot Apohem AB"
OK   [200] Datatilsynet six websites with tracking pixels (2025) — "All of the websites unlawfully shared personal data of website visitors with third parties"
OK   [200] FTC BetterHelp: $7.8 million — "pay $7.8 million"
OK   [200] The Markup tax-filing Pixel story (2022-11-22) — "have been quietly transmitting sensitive financial information to Facebook"
OK   [200] IMY Apohem case page: upheld 2026-05-15, appealed — "fastställdes av förvaltningsrätten den 15 maj 2026"
OK   [200] IMY Apoteket decision PDF names the AAM function — "avancerad matchning"
OK   [200] IMY: companies lacked routines to detect it; stopped after outsiders told them — "inte har haft de rutiner som krävts för att själva upptäcka bristerna"
OK   [200] IMY Apoteket decision: AAM activated by individual employees without a risk assessment — "Aktiveringen av Meta-pixeln och AAM-funktionen har skett av enskilda medarbetare"
OK   [200] IMY Avanza (2024-06-25): SEK 15M, holdings and account numbers to Meta — "uppgifter om exempelvis kunders värdepappersinnehav och kontonummer överförts till Meta"
OK   [200] FTC + Utah + California v. Hims & Hers (2026-07-29) — "The FTC alleges that Hims shared consumers"
OK   [200] Datatilsynet six websites: indirect health / sex life / religion — "could indirectly say something about the website visitor"
OK   [200] Datatilsynet six websites: NOK 250 000 — "NOK 250 000"
OK   [200] Javier v. Assurance IQ (9th Cir. 2022-05-31) memorandum — "Section 631(a) applies to Internet communications"
 
== 2. Vendor documentation that defines the detector's search space ==
OK   [200] Meta Pixel advanced matching: SHA-256 in the pixel (Wayback 2026-06-24) — "hashed automatically by the pixel using SHA-256"
OK   [200] Google Ads enhanced conversions: normalise then hex SHA-256 — "Remove all periods (.) that precede the domain name in gmail.com and googlemail.com email addresses"
OK   [200] Google Analytics: no PII may be sent — "no data be passed to Google that Google could use or recognize as personally identifiable information"
OK   [200] TikTok Pixel automatic advanced matching — "Automatically identifies form fields on pages where the Pixel is installed"
OK   [200] Meta Pixel: accepts lowercase unhashed or normalized SHA-256 email (Wayback 2026-06-24) — "normalized SHA-256 hashed email addresses"
OK   [200] Google tag gateway: measurement requests via the first-party domain — "some measurement requests will be sent to Google using your first-party domain"
OK   [200] TikTok: regulated industries should prefer manual advanced matching — "consider using Manual Advanced Matching instead of Auto Advanced Matching"
OK   [200] Google Ads: normalisation is for operators who hash themselves — "If you decide to normalize and hash the data"
OK   [200] Microsoft Clarity masking: inputs masked in all modes — "Content in the input boxes is masked in all modes"
OK   [200] LogRocket: data-private is opt-in; passwords never recorded — "Password fields are never recorded"
 
== 3. Non-corpus papers cited ==
OK   Crossref 10.1145/3559613.3563190: All Eyes On Me | Huo, Bland, Levchenko | Proceedings of the 21st Workshop on Privacy in the Electronic Society | 2022
OK   Crossref 10.1377/hlthaff.2022.01205: Widespread Third-Party Tracking On Hospital Websites Poses Privacy Risks For Patients And Legal Liability For Hospitals | Friedman, Merchant, Maley, Farhat, Smith, Felkins, Gonzales, Bauer, McCoy | Health Affairs | 2023
OK   Crossref 10.1145/3485983.3494860: Alternative to third-party cookies | Dao, Fukuda | Proceedings of the 17th International Conference on emerging Networking EXperiments and Technologies | 2021
OK   Crossref 10.1007/978-3-030-42051-2_7: You Shall Not Register! Detecting Privacy Leaks Across Registration Forms | Chatzimpyrros, Solomos, Ioannidis | Lecture Notes in Computer Science | 2020
OK   Crossref 10.1145/2658983: Privacy implications of health information seeking on the web | Libert | Communications of the ACM | 2015
OK   Crossref 10.14722/ndss.2017.23465: Obfuscation-Resilient Privacy Leak Detection for Mobile Apps Through Differential Analysis | Continella, Fratantonio, Lindorfer, Puccetti, Zand, Kruegel, Vigna | Proceedings 2017 Network and Distributed System Security Symposium | 2017
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/GYIDAE+CMR10', '/FontDescriptor': IndirectObject(36, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 124, '/Widths': [583, 556, 556, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 833, 778, 278, 389, 389, 0, 0, 278, 333, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 0, 0, 0, 472, 0, 750, 708, 722, 764, 681, 653, 785, 750, 361, 514, 778, 625, 917, 750, 778, 681, 0, 736, 556, 722, 750, 750, 1028, 750, 0, 0, 278, 500, 278, 0, 0, 0, 500, 556, 444, 556, 444, 306, 500, 556, 278, 306, 528, 278, 833, 556, 500, 556, 528, 392, 394, 389, 556, 528, 722, 528, 528, 444, 500, 1000], '/Encoding': IndirectObject(254, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/ZNUZCS+CMTI10', '/FontDescriptor': IndirectObject(34, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 122, '/Widths': [613, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 307, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 307, 0, 0, 0, 0, 0, 0, 743, 704, 716, 755, 678, 653, 774, 743, 386, 525, 0, 627, 897, 743, 767, 678, 0, 729, 562, 716, 743, 743, 999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 460, 460, 511, 460, 307, 460, 511, 307, 0, 460, 256, 818, 562, 511, 511, 460, 422, 409, 332, 537, 460, 664, 464, 486, 409], '/Encoding': IndirectObject(257, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/GYIDAE+CMR10', '/FontDescriptor': IndirectObject(36, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 124, '/Widths': [583, 556, 556, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 833, 778, 278, 389, 389, 0, 0, 278, 333, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 0, 0, 0, 472, 0, 750, 708, 722, 764, 681, 653, 785, 750, 361, 514, 778, 625, 917, 750, 778, 681, 0, 736, 556, 722, 750, 750, 1028, 750, 0, 0, 278, 500, 278, 0, 0, 0, 500, 556, 444, 556, 444, 306, 500, 556, 278, 306, 528, 278, 833, 556, 500, 556, 528, 392, 394, 389, 556, 528, 722, 528, 528, 444, 500, 1000], '/Encoding': IndirectObject(254, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/ZNUZCS+CMTI10', '/FontDescriptor': IndirectObject(34, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 122, '/Widths': [613, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 307, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 307, 0, 0, 0, 0, 0, 0, 743, 704, 716, 755, 678, 653, 774, 743, 386, 525, 0, 627, 897, 743, 767, 678, 0, 729, 562, 716, 743, 743, 999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 460, 460, 511, 460, 307, 460, 511, 307, 0, 460, 256, 818, 562, 511, 511, 460, 422, 409, 332, 537, 460, 664, 464, 486, 409], '/Encoding': IndirectObject(257, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/BMUUQQ+CMSS10', '/FontDescriptor': IndirectObject(52, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 12, '/LastChar': 120, '/Widths': [536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 500, 0, 0, 500, 0, 0, 0, 0, 500, 0, 0, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 481, 517, 444, 517, 444, 0, 500, 517, 239, 267, 489, 239, 794, 517, 500, 517, 517, 342, 383, 361, 517, 461, 683, 461], '/Encoding': IndirectObject(266, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/GYIDAE+CMR10', '/FontDescriptor': IndirectObject(36, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 124, '/Widths': [583, 556, 556, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 833, 778, 278, 389, 389, 0, 0, 278, 333, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 0, 0, 0, 472, 0, 750, 708, 722, 764, 681, 653, 785, 750, 361, 514, 778, 625, 917, 750, 778, 681, 0, 736, 556, 722, 750, 750, 1028, 750, 0, 0, 278, 500, 278, 0, 0, 0, 500, 556, 444, 556, 444, 306, 500, 556, 278, 306, 528, 278, 833, 556, 500, 556, 528, 392, 394, 389, 556, 528, 722, 528, 528, 444, 500, 1000], '/Encoding': IndirectObject(254, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/ZNUZCS+CMTI10', '/FontDescriptor': IndirectObject(34, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 122, '/Widths': [613, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 307, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 307, 0, 0, 0, 0, 0, 0, 743, 704, 716, 755, 678, 653, 774, 743, 386, 525, 0, 627, 897, 743, 767, 678, 0, 729, 562, 716, 743, 743, 999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 460, 460, 511, 460, 307, 460, 511, 307, 0, 460, 256, 818, 562, 511, 511, 460, 422, 409, 332, 537, 460, 664, 464, 486, 409], '/Encoding': IndirectObject(257, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/OMZYVS+CMR9', '/FontDescriptor': IndirectObject(73, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 12, '/LastChar': 121, '/Widths': [571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, 343, 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 571, 457, 571, 457, 314, 514, 571, 285, 0, 542, 0, 856, 571, 514, 571, 0, 402, 405, 400, 571, 542, 0, 0, 542], '/Encoding': IndirectObject(262, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/SPUVRH+CMR6', '/FontDescriptor': IndirectObject(71, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 49, '/LastChar': 50, '/Widths': [611, 611], '/Encoding': '/WinAnsiEncoding', '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/RDLBXG+CMBX10', '/FontDescriptor': IndirectObject(68, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 121, '/Widths': [671, 639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 319, 383, 0, 0, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 319, 319, 0, 0, 0, 0, 0, 869, 818, 831, 882, 756, 724, 904, 900, 436, 0, 901, 692, 1092, 900, 0, 786, 0, 863, 639, 800, 885, 869, 1189, 0, 0, 703, 0, 0, 0, 0, 0, 0, 559, 639, 511, 639, 527, 351, 575, 639, 319, 351, 607, 319, 958, 639, 575, 639, 0, 474, 454, 447, 639, 607, 831, 607, 607], '/Encoding': IndirectObject(263, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/QRTJUS+CMTT10', '/FontDescriptor': IndirectObject(65, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 67, '/LastChar': 114, '/Widths': [525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 525, 0, 0, 525, 0, 525, 0, 0, 0, 525, 0, 0, 525], '/Encoding': '/WinAnsiEncoding', '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/TLMQLQ+CMR7', '/FontDescriptor': IndirectObject(63, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 12, '/LastChar': 122, '/Widths': [647, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 877, 323, 446, 446, 0, 0, 0, 385, 323, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 323, 323, 0, 877, 0, 539, 0, 843, 0, 815, 860, 768, 737, 884, 843, 413, 583, 0, 706, 1028, 843, 877, 768, 877, 829, 631, 815, 843, 843, 0, 0, 843, 0, 0, 0, 0, 0, 0, 0, 569, 631, 508, 631, 508, 354, 569, 631, 323, 354, 600, 323, 938, 631, 569, 631, 600, 446, 453, 446, 631, 600, 815, 600, 600, 508], '/Encoding': IndirectObject(264, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/BMUUQQ+CMSS10', '/FontDescriptor': IndirectObject(52, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 12, '/LastChar': 120, '/Widths': [536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 500, 0, 0, 500, 0, 0, 0, 0, 500, 0, 0, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 481, 517, 444, 517, 444, 0, 500, 517, 239, 267, 489, 239, 794, 517, 500, 517, 517, 342, 383, 361, 517, 461, 683, 461], '/Encoding': IndirectObject(266, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/GYIDAE+CMR10', '/FontDescriptor': IndirectObject(36, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 124, '/Widths': [583, 556, 556, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 833, 778, 278, 389, 389, 0, 0, 278, 333, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 0, 0, 0, 472, 0, 750, 708, 722, 764, 681, 653, 785, 750, 361, 514, 778, 625, 917, 750, 778, 681, 0, 736, 556, 722, 750, 750, 1028, 750, 0, 0, 278, 500, 278, 0, 0, 0, 500, 556, 444, 556, 444, 306, 500, 556, 278, 306, 528, 278, 833, 556, 500, 556, 528, 392, 394, 389, 556, 528, 722, 528, 528, 444, 500, 1000], '/Encoding': IndirectObject(254, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/ZNUZCS+CMTI10', '/FontDescriptor': IndirectObject(34, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 122, '/Widths': [613, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 307, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 307, 0, 0, 0, 0, 0, 0, 743, 704, 716, 755, 678, 653, 774, 743, 386, 525, 0, 627, 897, 743, 767, 678, 0, 729, 562, 716, 743, 743, 999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 460, 460, 511, 460, 307, 460, 511, 307, 0, 460, 256, 818, 562, 511, 511, 460, 422, 409, 332, 537, 460, 664, 464, 486, 409], '/Encoding': IndirectObject(257, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/AIYCES+CMSY7', '/FontDescriptor': IndirectObject(89, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 106, '/LastChar': 106, '/Widths': [339], '/Encoding': IndirectObject(260, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/FTKABW+CMBX7', '/FontDescriptor': IndirectObject(80, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 43, '/LastChar': 121, '/Widths': [1002, 0, 0, 363, 0, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 0, 0, 0, 0, 0, 0, 1002, 968, 914, 931, 985, 0, 0, 0, 0, 0, 665, 0, 0, 1215, 0, 968, 0, 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 629, 718, 576, 718, 592, 0, 0, 718, 363, 399, 683, 363, 1073, 718, 647, 718, 0, 535, 0, 505, 0, 0, 0, 0, 683], '/Encoding': '/WinAnsiEncoding', '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/RDLBXG+CMBX10', '/FontDescriptor': IndirectObject(68, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 121, '/Widths': [671, 639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 319, 383, 0, 0, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 319, 319, 0, 0, 0, 0, 0, 869, 818, 831, 882, 756, 724, 904, 900, 436, 0, 901, 692, 1092, 900, 0, 786, 0, 863, 639, 800, 885, 869, 1189, 0, 0, 703, 0, 0, 0, 0, 0, 0, 559, 639, 511, 639, 527, 351, 575, 639, 319, 351, 607, 319, 958, 639, 575, 639, 0, 474, 454, 447, 639, 607, 831, 607, 607], '/Encoding': IndirectObject(263, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/QRTJUS+CMTT10', '/FontDescriptor': IndirectObject(65, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 67, '/LastChar': 114, '/Widths': [525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 525, 0, 0, 525, 0, 525, 0, 0, 0, 525, 0, 0, 525], '/Encoding': '/WinAnsiEncoding', '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/TLMQLQ+CMR7', '/FontDescriptor': IndirectObject(63, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 12, '/LastChar': 122, '/Widths': [647, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 877, 323, 446, 446, 0, 0, 0, 385, 323, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 323, 323, 0, 877, 0, 539, 0, 843, 0, 815, 860, 768, 737, 884, 843, 413, 583, 0, 706, 1028, 843, 877, 768, 877, 829, 631, 815, 843, 843, 0, 0, 843, 0, 0, 0, 0, 0, 0, 0, 569, 631, 508, 631, 508, 354, 569, 631, 323, 354, 600, 323, 938, 631, 569, 631, 600, 446, 453, 446, 631, 600, 815, 600, 600, 508], '/Encoding': IndirectObject(264, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/BMUUQQ+CMSS10', '/FontDescriptor': IndirectObject(52, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 12, '/LastChar': 120, '/Widths': [536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 500, 0, 0, 500, 0, 0, 0, 0, 500, 0, 0, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 481, 517, 444, 517, 444, 0, 500, 517, 239, 267, 489, 239, 794, 517, 500, 517, 517, 342, 383, 361, 517, 461, 683, 461], '/Encoding': IndirectObject(266, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/GYIDAE+CMR10', '/FontDescriptor': IndirectObject(36, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 124, '/Widths': [583, 556, 556, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 833, 778, 278, 389, 389, 0, 0, 278, 333, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 0, 0, 0, 472, 0, 750, 708, 722, 764, 681, 653, 785, 750, 361, 514, 778, 625, 917, 750, 778, 681, 0, 736, 556, 722, 750, 750, 1028, 750, 0, 0, 278, 500, 278, 0, 0, 0, 500, 556, 444, 556, 444, 306, 500, 556, 278, 306, 528, 278, 833, 556, 500, 556, 528, 392, 394, 389, 556, 528, 722, 528, 528, 444, 500, 1000], '/Encoding': IndirectObject(254, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/JTHANK+Bold', '/FontDescriptor': IndirectObject(115, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 32, '/LastChar': 116, '/Widths': [278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 611, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 556, 0, 556, 0, 556, 333, 611, 0, 278, 0, 0, 0, 0, 611, 611, 0, 0, 389, 556, 333], '/Encoding': '/WinAnsiEncoding', '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/ZNUZCS+CMTI10', '/FontDescriptor': IndirectObject(34, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 122, '/Widths': [613, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 307, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 307, 0, 0, 0, 0, 0, 0, 743, 704, 716, 755, 678, 653, 774, 743, 386, 525, 0, 627, 897, 743, 767, 678, 0, 729, 562, 716, 743, 743, 999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 460, 460, 511, 460, 307, 460, 511, 307, 0, 460, 256, 818, 562, 511, 511, 460, 422, 409, 332, 537, 460, 664, 464, 486, 409], '/Encoding': IndirectObject(257, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/DLLAXC+CMR8', '/FontDescriptor': IndirectObject(122, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 12, '/LastChar': 121, '/Widths': [590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 0, 0, 295, 354, 295, 531, 531, 531, 531, 531, 531, 531, 0, 0, 531, 531, 295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 811, 723, 693, 834, 796, 383, 545, 825, 664, 973, 0, 826, 723, 0, 782, 590, 0, 796, 0, 0, 796, 0, 0, 0, 0, 0, 0, 0, 0, 531, 590, 472, 590, 472, 325, 531, 590, 295, 325, 561, 295, 885, 590, 531, 590, 0, 414, 419, 413, 590, 561, 767, 561, 561], '/Encoding': IndirectObject(259, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/AIYCES+CMSY7', '/FontDescriptor': IndirectObject(89, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 106, '/LastChar': 106, '/Widths': [339], '/Encoding': IndirectObject(260, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/FTKABW+CMBX7', '/FontDescriptor': IndirectObject(80, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 43, '/LastChar': 121, '/Widths': [1002, 0, 0, 363, 0, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 0, 0, 0, 0, 0, 0, 1002, 968, 914, 931, 985, 0, 0, 0, 0, 0, 665, 0, 0, 1215, 0, 968, 0, 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 629, 718, 576, 718, 592, 0, 0, 718, 363, 399, 683, 363, 1073, 718, 647, 718, 0, 535, 0, 505, 0, 0, 0, 0, 683], '/Encoding': '/WinAnsiEncoding', '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/SPUVRH+CMR6', '/FontDescriptor': IndirectObject(71, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 49, '/LastChar': 50, '/Widths': [611, 611], '/Encoding': '/WinAnsiEncoding', '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/RDLBXG+CMBX10', '/FontDescriptor': IndirectObject(68, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 121, '/Widths': [671, 639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 319, 383, 0, 0, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 319, 319, 0, 0, 0, 0, 0, 869, 818, 831, 882, 756, 724, 904, 900, 436, 0, 901, 692, 1092, 900, 0, 786, 0, 863, 639, 800, 885, 869, 1189, 0, 0, 703, 0, 0, 0, 0, 0, 0, 559, 639, 511, 639, 527, 351, 575, 639, 319, 351, 607, 319, 958, 639, 575, 639, 0, 474, 454, 447, 639, 607, 831, 607, 607], '/Encoding': IndirectObject(263, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/TLMQLQ+CMR7', '/FontDescriptor': IndirectObject(63, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 12, '/LastChar': 122, '/Widths': [647, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 877, 323, 446, 446, 0, 0, 0, 385, 323, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 323, 323, 0, 877, 0, 539, 0, 843, 0, 815, 860, 768, 737, 884, 843, 413, 583, 0, 706, 1028, 843, 877, 768, 877, 829, 631, 815, 843, 843, 0, 0, 843, 0, 0, 0, 0, 0, 0, 0, 569, 631, 508, 631, 508, 354, 569, 631, 323, 354, 600, 323, 938, 631, 569, 631, 600, 446, 453, 446, 631, 600, 815, 600, 600, 508], '/Encoding': IndirectObject(264, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/GYIDAE+CMR10', '/FontDescriptor': IndirectObject(36, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 124, '/Widths': [583, 556, 556, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 833, 778, 278, 389, 389, 0, 0, 278, 333, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 0, 0, 0, 472, 0, 750, 708, 722, 764, 681, 653, 785, 750, 361, 514, 778, 625, 917, 750, 778, 681, 0, 736, 556, 722, 750, 750, 1028, 750, 0, 0, 278, 500, 278, 0, 0, 0, 500, 556, 444, 556, 444, 306, 500, 556, 278, 306, 528, 278, 833, 556, 500, 556, 528, 392, 394, 389, 556, 528, 722, 528, 528, 444, 500, 1000], '/Encoding': IndirectObject(254, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/ZNUZCS+CMTI10', '/FontDescriptor': IndirectObject(34, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 122, '/Widths': [613, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 307, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 307, 0, 0, 0, 0, 0, 0, 743, 704, 716, 755, 678, 653, 774, 743, 386, 525, 0, 627, 897, 743, 767, 678, 0, 729, 562, 716, 743, 743, 999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 460, 460, 511, 460, 307, 460, 511, 307, 0, 460, 256, 818, 562, 511, 511, 460, 422, 409, 332, 537, 460, 664, 464, 486, 409], '/Encoding': IndirectObject(257, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/FTKABW+CMBX7', '/FontDescriptor': IndirectObject(80, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 43, '/LastChar': 121, '/Widths': [1002, 0, 0, 363, 0, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 0, 0, 0, 0, 0, 0, 1002, 968, 914, 931, 985, 0, 0, 0, 0, 0, 665, 0, 0, 1215, 0, 968, 0, 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 629, 718, 576, 718, 592, 0, 0, 718, 363, 399, 683, 363, 1073, 718, 647, 718, 0, 535, 0, 505, 0, 0, 0, 0, 683], '/Encoding': '/WinAnsiEncoding', '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/RDLBXG+CMBX10', '/FontDescriptor': IndirectObject(68, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 121, '/Widths': [671, 639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 319, 383, 0, 0, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 319, 319, 0, 0, 0, 0, 0, 869, 818, 831, 882, 756, 724, 904, 900, 436, 0, 901, 692, 1092, 900, 0, 786, 0, 863, 639, 800, 885, 869, 1189, 0, 0, 703, 0, 0, 0, 0, 0, 0, 559, 639, 511, 639, 527, 351, 575, 639, 319, 351, 607, 319, 958, 639, 575, 639, 0, 474, 454, 447, 639, 607, 831, 607, 607], '/Encoding': IndirectObject(263, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/TLMQLQ+CMR7', '/FontDescriptor': IndirectObject(63, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 12, '/LastChar': 122, '/Widths': [647, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 877, 323, 446, 446, 0, 0, 0, 385, 323, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 323, 323, 0, 877, 0, 539, 0, 843, 0, 815, 860, 768, 737, 884, 843, 413, 583, 0, 706, 1028, 843, 877, 768, 877, 829, 631, 815, 843, 843, 0, 0, 843, 0, 0, 0, 0, 0, 0, 0, 569, 631, 508, 631, 508, 354, 569, 631, 323, 354, 600, 323, 938, 631, 569, 631, 600, 446, 453, 446, 631, 600, 815, 600, 600, 508], '/Encoding': IndirectObject(264, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/BMUUQQ+CMSS10', '/FontDescriptor': IndirectObject(52, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 12, '/LastChar': 120, '/Widths': [536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 500, 0, 0, 500, 0, 0, 0, 0, 500, 0, 0, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 481, 517, 444, 517, 444, 0, 500, 517, 239, 267, 489, 239, 794, 517, 500, 517, 517, 342, 383, 361, 517, 461, 683, 461], '/Encoding': IndirectObject(266, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/GYIDAE+CMR10', '/FontDescriptor': IndirectObject(36, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 124, '/Widths': [583, 556, 556, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 833, 778, 278, 389, 389, 0, 0, 278, 333, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 0, 0, 0, 472, 0, 750, 708, 722, 764, 681, 653, 785, 750, 361, 514, 778, 625, 917, 750, 778, 681, 0, 736, 556, 722, 750, 750, 1028, 750, 0, 0, 278, 500, 278, 0, 0, 0, 500, 556, 444, 556, 444, 306, 500, 556, 278, 306, 528, 278, 833, 556, 500, 556, 528, 392, 394, 389, 556, 528, 722, 528, 528, 444, 500, 1000], '/Encoding': IndirectObject(254, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/ZNUZCS+CMTI10', '/FontDescriptor': IndirectObject(34, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 122, '/Widths': [613, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 307, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 307, 0, 0, 0, 0, 0, 0, 743, 704, 716, 755, 678, 653, 774, 743, 386, 525, 0, 627, 897, 743, 767, 678, 0, 729, 562, 716, 743, 743, 999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 460, 460, 511, 460, 307, 460, 511, 307, 0, 460, 256, 818, 562, 511, 511, 460, 422, 409, 332, 537, 460, 664, 464, 486, 409], '/Encoding': IndirectObject(257, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/FTKABW+CMBX7', '/FontDescriptor': IndirectObject(80, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 43, '/LastChar': 121, '/Widths': [1002, 0, 0, 363, 0, 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, 0, 0, 0, 0, 0, 0, 1002, 968, 914, 931, 985, 0, 0, 0, 0, 0, 665, 0, 0, 1215, 0, 968, 0, 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 629, 718, 576, 718, 592, 0, 0, 718, 363, 399, 683, 363, 1073, 718, 647, 718, 0, 535, 0, 505, 0, 0, 0, 0, 683], '/Encoding': '/WinAnsiEncoding', '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/RDLBXG+CMBX10', '/FontDescriptor': IndirectObject(68, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 121, '/Widths': [671, 639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 319, 383, 0, 0, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 319, 319, 0, 0, 0, 0, 0, 869, 818, 831, 882, 756, 724, 904, 900, 436, 0, 901, 692, 1092, 900, 0, 786, 0, 863, 639, 800, 885, 869, 1189, 0, 0, 703, 0, 0, 0, 0, 0, 0, 559, 639, 511, 639, 527, 351, 575, 639, 319, 351, 607, 319, 958, 639, 575, 639, 0, 474, 454, 447, 639, 607, 831, 607, 607], '/Encoding': IndirectObject(263, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/QRTJUS+CMTT10', '/FontDescriptor': IndirectObject(65, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 67, '/LastChar': 114, '/Widths': [525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 525, 0, 0, 525, 0, 525, 0, 0, 0, 525, 0, 0, 525], '/Encoding': '/WinAnsiEncoding', '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/TLMQLQ+CMR7', '/FontDescriptor': IndirectObject(63, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 12, '/LastChar': 122, '/Widths': [647, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 877, 323, 446, 446, 0, 0, 0, 385, 323, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 323, 323, 0, 877, 0, 539, 0, 843, 0, 815, 860, 768, 737, 884, 843, 413, 583, 0, 706, 1028, 843, 877, 768, 877, 829, 631, 815, 843, 843, 0, 0, 843, 0, 0, 0, 0, 0, 0, 0, 569, 631, 508, 631, 508, 354, 569, 631, 323, 354, 600, 323, 938, 631, 569, 631, 600, 446, 453, 446, 631, 600, 815, 600, 600, 508], '/Encoding': IndirectObject(264, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/BMUUQQ+CMSS10', '/FontDescriptor': IndirectObject(52, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 12, '/LastChar': 120, '/Widths': [536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 500, 0, 0, 500, 0, 0, 0, 0, 500, 0, 0, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 481, 517, 444, 517, 444, 0, 500, 517, 239, 267, 489, 239, 794, 517, 500, 517, 517, 342, 383, 361, 517, 461, 683, 461], '/Encoding': IndirectObject(266, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/GYIDAE+CMR10', '/FontDescriptor': IndirectObject(36, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 124, '/Widths': [583, 556, 556, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 833, 778, 278, 389, 389, 0, 0, 278, 333, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 0, 0, 0, 472, 0, 750, 708, 722, 764, 681, 653, 785, 750, 361, 514, 778, 625, 917, 750, 778, 681, 0, 736, 556, 722, 750, 750, 1028, 750, 0, 0, 278, 500, 278, 0, 0, 0, 500, 556, 444, 556, 444, 306, 500, 556, 278, 306, 528, 278, 833, 556, 500, 556, 528, 392, 394, 389, 556, 528, 722, 528, 528, 444, 500, 1000], '/Encoding': IndirectObject(254, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/ZNUZCS+CMTI10', '/FontDescriptor': IndirectObject(34, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 122, '/Widths': [613, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 307, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 307, 0, 0, 0, 0, 0, 0, 743, 704, 716, 755, 678, 653, 774, 743, 386, 525, 0, 627, 897, 743, 767, 678, 0, 729, 562, 716, 743, 743, 999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 460, 460, 511, 460, 307, 460, 511, 307, 0, 460, 256, 818, 562, 511, 511, 460, 422, 409, 332, 537, 460, 664, 464, 486, 409], '/Encoding': IndirectObject(257, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/RDLBXG+CMBX10', '/FontDescriptor': IndirectObject(68, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 121, '/Widths': [671, 639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 319, 383, 0, 0, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 319, 319, 0, 0, 0, 0, 0, 869, 818, 831, 882, 756, 724, 904, 900, 436, 0, 901, 692, 1092, 900, 0, 786, 0, 863, 639, 800, 885, 869, 1189, 0, 0, 703, 0, 0, 0, 0, 0, 0, 559, 639, 511, 639, 527, 351, 575, 639, 319, 351, 607, 319, 958, 639, 575, 639, 0, 474, 454, 447, 639, 607, 831, 607, 607], '/Encoding': IndirectObject(263, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/QRTJUS+CMTT10', '/FontDescriptor': IndirectObject(65, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 67, '/LastChar': 114, '/Widths': [525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 525, 0, 0, 525, 0, 525, 0, 0, 0, 525, 0, 0, 525], '/Encoding': '/WinAnsiEncoding', '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/BMUUQQ+CMSS10', '/FontDescriptor': IndirectObject(52, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 12, '/LastChar': 120, '/Widths': [536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 500, 0, 0, 500, 0, 0, 0, 0, 500, 0, 0, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 481, 517, 444, 517, 444, 0, 500, 517, 239, 267, 489, 239, 794, 517, 500, 517, 517, 342, 383, 361, 517, 461, 683, 461], '/Encoding': IndirectObject(266, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/GYIDAE+CMR10', '/FontDescriptor': IndirectObject(36, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 124, '/Widths': [583, 556, 556, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 833, 778, 278, 389, 389, 0, 0, 278, 333, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 0, 0, 0, 472, 0, 750, 708, 722, 764, 681, 653, 785, 750, 361, 514, 778, 625, 917, 750, 778, 681, 0, 736, 556, 722, 750, 750, 1028, 750, 0, 0, 278, 500, 278, 0, 0, 0, 500, 556, 444, 556, 444, 306, 500, 556, 278, 306, 528, 278, 833, 556, 500, 556, 528, 392, 394, 389, 556, 528, 722, 528, 528, 444, 500, 1000], '/Encoding': IndirectObject(254, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/ZNUZCS+CMTI10', '/FontDescriptor': IndirectObject(34, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 122, '/Widths': [613, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 307, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 307, 0, 0, 0, 0, 0, 0, 743, 704, 716, 755, 678, 653, 774, 743, 386, 525, 0, 627, 897, 743, 767, 678, 0, 729, 562, 716, 743, 743, 999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 460, 460, 511, 460, 307, 460, 511, 307, 0, 460, 256, 818, 562, 511, 511, 460, 422, 409, 332, 537, 460, 664, 464, 486, 409], '/Encoding': IndirectObject(257, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/DLLAXC+CMR8', '/FontDescriptor': IndirectObject(122, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 12, '/LastChar': 121, '/Widths': [590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 0, 0, 295, 354, 295, 531, 531, 531, 531, 531, 531, 531, 0, 0, 531, 531, 295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 811, 723, 693, 834, 796, 383, 545, 825, 664, 973, 0, 826, 723, 0, 782, 590, 0, 796, 0, 0, 796, 0, 0, 0, 0, 0, 0, 0, 0, 531, 590, 472, 590, 472, 325, 531, 590, 295, 325, 561, 295, 885, 590, 531, 590, 0, 414, 419, 413, 590, 561, 767, 561, 561], '/Encoding': IndirectObject(259, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/RDLBXG+CMBX10', '/FontDescriptor': IndirectObject(68, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 121, '/Widths': [671, 639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 319, 383, 0, 0, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 319, 319, 0, 0, 0, 0, 0, 869, 818, 831, 882, 756, 724, 904, 900, 436, 0, 901, 692, 1092, 900, 0, 786, 0, 863, 639, 800, 885, 869, 1189, 0, 0, 703, 0, 0, 0, 0, 0, 0, 559, 639, 511, 639, 527, 351, 575, 639, 319, 351, 607, 319, 958, 639, 575, 639, 0, 474, 454, 447, 639, 607, 831, 607, 607], '/Encoding': IndirectObject(263, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/QRTJUS+CMTT10', '/FontDescriptor': IndirectObject(65, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 67, '/LastChar': 114, '/Widths': [525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 525, 0, 0, 525, 0, 525, 0, 0, 0, 525, 0, 0, 525], '/Encoding': '/WinAnsiEncoding', '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/RCWFMH+CMTT8', '/FontDescriptor': IndirectObject(229, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 45, '/LastChar': 122, '/Widths': [531, 531, 531, 531, 531, 531, 0, 0, 0, 531, 531, 0, 0, 531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 0, 531, 531, 531, 531, 531, 531, 531, 0, 531, 531, 531, 531, 531, 531, 0, 531, 531, 531, 531, 531, 531, 531, 531, 531], '/Encoding': '/WinAnsiEncoding', '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/GYIDAE+CMR10', '/FontDescriptor': IndirectObject(36, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 124, '/Widths': [583, 556, 556, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 833, 778, 278, 389, 389, 0, 0, 278, 333, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 0, 0, 0, 472, 0, 750, 708, 722, 764, 681, 653, 785, 750, 361, 514, 778, 625, 917, 750, 778, 681, 0, 736, 556, 722, 750, 750, 1028, 750, 0, 0, 278, 500, 278, 0, 0, 0, 500, 556, 444, 556, 444, 306, 500, 556, 278, 306, 528, 278, 833, 556, 500, 556, 528, 392, 394, 389, 556, 528, 722, 528, 528, 444, 500, 1000], '/Encoding': IndirectObject(254, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/CRZMGM+CMSY6', '/FontDescriptor': IndirectObject(225, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 24, '/LastChar': 24, '/Widths': [963], '/Encoding': IndirectObject(256, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/ZNUZCS+CMTI10', '/FontDescriptor': IndirectObject(34, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 122, '/Widths': [613, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 307, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 307, 0, 0, 0, 0, 0, 0, 743, 704, 716, 755, 678, 653, 774, 743, 386, 525, 0, 627, 897, 743, 767, 678, 0, 729, 562, 716, 743, 743, 999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 460, 460, 511, 460, 307, 460, 511, 307, 0, 460, 256, 818, 562, 511, 511, 460, 422, 409, 332, 537, 460, 664, 464, 486, 409], '/Encoding': IndirectObject(257, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/ZESBYU+CMSS8', '/FontDescriptor': IndirectObject(213, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 11, '/LastChar': 122, '/Widths': [620, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 295, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 295, 0, 0, 826, 0, 0, 0, 0, 708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 549, 472, 549, 472, 325, 531, 549, 253, 283, 519, 253, 844, 549, 531, 549, 0, 363, 407, 384, 549, 490, 726, 0, 490, 462], '/Encoding': IndirectObject(258, 0, 268330583402448), '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
fontTools is required to fully parse the encoding of a CFF Type1 font in font dictionary {'/BaseFont': '/QRTJUS+CMTT10', '/FontDescriptor': IndirectObject(65, 0, 268330583402448), '/Type': '/Font', '/FirstChar': 67, '/LastChar': 114, '/Widths': [525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 525, 0, 0, 525, 0, 525, 0, 0, 0, 525, 0, 0, 525], '/Encoding': '/WinAnsiEncoding', '/Subtype': '/Type1'}, but is not installed. Consider installing fontTools if you encounter encoding problems.
OK   [200] Krishnamurthy, Naryshkin, Wills W2SP 2011 PDF — "fully 56% of the sites directly leak pieces of private information"
OK   [200] Libert CACM 2015 (arXiv 1404.1951): Referer exposes conditions — "70% of HTTP Referer strings contained information exposing specific conditions, treatments, and diseases"
OK   [200] Libert CACM 2015 (arXiv 1404.1951): 1,986 diseases — "1,986 common diseases"
OK   [200] Cory & Kupper arXiv 2605.06305 (LLM PII annotation in HTTP traffic) — "Taxonomy-Agnostic Annotation of PII Values in HTTP Traffic"
OK   [200] Huo et al. WPES 2022: 459 portals (Semantic Scholar abstract) — "459"
OK   [200] Cory & Kupper: accepted to EuroS&P Workshops 2026 (arXiv comment) — "Accepted to 2026 IEEE European Symposium on Security and Privacy Workshops"
OK   [200] Friedman et al.: non-federal acute care hospitals (Semantic Scholar abstract) — "acute care"
OK   [200] Vekaria et al. SoK arXiv 2506.14057 — "SoK: Advances and Open Problems in Web Tracking"
OK   [200] Huo et al. WPES 2022 abstract (Semantic Scholar) — "5 portals and 4 telehealth websites"
OK   [200] Dao & Fukuda CoNEXT 2021 abstract (Semantic Scholar) — "42.3% of sites leak the PII to third-party services"
OK   [200] Friedman et al. Health Affairs 2023 abstract (Semantic Scholar) — "third-party tracking is present on 98.6% of hospital websites"
 
== 4. Tools and datasets named on the page (HTTP status after redirects; GitHub archived / pushed_at) ==
OK   github leaky-forms/leaky-forms-crawler archived=false pushed_at=2026-01-07T09:21:45Z license=NOASSERTION
OK   github leaky-forms/leaky-forms archived=false pushed_at=2026-01-07T09:21:00Z license=None
OK   github leaky-forms/leak-inspector archived=false pushed_at=2026-01-07T09:22:51Z license=NOASSERTION
OK   github the-markup/blacklight-collector archived=false pushed_at=2026-09-03T01:22:51Z license=GPL-3.0
OK   github duckduckgo/tracker-radar-collector archived=false pushed_at=2026-10-08T08:11:14Z license=NOASSERTION
OK   github openwpm/OpenWPM archived=false pushed_at=2026-10-04T22:21:00Z license=NOASSERTION
OK   github ostarov/Formlock archived=false pushed_at=2016-07-18T13:22:40Z license=None
OK   [200] Blacklight collector README: key_logging / session_recorders / fb_pixel_events — ""session_recorders""
OK   [200] Blacklight collector README: key logging — ""key_logging""
OK   github pasxalisbekos/PIIxel_Leaks archived=false pushed_at=2025-10-10T18:46:04Z license=None
OK   github CybersecurityForDemocracy/trackers-not-equal archived=false pushed_at=2026-02-09T22:18:23Z license=MIT
OK   [200] https://github.com/leaky-forms
OK   [200] https://webtransparency.cs.princeton.edu/no_boundaries/
INFO [000] https://jellybeans-paper.com/ (project site printed in kats2022_search; DEAD)
 
== summary ==
FAILED checks: 0

The published detector: fixture outputs

python3 pii_needles.py fixture.har “Jane.Doe+site42@example.org” and the same with --depth 1. The fixture (sandbox/pii/fixture.har) plants four leaks — SHA-256 of the normalised address in a URL, Base64 of the address in a body, URL-encoding in a Referer, SHA-256 of Base64 of the normalised address — and one clean request.

fixture_output.txt
$ python3 pii_needles.py fixture.har "Jane.Doe+site42@example.org"
137 needles (depth 2)
HIT normalised>sha256                url                    https://tracker-a.test/tr?id=1&ud[em]=396d41004bcb22ea64d7cfb81003769d
HIT plain>base64                     body                   https://tracker-b.test/collect
HIT plain>urlenc                     header:Referer         https://tracker-c.test/p.gif
HIT normalised>base64>sha256         url                    https://tracker-d.test/g?x=acb7968d29e531c65c5fad469f338feca4c3d01dd5d
4 match(es) in 4 distinct request(s)
 
$ python3 pii_needles.py fixture.har "Jane.Doe+site42@example.org" --depth 1
22 needles (depth 1)
HIT normalised>sha256                url                    https://tracker-a.test/tr?id=1&ud[em]=396d41004bcb22ea64d7cfb81003769d
HIT plain>base64                     body                   https://tracker-b.test/collect
HIT plain>urlenc                     header:Referer         https://tracker-c.test/p.gif
3 match(es) in 3 distinct request(s)

Probes, inclusion rule and verdicts

scripts/pii_fold.mjs, unedited.

pii_fold.mjs
// Population rule, candidate probes and hand verdicts for privacy:pii_leakage
// ("Measuring PII Leakage to Third Parties"). Written 2026-09-23.
//
// There is no extraction field for "personal data reached a third party from a
// website". The population is a hand audit of a full-text CANDIDATE set,
// against the inclusion rule below, which was written before the first
// verdict. The candidate set is recall-oriented and is NOT a population: most
// of it is off topic (the gap pass's own regex is topped by LLM-memorisation
// papers).
//
// Candidate set = union of three probes over paper.cols.txt (whitespace
// collapsed, paper-counted):
//   GAP   the 2026-09-22 gap pass's own pii_leakage family, >= 5 hits, kept
//         verbatim so this page's population can be compared with the 218
//         that queued it
//   LEAK  sentences (split after . ! ?, sentences over 800 characters dropped)
//         in which a FLOW verb, a PERSONAL-data term and a RECIPIENT term all
//         occur, >= 3 such sentences
//   SEC   sentences in which a SECTOR term (health, pharmacy, tax, finance,
//         insurance) or a GDPR special-category term (sexual orientation,
//         religion, political views, adult content) and a TRACKING term
//         co-occur, >= 3 such sentences — there so that sector studies that
//         never say "PII" are seen. The special-category terms were added after
//         a title/summary recall check, before any verdict was counted: the
//         first SECTOR_RE missed Tales from the Porn (IMC 2019) entirely.
//
// Every candidate gets exactly one verdict. report_pii_leakage.mjs throws if a
// candidate has no verdict or a verdict names a paper that is not a candidate.
 
export const GAP_RE = /\bPII\b|personally identifiable|email (address )?(leak|hash)|hashed email|session replay|keylogg|form (data|field)s? (leak|exfiltrat)|Meta Pixel|Facebook Pixel|credential leak|leak(ed|s|age)? (of )?(PII|personal data|email)/gi;
 
export const FLOW_RE = /\b(leak\w*|exfiltrat\w*|sen[dt]s?|sending|transmit\w*|shar(e|es|ed|ing)|forward\w*|disclos\w*|expos(e|es|ed|ing))\b|\bin the (URL|Referr?er)|Referr?er header/i;
export const PERSONAL_RE = /\b(PII|personal (data|information)|e-?mail address(es)?|phone numbers?|(first|last|full|user) ?names?|postal address(es)?|home address(es)?|health|medical|patients?|pharmac(y|ies)|prescriptions?|diagnos[ie]s|abortion|pregnan\w*|search (terms?|quer(y|ies)|keywords?)|user inputs?|form (data|fields?|inputs?)|typed|keystrokes?|passwords?|dates? of birth|sensitive (data|information|categor\w*))\b/i;
export const RECIPIENT_RE = /\b(third[- ]part(y|ies)|trackers?|tracking (domains?|scripts?|compan\w*|services?|pixels?)|analytics|advertis\w*|pixels?|Facebook|Meta|Google|TikTok|data brokers?)\b/i;
export const SECTOR_RE = /\b(health(care)?|medical|patients?|pharmac(y|ies)|telehealth|abortion|reproductive|pregnan\w*|mental[- ]health|tax (filing|prepar\w*|returns?)|financial (web ?sites?|institutions?|services)|banks?|insurance|hospitals?|porn\w*|adult (web ?sites?|content)|sexual orientation|LGBTQ?\w*|religio\w*|political (views?|beliefs?|opinions?|affiliation))\b/i;
export const TRACKING_RE = /\b(third[- ]part(y|ies)|trackers?|tracking|pixels?|analytics|session[- ]replay)\b/i;
export const THRESH = { GAP: 5, LEAK: 3, SEC: 3, MAXSENT: 800 };
 
export const sentences = (t) => t.split(/(?<=[.!?])\s+/).filter((s) => s.length < THRESH.MAXSENT);
export function scoreText(t) {
  let leak = 0, sec = 0;
  for (const s of sentences(t)) {
    if (FLOW_RE.test(s) && PERSONAL_RE.test(s) && RECIPIENT_RE.test(s)) leak += 1;
    if (SECTOR_RE.test(s) && TRACKING_RE.test(s)) sec += 1;
  }
  const m = t.match(GAP_RE);
  return { gap: m ? m.length : 0, leak, sec };
}
export const isCandidate = (s) => s.gap >= THRESH.GAP || s.leak >= THRESH.LEAK || s.sec >= THRESH.SEC;
 
export const INCLUSION_RULE = `A candidate is IN if both hold:
 (A) the paper's own data shows PERSONAL DATA — a value that identifies or
     describes a person: name, email address, phone, postal address,
     credentials, typed form input, a payment or wallet identifier, health,
     financial or search content, or a hash or encoding of any of these —
     leaving a web page (desktop or mobile web) for a party other than the site
     operator, or shows the tag configuration or code that sends it; OR it
     measures third-party tracking specifically on pages whose visit itself
     discloses a GDPR special-category attribute (health, sex life or sexual
     orientation, religion, politics) and frames the flow as that disclosure;
 (B) it observes deployed sites or services (crawl, manual audit, real users'
     traffic), or deploys its own site to see what a real third party receives.
Pseudonymous identifiers alone (cookie IDs, fingerprints, ID syncing) are NOT
personal data for this rule; neither is the page URL, unless the paper
measures personal or sensitive content inside it.
A candidate is CONTEXT if it is one of: the same flow measured without
personal data in it (channel), personal data collected by the first party with
no third-party recipient measured (firstparty), what a recipient platform does
with PII it already holds (downstream), a leak-detection method evaluated on
code or on non-web platforms (method), or a channel that links a web visit to
an identity without sending a personal-data value (linkage).
Everything else is OUT, with a code saying where it belongs.
The leaking party must be code the SITE embedded (or the site itself sending
to a third party). The browser or an extension leaking is OUT (client).`;
 
// IN tags. channel: how the personal data leaves the page.
export const CHANNELS = {
  form: 'typed or autofilled form input, before or on submit',
  url: 'in the URL, Referer or link decoration (incl. search terms)',
  event: 'tag / pixel event parameters (advanced matching, custom data, hashed identifiers)',
  page: 'personal data rendered on the page (logged-in DOM, cookies) and read by a third party',
  replay: 'session-replay / DOM-recording scripts',
  traffic: 'any outgoing request content, classified by data type',
  serverside: 'leaves via the site operator\'s own server (list sharing, Conversions API) — invisible to a client-side crawl',
  visit: 'the visit itself discloses a special-category attribute',
};
// method: how the paper detected it.
export const METHODS = {
  canary: 'typed or seeded values the researchers control (synthetic identity, unique address per site)',
  encsearch: 'searched outgoing traffic for encodings and hashes of those values',
  instrument: 'instrumented the page (hooks on input access, DOM reads, taint)',
  static: 'read the tag configuration or code (fbq calls, gtag config, pixel settings)',
  manual: 'manual traffic inspection / auditing',
  passive: 'real users\' traffic or telemetry',
  llm: 'LLM classification of data types in traffic',
  differential: 'varied the seeded value between otherwise identical runs and diffed the traffic, to catch transformations it cannot name',
  presence: 'recorded which third parties load on the page (crawl), no personal-data value searched',
};
export const SECTORS = ['general', 'health', 'finance', 'politics', 'children', 'employment', 'adult', 'sensitive'];
export const CONTEXT_CODES = {
  channel: 'the same flow measured without personal data in it',
  firstparty: 'personal data collected by the first party; no third-party recipient measured',
  downstream: 'what a recipient platform does with PII it already holds (privacy:email_tracking, privacy:advertising)',
  method: 'a leak-detection method evaluated on code or on non-web platforms',
  linkage: 'links a web visit to an identity without sending a personal-data value',
};
export const OUT_CODES = {
  mobile: 'app / IoT / VR / voice data flows with no web page measured — design:mobile_and_app_measurement',
  perception: 'user study; no flow measured',
  security: 'attack, side channel or vulnerability: data reaches an attacker, not a party the site chose',
  llm: 'PII in or extracted from ML models, LLM apps or agents',
  breach: 'credential dumps, secrets, breaches, doxing, people-search: data exposed, not sent by a page',
  mention: 'personal data mentioned in passing; the paper is about something else',
  homograph: '"PII", "leak", "honey" or "health" in another sense (images, record linkage, crypto)',
  tracking: 'pseudonymous tracking or third-party presence only; no personal-data content measured',
  policy: 'privacy-policy or disclosure text only',
  email: 'message channel (mail, SMS, contact discovery) — privacy:email_tracking',
  client: 'the browser or an extension leaks, not code the site embedded — privacy:browser_extensions',
  dsr: 'data-subject requests or opt-out signals — privacy:data_subject_rights',
  adtarget: 'ad targeting mechanics — privacy:advertising',
  defence: 'a system evaluated without a leak measurement',
};
 
const IN = (channel, method, sector, note) => ({ v: 'IN', channel, method, sector, note });
const CTX = (code, note) => ({ v: 'CONTEXT', code, note });
const OUT = (code, note = '') => ({ v: 'OUT', code, note });
 
// One verdict per candidate, keyed by venue/year/slug-prefix. Verdicts were made
// from each paper's title, summary and extracted detection records; the full
// text was read for every IN paper and for the borderline ones named in the
// provenance log.
export const VERDICTS = {
  "CCS/2012/priceless-the-role-of-payments-in-abuse-advertised-goods": OUT("mention", "payment processing of abuse-advertised goods"),
  "CCS/2016/targeted-online-password-guessing-an-underestimated-threat": OUT("breach", "leaked password datasets"),
  "CCS/2017/data-breaches-phishing-or-malware-understanding-the-risks-of-": OUT("breach", "credential leaks, phishing kits, keyloggers"),
  "CCS/2018/mystique-uncovering-information-leakage-from-browser-extensio": OUT("client", "browser extensions leak"),
  "CCS/2020/enhancing-state-of-the-art-classifiers-with-api-semantics-to-": OUT("mention"),
  "CCS/2020/fill-in-the-blanks-empirical-analysis-of-the-privacy-threats-": CTX("firstparty", "autofill writes PII into hidden fields the page itself collects; no third-party recipient measured"),
  "CCS/2020/mnemosyne-an-effective-and-efficient-postmortem-watering-hole": OUT("mention"),
  "CCS/2020/the-cookie-hunter-automated-black-box-auditing-for-web-authen": OUT("security", "cookie hijacking exposes account data to an attacker"),
  "CCS/2021/consistency-analysis-of-data-usage-purposes-in-mobile-apps": OUT("mobile"),
  "CCS/2021/dissecting-residual-apis-in-custom-android-roms": OUT("mention"),
  "CCS/2022/cart-ology-intercepting-targeted-advertising-via-ad-network-i": OUT("security", "identity-entanglement attack on ad networks"),
  "CCS/2022/freely-given-consent-studying-consent-notice-of-third-party-t": OUT("mobile"),
  "CCS/2022/hidden-in-plain-sight-exploring-encrypted-channels-in-android": OUT("mobile"),
  "CCS/2023/general-data-protection-runtime-enforcing-transparent-gdpr-co": OUT("defence"),
  "CCS/2023/ileakage-browser-based-timerless-speculative-execution-attack": OUT("security"),
  "CCS/2023/iotflow-inferring-iot-device-behavior-at-scale-through-static": OUT("mobile"),
  "CCS/2023/skillscanner-detecting-policy-violating-voice-applications-th": OUT("mobile", "voice skills"),
  "CCS/2024/a-first-look-at-security-and-privacy-risks-in-the-rapidapi-ec": OUT("breach", "API key leaks"),
  "CCS/2024/breaching-security-keys-without-root-fido2-deception-attacks-": OUT("security"),
  "CCS/2024/dye4ai-assuring-data-boundary-on-generative-ai-services": OUT("llm"),
  "CCS/2024/measuring-compliance-implications-of-third-party-libraries-pr": OUT("mobile"),
  "CCS/2024/skipping-the-security-side-quests-a-qualitative-study-on-secu": OUT("mention"),
  "CCS/2024/understanding-legal-professionals-practices-and-expectations-": OUT("breach", "breach reporting"),
  "CCS/2024/vpvet-vetting-privacy-policies-of-virtual-reality-apps": OUT("mobile", "VR app policies"),
  "CCS/2025/fingerprinting-sdks-for-mobile-apps-and-where-to-find-them-un": OUT("mobile"),
  "CCS/2025/how-to-design-secure-honey-vault-schemes": OUT("security", "honey vaults (homonym of honey values)"),
  "CCS/2025/layered-overlapping-and-inconsistent-a-large-scale-analysis-o": OUT("tracking", "bank websites: third-party cookies, policies and opt-outs; no personal data content measured (sector study that is not a leak study)"),
  "CCS/2025/leaky-apps-large-scale-analysis-of-secrets-distributed-in-and": OUT("mobile"),
  "CCS/2025/lock-the-door-but-keep-the-window-open-extracting-app-protect": OUT("security", "on-device accessibility exposure"),
  "CCS/2025/passwords-and-fido2-are-meant-to-be-secret-a-practical-secure": OUT("client", "extensions reading request bodies"),
  "CCS/2025/piixel-leaks-passive-identification-of-personally-identifiabl": IN(["event", "url"], ["static", "manual"], "general", "Meta Pixel configurations (selectedMatchKeys) on 187,257 Pixel sites of a 1M crawl, plus an observed full-URL crawl. encsearch dropped 2026-10-08 full-text reading"),
  "CCS/2025/security-and-privacy-perceptions-of-pakistani-facebook-matrim": OUT("perception"),
  "IEEE-SP/2010/inspector-gadget-automated-extraction-of-proprietary-gadg": OUT("mention"),
  "IEEE-SP/2014/bootstrapping-privacy-compliance-in-big-data-systems": OUT("defence"),
  "IEEE-SP/2015/leave-me-alone-app-level-protection-against-runtime-infor": OUT("mobile"),
  "IEEE-SP/2016/sending-out-an-sms-characterizing-the-security-of-the-sms": OUT("email", "public SMS gateways"),
  "IEEE-SP/2016/the-cracked-cookie-jar-http-cookie-hijacking-and-the-expo": OUT("security"),
  "IEEE-SP/2017/identifying-personal-dna-methylation-profiles-by-genotype": OUT("homograph"),
  "IEEE-SP/2017/obstacles-to-the-adoption-of-secure-communication-tools": OUT("perception"),
  "IEEE-SP/2017/the-password-reset-mitm-attack": OUT("security"),
  "IEEE-SP/2017/to-catch-a-ratter-monitoring-the-behavior-of-amateur-dark": OUT("security"),
  "IEEE-SP/2018/privacy-risks-with-facebooks-pii-based-targeting-auditing": CTX("downstream", "what the ad platform does with PII (custom audiences); privacy:email_tracking"),
  "IEEE-SP/2018/sok-keylogging-side-channels": OUT("security", "keylogging side channels"),
  "IEEE-SP/2018/the-spyware-used-in-intimate-partner-violence": OUT("mention"),
  "IEEE-SP/2019/characterizing-pixel-tracking-through-the-lens-of-disposa": OUT("email", "disposable-mail PII leaks happen in the mailbox; privacy:email_tracking"),
  "IEEE-SP/2019/khyperloglog-estimating-reidentifiability-and-joinability": OUT("defence"),
  "IEEE-SP/2020/an-analysis-of-pre-installed-android-software": OUT("mobile"),
  "IEEE-SP/2020/influencing-photo-sharing-decisions-on-social-media-a-cas": OUT("perception"),
  "IEEE-SP/2020/textexerciser-feedback-driven-text-input-exercising-for-a": OUT("mobile"),
  "IEEE-SP/2020/towards-effective-differential-privacy-communication-for-": OUT("perception"),
  "IEEE-SP/2022/how-to-attack-and-generate-honeywords": OUT("security", "honeywords"),
  "IEEE-SP/2022/measuring-and-mitigating-the-risk-of-ip-reuse-on-public-c": OUT("homograph", "IP reuse"),
  "IEEE-SP/2023/analyzing-leakage-of-personally-identifiable-information-": OUT("llm"),
  "IEEE-SP/2023/detection-of-inconsistencies-in-privacy-practices-of-brow": OUT("client", "extensions"),
  "IEEE-SP/2023/investigating-the-password-policy-practices-of-website-ad": OUT("perception"),
  "IEEE-SP/2023/perceptions-of-distributed-ledger-technology-key-manageme": OUT("perception"),
  "IEEE-SP/2023/protected-or-porous-a-comparative-analysis-of-threat-dete": OUT("mobile", "IoT"),
  "IEEE-SP/2023/weak-fiat-shamir-attacks-on-modern-proof-systems": OUT("homograph"),
  "IEEE-SP/2024/combing-for-credentials-active-pattern-extraction-from-sm": OUT("llm"),
  "IEEE-SP/2024/scores-tell-everything-about-bob-non-adaptive-face-recons": OUT("homograph", "face reconstruction"),
  "IEEE-SP/2024/understanding-the-privacy-practices-of-political-campaign": IN(["serverside"], ["canary", "manual"], "politics", "26 dedicated newsletter addresses reveal cross-campaign sharing; forms read statically, no traffic capture. form channel dropped 2026-10-08 full-text reading"),
  "IEEE-SP/2024/withdrawing-is-believing-detecting-inconsistencies-betwee": OUT("mobile"),
  "IEEE-SP/2025/code-speaks-louder-exploring-security-and-privacy-relevan": OUT("mobile"),
  "IEEE-SP/2025/rankguess-password-guessing-using-adversarial-ranking": OUT("security"),
  "IEEE-SP/2025/the-importance-of-being-earnest-shedding-light-on-johnnys": OUT("perception"),
  "IEEE-SP/2025/transparency-in-usable-privacy-and-security-research-scho": OUT("mention"),
  "IEEE-SP/2025/understanding-users-security-and-privacy-concerns-and-att": OUT("llm"),
  "IEEE-SP/2025/why-would-money-protect-me-from-cyber-bullying-a-mixed-me": OUT("mention"),
  "IEEE-SP/2026/consumer-beware-exploring-data-brokers-ccpa-compliance": OUT("dsr"),
  "IEEE-SP/2026/rain-transiently-leaking-data-from-public-clouds-using-ol": OUT("security"),
  "IEEE-SP/2026/setting-the-course-but-forgetting-to-steer-analyzing-comp": OUT("dsr"),
  "IMC/2015/management-plane-analytics": OUT("homograph"),
  "IMC/2016/characterizing-website-behaviors-across-logged-in-and-not-log": IN(["page", "url"], ["canary", "manual"], "general", "logged-in vs not-logged-in crawls of 345 sites"),
  "IMC/2016/should-you-use-the-app-for-that-comparing-the-privacy-implica": IN(["traffic"], ["canary", "manual"], "general", "50 services, app vs mobile web"),
  "IMC/2017/ethical-issues-in-research-using-datasets-of-illicit-origin": OUT("mention"),
  "IMC/2018/an-empirical-study-of-the-i2p-anonymity-network-and-its-censo": OUT("homograph"),
  "IMC/2018/tracing-cross-border-web-tracking": IN(["visit"], ["passive"], "sensitive", "real users and ISP NetFlow; sensitive-category flows"),
  "IMC/2019/information-exposure-from-consumer-iot-devices-a-multidimensi": OUT("mobile", "IoT"),
  "IMC/2019/tales-from-the-porn": IN(["visit"], ["presence"], "adult", "third-party tracking on 6,843 porn sites (automated crawl) framed as Art. 9 data. method corrected 2026-10-08 full-text reading"),
  "IMC/2020/analyzing-third-party-service-dependencies-in-modern-web-serv": OUT("homograph"),
  "IMC/2020/demystifying-the-messaging-platforms-ecosystem-through-the-le": OUT("breach", "PII exposed in public messaging groups"),
  "IMC/2021/a-large-scale-characterization-of-online-incitements-to-haras": OUT("breach", "doxing"),
  "IMC/2021/racketstore-measurements-of-aso-deception-in-google-play-via-": OUT("mobile"),
  "IMC/2021/unique-on-facebook-formulation-and-evidence-of-nano-targeting": OUT("adtarget"),
  "IMC/2022/a-comparative-analysis-of-certificate-pinning-in-android-ios": OUT("mobile"),
  "IMC/2023/in-the-room-where-it-happens-characterizing-local-communicati": OUT("mobile"),
  "IMC/2023/not-only-e-t-phones-home-analysing-the-native-user-tracking-o": OUT("client", "the mobile browser itself leaks history, not code the site embedded"),
  "IMC/2023/poster-analysis-of-user-uniqueness-on-linkedin-based-on-publi": OUT("adtarget"),
  "IMC/2023/tracking-profiling-and-ad-targeting-in-the-alexa-echo-smart-s": OUT("mobile", "Echo ecosystem"),
  "IMC/2024/diffaudit-auditing-privacy-practices-of-online-services-for-c": IN(["traffic"], ["llm", "manual"], "children", "child/adolescent/adult accounts; GPT-4 classifies data types"),
  "IMC/2025/cookieguard-characterizing-and-isolating-the-first-party-cook": OUT("tracking", "first-party cookie jar"),
  "IMC/2025/fishing-for-smishing-understanding-sms-phishing-infrastructur": OUT("email", "smishing"),
  "NDSS/2017/automated-analysis-of-privacy-requirements-for-mobile-apps": OUT("mobile"),
  "NDSS/2019/dns-cache-based-user-tracking": OUT("tracking"),
  "NDSS/2019/geo-locating-drivers-a-study-of-sensitive-data-leakage-in-ri": OUT("mobile"),
  "NDSS/2019/measuring-the-facebook-advertising-ecosystem": OUT("adtarget"),
  "NDSS/2020/compliance-cautions-investigating-security-issues-associated": OUT("mention"),
  "NDSS/2021/all-the-numbers-are-us-large-scale-abuse-of-contact-discover": OUT("email", "contact discovery; privacy:email_tracking"),
  "NDSS/2021/privacyflash-pro-automating-privacy-policy-generation-for-mo": OUT("mobile"),
  "NDSS/2021/processing-dangerous-paths-on-security-and-privacy-of-the-po": OUT("security", "PDF form-data leakage"),
  "NDSS/2021/understanding-worldwide-private-information-collection-on-an": OUT("mobile"),
  "NDSS/2023/auto-draft-336": OUT("dsr"),
  "NDSS/2023/chkplug-checking-gdpr-compliance-of-wordpress-plugins-via-cr": CTX("method", "static analysis of WordPress plugin code for third-party PII sharing; code, not deployed sites"),
  "NDSS/2023/post-gdpr-threat-hunting-on-android-phones-dissecting-os-lev": OUT("mobile"),
  "NDSS/2024/campro-camera-based-anti-facial-recognition": OUT("homograph"),
  "NDSS/2024/fp-fed-privacy-preserving-federated-detection-of-browser-fin": OUT("tracking"),
  "NDSS/2024/ghosttype-the-limits-of-using-contactless-electromagnetic-in": OUT("security"),
  "NDSS/2024/maginot-line-assessing-a-new-cross-app-threat-to-pii-as-fact": OUT("mobile"),
  "NDSS/2024/understanding-and-analyzing-appraisal-systems-in-the-undergr": OUT("mention"),
  "NDSS/2025/automated-expansion-of-privacy-data-taxonomy-for-compliant-d": OUT("breach"),
  "NDSS/2025/duumviri-detecting-trackers-and-mixed-trackers-with-a-breaka": OUT("tracking"),
  "NDSS/2025/policypulse-precision-semantic-role-extraction-for-enhanced-": OUT("policy"),
  "NDSS/2025/revealing-the-black-box-of-device-search-engine-scanning-ass": OUT("mention"),
  "NDSS/2025/skillpov-towards-accessible-and-effective-privacy-notice-for": OUT("mobile"),
  "NDSS/2025/the-skeleton-keys-a-large-scale-analysis-of-credential-leaka": OUT("mobile"),
  "NDSS/2025/understanding-miniapp-malware-identification-dissection-and-": OUT("mobile"),
  "NDSS/2026/better-safe-than-sorry-uncovering-the-insecure-resource-mana": OUT("mobile"),
  "NDSS/2026/cross-boundary-mobile-tracking-exploring-java-to-javascript-": OUT("mobile", "WebView injection inside apps"),
  "NDSS/2026/hey-there-you-are-using-whatsapp-enumerating-three-billion-a": OUT("email", "phone-number enumeration; privacy:email_tracking"),
  "NDSS/2026/pandora-lightweight-adversarial-defense-for-edge-iot-using-u": OUT("homograph"),
  "NDSS/2026/success-rates-doubled-with-only-one-character-mask-password-": OUT("security"),
  "NDSS/2026/the-role-of-privacy-guarantees-in-voluntary-donation-of-priv": OUT("perception"),
  "NDSS/2026/tickets-to-hide-an-inside-look-into-the-anti-abuse-ecosystem": OUT("mention"),
  "NDSS/2026/tipso-gan-malicious-network-traffic-detection-using-a-novel-": OUT("homograph"),
  "NDSS/2026/vault-raider-stealthy-ui-based-attacks-against-password-mana": OUT("security"),
  "NDSS/2026/xr-devices-send-wifi-packets-when-they-should-not-cross-buil": OUT("security"),
  "PETS/2016/are-you-sure-you-want-to-contact-us-quantifying-the-leakage-": IN(["form", "url"], ["canary", "differential", "manual"], "general", "contact forms submitted on Alexa top 100K (Jan 2015); GET-submitted forms leak via URL/Referer; unnamed encodings caught by a three-submission differential. Tags corrected 2026-10-08 full-text reading"),
  "PETS/2016/linking-health-records-for-federated-query-processing": OUT("homograph", "record linkage"),
  "PETS/2016/privacy-challenges-in-the-quantified-self-movement-an-eu-per": OUT("policy", "quantified-self providers; Google Analytics presence only"),
  "PETS/2017/cross-device-tracking-measurement-and-disclosures": IN(["url", "traffic"], ["canary", "encsearch"], "general", "100 sites; plain, hashed and base64 identifiers"),
  "PETS/2017/privateride-a-privacy-enhanced-ride-hailing-service": OUT("mobile"),
  "PETS/2018/exploiting-tls-client-authentication-for-widespread-user-tra": OUT("tracking"),
  "PETS/2018/i-never-signed-up-for-this-privacy-implications-of-email-tra": OUT("email", "the measured leaks are from mail, not the sign-up form; privacy:email_tracking"),
  "PETS/2018/nomoads-effective-and-efficient-cross-app-mobile-ad-blocking": OUT("mobile"),
  "PETS/2018/panoptispy-characterizing-audio-and-video-exfiltration-from-": OUT("mobile"),
  "PETS/2018/when-the-cookie-meets-the-blockchain-privacy-risks-of-web-pa": IN(["url", "traffic"], ["canary", "manual"], "finance", "130 Bitcoin-accepting merchants; the authors' own checkout data, PII manually marked; 49 merchants leak some PII. Tags corrected 2026-10-08 full-text reading"),
  "PETS/2018/won-t-somebody-think-of-the-children-examining-coppa-complia": OUT("mobile"),
  "PETS/2019/investigating-sources-of-pii-used-in-facebook-s-targeted-adv": CTX("downstream", "which PII sources Facebook makes targetable; privacy:email_tracking"),
  "PETS/2019/maps-scaling-privacy-compliance-analysis-to-a-million-apps": OUT("mobile"),
  "PETS/2020/canarytrap-detecting-data-misuse-by-third-party-apps-on-onli": CTX("method", "honeytoken addresses per app to attribute misuse; social-network apps, not web pages"),
  "PETS/2020/how-private-is-your-period-a-systematic-analysis-of-menstrua": OUT("mobile"),
  "PETS/2020/no-boundaries-data-exfiltration-by-third-parties-embedded-on": IN(["form", "page", "replay"], ["canary", "encsearch", "instrument"], "general", "login-manager autofill, Facebook API data and whole-DOM bait; up to three layers of encodings and hashes. encsearch added 2026-10-08 full-text reading"),
  "PETS/2020/nomoats-towards-automatic-detection-of-mobile-tracking": OUT("mobile"),
  "PETS/2020/sok-anatomy-of-data-breaches": OUT("breach"),
  "PETS/2020/spy-car-steering-reveals-your-trip-route": OUT("homograph"),
  "PETS/2020/the-price-is-not-right-comparing-privacy-in-free-and-paid-ap": OUT("mobile"),
  "PETS/2020/the-tv-is-smart-and-full-of-trackers-measuring-smart-tv-adve": OUT("mobile", "smart TV"),
  "PETS/2021/a-calculus-of-tracking-theory-and-practice": OUT("tracking"),
  "PETS/2021/defining-privacy-how-users-interpret-technical-terms-in-priv": OUT("perception"),
  "PETS/2021/did-you-know-this-camera-tracks-your-mood-understanding-priv": OUT("perception"),
  "PETS/2021/exploring-mental-models-of-the-right-to-informational-self-d": OUT("perception"),
  "PETS/2021/i-would-have-to-evaluate-their-objections-privacy-tensions-b": OUT("perception"),
  "PETS/2021/managing-potentially-intrusive-practices-in-the-browser-a-us": OUT("perception"),
  "PETS/2021/real-time-analysis-of-privacy-un-aware-iot-applications": OUT("mobile"),
  "PETS/2021/the-cname-of-the-game-large-scale-analysis-of-dns-based-trac": IN(["page", "traffic"], ["canary", "manual"], "general", "registered accounts on 50 CNAME-tracker sites"),
  "PETS/2022/analyzing-the-monetization-ecosystem-of-stalkerware": OUT("mobile"),
  "PETS/2022/are-iphones-really-better-for-privacy-a-comparative-study-of": OUT("mobile"),
  "PETS/2022/checking-websites-gdpr-consent-compliance-for-marketing-emai": IN(["serverside"], ["canary"], "general", "per-site address typed into registration forms on 666 sites; 4.1% share it with third parties, detected by inbound mail. OUT:email -> IN on 2026-10-08 second-reader audit, for consistency with the political-campaigns paper"),
  "PETS/2022/ctrl-shift-how-privacy-sentiment-changed-from-2019-to-2021": OUT("perception"),
  "PETS/2022/developers-say-the-darnedest-things-privacy-compliance-proce": OUT("mobile"),
  "PETS/2022/employees-privacy-perceptions-exploring-the-dimensionality-a": OUT("perception"),
  "PETS/2022/it-feels-like-whack-a-mole-user-experiences-of-data-removal-": OUT("breach", "people-search removal"),
  "PETS/2022/keeping-privacy-labels-honest": OUT("mobile", "honey data used on iOS apps"),
  "PETS/2022/user-friendly-yet-rarely-read-a-case-study-on-the-redesign-o": OUT("perception"),
  "PETS/2022/who-knows-i-like-jelly-beans-an-investigation-into-search-pr": IN(["url"], ["canary", "encsearch"], "general", "internal site search on 1M sites"),
  "PETS/2023/heads-in-the-clouds-measuring-universities-migration-to-publ": OUT("mention"),
  "PETS/2023/lessons-in-vcr-repair-compliance-of-android-app-developers-w": OUT("mobile"),
  "PETS/2023/no-privacy-among-spies-assessing-the-functionality-and-insec": OUT("mobile"),
  "PETS/2023/not-your-average-app-a-large-scale-privacy-analysis-of-andro": OUT("client", "Android browsers"),
  "PETS/2023/privacy-rarely-considered-exploring-considerations-in-the-ad": OUT("tracking", "third-party adoption survey plus crawl; no personal-data content"),
  "PETS/2023/revoked-just-now-users-behaviors-toward-fitness-data-sharing": OUT("perception"),
  "PETS/2023/speculative-privacy-concerns-about-ar-glasses-data-collectio": OUT("perception"),
  "PETS/2024/client-side-and-server-side-tracking-on-meta-effectiveness-a": CTX("channel", "Pixel vs Conversions API on the authors' own sites with real users; sends IP, user agent, geolocation and fbp/fbc only, no hashed email or phone. IN -> CONTEXT 2026-10-08 full-text reading"),
  "PETS/2024/cross-contextual-examination-of-older-adults-privacy-concern": OUT("perception"),
  "PETS/2024/honesty-is-the-best-policy-on-the-accuracy-of-apple-privacy-": OUT("mobile"),
  "PETS/2024/internet-users-willingness-to-disclose-biometric-data-for-co": OUT("perception"),
  "PETS/2024/mitigating-inference-risks-with-the-nist-privacy-framework": OUT("mention"),
  "PETS/2024/on-the-quality-of-privacy-policy-documents-of-virtual-person": OUT("policy"),
  "PETS/2024/opted-out-yet-tracked-are-regulations-enough-to-protect-your": OUT("tracking", "opt-out and bids"),
  "PETS/2024/our-data-our-solutions-a-participatory-approach-for-enhancin": OUT("perception"),
  "PETS/2024/please-unstalk-me-understanding-stalking-with-bluetooth-trac": OUT("mention"),
  "PETS/2024/privacy-policies-on-the-fediverse-a-case-study-of-mastodon-i": OUT("policy"),
  "PETS/2024/privacylens-on-device-pii-removal-from-rgb-images-using-ther": OUT("homograph", "PII in images"),
  "PETS/2024/the-medium-is-the-message-how-secure-messaging-apps-leak-sen": OUT("mobile"),
  "PETS/2024/what-does-it-mean-to-be-creepy-responses-to-visualizations-o": OUT("perception"),
  "PETS/2024/what-to-expect-when-you-re-accessing-an-exploration-of-user-": OUT("dsr"),
  "PETS/2025/evaluating-a-data-fiduciary-standard-for-privacy-developer-a": OUT("perception"),
  "PETS/2025/free-wifi-is-not-ultimately-free-privacy-perceptions-of-user": OUT("perception"),
  "PETS/2025/gig-work-at-what-cost-exploring-privacy-risks-of-gig-work-pl": IN(["traffic", "event"], ["canary", "manual"], "employment", "16 gig platforms, web and Android, fictional and real worker personas; SSN sent as unsalted SHA-256 by sign-up pixels. encsearch dropped (search not described) 2026-10-08 full-text reading"),
  "PETS/2025/hoovered-up-as-a-data-point-exploring-privacy-behaviours-awa": OUT("llm"),
  "PETS/2025/it-s-not-my-data-anymore-exploring-non-users-privacy-percept": OUT("perception"),
  "PETS/2025/measuring-the-accuracy-and-effectiveness-of-pii-removal-serv": OUT("breach", "people-search / removal services"),
  "PETS/2025/misalignments-and-demographic-differences-in-expected-and-ac": OUT("perception"),
  "PETS/2025/referrer-policy-implementation-and-circumvention": CTX("channel", "full-URL leakage past the Referrer Policy, measured without looking for personal data in the URL"),
  "PETS/2025/rethinking-fingerprinting-an-assessment-of-behavior-based-me": OUT("tracking"),
  "PETS/2025/surveillance-disguised-as-protection-a-comparative-analysis-": OUT("mobile"),
  "PETS/2025/the-effect-of-platform-policies-on-app-privacy-compliance-a-": OUT("mobile"),
  "PETS/2025/the-impact-of-default-mobile-sdk-usage-on-privacy-and-data-p": OUT("mobile"),
  "PETS/2025/tracker-installations-are-not-created-equal-understanding-tr": IN(["form", "event"], ["static", "manual", "canary", "encsearch"], "general", "Meta Pixel and Google Tag: synthetic form injection and configuration analysis; corrected 2026-10-08"),
  "PETS/2025/tracking-without-borders-studying-the-role-of-webviews-in-br": OUT("mobile"),
  "PETS/2025/uncovering-the-app-cloud-access-risks-under-recommended-iam-": OUT("mobile"),
  "PETS/2025/user-centric-textual-descriptions-of-privacy-enhancing-techn": OUT("perception"),
  "PETS/2025/watchwitch-interoperability-privacy-and-autonomy-for-the-app": OUT("mobile"),
  "PETS/2025/what-are-they-gonna-do-with-my-data-privacy-expectations-con": OUT("perception"),
  "PETS/2025/what-wechat-knows-pervasive-first-party-tracking-in-a-billio": OUT("mobile", "super-app first-party tracking"),
  "PETS/2025/your-signal-their-data-an-empirical-privacy-analysis-of-wire": OUT("mobile"),
  "PETS/2026/a-year-under-the-dsa-ad-transparencys-uneven-landscape": OUT("adtarget"),
  "PETS/2026/ai-in-the-loop-privacy-preserving-real-time-scam-detection-a": OUT("llm"),
  "PETS/2026/are-bite-size-data-safety-details-a-healthy-diet-for-android": OUT("perception"),
  "PETS/2026/audagent-automated-auditing-of-privacy-policy-compliance-in-": OUT("llm"),
  "PETS/2026/chatbot-confessions-large-scale-analysis-of-private-data-dis": OUT("llm"),
  "PETS/2026/dead-domains-living-data-a-privacy-risk-analysis-of-domain-l": OUT("mobile"),
  "PETS/2026/disclosure-divergence-measuring-privacy-policy-and-data-safe": OUT("policy"),
  "PETS/2026/exadprinter-semi-exhaustive-permissionless-device-fingerprin": OUT("mobile"),
  "PETS/2026/exercising-the-ccpa-opt-out-right-on-android-legally-mandate": OUT("mobile"),
  "PETS/2026/i-don-t-think-it-needs-to-be-political-privacy-experiences-a": OUT("perception"),
  "PETS/2026/linguistic-hooks-investigating-the-role-of-language-triggers": OUT("perception"),
  "PETS/2026/no-privacy-for-privates-how-military-communities-experience-": OUT("mobile"),
  "PETS/2026/operationalizing-the-motivated-intruder-a-codebook-guided-in": OUT("llm"),
  "PETS/2026/panoptes-detecting-out-of-sight-privacy-exposure-in-android": OUT("mobile"),
  "PETS/2026/personal-data-flows-and-privacy-policy-traceability-in-third": OUT("llm"),
  "PETS/2026/privacy-by-voice-designing-usable-privacy-notices-for-the-vo": OUT("perception"),
  "PETS/2026/the-role-of-online-forums-in-developer-understanding-of-priv": OUT("perception"),
  "PETS/2026/understanding-how-university-guidelines-address-privacy-and-": OUT("llm"),
  "PETS/2026/users-are-worried-but-we-are-confused-exploring-the-privacy-": OUT("perception"),
  "USENIX/2014/hulk-eliciting-malicious-behavior-in-browser-extensions": OUT("client"),
  "USENIX/2014/ssoscan-automated-testing-of-web-applications-for-single-s": OUT("security"),
  "USENIX/2015/you-shouldn-t-collect-my-secrets-thwarting-sensitive-keyst": OUT("mobile"),
  "USENIX/2018/schrodinger-s-rat-profiling-the-stakeholders-in-the-remote": OUT("security"),
  "USENIX/2018/sensitive-information-tracking-in-commodity-iot": OUT("mobile"),
  "USENIX/2019/policylint-investigating-internal-privacy-policy-contradic": OUT("policy"),
  "USENIX/2020/actions-speak-louder-than-words-entity-sensitive-privacy-p": OUT("mobile"),
  "USENIX/2020/cached-and-confused-web-cache-deception-in-the-wild": OUT("security"),
  "USENIX/2020/droplet-decentralized-authorization-and-access-control-for": OUT("mention"),
  "USENIX/2020/empirical-measurement-of-systemic-2fa-usability": OUT("mention"),
  "USENIX/2020/i-am-uncomfortable-sharing-what-i-cant-see-privacy-concern": OUT("perception"),
  "USENIX/2020/sunrise-to-sunset-analyzing-the-end-to-end-life-cycle-and-": OUT("security"),
  "USENIX/2020/the-tools-and-tactics-used-in-intimate-partner-surveillanc": OUT("mention"),
  "USENIX/2020/what-twitter-knows-characterizing-ad-targeting-practices-u": OUT("adtarget"),
  "USENIX/2021/extracting-training-data-from-large-language-models": OUT("llm"),
  "USENIX/2021/helping-users-automatically-find-and-manage-sensitive-expe": OUT("perception"),
  "USENIX/2021/mind-your-weight-s-a-large-scale-study-on-insufficient-mac": OUT("mobile"),
  "USENIX/2021/privatedrop-practical-privacy-preserving-authentication-fo": OUT("mobile"),
  "USENIX/2021/risky-business-investigating-the-security-practices-of-ven": OUT("breach"),
  "USENIX/2021/share-first-ask-later-or-never-studying-violations-of-gdpr": OUT("mobile"),
  "USENIX/2021/understanding-malicious-cross-library-data-harvesting-on-a": OUT("mobile"),
  "USENIX/2022/caring-about-sharing-user-perceptions-of-multiparty-data-s": OUT("perception"),
  "USENIX/2022/leaky-forms-a-study-of-email-and-password-exfiltration-bef": IN(["form"], ["canary", "encsearch", "instrument"], "general", "pre-submission email and password exfiltration"),
  "USENIX/2022/ovrseen-auditing-network-traffic-and-privacy-policies-in-o": OUT("mobile"),
  "USENIX/2022/smart-home-privacy-policies-demystified-a-study-of-availab": OUT("policy"),
  "USENIX/2022/when-sally-met-trackers-web-tracking-from-the-users-perspe": IN(["visit"], ["passive"], "sensitive", "real users' browsing telemetry; trackers on Health, Sexuality, Political, Religion sites framed as sensitive disclosure. OUT:tracking -> IN on 2026-10-08 second-reader audit"),
  "USENIX/2023/are-you-spying-on-me-large-scale-analysis-on-iot-data-expo": OUT("mobile"),
  "USENIX/2023/beyond-the-gates-an-empirical-analysis-of-http-managed-pas": OUT("security"),
  "USENIX/2023/checking-passwords-on-leaky-computers-a-side-channel-analy": OUT("security"),
  "USENIX/2023/codexleaks-privacy-leaks-from-code-generation-language-mod": OUT("llm"),
  "USENIX/2023/credit-karma-understanding-security-implications-of-expose": OUT("mobile"),
  "USENIX/2023/going-through-the-motions-ar-vr-keylogging-from-user-head-": OUT("security"),
  "USENIX/2023/investigating-verification-behavior-and-perceptions-of-vis": OUT("perception"),
  "USENIX/2023/is-your-wallet-snitching-on-you-an-analysis-on-the-privacy": IN(["traffic"], ["canary", "encsearch"], "finance", "wallet addresses to third parties"),
  "USENIX/2023/lalaine-measuring-and-characterizing-non-compliance-of-app": OUT("mobile"),
  "USENIX/2023/log-it-s-big-it-s-heavy-it-s-filled-with-personal-data-mea": OUT("mobile"),
  "USENIX/2023/mixed-signals-analyzing-ground-truth-data-on-the-users-and": OUT("breach"),
  "USENIX/2023/policycomp-counterpart-comparison-of-privacy-policies-unco": OUT("policy"),
  "USENIX/2023/poligraph-automated-privacy-policy-analysis-using-knowledg": OUT("policy"),
  "USENIX/2023/security-and-privacy-failures-in-popular-2fa-apps": OUT("mobile"),
  "USENIX/2023/the-digital-safety-risks-of-financial-technologies-for-sur": OUT("mobile"),
  "USENIX/2023/the-ok-is-not-enough-a-large-scale-study-of-consent-dialog": OUT("mobile"),
  "USENIX/2023/watch-your-watch-inferring-personality-traits-from-wearabl": OUT("homograph"),
  "USENIX/2023/youve-got-report-measurement-and-security-implications-of-": OUT("email"),
  "USENIX/2024/a-decade-of-privacy-relevant-android-app-reviews-large-sca": OUT("mobile"),
  "USENIX/2024/abandon-all-hope-ye-who-enter-here-a-dynamic-longitudinal-": OUT("mobile"),
  "USENIX/2024/i-dont-know-if-were-doing-good-i-dont-know-if-were-doing-b": OUT("perception"),
  "USENIX/2024/ihunter-hunting-privacy-violations-at-scale-in-the-softwar": OUT("mobile"),
  "USENIX/2024/purl-safe-and-effective-sanitization-of-link-decoration": CTX("channel", "link decorations as a channel; the email-typed crawl finds 538 decorations that appear only with an email entered (62 tracking) but never shows the email value leaving. IN -> CONTEXT 2026-10-08 full-text reading"),
  "USENIX/2024/racing-for-tls-certificate-validation-a-hijackers-guide-to": OUT("mobile"),
  "USENIX/2024/remote-keylogging-attacks-in-multi-user-vr-applications": OUT("security"),
  "USENIX/2024/understanding-the-security-and-privacy-implications-of-onl": OUT("perception"),
  "USENIX/2024/what-was-your-prompt-a-remote-keylogging-attack-on-ai-assi": OUT("security"),
  "USENIX/2025/autovr-automated-ui-exploration-for-detecting-sensitive-da": OUT("mobile"),
  "USENIX/2025/big-help-or-big-brother-auditing-tracking-profiling-and-pe": OUT("client", "GenAI browser-assistant extensions send page content"),
  "USENIX/2025/covault-secure-scalable-analytics-of-personal-data": OUT("mention"),
  "USENIX/2025/darkgram-a-large-scale-analysis-of-cybercriminal-activity-": OUT("security"),
  "USENIX/2025/effective-pii-extraction-from-llms-through-augmented-few-s": OUT("llm"),
  "USENIX/2025/evaluating-privacy-policies-under-modern-privacy-laws-at-s": OUT("policy"),
  "USENIX/2025/exploring-user-security-and-privacy-attitudes-and-concerns": OUT("llm"),
  "USENIX/2025/generated-data-with-fake-privacy-hidden-dangers-of-fine-tu": OUT("llm"),
  "USENIX/2025/malicious-llm-based-conversational-ai-makes-users-reveal-p": OUT("llm"),
  "USENIX/2025/password-guessing-using-large-language-models": OUT("security"),
  "USENIX/2025/patching-up-stakeholder-experiences-of-security-updates-fo": OUT("mention"),
  "USENIX/2025/privacy-solution-or-menace-investigating-perceptions-of-ra": OUT("perception"),
  "USENIX/2025/privacyxray-detecting-privacy-breaches-in-llms-through-sem": OUT("llm"),
  "USENIX/2025/private-investigator-extracting-personally-identifiable-in": OUT("llm"),
  "USENIX/2025/too-much-of-a-good-thing-in-security-of-mandatory-security": OUT("security"),
  "USENIX/2025/trust-but-verify-an-assessment-of-vulnerability-tagging-se": OUT("mention"),
  "USENIX/2025/websites-global-privacy-control-compliance-at-scale-and-ov": OUT("dsr", "GPC"),
  "USENIX/2025/when-llms-go-online-the-emerging-threat-of-web-enabled-llm": OUT("llm"),
  "USENIX/2026/bridges-to-self-silent-web-to-app-tracking-on-mobile-via-l": CTX("linkage", "localhost web-to-app channel ties browsing to a logged-in app identity; no personal-data value sent"),
  "USENIX/2026/the-state-of-passkeys-studying-the-adoption-and-security-o": OUT("security"),
  "USENIX/2026/turn-your-face-into-an-attack-surface-screen-attack-using-": OUT("security"),
  "WWW/2013/your-browsing-behavior-for-a-big-mac-economics-of-personal-in": OUT("perception", "PII valuation"),
  "WWW/2017/extended-tracking-powers-measuring-the-privacy-diffusion-enab": OUT("client", "extensions"),
  "WWW/2017/the-long-standing-privacy-debate-mobile-websites-vs-mobile-ap": OUT("mobile", "the web side is a comparison and leaks device data, not personal data"),
  "WWW/2017/tools-for-automated-analysis-of-cybercriminal-markets": OUT("breach"),
  "WWW/2019/studying-preferences-and-concerns-about-information-disclosur": OUT("perception"),
  "WWW/2020/dark-matter-uncovering-the-darkcomet-rat-ecosystem": OUT("security"),
  "WWW/2021/websocket-adoption-and-the-landscape-of-the-real-time-web": CTX("channel", "WebSocket payloads as a channel; key-name matching in an unauthenticated crawl finds visitor IDs and the crawler's IP, no personal-data value. IN -> CONTEXT 2026-10-08 full-text reading"),
  "WWW/2022/et-tu-brute-privacy-analysis-of-government-websites-and-mobil": OUT("tracking", "government websites: trackers and cookies on the web side; personal-data leaks measured only in apps"),
  "WWW/2023/bad-apples-understanding-the-centralized-security-risks-in-de": OUT("mobile"),
  "WWW/2023/cashing-in-on-contacts": OUT("mention", "OnlyFans creator ecosystem"),
  "WWW/2023/do-language-models-plagiarize": OUT("llm"),
  "WWW/2023/not-seen-not-heard-in-the-digital-world-measuring-privacy-pra": OUT("mobile"),
  "WWW/2023/the-hitchhikers-guide-to-facebook-web-tracking-with-invisible": IN(["visit"], ["presence", "static"], "sensitive", "Pixel adoption on health, politics, sexual-orientation, religion sites; no PII value measured. method corrected 2026-10-08 full-text reading"),
  "WWW/2026/doxing-as-a-service-demystifying-the-chinese-online-doxing-ec": OUT("breach", "doxing"),
  "WWW/2026/privsniffer-graph-based-contextual-privacy-leakage-detection-": OUT("homograph", "PII in user-generated text"),
};
 
export function resolveVerdicts(candidateKeys) {
  const byKey = new Map();
  for (const pref of Object.keys(VERDICTS)) {
    const hits = candidateKeys.filter((k) => k.startsWith(pref));
    if (hits.length !== 1) throw new Error(`verdict prefix ${pref} matches ${hits.length} candidates`);
    if (byKey.has(hits[0])) throw new Error(`two verdicts for ${hits[0]}`);
    byKey.set(hits[0], { key: hits[0], prefix: pref, ...VERDICTS[pref] });
  }
  const missing = candidateKeys.filter((k) => !byKey.has(k));
  if (missing.length) throw new Error(`${missing.length} candidates have no verdict:\n  ${missing.join('\n  ')}`);
  for (const r of byKey.values()) {
    if (r.v === 'OUT' && !OUT_CODES[r.code]) throw new Error(`unknown OUT code ${r.code} on ${r.key}`);
    if (r.v === 'CONTEXT' && !CONTEXT_CODES[r.code]) throw new Error(`unknown CONTEXT code ${r.code} on ${r.key}`);
    if (r.v === 'IN') {
      for (const c of r.channel) if (!CHANNELS[c]) throw new Error(`unknown channel ${c} on ${r.key}`);
      for (const m of r.method) if (!METHODS[m]) throw new Error(`unknown method ${m} on ${r.key}`);
      if (!SECTORS.includes(r.sector)) throw new Error(`unknown sector ${r.sector} on ${r.key}`);
    }
  }
  return byKey;
}
 
// Which transformations of the seeded value each IN paper says it searched
// for. Hand map; each entry carries the deciding sentence, which
// verify_pii_figures.mjs locates verbatim in the paper. 'found' lists only what
// the paper states; status says why an entry is empty.
// Citekey on literature:bibliography for every IN and CONTEXT paper. The report
// checks each against a fresh export (key present, title matches) and fails on a
// stale or missing entry.
export const PAPER_KEYS = {
  'CCS/2020/fill-in-the-blanks': 'lin2020_fill',
  'CCS/2025/piixel-leaks': 'bekos2025_piixel',
  'IEEE-SP/2018/privacy-risks-with-facebooks-pii': 'venkatadri2018_privacy',
  'IEEE-SP/2024/understanding-the-privacy-practices-of-political': 'kafle2024_privacy',
  'IMC/2016/characterizing-website-behaviors': 'kaizer2016_characterizing',
  'IMC/2016/should-you-use-the-app': 'leung2016_should',
  'IMC/2018/tracing-cross-border-web-tracking': 'iordanou2018_tracing',
  'IMC/2019/tales-from-the-porn': 'vallina2019_porn',
  'IMC/2024/diffaudit': 'figueira2024_diffaudit',
  'NDSS/2023/chkplug': 'shezan2023_chkplug',
  'PETS/2016/are-you-sure-you-want-to-contact-us': 'starov2016_sure',
  'PETS/2017/cross-device-tracking': 'brookman2017_crossdevice',
  'PETS/2018/when-the-cookie-meets-the-blockchain': 'goldfeder2018_cookie',
  'PETS/2019/investigating-sources-of-pii': 'venkatadri2019_investigating',
  'PETS/2020/canarytrap': 'farooqi2020_canarytrap',
  'PETS/2020/no-boundaries': 'acar2020_noboundaries',
  'PETS/2021/the-cname-of-the-game': 'dimova2021cname',
  'PETS/2022/checking-websites-gdpr-consent': 'kubicek2022_emails',
  'PETS/2022/who-knows-i-like-jelly-beans': 'kats2022_search',
  'PETS/2024/client-side-and-server-side-tracking-on-meta': 'elfraihi2024_meta',
  'PETS/2025/gig-work-at-what-cost': 'pradeep2025_gig',
  'PETS/2025/referrer-policy': 'zagi2025_referrer',
  'PETS/2025/tracker-installations': 'kieserman2025_tracker',
  'USENIX/2022/leaky-forms': 'senol2022_leaky',
  'USENIX/2022/when-sally-met-trackers': 'dambra2022_sally',
  'USENIX/2023/is-your-wallet-snitching': 'torres2023_wallet',
  'USENIX/2024/purl': 'shaoor2024purl',
  'USENIX/2026/bridges-to-self': 'vlummens2026_bridges',
  'WWW/2021/websocket-adoption': 'murley2021_websocket',
  'WWW/2023/the-hitchhikers-guide': 'bekos2023_hitchhiker',
};
 
// PASS H of the report: a title probe over the 16,864-record venue index for
// papers that never reached the extraction. Hits are X (off topic) unless coded here.
// Papers that were IN when the second reader's audit list was frozen (2026-10-08,
// CONTEXT + web-platform OUT) and that the full-text reading then moved out of IN.
// They are outside the second reader's scope by construction; the report lists them.
export const MOVED_BY_READING = {
  'PETS/2024/client-side-and-server-side-tracking-on-meta': 'IN -> CONTEXT:channel (identifiers and IP only, no hashed email or phone)',
  'USENIX/2024/purl': 'IN -> CONTEXT:channel (email-triggered decorations counted, the email value never shown leaving)',
  'WWW/2021/websocket-adoption': 'IN -> CONTEXT:channel (key-name matching finds IDs and the crawler IP, no personal-data value)',
};
 
export const OUT_TITLE_RE = /\bPII\b|personally identifiable|personal (data|information)|exfiltrat\w*|\bpixels?\b|session replay|web ?forms?|contact forms?|search (terms?|quer\w*)|referr?er|hashed e-?mail|e-?mail address|(privacy|information|data) leak\w*|leak\w* (of )?(personal|private|user|sensitive)|(health|medical|pharmacy|tax)\w* (web ?sites?|data)|third[- ]part(y|ies) (tracking|trackers|scripts?)/i;
export const OUTSIDE_CODE = {
  S: 'a web PII-leak measurement this page would have counted',
  C: 'a channel that carries personal data, measured without it (CONTEXT)',
  M: 'mobile / app PII-leak detection (method context)',
  X: 'off topic: side channels, ML and federated-learning leakage, images, kernel and hardware leaks, crypto, health analytics, search engines',
};
export const OUTSIDE = {
  'PETS/2012/exploring-the-ecosystem-of-referrer': 'C',
  'NDSS/2011/pios': 'M',
  'NDSS/2016/the-price-of-free': 'M',
  'NDSS/2018/bug-fixes-improvements-and-privacy-leaks': 'M',
  // added to the index and selected on 2026-10-08, PDF fetched the same morning, not extracted; read from paper.pdf
  'IMC/2026/pixelconfig': 'S',
};
 
export const ENCODING_NAMES = {
  plain: 'the value as typed',
  urlenc: 'URL / percent-encoding',
  base64: 'Base64',
  md5: 'MD5',
  sha1: 'SHA-1',
  sha256: 'SHA-256',
  sha_other: 'other SHA-2 / SHA-3 / hash families',
  other_hash: 'other named hashes or checksums (e.g. CRC, MurmurHash)',
  compress: 'compression (gzip, deflate, LZString …)',
  chained: 'nested / chained combinations of the above',
  normalise: 'normalisation before hashing (lower-case, trim, E.164)',
};
export const ENCODINGS = {
  // Filled 2026-10-08 from the full-text reading (notes/pii_papers_{A,B,C,D}.md).
  // status: stated (names what it searched) | reported (names a transformation only as a
  // finding; the search is not described) | not-stated (searches traffic for values, names
  // no transformation) | not-applicable (does not search traffic for a value: a visit,
  // a configuration, a mailbox, or key names). quote: the deciding sentence, verbatim.
  "CCS/2025/piixel-leaks": { status: "not-applicable", found: [], quote: "we can identify the specific PII-related parameters it is configured to capture and transmit to Meta", note: "reads the Pixel configuration; no traffic searched for a value" },
  "IEEE-SP/2024/understanding-the-privacy-practices-of-political": { status: "not-applicable", found: [], quote: "We examined the domains of the senders to identify emails from external parties", note: "sharing detected in the mailbox, not in traffic" },
  "IMC/2016/characterizing-website-behaviors": { status: "not-stated", found: [], quote: "Information in HTTP requests, HTTP referer information, and cookies set and retrieved were tracked to identify when PII was leaked using conservative", note: "patterns published only on an external page" },
  "IMC/2016/should-you-use-the-app": { status: "not-stated", found: [], quote: "Our experiments are limited to detecting PII leaks that occur directly to first and third parties, and that are detectable using common encodings (i.e., are not obfuscated).", note: "\"common encodings\" not named" },
  "IMC/2018/tracing-cross-border-web-tracking": { status: "not-applicable", found: [], quote: "we only collected domain names instead of full URLs", note: "the visit is the disclosure" },
  "IMC/2019/tales-from-the-porn": { status: "not-applicable", found: [], quote: "We decode the cookie values using two types of encoding: base64, and URL.", note: "the visit is the disclosure; base64 and URL decoding of cookies finds the crawler's IP address and geolocation, which this page's rule does not count as a personal-data value" },
  "IMC/2024/diffaudit": { status: "not-applicable", found: [], quote: "Starting from a raw, clear-text network traffic trace, we extract each packet's destination and data types from the packet headers and payloads, respectively.", note: "classifies the KEYS of key-value pairs into data types; no known value is searched" },
  "PETS/2016/are-you-sure-you-want-to-contact-us": { status: "stated", found: ["plain"], quote: "While one can straightforwardly search for PII being transmitted in the clear, this method will not be able to account for leaks that use various encoding or obfuscation techniques to hide the PII in the outgoing traffic.", note: "plain search plus a differential that catches transformations without naming them" },
  "PETS/2017/cross-device-tracking": { status: "stated", found: ["plain", "md5", "sha1", "sha256", "base64"], quote: "We looked for this information in both plain, hashed, (MD5, SHA-1, SHA-256) and base64 encoded forms.", note: "" },
  "PETS/2018/when-the-cookie-meets-the-blockchain": { status: "not-stated", found: [], quote: "We also manually marked any PII and payment-related information that we encountered on the pages we visited; we added functionality to the tool to automatically record this information when marked.", note: "" },
  "PETS/2020/no-boundaries": { status: "stated", found: ["plain", "urlenc", "base64", "md5", "sha1", "sha256", "sha_other", "other_hash", "compress", "chained"], quote: "Encodings Base16, Base32, Base58, Base64, Entity encoding, URL encoding (percent-encoding), yEnc, DEFLATE, GZIP, ZLIB (RFC 1950).", note: "up to three layers; 16+ hashes in its appendix; a 200 KB DOM-chunk size differential catches payloads it cannot decode" },
  "PETS/2021/the-cname-of-the-game": { status: "reported", found: ["plain"], quote: "email address (on 4 websites, either in plain-text or hashed)", note: "hash algorithm not named" },
  "PETS/2022/checking-websites-gdpr-consent": { status: "not-applicable", found: [], quote: "To analyze whether the website shares the email address with a third party, we generated a unique email address for each website.", note: "sharing detected in the mailbox, not in traffic" },
  "PETS/2022/who-knows-i-like-jelly-beans": { status: "stated", found: ["plain", "base64"], quote: "we report that 0.9% of sites make use of third parties that rely on Base 64", note: "Base64 only, plus a best-effort Ciphey pass on large payloads" },
  "PETS/2025/gig-work-at-what-cost": { status: "reported", found: ["plain", "sha256"], quote: "The SSNs were transmitted as an unsalted SHA256 hash of the worker's SSN.", note: "the search itself is not described" },
  "PETS/2025/tracker-installations": { status: "stated", found: ["sha256", "base64"], quote: "We identified our data by hashing it according to the standard for each tracker (SHA-256 for Meta Pixel and SHA-256 on a base64 encoded string for Google Tag) and then searching network events for a matching string hash.", note: "order of base64 and SHA-256 for Google Tag not stated" },
  "USENIX/2022/leaky-forms": { status: "stated", found: ["plain", "urlenc", "base64", "md5", "sha1", "sha256", "sha_other", "other_hash", "compress", "chained"], quote: "We repeat this process until we reach a level of three layers of encodings or decodings.", note: "appendix lists MD2/4/5, SHA-1/2/3, MurmurHash3, RIPEMD-160, Whirlpool, salted SHA-1, Base16/32/58/64, URL, entity, Deflate, Zlib, Gzip, LZString and a substitution map; three were added after inbound mail exposed misses" },
  "USENIX/2022/when-sally-met-trackers": { status: "not-applicable", found: [], quote: "we selected a set of sensitive categories: Health, Legal, Financial, Sexuality, Political, and Religion.", note: "the visit is the disclosure" },
  "USENIX/2023/is-your-wallet-snitching": { status: "stated", found: ["plain", "urlenc", "base64", "compress", "md5", "sha256", "other_hash", "chained"], quote: "The method consists of searching for a variety of encodings and hashes within strings, by precomputing a set of strings, which contains all possible encodings", note: "" },
  "WWW/2023/the-hitchhikers-guide": { status: "not-applicable", found: [], quote: "Still, websites can share other IDs such as hashed emails, etc.", note: "no personal-data value measured; the visit is the disclosure" },
};

Bibliography

Added to bibliography by this run (13 entries; the page cites 30 keys, 12 of them new — lin2020_fill is added because the report requires a key for every CONTEXT paper — and 18 already existed). Five corpus papers (leung2016_should, goldfeder2018_cookie, kafle2024_privacy, pradeep2025_gig, lin2020_fill), one corpus method paper (continella2017_obfuscation), and seven outside the extraction. DOIs and author lists checked against Crossref on 2026-10-08; the two PoPETs author lists, which the venue index lacks, were taken from the PoPETs landing pages by the 2026-09-23 session and re-checked against Crossref.

bib_additions_pii_leakage.bib
@inproceedings{leung2016_should,
  author        = {Leung, Christophe and Ren, Jingjing and Choffnes, David R. and Wilson, Christo},
  title         = {Should You Use the App for That?: Comparing the Privacy Implications of App- and Web-based Online Services},
  booktitle     = {Proceedings of the ACM Internet Measurement Conference},
  year          = {2016},
  series        = {IMC 2016},
  doi           = {10.1145/2987443.2987456},
}
 
@article{goldfeder2018_cookie,
  author        = {Goldfeder, Steven and Kalodner, Harry and Reisman, Dillon and Narayanan, Arvind},
  title         = {When the cookie meets the blockchain: Privacy risks of web payments via cryptocurrencies},
  journal       = {Proceedings on Privacy Enhancing Technologies},
  year          = {2018},
  series        = {PoPETs 2018},
  doi           = {10.1515/popets-2018-0038},
}
 
@inproceedings{kafle2024_privacy,
  author        = {Kafle, Kaushal and Mandal, Prianka and Singh, Kapil and Andow, Benjamin and Nadkarni, Adwait},
  title         = {Understanding the Privacy Practices of Political Campaigns: A Perspective from the 2020 US Election Websites},
  booktitle     = {Proceedings of the IEEE Symposium on Security and Privacy},
  year          = {2024},
  series        = {IEEE S&P 2024},
  doi           = {10.1109/sp54263.2024.00091},
}
 
@article{pradeep2025_gig,
  author        = {Pradeep, Amogh and Gunawan, Johanna and Feal, {\'A}lvaro and Hartzog, Woodrow and Choffnes, David},
  title         = {Gig Work at What Cost? Exploring Privacy Risks of Gig Work Platform Participation in the U.S.},
  journal       = {Proceedings on Privacy Enhancing Technologies},
  year          = {2025},
  series        = {PoPETs 2025},
  doi           = {10.56553/popets-2025-0027},
}
 
@inproceedings{continella2017_obfuscation,
  author        = {Continella, Andrea and Fratantonio, Yanick and Lindorfer, Martina and Puccetti, Alessandro and Zand, Ali and Kruegel, Christopher and Vigna, Giovanni},
  title         = {Obfuscation-Resilient Privacy Leak Detection for Mobile Apps Through Differential Analysis},
  booktitle     = {Proceedings of the Network and Distributed System Security Symposium},
  year          = {2017},
  series        = {NDSS 2017},
  doi           = {10.14722/ndss.2017.23465},
}
 
@inproceedings{lin2020_fill,
  author        = {Lin, Xu and Ilia, Panagiotis and Polakis, Jason},
  title         = {Fill in the Blanks: Empirical Analysis of the Privacy Threats of Browser Form Autofill},
  booktitle     = {Proceedings of the ACM SIGSAC Conference on Computer and Communications Security},
  year          = {2020},
  series        = {CCS 2020},
  doi           = {10.1145/3372297.3417271},
}
 
@inproceedings{krishnamurthy2011_privacy,
  author        = {Krishnamurthy, Balachander and Naryshkin, Konstantin and Wills, Craig E.},
  title         = {Privacy Leakage vs. Protection Measures: the Growing Disconnect},
  booktitle     = {Web 2.0 Security and Privacy Workshop (W2SP)},
  year          = {2011},
  series        = {W2SP 2011},
  url           = {http://web.cs.wpi.edu/~cew/papers/w2sp11.pdf},
}
 
@article{libert2015_health,
  author        = {Libert, Timothy},
  title         = {Privacy Implications of Health Information Seeking on the Web},
  journal       = {Communications of the ACM},
  volume        = {58},
  number        = {3},
  pages         = {68--77},
  year          = {2015},
  doi           = {10.1145/2658983},
}
 
@inproceedings{huo2022_alleyes,
  author        = {Huo, Mingjia and Bland, Maxwell and Levchenko, Kirill},
  title         = {All Eyes On Me: Inside Third Party Trackers' Exfiltration of PHI from Healthcare Providers' Online Systems},
  booktitle     = {Proceedings of the 21st Workshop on Privacy in the Electronic Society},
  year          = {2022},
  series        = {WPES 2022},
  doi           = {10.1145/3559613.3563190},
}
 
@article{friedman2023_hospital,
  author        = {Friedman, Ari B. and Merchant, Raina M. and Maley, Amey and Farhat, Karim and Smith, Kristen and Felkins, Jackson and Gonzales, Rachel E. and Bauer, Lujo and McCoy, Matthew S.},
  title         = {Widespread Third-Party Tracking On Hospital Websites Poses Privacy Risks For Patients And Legal Liability For Hospitals},
  journal       = {Health Affairs},
  volume        = {42},
  number        = {4},
  year          = {2023},
  doi           = {10.1377/hlthaff.2022.01205},
}
 
@inproceedings{dao2021_alternative,
  author        = {Dao, Ha and Fukuda, Kensuke},
  title         = {Alternative to Third-Party Cookies: Investigating Persistent PII Leakage-Based Web Tracking},
  booktitle     = {Proceedings of the 17th International Conference on emerging Networking EXperiments and Technologies},
  year          = {2021},
  series        = {CoNEXT 2021},
  doi           = {10.1145/3485983.3494860},
}
 
@misc{cory2026_pii,
  author        = {Cory, Thomas and K{\"u}pper, Axel},
  title         = {Addressing Labelled Data Scarcity: Taxonomy-Agnostic Annotation of PII Values in HTTP Traffic using LLMs},
  year          = {2026},
  howpublished  = {arXiv:2605.06305},
  note          = {Accepted to the 2026 IEEE European Symposium on Security and Privacy Workshops (EuroS\&PW), per the arXiv record, checked 2026-10-08},
  url           = {https://arxiv.org/abs/2605.06305},
}
 
@inproceedings{ghani2026_pixelconfig,
  author        = {Ghani, Abdullah and Vekaria, Yash and Shafiq, Zubair},
  title         = {PixelConfig: Longitudinal Measurement and Reverse-Engineering of Meta Pixel Configurations},
  booktitle     = {Proceedings of the ACM Internet Measurement Conference},
  year          = {2026},
  series        = {IMC 2026},
  doi           = {10.1145/3777912.3809147},
}

References

[1]
Friedman, Ari B.; Merchant, Raina M.; Maley, Amey; Farhat, Karim; Smith, Kristen; Felkins, Jackson; Gonzales, Rachel E.; Bauer, Lujo; McCoy, Matthew S. (2023): "Widespread Third-Party Tracking On Hospital Websites Poses Privacy Risks For Patients And Legal Liability For Hospitals", Health Affairs 42(4). (DOI)
[2]
Huo, Mingjia; Bland, Maxwell; Levchenko, Kirill (2022): "All Eyes On Me: Inside Third Party Trackers' Exfiltration of PHI from Healthcare Providers' Online Systems", in: Proceedings of the 21st Workshop on Privacy in the Electronic Society. (DOI)
[3]
Libert, Timothy (2015): "Privacy Implications of Health Information Seeking on the Web", Communications of the ACM 58(3):68-77. (DOI)
[4]
Krishnamurthy, Balachander; Naryshkin, Konstantin; Wills, Craig E. (2011): "Privacy Leakage vs. Protection Measures: the Growing Disconnect", in: Web 2.0 Security and Privacy Workshop (W2SP). (Link)
[5]
Dao, Ha; Fukuda, Kensuke (2021): "Alternative to Third-Party Cookies: Investigating Persistent PII Leakage-Based Web Tracking", in: Proceedings of the 17th International Conference on emerging Networking EXperiments and Technologies. (DOI)
[6]
Chatzimpyrros, Manolis; Solomos, Konstantinos; Ioannidis, Sotiris (2020): "You Shall Not Register! Detecting Privacy Leaks Across Registration Forms", in: Computer Security, pp. 91-104. (DOI)
[7]
Starov, Oleksii; Gill, Phillipa; Nikiforakis, Nick (2016): "Are You Sure You Want to Contact Us? Quantifying the Leakage of PII via Website Contact Forms", in: Proceedings on Privacy Enhancing Technologies. (DOI)
[8]
Acar, Gunes; Englehardt, Steven; Narayanan, Arvind (2020): "No boundaries: data exfiltration by third parties embedded on web pages", Proceedings on Privacy Enhancing Technologies 2020(4):220-238. (DOI)
[9]
Bekos, Paschalis; Papadopoulos, Panagiotis; Kourtellis, Nicolas; Polychronakis, Michalis (2025): "PIIxel Leaks: Passive Identification of Personally Identifiable Information Leakage through Meta Pixel", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)
[10]
Kafle, Kaushal; Mandal, Prianka; Singh, Kapil; Andow, Benjamin; Nadkarni, Adwait (2024): "Understanding the Privacy Practices of Political Campaigns: A Perspective from the 2020 US Election Websites", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)
[11]
Bekos, Paschalis; Papadopoulos, Panagiotis; Markatos, Evangelos P.; Kourtellis, Nicolas (2023): "The Hitchhiker's Guide to Facebook Web Tracking with Invisible Pixels and Click IDs", in: Proceedings of the ACM Web Conference. (DOI)
[12]
Vallina, Pelayo; Feal, Álvaro; Gamba, Julien; Vallina-Rodriguez, Narseo; Anta, Antonio Fernández (2019): "Tales from the Porn: A Comprehensive Privacy Analysis of the Web Porn Ecosystem", in: Proceedings of the ACM Internet Measurement Conference. (DOI)
[13]
Goldfeder, Steven; Kalodner, Harry; Reisman, Dillon; Narayanan, Arvind (2018): "When the cookie meets the blockchain: Privacy risks of web payments via cryptocurrencies", Proceedings on Privacy Enhancing Technologies . (DOI)
[14]
Pradeep, Amogh; Gunawan, Johanna; Feal, Álvaro; Hartzog, Woodrow; Choffnes, David (2025): "Gig Work at What Cost? Exploring Privacy Risks of Gig Work Platform Participation in the U.S.", Proceedings on Privacy Enhancing Technologies . (DOI)
[15]
El fraihi, Asmaa; Amieur, Nardjes; Rudametkin, Walter; Goga, Oana (2024): "Client-side and Server-side Tracking on Meta: Effectiveness and Accuracy", Proceedings on Privacy Enhancing Technologies 2024(3):431-445. (DOI)
[16]
Munir, Shaoor; Lee, Patrick; Iqbal, Umar; Shafiq, Zubair; Siby, Sandra (2024): "PURL: Safe and Effective Sanitization of Link Decoration", in: 33rd USENIX Security Symposium (USENIX Security 24), pp. 4103-4120. USENIX Association, Philadelphia, PA. (Link)
[17]
Murley, Paul; Ma, Zane; Mason, Joshua; Bailey, Michael D.; Kharraz, Amin (2021): "WebSocket Adoption and the Landscape of the Real-Time Web", in: Proceedings of the ACM Web Conference. (DOI)
[18]
Kubíček, Karel; Merane, Jakob; Cotrini, Carlos; Stremitzer, Alexander; Bechtold, Stefan; Basin, David (2022): "Checking Websites' GDPR Consent Compliance for Marketing Emails", Proceedings on Privacy Enhancing Technologies 2022(2). (DOI)
[19]
Dambra, Savino; Sanchez-Rola, Iskander; Bilge, Leyla; Balzarotti, Davide (2022): "When Sally Met Trackers: Web Tracking From the Users' Perspective", in: Proceedings of the USENIX Security Symposium. (Link)
[20]
Kieserman, Julia B.; Andreou, Athanasios; Geeng, Chris; Lauinger, Tobias; McCoy, Damon (2025): "Tracker Installations Are Not Created Equal: Understanding Tracker Configuration of Form Data Collection", in: Proceedings on Privacy Enhancing Technologies, pp. 679-695. (DOI)
[21]
Vekaria, Yash; Beugin, Yohan; Munir, Shaoor; Acar, Gunes; Bielova, Nataliia; Englehardt, Steven; Iqbal, Umar; Kapravelos, Alexandros; Laperdrix, Pierre; Nikiforakis, Nick; Polakis, Jason; Roesner, Franziska; Shafiq, Zubair; Zimmeck, Sebastian (2025): "SoK: Advances and Open Problems in Web Tracking". arXiv preprint arXiv:2506.14057. (Link)
[22]
Venkatadri, Giridhari; Lucherini, Elena; Sapiezynski, Piotr; Mislove, Alan (2019): "Investigating sources of PII used in Facebook’s targeted advertising", in: Proceedings on Privacy Enhancing Technologies. (DOI)
provenance/privacy/pii_leakage.1791461972.txt.gz · Last modified: by karel.kubicek.claude