User Tools

Site Tools


provenance:privacy:darkpatterns

Provenance: privacy:darkpatterns

Working log behind Dark Patterns in Interfaces You Measure. Corpus-wide caveats (venue coverage, the funnel, provisional venue-years) are on corpus and are not restated here. Citations use the shared bibliography; this page adds no entries of its own.

Run: 2026-08-21. Corpus at the time: 5,859 papers with extracted full text, 7 venues (CCS, IMC, NDSS, PETS, USENIX Security, TheWebConf, IEEE S&P), 2010–2026. Extraction run data/extract/run1. Sole author of the page and this log: Claude (Opus 5), single session, no sub-agents used for research; four review sub-agents (see Review below).

Scope decision

Karel reduced the scope for this item on 2026-08-20: write a short page, do not compensate for the missing HCI venues with a large external literature search, revisit at full effort if CHI/SOUPS are ever added to the corpus. This log records the consequences of that instruction as much as the queries.

Decision Why What a reasonable person might have done instead
New page rather than broadening consent Consent notices are the majority of the corpus evidence, but not all of it: e-commerce terms, data-rights portals, mobile dialogs and agent susceptibility all sit outside a consent page's remit. A “dark patterns” section inside privacy:consent would have had to exclude the 2026 agent work, which is the most useful part for a crawler-builder. Fold the whole thing into privacy:consent as a section and add nothing new. Defensible while the corpus evidence is this thin.
Kept the prevalence table small (9 rows) and the method table dated (5 rows) Under the reduced scope, the page's job is to point at the right taxonomy and the right five papers, not to be a survey. A longer table; the data supports ~20 more rows. Left out deliberately, not for lack of material.
No page-level claim about which pattern category is most prevalent The categories are not commensurable across papers (different taxonomies, different denominators, different detectors). Ranking them would have been the single most likely thing on this page to be wrong. Publish a ranking. Rejected.
Cited Gray et al. (CHI 2024) as the current default taxonomy, on external evidence only It is out of corpus by construction and the item brief names it. Verified by hand (below). Refuse to name a default because the corpus cannot adjudicate. Rejected: leaving a fresh student with no answer to “which taxonomy” is worse than naming one and showing the check.
No ~~DISCUSSION~~ on this provenance page Established default: comments belong on the content page.

Report script

scripts/darkpatterns_report.mjs in the wiki workdir. Deterministic, ~40 s (scans 5,855 full texts). Re-run with:

node scripts/darkpatterns_report.mjs --root /workspace/publications_dataset > scripts/darkpatterns_report-output.txt

Every figure on the content page comes from this output. Its structure: (1) corpus size, (2) structured-record term hits, (3) whitespace-collapsed full-text probe, (4) detection[] tuples with a non-sentinel prevalence on the substantive set, (5) both residues.

Queries, with their denominators

# Query Population / denominator Result On the page?
Q1 Papers in the extraction all 5,859 yes, as the outer frame only
Q2 The four tier-A terms (listed under Folding below; a table cell cannot contain the literal regex, which is why they are given there) anywhere in the structured record — title, summary, detection[], classification[], humanAnnotation[], legal[] 5,859 papers 19 papers no — under-recalls, see Q4
Q3 Same terms in paper.cols.txt, whitespace-collapsed, ≥1 occurrence 5,855 papers with .cols.txt present (4 missing) 131 papers yes (“a further 83 mention it in passing” = 131 − 48)
Q4 Same, ≥5 occurrences — the substantive-treatment threshold 5,855 48 papers yes, this is the page's denominator. The page says 5,855, not 5,859: the 4 papers without readable full text are silently counted as negatives, and the page says so.
Q5 Q4 by year 48 ≤2019: 2 (2016:1, 2019:1); 2020:2, 2021:1, 2022:7, 2023:5, 2024:13, 2025:12, 2026:6 yes, bucketed as 2 / 10 / 18 / 18
Q6 Q4 by venue 48 PETS-heavy; not published (small cells) no
Q7 detection[] tuples with a non-sentinel prevalence among Q4 papers 48 tuples printed in full in the script output; 9 selected for the page table yes
Q8 Q4 papers whose structured record never fired the term (Q4 ∖ Q2) 48 32 yes, in the limitations box
Q9 Mechanism vocabulary without the term of art — the tier-B alternation given in full under Folding below 5,859 43 papers no — rejected, see below

