← All pages

Methodology

What this page is: How this wiki’s two datasets were collected, extracted, tagged, and deduplicated, and a historical record of the risk-scoring system that was used during development and has since been retired as an active analysis tool.


1. Data Collection

Both datasets this wiki uses — PGAv2 and GenGA — are published by the same project, confirmed by checking the source directly: the Platform Governance Archive (PGA), maintained by the Lab Platform Governance, Media and Technology (PGMT) at ZeMKI, University of Bremen, led by Christian Katzenbach. PGA publishes three sibling datasets: PGA v1 (2005–2021, 4 platforms, historical-archive methodology, not used by this wiki), PGA v2 (2022–present, 25 major social media platforms — this wiki’s “PGAv2”), and GenGA (“Generative AI Governance Archive,” 2025–present, 11 Generative AI services — this wiki’s “GenGA”). All three are collected on the Open Terms Archive engine. GenGA is not an unrelated dataset that merely happens to share tooling with PGA v2 — it is PGA’s own dataset, published on the same site, by the same lab.

PGAv2 covers 25 major social-media, messaging, and content-sharing platforms per PGA’s own count; 1,736 high-risk clauses are extracted into structured JSONL records (sources/jsonl/) — one JSONL file per platform + document type (96 files total; 43 have been ingested into wiki pages as of this writing, with the remaining 53 a pre-existing backlog outside this restructuring’s scope, confirmed empty rather than a real gap). Each JSONL record corresponds to one matched keyword in one dated scrape, and raw, full-text Markdown captures of the same underlying scrapes are independently available in sources/raw/{Platform}/{Document Type}/, timestamped per capture. The 24 platform labels actually present in this wiki’s sources/jsonl/ data (verified directly against the files, not from PGA’s own count): BeReal, Facebook, Instagram, LINE, LinkedIn, Moltbook, Parler, Pinterest, Quora, Reddit, Snapchat, Spotify, Telegram, Threads, TikTok, TruthSocial, Tumblr, Twitch, Twitter, Upscrolled, WeChat, WhatsApp, X, YouTube — Twitter and X are the same platform pre/post the 2023 rebrand, so this is 23 distinct real-world platforms, close to but not necessarily identical to PGA v2’s full 25 (PGA’s site does not itself name all 25, so an exact reconciliation isn’t possible from public information alone).

Official citation for the PGA v2 dataset specifically:

Katzenbach, C., Dergacheva, D., Fischer, A., Kopps, A., Kolesnikov, S., Redeker, D., Viejo Otero, P. (2023). Platform Governance Archive (PGA) v2 [data set]. DOI: 10.17605/OSF.IO/XSBPT. URL: platformgovernancearchive.org/data/dataset-pga-v2-ongoing-collection

The raw, versioned documents are also public at OpenTermsArchive/pga-versions and OpenTermsArchive/pga-snapshots, both under the Open Data Commons Attribution License (attribution required — this citation is that attribution). What is still not known, and was not resolved by re-checking this source: whether the keyword/explicit/category/risk_score tagging already present in this wiki’s sources/jsonl/*.jsonl files was computed by PGA itself or by a separate downstream process applied before these files reached this project. No script implementing that tagging exists anywhere in this repository’s history or on the machine it was developed on.

In its place, scripts/legacy/reconstructed_tagging_regex.py is a risk-term regex filter engineered in wearetosed’s transparent, auditable, regex-matching spirit — every flagged term traces to a plain pattern, not a black-box model — and validated directly against this data. Confirmed: keyword → category is a 100%-consistent fixed lookup; explicit/non_explicit are computed once per document-version and copied onto every keyword record in that group (99.8% internally consistent), matching this wiki’s own §5.1 ingest algorithm; 20 of 22 keywords are simple case-insensitive phrase matches, confirmed at 97.8% against the full dataset. Two keywords (improve services, train AI/models) are not literal matches and are flagged as such rather than guessed at. This filter does not produce a risk score — see §4.

GenGA (Generative AI Governance Archive) covers 11 Generative AI services per PGA’s own count, 2025–present, sourced from raw policy snapshots captured by the Open Terms Archive engine (sources/GenGA/). PGA’s own dataset page confirms all 11: ChatGPT, Claude.ai, DeepSeek, Google Generative AI Services, Grok, Le Chat, Llama API, Meta AI, Microsoft Copilot, Perplexity, Qwen Chat (PGA lists this provider as “Grok”; this wiki labels the same provider “xAI,” Grok’s developer). This wiki’s own sources/GenGA/ directory independently contains exactly these same 11 providers. Unlike PGAv2, GenGA has no pre-tagged JSONL — every GenGA page’s keyword tags and analysis are produced by direct LLM reading of the raw text, disclosed as such on every GenGA platform page. PGA does not publish a separate DOI-bearing citation for GenGA specifically at the time of writing; cite the general PGA project citation (above) and note the GenGA dataset by name.

2. Clause Extraction and Tagging

Each PGAv2 JSONL record carries the following fields:

3. Deduplication Strategy

Many JSONL date groups carry a keyword’s snippet unchanged from the immediately preceding date. Rather than re-quote identical text on every date (which would bloat pages with near-100%-redundant content), this wiki’s convention (established 2026-06-17, documented in CLAUDE.md §9.1) is:

This deduplication happens at the wiki-ingest stage. Separately, verification_report.md documents a related but distinct upstream phenomenon: 14 PGAv2 pages have fewer dates in their JSONL than exist in the full raw capture history, plausibly because some raw captures were themselves deduplicated against an adjacent date before ever reaching the JSONL — one stage earlier in the pipeline than this wiki’s own deduplication convention.

4. Risk Scoring (Historical Note)

During an earlier development phase, this wiki briefly operated a risk-scoring system adapted from wearetosed’s formula (Score = (categories detected × 8) + (total unique matches × 2), capped at 100), extended with PGAv2- and GenGA-specific weights. It was retired as an active analysis tool on 2026-06-21 — no platform page has displayed a numeric risk score since — and its dataset-specific documentation pages have since been removed from the wiki entirely, rather than kept as a historical record, to avoid any residual suggestion that this project maintains a formula of its own. It does not.

The only risk-severity numbers shown anywhere in this project are wearetosed’s and ToS;DR’s own real, independently-computed scores, shown on the companion website’s critic panel where real data exists for a page (see CLAUDE.md §9.2 for the rule governing that panel — every score must trace to a named, external methodology, never an ad hoc project formula). The wiki’s own value is in the primary source clauses and the concept-level analysis derived from them, principally ai_act_substance_matrix.md, tier_bifurcation.md, and scraper_enforcement_gap.md. The one related tool this project does keep is scripts/legacy/reconstructed_tagging_regex.py — a plain regex filter, not a scorer, that identifies which PGAv2 risk-term keyword (if any) is present in a passage, engineered in wearetosed’s auditable spirit and validated against real data (see §1 above).

5. Sources Cited Throughout This Wiki

Full summaries of all 6 papers, each tied to where they’re cited across this wiki, are at related_work.md.


See also: verification_report.md · related_work.md