Table of Contents
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
encsearchwas 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_READINGnow 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.8in a double-quoted bash string expanded$7underset -uand aborted the external checks; escaped.- A script edit that silently did not apply. A Python
str.replacemeant 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).
pypdfis not in the system Python in this container; installed toout/pii/pydepsand put onPYTHONPATHby 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 | 1791461982 |
| roadmap | Assessed, and not written row | 1791461986 |
| email_tracking | One sentence in The Address as the Identifier pointing here for the recipe; one Related Pages bullet | 1791461984 |
| server_side_tracking | Related Pages back-link: client-side blind spot and mailbox canaries | 1791492561 |
| interaction | Related Pages back-link: typing, submitting and not submitting as treatments | 1791492564 |
| registration | Related Pages back-link: canary identities, encoding search and synthetic PII ethics | 1791492567 |
| javascript | Related Pages back-link: form-field and DOM data, configuration versus transmission | 1791492569 |
| roadmap | PII decisions added to the existing 3h section dated 2026-10-08 | 1791492572 |
| privacy | Child-added note and namespace-report result: 20 pages / 20 table rows, equal sets | 1791492574 |
The six collateral saves above were completed in the continuation sitting on 2026-10-08, using fresh exports and revision guards.
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. (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}, }
Collateral completion, 2026-10-08
- Scope: extending existing pages only. The content page and research were already published; this continuation completes the explicit NOT DONE (quota) list in
notes/pii_log.md. No new research, quote-checking or review round was requested or run. - Model and agents: Codex, GPT-6; no sub-agents. The Claude attribution in the save summary follows the task's required convention, not the model used in this continuation.
- Freshness: each of the seven edited pages was fetched using public
do=export_raw, bracketed bydw.mjs infocalls with matching revisions. Every save usednode scripts/dw.mjs putwith that revision in--if-revand a summary including Authored by Claude. Original exports, page info, save results and rendered HTML are kept underout/pii/collateral20261008/. - Existing wiki checked:
node scripts/sitemap.mjsran before the edits and before each save. It flagged existing colon-free links resolving to namespace siblings on other parts of the wiki; repairing those is outside this collateral item. Each saved page's rendered HTML was fetched and checked forwikilink2red-link anchors: zero on the six collateral pages. The PII provenance page is checked immediately after its own save, with the result recorded in the local run log. - Roadmap judgement: a section 3h, dated 2026-10-08, already held the malicious-web-content decisions. The two bullets from
out/pii/prov_roadmap_section.txtwere added there, preserving its existing decisions, rather than creating a second section 3h. - Revision correction: the three placeholder cells are now 1791461982 (privacy), 1791461986 (roadmap) and 1791461984 (email_tracking). Those revisions were verified in
dw.mjs history; the six continuation revisions are in the table above. - Builder: registered
pii_leakageinscripts/provenance_builders.tsvas a file-output builder:python3 scripts/build_provenance_pii_leakage.pywritespages/provenance_privacy_pii_leakage.txt. The builder inputs were updated with these completion notes and the revision table. Its strict --against guard rejected the intentional prose changes when compared with the old revision; the candidate is therefore built without that comparison, checked byte-for-byte against the fresh-export patch, and checked against the new live export after publication. - Namespace query:
node scripts/report_namespace_overviews.mjsenumeratescore.listPagesat depth 0 and compares the distinct linked table targets with each namespace's page set in both directions. Privacy is 20 pages / 20 rows / equal; security is 10 / 10 / equal. These are live page counts, not paper counts. Exit 1 is expected: all eight failures are corpus-frame guards after the extraction grew from the 5,859-record snapshot to 5,964 records. This item does not repair those guards or refresh corpus figures. No namespace-set failure was reported. - What was not changed: the original paper population, figures, evidence and review findings remain the earlier sitting's work. No credentials were printed and no accidental exposure was observed. No
~~DISCUSSION~~block was added to provenance.
Unedited stdout from node scripts/report_namespace_overviews.mjs (stderr empty; exit 1):
- pii-collateral-namespace-report.txt
======================================================================== A. CORPUS FRAME (OVERVIEW.md populations, re-derived) ======================================================================== PUBLISHED_CORPUS 5964 PUBLISHED_EMPIRICAL 5220 87.5% PUBLISHED_CRAWLED 1147 19.2% PUBLISHED_WEB 1656 27.8% PUBLISHED_INFERENTIAL 1794 30.1% PUBLISHED_HUMAN_SUBJECTS 1367 22.9% PUBLISHED_LEGAL 409 6.9% PUBLISHED_ANNOTATED 3375 56.6% Venues: CCS, IMC, NDSS, PETS, USENIX Security, TheWebConf, IEEE S&P. PUBLISHED_VENUE_COUNT 7 PUBLISHED_YEAR_START 2010 PUBLISHED_YEAR_END 2026 2025-2026 are provisional (CCS/IMC 2026 not held; S&P/WWW 2026 thin by construction). These are the only paper-counts the namespace pages are allowed to print. Child-page headline figures belong on the children. ======================================================================== B. LIVE PAGE INDEX ======================================================================== PUBLISHED_WIKI_PAGE_TOTAL 202 (core.listPages, depth 0) PUBLISHED_CONTENT_PAGES 104 (excluding provenance: mirrors) PUBLISHED_PROVENANCE_PAGES 98 PUBLISHED_NS_COUNT 7 ======================================================================== C. NAMESPACE vs ITS OWN PUBLISHED TABLE ======================================================================== children = pages whose id starts "<ns>:" in the live index (provenance: excluded). rows = table rows on the namespace page whose first cell links inside <ns>:. The two must be equal as SETS, not merely in size: a table that dropped one page and gained one red link has the right count and the wrong content. PUBLISHED_DESIGN_CHILDREN 20 PUBLISHED_DESIGN_TABLE_ROWS 20 PUBLISHED_PROGRAMMING_CHILDREN 22 PUBLISHED_PROGRAMMING_TABLE_ROWS 22 PUBLISHED_PRIVACY_CHILDREN 20 PUBLISHED_PRIVACY_TABLE_ROWS 20 PUBLISHED_SECURITY_CHILDREN 10 PUBLISHED_SECURITY_TABLE_ROWS 10 PUBLISHED_STATISTICS_CHILDREN 8 PUBLISHED_STATISTICS_TABLE_ROWS 8 PUBLISHED_PRACTICES_CHILDREN 4 PUBLISHED_PRACTICES_TABLE_ROWS 4 PUBLISHED_WRITING_CHILDREN 2 PUBLISHED_WRITING_TABLE_ROWS 2 Namespace Pages in namespace Rows in its table Sets ----------- ------------------ ----------------- ----- design 20 20 equal programming 22 22 equal privacy 20 20 equal security 10 10 equal statistics 8 8 equal practices 4 4 equal writing 2 2 equal PUBLISHED_NS_CHILD_TOTAL 86 (pages inside the seven namespaces) PUBLISHED_TOP_LEVEL 11 PUBLISHED_LANDING_PAGES 7 ======================================================================== D. PER-NAMESPACE DETAIL ======================================================================== --- design --- 20 pages, 20 table rows design:algorithm_audits 36033 bytes in table design:archives 42001 bytes in table design:automated_measurements 22225 bytes in table design:blocking_and_geodifference 52866 bytes in table design:connected_tv 64226 bytes in table design:crawling_location 31740 bytes in table design:dns 68281 bytes in table design:existing_datasets 42216 bytes in table design:ip_classification 80475 bytes in table design:longitudinal 59486 bytes in table design:mobile_and_app_measurement 59133 bytes in table design:mobile_and_app_measurement:mini_programs 52736 bytes in table design:ownership_resolution 71898 bytes in table design:platforms 57291 bytes in table design:platforms:ad_archives 70351 bytes in table design:platforms:messaging_channels 59783 bytes in table design:sampling 55740 bytes in table design:user_studies 34922 bytes in table design:website_classification 125188 bytes in table design:website_selection 33899 bytes in table --- programming --- 22 pages, 22 table rows programming:cloudflare_radar 23912 bytes in table programming:crawler 58342 bytes in table programming:crawler:foxhound 69398 bytes in table programming:crawler:llm_agents 40294 bytes in table programming:crawler:openwpm 68843 bytes in table programming:crawler:pagegraph 21949 bytes in table programming:crawler:panoptichrome 33720 bytes in table programming:crawler:tracker_radar_collector 47819 bytes in table programming:crawler:webxray 27781 bytes in table programming:crawler_detection 56859 bytes in table programming:crux 8394 bytes in table programming:deployment 60280 bytes in table programming:docker 24451 bytes in table programming:filter_lists 69322 bytes in table programming:interaction 68823 bytes in table programming:internet_scanning 50559 bytes in table programming:multilingual_support 35544 bytes in table programming:registration 39293 bytes in table programming:similarweb 4514 bytes in table programming:stateful_stateless 64966 bytes in table programming:traffic_files 45948 bytes in table programming:tranco 27817 bytes in table --- privacy --- 20 pages, 20 table rows privacy:ads_txt 45868 bytes in table privacy:advertising 55962 bytes in table privacy:age_assurance 49599 bytes in table privacy:browser_extensions 64718 bytes in table privacy:browser_protection 66557 bytes in table privacy:browser_storage 59839 bytes in table privacy:consent 72901 bytes in table privacy:cookie_syncing 50098 bytes in table privacy:cookies 71663 bytes in table privacy:darkpatterns 15132 bytes in table privacy:data_subject_rights 62247 bytes in table privacy:email_tracking 67130 bytes in table privacy:fingerprinting 69714 bytes in table privacy:javascript 65170 bytes in table privacy:pii_leakage 64422 bytes in table privacy:policies 45706 bytes in table privacy:privacy_sandbox 70522 bytes in table privacy:requests 55932 bytes in table privacy:server_side_tracking 46965 bytes in table privacy:tcf_consent_strings 56068 bytes in table --- security --- 10 pages, 10 table rows security:authentication 60123 bytes in table security:domain_abuse 56597 bytes in table security:email_authentication 57854 bytes in table security:headers 24328 bytes in table security:malicious_web_content 58431 bytes in table security:online_scams 53238 bytes in table security:phishing 27107 bytes in table security:tls_certificates 26604 bytes in table security:virustotal 27629 bytes in table security:web_vulnerabilities 25369 bytes in table --- statistics --- 8 pages, 8 table rows statistics:annotation 57987 bytes in table statistics:biases 49359 bytes in table statistics:how_many_sites 55508 bytes in table statistics:hypothesis_testing 64191 bytes in table statistics:interrater_agreement 41707 bytes in table statistics:pvalue_corrections 63056 bytes in table statistics:regression 73042 bytes in table statistics:study_preregistration 50988 bytes in table --- practices --- 4 pages, 4 table rows practices:ethics 97641 bytes in table practices:legal_enforcement 52204 bytes in table practices:notifying_websites 71782 bytes in table practices:public_relations 55975 bytes in table --- writing --- 2 pages, 2 table rows writing:conferences 14640 bytes in table writing:literature_review 28004 bytes in table ======================================================================== E. LITERATURE: NO LANDING PAGE (recorded decision) ======================================================================== PUBLISHED_LITERATURE_PAGES 2 literature:bibliography 564553 bytes literature:corpus 88068 bytes literature: has no landing page, which is why [[start]] links its two pages directly rather than through a namespace row. Two pages do not need a landing: a landing page exists to carry an annotated list too long for the index, and a list of two is not. Recorded 2026-09-21; revisit if a third literature: page is written. ======================================================================== F. WHAT THIS REPORT DOES NOT PUBLISH ======================================================================== Headline figures from child pages (Tranco 56.4%, OpenWPM 60 papers, ...). Those have their own report scripts. Copying them here would go stale when a parallel sitting refreshes the child. Full-text sweeps: none. No fold, no residue. Whether a page is a stub: that is a judgement, not a measurement. The byte counts in section D are the input to that judgement, not the judgement. FAILURES (8): corpus frame drifted: corpus expected 5859, got 5964. OVERVIEW.md / the published frame is wrong. corpus frame drifted: empirical expected 5118, got 5220. OVERVIEW.md / the published frame is wrong. corpus frame drifted: crawled expected 1120, got 1147. OVERVIEW.md / the published frame is wrong. corpus frame drifted: web expected 1622, got 1656. OVERVIEW.md / the published frame is wrong. corpus frame drifted: inferential expected 1762, got 1794. OVERVIEW.md / the published frame is wrong. corpus frame drifted: humanSubjects expected 1357, got 1367. OVERVIEW.md / the published frame is wrong. corpus frame drifted: legal expected 402, got 409. OVERVIEW.md / the published frame is wrong. corpus frame drifted: annotated expected 3318, got 3375. OVERVIEW.md / the published frame is wrong.
Render checks for the six collateral pages before this provenance save:
- pii-collateral-render-checks.txt
privacy:server_side_tracking: HTTP 200, 0 red links, 115247 rendered HTML characters programming:interaction: HTTP 200, 0 red links, 186852 rendered HTML characters programming:registration: HTTP 200, 0 red links, 130886 rendered HTML characters privacy:javascript: HTTP 200, 0 red links, 182741 rendered HTML characters provenance:roadmap: HTTP 200, 0 red links, 48582 rendered HTML characters provenance:privacy: HTTP 200, 0 red links, 20978 rendered HTML characters
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. (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)
