Verify everything
Every brief on TruthFoundry is built from a signed chain. You can check every link yourself - in your browser, against the public key registry. A signature proves a record has not been altered since signing; it does not make the underlying sources correct.
How verification works
Step 1: Fetched
We fetch the article and extract the text. The fetcher signs a receipt over exactly what it collected.
The signature covers what went in - the feed, the URL, the fetch time (the input JSON, input_hash) - what came out (the output JSON, output_hash), and the extracted text itself (the content hash).
Step 2: Analyzed
An AI model analyzes the text. The analyzer signs a receipt over the exact analysis produced.
The signature covers what the model was given (the input JSON, input_hash) and the exact analysis it returned - entities, signals, events, scores (the output JSON, output_hash).
Step 3: Synthesized
Briefs are composed from analyzed sources. The composer signs the brief body itself.
The signature covers the brief text you actually read, word for word (the content hash and signature, content_hash + content_sig), alongside the cited sources it was built from.
Verify a real receipt now. A live fetch receipt from the record: the page re-hashes the stored input/output bytes in your browser and checks the Ed25519 signature against the registry.
Registry signature envelope: registry_integrity.signature is Ed25519 over the UTF-8 bytes of the content_hash string ("sha256:<hex>"). content_hash is SHA-256 of the canonical JSON of services[]: recursively sorted object keys, compact separators with no whitespace, undefined-valued keys dropped, UTF-8.
One caveat: receipts signed before 2026-07-03 do not carry retrievable input/output bytes - the host page can't show you the exact JSON those hashes cover. The signatures themselves still verify against the registry.