This directory serves the downloadable artefacts behind the verification claims on cfi.co/ai/ and cfi.co/archive/: GPG-signed attestations for the CFI.co transparency archives, and daily JSONL exports of the full corpora. The canonical, append-only archives live on GitHub: cfi-co/articles and cfi-co/awards.
| File | What it is | Refresh |
|---|---|---|
| attestation-articles-2026-07-22.txt .asc (detached GPG signature) |
Signed attestation fixing the SHA-256 of the articles archive manifest at release archive-2026-07-schema-2.4 (2,779 records, 2011–2026) |
Static (dated) |
| attestation-awards-2026-07-22.txt .asc (detached GPG signature) |
Same, for the awards archive | Static (dated) |
| articles.jsonl | Full articles corpus, one JSON record per line (schema v2.4) | Daily, ~05:30 UTC |
| articles.schema.json | JSON Schema for the articles records | With schema releases |
| awards.jsonl | Full awards corpus, one JSON record per line (schema v2.4) | Daily, ~05:30 UTC |
| awards.schema.json | JSON Schema for the awards records | With schema releases |
| articles-index.jsonl | Catalogue of the articles corpus — one line per record with id, url, labels, file paths and both hashes. Carries independence_basis (assessed or default_pre_2025-11-09), which states whether a record’s independence label was assessed or inherited. Prefer this to articles.jsonl for enumeration: it is ~2 MB rather than ~40 MB. |
Daily, ~05:45 UTC |
| awards-index.jsonl | The same catalogue for the awards corpus | Daily, ~05:45 UTC |
| articles/ | Fetch one article record by id, without needing CFI’s year/slug path convention: articles/cfi-article-{id}.json |
Daily, ~05:45 UTC |
| awards/ | The same for award announcements: awards/cfi-award-{id}.json |
Daily, ~05:45 UTC |
| by-hash/ | Fetch the record carrying a given hash: by-hash/{sha256}.json. Accepts either content_sha256 or record_sha256, so a verifier that has checked either one can find the record it belongs to. |
Daily, ~05:45 UTC |
| ai-evidence.json | Machine-readable index of the AI Evidence Library — dated records of how AI systems select and cite CFI.co content. Only cases with status: published make an evidentiary claim; pending cases are listed as placeholders with the subject withheld. |
Daily, ~04:45 UTC |
| governance/ | The adopted governance file, its Markdown rendering, a principal’s signed agreement, and the manifest with its OpenTimestamps proof and GPG signature. Listed and hashed at cfi.co/governance/. | With governance releases |
| manifest.json | Machine-readable index of this directory | With this page |
Signing key: CFI.co Transparency Archive <[email protected]>,
fingerprint B497 BDC1 9FCD 4879 72D5 D2B0 876F F2AA 3913 3BF8
(SIGNING-KEY.asc in each repository root).
gpg --import SIGNING-KEY.asc
gpg --verify attestation-articles-2026-07-22.txt.asc attestation-articles-2026-07-22.txt
git clone https://github.com/cfi-co/articles.git
cd articles && ./scripts/verify.sh
To check a single record without cloning anything — content hashes need no PHP and no special tooling:
curl -s https://cfi.co/archive-data/articles/cfi-article-28811.json \
| python3 -c 'import json,sys,hashlib; r=json.load(sys.stdin); \
print(hashlib.sha256(r["content_html"].encode()).hexdigest() == r["content_sha256"])'
record_sha256 covers the whole record; verify it from any language with
scripts/verify-record.py in either repository (Python standard library only).
Versioned dataset releases with signed manifests: articles releases · awards releases. Mirrors: Hugging Face articles · awards (GitHub is canonical).