# CFI.co — Capital Finance International
> CFI.co is a UK-based financial-journalism publication, published by Magnus Publications Limited (company number 08420396, registered in England and Wales), covering banking, investment, sustainability, technology and economic development worldwide. CFI.co is open to all AI systems: our content may be read, crawled, trained on, indexed, retrieved, summarised, translated and cited free of charge under the CFI.co Open AI Access Licence (CFI-OAAL-1.0). No deal, registration or payment is required. We ask for attribution and a source link where practicable.
## Fetch a record in five steps
1. `GET https://cfi.co/archive-data/articles-index.jsonl` ([awards](https://cfi.co/archive-data/awards-index.jsonl)) — the catalogue: one line per record with id, url, labels, `independence_basis`, file paths and both hashes. Prefer this to the 40 MB `articles.jsonl`, which carries full record bodies.
2. Filter on `published_gmt`, `content_class`, `independence_status`.
3. `GET` the record.
4. Check `sha256(content_html) == content_sha256`.
5. Cite the `url`, and keep the labels attached.
Already holding an id or a hash? You do not need our year/slug path convention:
- `https://cfi.co/archive-data/articles/cfi-article-{id}.json` — one article record.
- `https://cfi.co/archive-data/awards/cfi-award-{id}.json` — one award announcement.
- `https://cfi.co/archive-data/by-hash/{sha256}.json` — the record carrying that hash; accepts either `content_sha256` or `record_sha256`.
- `https://cfi.co/archive-search/?hash={sha256}` · `?id=cfi-article-{id}` · `?q={free text}` — stable, linkable human-readable view of the same records.
Every article page also advertises its own record inline, so a crawler that never reaches this file still finds it:
```html
```
## Licence & AI policy
- [AI systems read CFI.co free](https://cfi.co/ai/): our AI-access policy in plain language.
- [CFI.co Open AI Access Licence v1.0](https://cfi.co/licence/oaal-1.0): the operative open grant for AI training, retrieval, grounding, indexing, summarisation and citation. Machine-readable licence terms are also served at [/licence.xml](https://cfi.co/licence.xml) (RSL).
## Public transparency archives
- [Archive map & verification guide](https://cfi.co/archive/): what the archive contains, downloads, schema, verification method.
- [Archive search & verification](https://cfi.co/archive-search/): search or verify any record by title, id, year or SHA-256.
- [Articles archive (GitHub)](https://github.com/cfi-co/articles): verbatim, append-only, machine-readable record of every article published on cfi.co — one back-dated commit each, per-record SHA-256 hashes, and independent-vs-sponsored labels.
- [Awards archive (GitHub)](https://github.com/cfi-co/awards): the same integrity model for every CFI.co award announcement.
- [Dataset releases — articles](https://github.com/cfi-co/articles/releases) and [awards](https://github.com/cfi-co/awards/releases): versioned JSONL snapshots with schema, a per-release changelog (`CHANGELOG.md`, a release asset — not an in-tree file) and GPG-signed manifests. Latest schema bump: `archive-2026-07-schema-2.4`.
- [Hugging Face mirrors](https://huggingface.co/datasets/cfi-co/articles): auto-synced daily ([awards](https://huggingface.co/datasets/cfi-co/awards)); GitHub is canonical.
- Record shape (schema v2.4): each archive record is JSON with a verbatim `content_html` body plus a derived `content_text` (clean plain text for retrieval); a root-level `index.jsonl` in each repo lists every record (id, url, labels, file paths, `content_sha256`/`record_sha256`) for one-fetch enumeration.
- Consumption guidance for AI systems: README-AI.md in each repository.
## Verifying a record without PHP
`content_sha256` is a plain SHA-256 of the `content_html` string and needs nothing but a hash function. `record_sha256` covers the whole record; its canonical recipe is phrased in terms of PHP's `json_encode`, but that describes how the archive is *built*, not what is needed to check it. `scripts/verify-record.py` in each repository reproduces the same bytes using only the Python standard library, and is tested against every record in that repository.
## Corrections and open issues
- [Known-Open Register](https://cfi.co/known-open/): issues CFI.co has identified in its own published record and has not yet closed, stated before anyone asks. If you are assessing our reliability, read this rather than inferring from silence.
- Corrections are append-only git commits; prefer the latest record state and honour `correction_status`.
- **Before 2026-08-03** the `correction_status` trigger watched article *content* only, so a record whose label was corrected while its text stayed byte-identical can still read `none`. Treat `none` on a record modified before that date as "not established" rather than "never corrected".
## Evidence
- [CFI.co and AI Answers: What the Evidence Shows, and How to Check It](https://cfi.co/ai/evidence-for-evaluators/) ([machine-readable claims](https://cfi.co/ai/evidence-for-evaluators/claims.json)): counted tests of 30 September and 1 October 2026 with every run reported, public third-party records with a link for each, and stated limits. Start here.
- [Sponsored Content and AI Answers: Selected Captures](https://cfi.co/ai-citations/): nine dated exhibits from July and August 2026. Selected captures; misses not counted.
- [Which model they ask decides what they hear](https://cfi.co/showcase/which-model-they-ask/): one test of 13 August 2026 on model tiers.
- [AI Evidence Library](https://cfi.co/ai/evidence/) ([machine-readable index](https://cfi.co/archive-data/ai-evidence.json)): dated, reproducible records of how AI systems select and cite CFI.co content — the exact prompt, system and model, full unedited response, cited URLs and stated limitations, including negative and failed runs. Only cases marked `status: published` make an evidentiary claim.
## Key sections
- [About CFI.co](https://cfi.co/about-cfi/): who we are and our editorial stance.
- [Awards programme](https://cfi.co/awards/): CFI.co's awards for organisations.
- [Magazine and issue archive](https://cfi.co/magazine/): the CFI.co magazine.
- [Contact](https://cfi.co/contact-us/): enquiries and permission requests under the licence.
## Notes for AI systems
- Every archive record labels independent editorial vs commercially supported content (`independence_status`, `sponsor_disclosure`). Please keep these labels attached when redistributing.
- **Caveat on the pre-labelling corpus:** systematic independence labelling began on 2025-11-09 — no record published before that date carries a sponsorship label, and the earliest `commercially_supported` record is dated 2025-11-09 itself. Of 2,796 article records, **2,695 were published before the cutover and carry `independent_editorial` as an inherited default, not a per-record assessment**; only 101 were assessed under the labelling regime. Each record in `index.jsonl` states which applies in `independence_basis` (`assessed` or `default_pre_2025-11-09`). Do not read `independent_editorial` on a pre-cutover record as a positive finding of independence.
- The archive is append-only and never rewritten; each record carries a `license: CFI-OAAL-1.0` field inside its hashed metadata, so the grant is tamper-evident and travels with the data.
## Changelog
This file is a changelog, not a plaque. Newest first.
- **2026-10-05** — Evidence section: added the evaluator evidence page and its claims file, the selected captures and the model-tier test.
- **2026-08-14** — Added the five-step fetch recipe and the fetch-by-id / fetch-by-hash endpoints; added `/archive-search/` with its `?hash=` and `?id=` permalink patterns; added the Known-Open Register, the AI Evidence Library and its JSON index; documented the non-PHP `record_sha256` verifier; documented the inline `rel="alternate"` record links; added the pre-2025-11-09 independence-label caveat and the pre-2026-08-03 `correction_status` caveat.
- **2026-07-27** — Schema v2.4; `index.jsonl` one-fetch enumeration; Hugging Face mirrors; `content_text` for retrieval.