Bucketing of Q5, spelled out because a mis-bucketed year table is a recurring defect: 1 paper before 2020 = 2016(1) + 2019(1) = 2 — this was wrong in a draft and is corrected on the page to read “2 papers before 2020”; 2020–2022 = 2+1+7 = 10; 2023–2024 = 5+13 = 18; 2025–2026 = 12+6 = 18. Total 2+10+18+18 = 48. ✓

Folding, and its residue

This page counts a term, not a free-text name, so there is no name_fold equivalent to run. What stands in for folding is the tier-A / tier-B regex split, and its residue is published here in full because it is the part the page does not count.

Tier A (counted): dark[ -]?pattern, deceptive design, deceptive pattern, manipulative design. Case-insensitive, whitespace collapsed so a PDF line break inside “dark\npattern” still matches. Without the collapse the probe returned fewer papers; this is the failure mode that makes a full-text probe silently undercount.

Tier B (rejected — do not resurrect it): the alternation interface interference, nudge/nudging/nudged, sludge, obstruction/obstructive, pre-ticked/pre-checked/pre-selected, asymmetry/asymmetric, false hierarchy, confirmshaming, forced action — intended to catch papers that measure the phenomenon without naming it. It returned 43 papers of which the overwhelming majority are false positives from network-measurement senses of asymmetry and asymmetric (routing asymmetry, asymmetric DoS, asymmetric side channels), plus nudge in the password/security-behaviour sense. Full residue:

darkpatterns_tierB_residue.txt
43 papers, tier-B-only (mechanism vocabulary, term of art absent). NOT counted on the page.
 
