{"_self":{"principle":"Self-explaining payload — no external context required. This _self block describes what you are reading and where to look next.","widget":"article_topology","feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","contains":"claims, sources, anecdotes, question_graph slice","slug":"dsa-statement-of-reasons","urls":{"read":"https://miscsubjects.com/api/articles/dsa-statement-of-reasons/topology"},"how_to_use":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","write":null,"imessage":null,"router_tag":null,"proof_chain":[{"step":1,"claim":"Articles are voxel graphs of tiered claims, not prose blobs.","verify":"https://miscsubjects.com/api/articles/constitution"},{"step":2,"claim":"Claims link to hash-chained sources via source_ids.","verify":"https://miscsubjects.com/api/articles/dsa-statement-of-reasons/sources"},{"step":3,"claim":"Ask reads topology; ingest/claim append to ledger.","verify":"https://miscsubjects.com/api/protocol"},{"step":4,"claim":"Models queue growth: populate → collaborate → repair → reflex.","verify":"https://miscsubjects.com/api/protocol/grow"},{"step":5,"claim":"Graph proves its own shape (reflex) and $/claim (yield).","verify":"https://miscsubjects.com/graph.html?layer=reflex"},{"step":6,"claim":"Full feature index + _explain on every API response.","verify":"https://miscsubjects.com/api/articles/system-map"}],"related_features":[{"id":"ask","name":"Ask protocol","what":"Answer only from topology; creates question_node with gaps and ingest_hint.","urls":{"read":"https://miscsubjects.com/api/articles/dsa-statement-of-reasons/prompts","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"graph_topology","name":"Cross-article graph","what":"Merged claims/sources across condition+stack slugs for one question.","urls":{"read":"https://miscsubjects.com/api/articles/dsa-statement-of-reasons/graph-topology?question=..."}},{"id":"question_graph","name":"Question graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output).","urls":{"read":"https://miscsubjects.com/api/articles/dsa-statement-of-reasons/question-graph","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"voxels","name":"Voxel graph","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance.","urls":{"read":"https://miscsubjects.com/api/articles/dsa-statement-of-reasons/voxels","write":"https://miscsubjects.com/api/protocol/claim"}}],"system_map":"https://miscsubjects.com/api/articles/system-map","system_map_markdown":"https://miscsubjects.com/api/articles/system-map?format=markdown","not_medical_advice":true},"_explain":{"feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","why":"Every feature is auditable collective intelligence","how":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","model":null,"verifies":null,"urls":{"read":"https://miscsubjects.com/api/articles/dsa-statement-of-reasons/topology"},"imessage":null,"router":null,"related":[{"id":"ask","what":"Answer only from topology; creates question_node with gaps and ingest_hint."},{"id":"graph_topology","what":"Merged claims/sources across condition+stack slugs for one question."},{"id":"question_graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output)."},{"id":"voxels","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance."}],"not_medical_advice":true},"slug":"dsa-statement-of-reasons","title":"DSA Article 17 requires a clear and specific statement of reasons for every moderation decision. Billions filed; most are templates. Here is a decision format that produces the specific statement.","register":"technical","tags":["governance","dsa","trust-and-safety","adjudication","use-case"],"updated_at":"2026-07-30T14:15:56.222Z","body_excerpt":"## The obligation: a statement of reasons, per decision\n\nArticle 17 of the Digital Services Act — Regulation (EU) 2022/2065 — requires that when a hosting service restricts content it must give the affected user a **clear and specific statement of reasons**. Not a notification. A statement of reasons, and Article 17(3) enumerates what it must contain: the facts and circumstances relied on, whether the decision was taken by automated means, the legal ground or the specific contractual clause relied on and why the content is considered incompatible with it, and the redress available. The trigger set is broad — removal or demotion of content, suspension or termination of the service or the account, suspension of monetisation, restriction of visibility.\n\nArticle 24(5) then makes the obligation public: every online platform must file each statement of reasons, without undue delay, to the Commission's **DSA Transparency Database**. The database is the largest live record of content-moderation decisions ever assembled — billions of statements filed, visible to anyone, queryable by researcher and regulator alike.\n\nAnd that visibility is the problem. What the database made public is that the industry's \"statement of reasons\" is, overwhelmingly, a template: a category code, a boilerplate sentence, the same string filed millions of times against different content. Researchers who studied the corpus said so; users who receive the notices say so; the dispute bodies now certifying under Article 21 will say so with consequences attached. A statement that would read identically whether the decision was right or wrong is not a statement of reasons. It is a form letter with a legal citation on it.\n\nThe gap is not bad faith. At the volume a platform decides — millions of actions a day, most of them automated — a specific statement of reasons per decision has looked economically and technically impossible. The moderation system produces a label; the label maps to a template; the template is what Article 17 receives.\n\nThis page describes a decision format that produces the specific statement as a by-product of making the decision, shows it running with live receipts, and states plainly what it has not yet demonstrated.\n\n## The format: reasons compelled at decision time, not reconstructed after\n\nOne governed decision works like this. The **policy** — the terms-of-service clause set, or the legal provision at issue — is pinned to a content hash, so the version applied is beyond dispute later. The **record** under review is hashed the same way. Independent model seats — in the running exhibits, three seats across two model families — each receive the identical policy and record under a governing constitution that compels a specific output shape: the verdict, the clauses relied on, a clause-by-clause derivation (for each clause: did its condition trigger, does that support or defeat the action, on which evidence), the records that were **absent**, the strongest rejected alternative, and the finding that would **flip** the conclusion.\n\nThose compelled fields are not a style preference; they are a measured effect of the governing text. In a 72-call controlled study — three prompt arms, three models, eight runs each — declared-absent records, flip conditions, and rejected alternatives appeared in **zero of 48 calls** without the constitution, and only under it:\n\n[[embed:source:s6]]\n\nRead the compelled fields against Article 17(3). Facts and circumstances relied on: the derivation names them, per clause. The specific contractual clause and why the content is incompatible with it: the clause is cited by identifier against a hashed policy version, with its trigger state. Automated means: the seat, its model identity, and its complete output are the record. What would change the outcome: the flip condition, stated in the decision itself. The statement of reasons stops being a document someone writes about the decision and becomes a projection of the decision","ranking":"safety-first (interaction_risk/limitations), then quote-gated effective_weight","claims":[{"id":"c1","text":"DSA Article 17 requires a clear and specific statement of reasons for every restriction decision, Article 24(5) requires online platforms to file each one to the Commission's Transparency Database, and Articles 20 and 21 give the user a complaint path and an out-of-court dispute body that will re-examine the decision.","tier":"system","section":"The obligation","interaction_risk":false,"status":"active","source_ids":["s8"],"why_material":"The live legal requirement this page addresses, with the redress machinery that tests whether a statement of reasons was ever real.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c2","text":"Under a governing constitution, each model seat is compelled to output the specific facts relied on, the exact clause of the rule set that fired, the records that were absent, and the finding that would flip the conclusion — measured as appearing only under the constitution, in zero of 48 ungoverned calls.","tier":"system","section":"The format","interaction_risk":false,"status":"active","source_ids":["s6"],"why_material":"These compelled fields are, structurally, the content Article 17 demands: facts and circumstances, the ground relied on, and its limits.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c3","text":"A sealed decision binds the policy version (at a content hash), the record, every seat's clause-by-clause derivation, and the verdict into one permanent receipt.","tier":"system","section":"The format","interaction_risk":false,"status":"active","source_ids":["s3"],"why_material":"A statement of reasons generated from this record is specific by construction — it names which clause of which policy version fired on which facts.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c4","text":"A deterministic gate compares the seats' derivations clause by clause and refuses to authorise when they diverge, even on a unanimous verdict.","tier":"system","section":"The format","interaction_risk":false,"status":"active","source_ids":["s1"],"why_material":"The mechanism that separates a reasoned decision from a template code.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c5","text":"A unanimous verdict on identical clause citations was refused because two seats derived it through different trigger states — agreement that hides disagreement cannot seal.","tier":"system","section":"The format","interaction_risk":false,"status":"active","source_ids":["s2"],"why_material":"The exact failure a boilerplate statement of reasons papers over, caught mechanically and preserved.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c6","text":"When the machinery abstains or escalates, it states the ground — in one receipted run, a governed critique found the specification itself defective — rather than emitting a category code.","tier":"system","section":"The format","interaction_risk":false,"status":"active","source_ids":["s7"],"why_material":"Article 17 requires reasons for the decision actually taken, including the hard cases where the policy, not the content, is the problem.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c7","text":"Every sealed decision is a keyless public receipt that a complaint handler under Article 20 or a certified dispute body under Article 21 can open and replay without the platform's cooperation.","tier":"system","section":"Redress","interaction_risk":false,"status":"active","source_ids":["s4"],"why_material":"The redress articles are where template reasons fail; a receipt that reconstructs the decision is what survives them.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c8","text":"In a 30-case oracle-labelled calibration study through the production gate, three seats across two model families scored 30/30 (glm-5.2) and 29/30 (kimi) on verdicts, with zero wrongful authorisations in 30 sealed cases — on synthetic determinate fixtures.","tier":"system","section":"Measured error","interaction_risk":false,"status":"active","source_ids":["s5"],"why_material":"A moderation pipeline that files reasons should also file its measured error rate; this is the only one on this record.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c9","text":"A governed call costs $0.0006 to $0.0024 and a three-model sealed decision about half a cent, so one million governed decisions a day is roughly $5,000 a day in model cost.","tier":"system","section":"Cost at platform scale","interaction_risk":false,"status":"active","source_ids":["s6"],"why_material":"At platform volume the economics are the first objection; they are stated plainly instead of waved away.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c10","text":"No conformance analysis maps this output field-by-field to Article 17(3)'s enumerated content; the panel design has not been load-tested at platform scale; the calibration evidence covers 30 synthetic determinate fixtures, not live moderation traffic.","tier":"system","section":"What is not satisfied","interaction_risk":false,"status":"active","source_ids":[],"why_material":"A trust-and-safety counsel must not be sold more than the evidence supports, and these are the exact gaps.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false}],"sources":[{"id":"s1","type":"live_surface","url":"https://miscsubjects.com/a/auditable-reasoning-hardened","title":"The derivation-agreement gate — reasoning compared clause by clause","summary":"Independent models under a pinned rule set; the gate refuses to authorise when their clause-by-clause derivations diverge, even on a unanimous verdict. Includes the false-convergence defect and its fix.","claim_ids":["c4"],"hash":"2f97d92d77eeb47e6099ec8ddc7ddef49ea42d4f350e55b5de1ccb14e11c410b"},{"id":"s2","type":"live_surface","url":"https://miscsubjects.com/receipt/inv_o6s0exhodd","title":"A unanimous verdict, refused on divergent derivation","summary":"Three seats returned the same verdict citing the same clauses; two derived it through different trigger states, so the gate escalated instead of concluding.","claim_ids":["c5"],"hash":"2dba202ae143933f5b1fec76391e4046d4439582b300f973cbe1dd82ca72845f"},{"id":"s3","type":"live_surface","url":"https://miscsubjects.com/receipt/inv_wl0rnh136b","title":"A sealed panel decision — the complete derivation record","summary":"The genuine authorisation on record: every seat fired the same clauses in the same trigger states on the same evidence, sealed against the rule-set and record hashes.","claim_ids":["c3"],"hash":"7b8f3c87c14ff9de0b6d16493c86c18eca2f87d6ecc71e473b7edb47bf2599a5"},{"id":"s4","type":"live_surface","url":"https://miscsubjects.com/receipt/inv_7rqy8ywuls","title":"A sealed panel, opened as a keyless public receipt","summary":"A SEAL_PANEL invocation as anyone outside the operator sees it: capability, actor, contract, hashes, timestamp — the form a complaint handler or dispute body would open.","claim_ids":["c7"],"hash":"b8aad07346664bbe1672709099ce76f4f140cc49ba3362b9e3a0724c1a44f89b"},{"id":"s5","type":"live_surface","url":"https://miscsubjects.com/a/adjudication-calibration-study","title":"The calibration study — 30 oracle-labelled cases through the production gate","summary":"Three seats across two model families on 30 synthetic determinate fixtures: glm-5.2 30/30, kimi 29/30 on verdicts, and zero wrongful authorisations in 30 sealed cases.","claim_ids":["c8"],"hash":"eb608217eebe2666a9b7e7849175c869fa61aa03670abd777cd5abf8c4b027f0"},{"id":"s6","type":"live_surface","url":"https://miscsubjects.com/a/auditable-reasoning-audited","title":"The 72-call variance study: what the governing text changes, and what a call costs","summary":"Three prompt arms x three models x eight runs. Auditable structure appears only under the constitution; a governed call costs $0.0006-$0.0024, a three-model sealed decision about half a cent.","claim_ids":["c2","c9"],"hash":"bdc508ea309a511c38ec627fdfbc9d0439c843c4b899d0bffeae972e4160456c"},{"id":"s7","type":"live_surface","url":"https://miscsubjects.com/receipt/inv_qh3ge2x74b","title":"Four models on Article 12 verbatim — an abstention, escalated with its reasons","summary":"A governed seat asked to critique the case input found the specification itself defective — the machinery names the ground of a refusal instead of emitting a code.","claim_ids":["c6"],"hash":"825fcaa46009a311b26a98e932e2d0acf8d3f847ff41927c1143bcf6f2628715"},{"id":"s8","type":"live_surface","url":"https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32022R2065","title":"Regulation (EU) 2022/2065 (Digital Services Act), Articles 17, 20, 21, 24(5)","summary":"The obligation itself: Article 17 statement of reasons, Article 20 internal complaint-handling, Article 21 out-of-court dispute settlement, Article 24(5) filing to the Commission's Transparency Database.","claim_ids":["c1"],"hash":"c359cae7bc60a366de3b77999cf192051d4d104cf4a40560f40142fa3091ba19"},{"id":"em_es_dfd9598d993f44feb577","type":"email","url":"https://miscsubjects.com/letter-tremau-2026-07-30","title":"Letter to Louis-Victor de Franssu — 2026-07-30","claim_ids":[],"hash":"854622bb1e191bd9e8e8fe21e79866fa290ec056978ed69787f18bc456dbdfab"}],"anecdotal_sources":[],"scientific_sources":[],"user_reports":[],"related_articles":[],"question_graph":{"slug":"dsa-statement-of-reasons","questions":[],"evidence":[],"edges":[],"counts":{"questions":0,"evidence":0,"edges":0}},"honesty":{"active_claims":10,"retracted_claims":0,"cut_claims":0,"challenges":0,"scrub_events":0,"note":"Retracted/cut claims stay on ledger but are excluded from ask unless ?include_inactive=1"},"counts":{"claims":10,"claims_total":10,"sources":9,"anecdotal":0,"scientific":0,"user_reports":0,"questions":0,"evidence_ingests":0}}