Data and API
Data and API
The complete record in machine-readable form, regenerated on every update. Free to use with attribution to the Secure Autonomous Register and the case ID.
| File | What it holds | Format |
|---|---|---|
| cases.csv | One row per case: world, sector, human in the loop, outcome, missing and held controls, consequence, sources, review date, link. Opens in Excel or Sheets. | CSV |
| objects.json | Every evidence object in full: each field typed, sourced, and given a confidence; controls; named parties and right-of-reply records; corrections. | JSON |
| schema.json | The JSON Schema (v0.4) every object validates against. | JSON Schema |
| publication_profile.json | The checks a case must pass beyond the schema, which ones block publication, and where each published case stands on them. | JSON |
| controls.json, rules.json, signals.json | The controls with the cases that record each one; regulations and standards with the controls they map to and how strongly; the signals stream. | JSON |
| /api/mcp | A read-only server AI assistants and agents can query directly (Model Context Protocol). No key needed. How to connect. | MCP |
| signals/feed.xml | The nightly signals stream, tagged with world, sector, and control. | RSS |
/register/REG-NNNN/case.json | A single case, at a stable address. | JSON |
| llms.txt | A summary of the Register and its vocabulary for language models. | Text |
Need filtered exports, alerts when a new case matches your profile, or a feed into your risk register? These are the professional tier; get in touch.
Schema validity is not evidence validity
The JSON Schema says what shape a case takes. It cannot say whether a claim is true or whether a person has checked it. Those guarantees are enforced by the Register's verifier as a publication profile, and each case page shows where it stands:
| Check | Blocks | Rule |
|---|---|---|
| schema | every build | The object validates against the v0.4 JSON Schema. |
| typed-and-sourced | every build | Every claim has a label (fact, assertion, interpretation, inference), at least one source, and a confidence. |
| sources-resolve | every build | Every source a claim cites exists in the case's source list. |
| facts-need-primary | every build | A claim labeled fact cites at least one primary record (regulator, court, standards body, company, reproduction, public record). |
| nine-layers | every build | All nine layers are present; a layer the sources are silent on says 'not evidenced in source' rather than inventing content. |
| one-state-per-control | every build | A control has exactly one state per case: absent, failed, or worked. |
| controls-canonical | every build | Every control is a canonical control ID or a flagged candidate. |
| corrections-log | every build | The case carries a corrections log; every change to a published claim is logged with old value, new value, date, and reason. |
| sources-linked | public build | Every source links to its record, or states why no public link exists. |
| human-review | public build | A person has reviewed the case against its sources (reviewed_by and date). |
| signed-inference | public build | An interpretation that names a company is signed by a named person. |
| reply-offered | public build | Every company or person named has been offered a reply. New cases (created on or after 2026-10-12) are held from the site until each named party has replied or 14 days have passed since the offer; launch cases show it as open. |