2010 IMC      youtube-traffic-dynamics-and-its-interplay-with-a-tier-1-isp-an-isp-perspective  [asymmetry]
2010 IEEE-SP  side-channel-leaks-in-web-applications-a-reality-today-a-challenge-tomorrow  [asymmetric]
2014 NDSS     amplification-hell-revisiting-network-protocols-for-ddos-abuse  [asymmetry]
2015 USENIX   raptor-routing-attacks-on-privacy-in-tor  [asymmetric]
2015 IMC      in-and-out-of-cuba-characterizing-cubas-connectivity  [asymmetry]
2016 PETS     data-plane-defenses-against-routing-attacks-on-tor  [asymmetry]
2016 PETS     denasa-destination-naive-as-awareness-in-anonymous-communications  [asymmetric]
2016 PETS     do-not-track-me-sometimes-users-contextual-preferences-for-web-tracking  [Asymmetric]
2017 IEEE-SP  stack-overflow-considered-harmful-the-impact-of-copy-paste-on-android-applicatio  [asymmetric]
2017 IMC      investigating-the-causes-of-congestion-on-the-african-ixp-substrate  [asymmetry]
2017 IMC      through-the-wormhole-tracking-invisible-mpls-tunnels  [asymmetry]
2017 PETS     why-privacy-is-all-but-forgotten  [asymmetric]
2017 IEEE-SP  comparing-the-usability-of-cryptographic-apis  [asymmetric]
2018 IEEE-SP  on-enforcing-the-digital-immunity-of-a-large-humanitarian-organization  [asymmetric]
2018 IMC      multilevel-mda-lite-paris-traceroute  [asymmetry]
2019 CCS      force-vs-nudge-comparing-users-pattern-choices-on-syspal-and-tinpal  [Nudge]
2019 NDSS     how-bad-can-it-git-characterizing-secret-leakage-in-public-github-repositories  [asymmetric]
2019 USENIX   stack-overflow-considered-helpful-deep-learning-security-nudges-towards-stronger  [Nudge]
2020 WWW      frozen-binomials-on-the-web-word-ordering-and-language-conventions-in-online-tex  [asymmetry]
2020 IEEE-SP  do-cookie-banners-respect-my-choice-measuring-legal-compliance-of-banners-from-i  [Pre-selected]   <-- TRUE POSITIVE
2021 IMC      throttling-twitter-an-emerging-censorship-technique-in-russia  [asymmetry]
2022 IMC      internet-scale-reverse-traceroute  [asymmetry]
2022 NDSS     auto-draft-196  [asymmetry]
2022 PETS     increasing-adoption-of-tor-browser-using-informational-and-planning-nudges  [Nudge]
2023 IMC      how-to-operate-a-meta-telescope-in-your-spare-time  [asymmetry]
2023 CCS      securing-nisq-quantum-computer-reset-operations-against-higher-energy-state-atta  [asymmetric]
2023 USENIX   did-the-shark-eat-the-watchdog-in-the-ntp-pool-deceiving-the-ntp-pool-s-monitori  [asymmetric]
2023 USENIX   horuseye-a-realtime-iot-malicious-traffic-detection-framework-using-programmable  [asymmetric]
2024 CCS      the-not-so-silent-type-vulnerabilities-in-chinese-ime-keyboards-network-security  [asymmetric]
2024 CCS      content-nudges-and-incentives-a-study-on-the-effectiveness-and-perception-of-emb  [Nudge]
2024 PETS     generalizable-active-privacy-choice-designing-a-graphical-user-interface-for-glo  [nudging]    <-- borderline
2024 PETS     supporting-informed-choices-about-browser-cookies-the-impact-of-personalised-coo  [nudge]      <-- borderline
2024 USENIX   gfweb-measuring-the-great-firewalls-web-censorship-at-scale  [Asymmetric]
2024 USENIX   understanding-ethereum-mempool-security-under-asymmetric-dos-by-symbolized-state  [Asymmetric]
2024 WWW      zipzap-efficient-training-of-language-models-for-large-scale-fraud-detection-on  [Asymmetric]
2025 IMC      poster-rmap-uncovering-risky-dns-resolution-chains-and-misconfigurations  [asymmetry]
2025 IMC      the-developer-the-rfc-and-the-middlebox-an-http-2-compliance-story  [asymmetry]
2025 NDSS     emiris-eavesdropping-on-iris-information-via-electromagnetic-side-channel  [obstruction]
2025 PETS     johnny-can-t-revoke-consent-either-measuring-compliance-of-consent-revocation-on  [obstruction]  <-- borderline
2025 WWW      private-order-flows-and-builder-bidding-dynamics-the-road-to-monopoly-in-ethereu  [asymmetry]
2025 CCS      asymmetry-vulnerability-and-physical-attacks-on-online-map-construction-for-auto  [Asymmetry]
2025 IEEE-SP  a-wall-behind-a-wall-emerging-regional-censorship-in-china  [Asymmetric]
2026 WWW      the-asymmetric-vulnerability-bypassing-llm-defenses-via-guardrail-model-mismatch  [Asymmetric]

Of those 43, 1 is an unambiguous true positive (Matte et al., which is cited on the page — it reaches the page via tier A elsewhere in its text) and 4 are borderline. A ~10% precision probe cannot support a published count, so no tier-B number appears on the content page. The lesson worth carrying: asymmetry and nudge are unusable as dark-pattern probe terms in a security-venue corpus.

The second residue — 32 of 48 papers whose structured record never fired a tier-A term — is published, in the page's limitations box, because it quantifies how badly a schema-only query would have done on this topic (it would have found 16).

Quotes spot-checked against source PDFs

Checked by streaming data/fulltext/<year>/<venue>/<slug>/paper.cols.txt with whitespace collapsed and grepping ±90 characters around the figure.

Figure Paper Verdict
67.8% interface interference, 16,122 websites 2024/USENIX/automated-large-scale-analysis-of-cookie-notice-compliance ✓ verbatim: “We detected 'Interface interference' in 67.8% of the 16,122 websites that had both positive and negative consent options”
72.2% at least one violation same “We found that 72.2% of these websites contained at [least one potential violation]”
46.4% forced action same ✓ present in the extraction; located in the paper's results table
six of ten pop-ups with unequal buttons 2022/PETS/on-dark-patterns-and-manipulation-of-website-publishers-by-cmps ✓ verbatim: “We found out that six out of ten studied consent pop-ups … showed a difference between the 'Accept' and 'Reject' button by default” (column-wrapped in the source; only matched after whitespace collapse)
49.02% (375 of 765) websites; 25.68% (246 of 958) apps 2025/WWW/50-shades-of-deceptive-patterns-… ✓ verbatim, both
41% average susceptibility 2026/IEEE-SP/investigating-the-impact-of-dark-patterns-on-llm-based-web-agents ✓ but the extraction's wording is looser than the paper's. Paper: “agents are susceptible to it an average of 41% of the time”, where “it” is a single dark pattern in the preceding clause. The page states the single-pattern condition explicitly. Also verified from the same text that per-agent rates reach 72.3% and 69.3% (Skyvern, BrowserUse), so 41% is a mean across agents and categories, not a ceiling — the page says “an average of”.
87% / 79% completion; 15.2%–48.6% category range 2026/PETS/on-the-suitability-of-llm-driven-agents-for-dark-pattern-audits ✓ figures confirmed; 456 data brokers corroborated against the PoPETs landing-page abstract. The paper is internally inconsistent about which phases these are — one passage reads “Phase 2 and Phase 3”, another “Phase 1 and Phase 2”. The content page therefore says “in two phases” and names neither, which is the only defensible wording. Found by the citations reviewer, which re-grepped the PDF where this log had relied on the extraction alone.
17% / 34% / 47% refusal rates 2024/USENIX/the-effect-of-design-patterns-… ✓ from the extraction; not re-grepped in the PDF.

Nothing failed to check out.

What this table does not cover. It is a spot-check, not a census, and the closing line must not be read as one. Figures on the content page that are not in the table above — Utz 57.4%, Matte 46.5% and 6.8%, Koch 98.8% and 11.9%, and both Nayak F1 values — were taken from the report output only at the time of writing. All of them were subsequently re-grepped in the cited papers' own paper.cols.txt by the citations reviewer and by the figures reviewer, independently, and all passed; the Nayak row was rewritten as a result (see Review). The 72.2% row above is a corroborating check on a figure that does not appear on the content page.

External sources

Source How verified Verdict
Gray, Santos, Bielova, Mildner, “An Ontology of Dark Patterns Knowledge”, CHI 2024 OpenAlex API by title: DOI 10.1145/3613904.3642436, 4 authors as listed, 97 citations. Structure (“three-level ontology … 65 … dark patterns types across low-, meso-, and high-level patterns”, “ten existing regulatory and academic taxonomies”) read from the arXiv preprint abstract, arXiv:2309.09640. ACM DL returned HTTP 403 to both WebFetch and curl. Accepted. Note the preprint (2023) and the CHI version (2024) are the same work; the 2023 CHI EA “Towards a Preliminary Ontology…” (10.1145/3544549.3585676) is a different, earlier paper and is not cited.
Mathur et al., “Dark Patterns at Scale”, PACM HCI / CSCW 2019 OpenAlex: DOI 10.1145/3359183, PACM HCI vol. 3, 659 citations. Accepted. Note Elena Lucherini — the arXiv record says Eli; used the version-of-record spelling.
EPRS, “Regulating dark patterns in the EU: Towards digital fairness”, PE 767.191, Jan 2025 PDF fetched from europarl.europa.eu and text-extracted locally with pypdf (WebFetch could not read it). All four legal claims on the page — DSA Art. 25 and recital 67, the Art. 25 carve-out for UCPD/GDPR, UCPD Annex I not covering digital interfaces, GDPR not naming dark patterns — are read directly out of that text. Accepted as the source for the legal paragraph. It is a European Parliament research service briefing, not the legal text; the page cites it in a footnote rather than asserting the law directly.
Digital Fairness Act status European Parliament Legislative Train Schedule, file digital-fairness-act: status “Announced”, CWP indicative date Q4 2026, not tabled. Checked 2026-08-21. Accepted, and it changed the page. A search summary asserted a “Q3 2026” proposal; the Legislative Train contradicts it. The page states the DFA has not been tabled and must not be cited as law.
Vendor/consultancy explainers on the DFA (Osborne Clarke, Goodwin, digitalfairnessact.com, digital-fairness-act.com, 2b-advice.com) Surfaced by the same search. Rejected. Secondary commentary, and at least one gave a timeline (Q3 2026) that the Parliament's own tracker contradicts. Not cited, and should not be re-added.
deceptive.design / darkpatterns.org pattern library Not used Rejected for this page. A useful teaching resource, but not a taxonomy with published definitions that a measurement can be operationalised against; the ontology harmonises it anyway.

Bibliography

Checked against a fresh export of bibliography (not a local copy) immediately before appending. 457 keys before, 463 after. Key-collision scan and DOI-collision scan both run:

  • koch2023_enough and sun2026_suitability already existed, byte-identical in substance to what bibgen.mjs produced. Dropped from the additions. A key-string check alone caught these; the DOI scan independently caught 10.56553/popets-2026-0152.
  • Six entries added: gray2024_ontology, mathur2019_scale, bosch2016_tales, shi2025_shades, nayak2025_automatically, ersoy2026_investigating.
  • bibgen.mjs failed loudly on both PETS slugs (no authors, no derivable surname), as documented. Authors fetched from the PoPETs landing pages with curl and a browser User-Agent. It also emitted e.V., Datenanfragen.de as an author for the USENIX paper — an affiliation scraped as a name. Corrected by hand against the USENIX page (Koch, Altpeter, Johns); moot, since that key already existed correctly.
  • Pre-existing hygiene issue, not introduced here and not fixed here: the bibliography contains the Bouhoula et al. USENIX 2024 paper twice, as bouhoula2024automated (line ~408) and bouhoula2024_automated (line ~1958). Different key strings, so no collision check fires; one carries a url and no doi, so a DOI scan does not fire either. This page cites bouhoula2024_automated. Worth a separate cleanup pass.

Review

Four reviewers, all told the context might not be exhaustive and all handed the page text, the report script, its unedited output, and this log. The three focused ones ran in parallel first.

Reviewer Finding Action
figures-vs-script (sonnet) Accepted, and it was the one real defect. The page read “F1 0.93 for detection-and-localisation over 11,118 websites”. Those are three unrelated detection[] tuples in [1Nayak, Asmit; Wani, Yash; Zhang, Shirley; Khandelwal, Rishabh; Fawaz, Kassem (2025): "Automatically Detecting Online Deceptive Patterns", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)]: the F1 0.93 is the detection evaluation, the F1 0.91 / 5,879 elements is the localisation evaluation, and the 11,118 websites is a deployment corpus (6,626 Tranco + 4,492 Shopify). Welding the metric to the deployment size invented a denominator. Fixed. Re-grepped paper.cols.txt to confirm the reviewer was right (“achieving an F1-score of 0.93 in this task” vs “we use this tool to analyze 11,118 websites, consisting of 6,626 … and 4,492 …”), then rewrote the row to separate the three and to say explicitly that 11,118 is not the F1 denominator.
figures-vs-script (sonnet) Script reproduces its committed output byte-for-byte (diff exit 0). Corpus size, tier counts, 131/48/83, the 32-of-48 residue, and all nine table figures with their denominators verified independently. Year bucketing 2/10/18/18 = 48 confirmed. Confirmed the page correctly keeps Bouhoula's other similarly-shaped figures (16,231 / 65.4% ignored rejection) off the page rather than cross-wiring them. Noted, no change.
citations-and-quotes (sonnet) All 13 keys resolve, each appears once, no misattribution; every figure re-grepped in the cited paper's own paper.cols.txt rather than trusted from the report output. Also confirmed the pre-existing bouhoula2024automated / bouhoula2024_automated duplicate is still live. Accepted; no page change needed. The duplicate stays out of scope (see Bibliography).
citations-and-quotes (sonnet) [2Sun, Chen; Vekaria, Yash; Nithyanand, Rishab (2026): "On the Suitability of LLM-Driven Agents for Dark Pattern Audits", Proceedings on Privacy Enhancing Technologies 2026(4):927-946. (DOI)] is internally inconsistent about its own phase numbering — “Phase 2 and Phase 3” in one passage, “Phase 1 and Phase 2” in another. Accepted and recorded. The page already says “in two phases” without naming them, which turns out to be the only defensible wording; this log's quote table previously named Phases 2 and 3 and has been corrected.
external-currency (sonnet) No factual errors. Independently verified Gray et al. (DOI, 4 authors, CHI 2024, the 65-types/three-levels/ten-taxonomies framing) and searched OpenAlex for a 2025–2026 successor ontology — none exists, so “current default” stands. DFA confirmed not tabled. Confirmed the vision-model hedge is still accurate and no newer method has displaced either approach. Accepted.
external-currency (sonnet) Upgraded a source. Pulled DSA Article 25(1), Article 25(2) and recital 67 directly from EUR-Lex rather than relying on the EPRS briefing, and confirms Art. 25(2) verbatim: “The prohibition in paragraph 1 shall not apply to practices covered by Directive 2005/29/EC or Regulation (EU) 2016/679.” Flagged that UCPD Annex I and GDPR silence were not independently re-checked against EUR-Lex and still rest on the EPRS briefing. Accepted; recorded as a known residual. The page's footnote attribution to EPRS is correct and unchanged, since EPRS is what backs the two unverified clauses.
generic (fable) All ten findings accepted; it was the most productive pass. (1) The opening box claimed banners are engineered “since 2025 explicitly against LLM-driven agents” — unsupported on both halves: the agent papers are 2026, and both measure agent susceptibility to ordinary dark patterns, not operators targeting agents. A framing sentence never re-derived from data, sitting where later qualifiers do not reach. Fixed — reworded to what the papers actually show.
generic (fable) (2) “Two 2026 papers make this concrete” was followed by one citation. Fixed — [2Sun, Chen; Vekaria, Yash; Nithyanand, Rishab (2026): "On the Suitability of LLM-Driven Agents for Dark Pattern Audits", Proceedings on Privacy Enhancing Technologies 2026(4):927-946. (DOI)] now cited in that section, with its 15.2%–48.6% spread.
generic (fable) (3) The method table dated manual audit “2016–2020” while citing a 2022 paper in the same row, and gave “2023” as a one-year “Period”. Fixed — column renamed to “Years it is used in the corpus”; manual audit now “2016–2022, and still used for validation after”; the regex row marked “(one paper at scale)”.
generic (fable) (4) Denominator drift. The page said “of the 5,859 papers with extracted full text, 48 discuss…”, but the probe read 5,855 — the 4 papers without readable .cols.txt were silently counted as negatives. On a page about denominators, this is the finding that stings most. Fixed — the page now says 5,855 and states what happens to the 4.
generic (fable) (5) “Deceptive patterns detected per site” labelled a share-of-sites figure as a rate. Fixed — both rows relabelled “at least one … detected”.
generic (fable) (6) “the page you are writing should not claim otherwise” — a leaked self-instruction; the reader is writing a paper. Fixed.
generic (fable) (7) “the commonest overclaim in this area” — an un-derived ranking, on a page whose provenance says it refuses to publish rankings. Fixed — “a common overclaim”.
generic (fable) (8) This log's Q5 result cell still carried the wrong draft value (“1”) next to two listed years, even though the bucketing note below it derived 2 correctly. Fixed. The bug survived in the log after being fixed on the page — worth noting as its own lesson.
generic (fable) (9) The quote-check table's closing line (“Nothing failed to check out”) read as if the table covered every figure on the page; five figures were absent from it. Fixed — added an explicit “what this table does not cover” paragraph naming them and how they were later verified.
generic (fable) (10) The reviewer table had a dangling see below cell pointing at nothing. Fixed — these rows.

The run itself

Item Value
Date 2026-08-21
Corpus 5,859 extracted papers, data/extract/run1, 7 venues, 2010–2026
Content page darkpatterns
Report script scripts/darkpatterns_report.mjs (+ scripts/darkpatterns_report-output.txt)
Bibliography additions scripts/bib_additions_darkpatterns.bib — 6 entries
Models Opus 5 for the page, the probe and this log; three Sonnet focused review passes and one Fable generic pass
Sub-agents used for research None. All queries and all external verification were run directly.
Write path node scripts/dw.mjs put (JSON-RPC), with –if-rev on every save
Accidental exposure None. Credentials stayed in .env; no authenticated third-party request was made. OpenAlex and europarl.europa.eu were fetched unauthenticated.
Mistakes caught in review (1) A draft bucketed the year distribution as “1 paper before 2020, 11 in 2020–2022”; the correct split is 2 and 10. Caught while writing the bucket arithmetic out in this log — which is the argument for writing it out. The wrong value then survived in this log's own Q5 cell after being fixed on the page, and had to be caught again by the generic reviewer: fixing a number in one place is not fixing it. (2) A search summary's “Q3 2026” DFA timeline was contradicted by the Parliament's own tracker. (3) The published page welded an F1 score to an unrelated deployment-corpus size — caught by the figures reviewer, the one substantive content defect. (4) Seven further wording and scoping defects from the generic pass, including a denominator drift of 5,859 vs 5,855 on a page about denominators. All in Review.
Process The page text was frozen before the three focused reviewers were spawned, so none of them reported a finding that had already been fixed. Their one accepted fix was applied and republished before the generic pass was spawned, so it reviewed the corrected text.
Reviewer value figures-vs-script: 1 substantive defect. citations-and-quotes: 0 defects, 1 useful corroboration (the phase-numbering inconsistency). external-currency: 0 defects, and it upgraded a source by pulling DSA Art. 25(2) from EUR-Lex rather than the EPRS briefing. generic (fable): 10 findings, all accepted — again the highest-yield pass, and again on things no checklist was pointed at.

What could not be established

  • The actual size of the field. With CHI, CSCW and SOUPS out of corpus, there is no way from this dataset to say what fraction of dark-pattern measurement work the 48 papers represent. It is certainly a minority.
  • Whether any 2025–2026 method has superseded DOM heuristics. The vision-model papers report better coverage; nobody has published a head-to-head against a heuristic pipeline on the same sample. The page says “current for the categories heuristics cannot reach” rather than “superseded”, and that hedge is doing real work.
  • Cross-paper category prevalence. Deliberately not attempted (see Scope decision).
  • Per-category precision/recall for the vision pipelines. [3Shi, Zewei; Sun, Ruoxi; Chen, Jieshan; Sun, Jiamou; Xue, Minhui; Gao, Yansong; Liu, Feng; Yuan, Xingliang (2025): "50 Shades of Deceptive Patterns: A Unified Taxonomy, Multimodal Detection, and Security Implications", in: Proceedings of the ACM Web Conference. (DOI)] and [1Nayak, Asmit; Wani, Yash; Zhang, Shirley; Khandelwal, Rishabh; Fawaz, Kassem (2025): "Automatically Detecting Online Deceptive Patterns", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] report aggregates; the page asks readers to report per-category numbers that the papers it cites mostly do not report. That is a recommendation, not a description, and is worded as one.
  • TODO for a full-effort revisit: if CHI/SOUPS enter the corpus, the taxonomy section should be rebuilt from queries rather than hand-checked external sources, and the effect-side evidence (currently one randomised banner study) should get its own section.

References

[1]
Nayak, Asmit; Wani, Yash; Zhang, Shirley; Khandelwal, Rishabh; Fawaz, Kassem (2025): "Automatically Detecting Online Deceptive Patterns", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)
[2]
Sun, Chen; Vekaria, Yash; Nithyanand, Rishab (2026): "On the Suitability of LLM-Driven Agents for Dark Pattern Audits", Proceedings on Privacy Enhancing Technologies 2026(4):927-946. (DOI)
[3]
Shi, Zewei; Sun, Ruoxi; Chen, Jieshan; Sun, Jiamou; Xue, Minhui; Gao, Yansong; Liu, Feng; Yuan, Xingliang (2025): "50 Shades of Deceptive Patterns: A Unified Taxonomy, Multimodal Detection, and Security Implications", in: Proceedings of the ACM Web Conference. (DOI)
provenance/privacy/darkpatterns.txt · Last modified: by karel.kubicek.claude

Except where otherwise noted, content on this wiki is licensed under the following license: CC BY-NC-SA 4.0
CC BY-NC-SA 4.0 Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki