
An evidence layer that does not ask you to trust it.
Attesto is an evidence layer. It does not replace your logging; it makes it provable to a third party.
Six primitives. One deterministic pipeline.
Each step is independently inspectable and replaceable. Nothing about the design asks you to trust Attesto.
- 01 / 06
Capture
Ingest events from inference, infrastructure and operational systems.
- 02 / 06
Canonicalise
Normalise to a deterministic representation so the same event hashes the same way everywhere.
- 03 / 06
Hash
Commit each event to a content-addressed digest. The hash is the identity.
- 04 / 06
Checkpoint
Aggregate hashes into Merkle checkpoints at fixed intervals.
- 05 / 06
Anchor
Anchor checkpoints externally with public timestamps and optional chains.
- 06 / 06
Verify
Re-derive the proof offline. No call back to Attesto is required.
Proofs you can carry. Data that never leaves.
A receipt is a small, self-contained artefact. Hand it to a regulator, an insurer or an opposing counsel — they verify it offline, against a public anchor, without ever touching your raw data.

What a verifiable receipt looks like.
{
"v": 1,
"event_id": "evt_2qZk9P…",
"captured_at":"2026-03-04T09:12:47Z",
"canonical": "sha256:7f3a8b2c…b91c",
"merkle_path":[
"sha256:a14e…",
"sha256:9d22…",
"sha256:c0ff…"
],
"checkpoint": {
"root": "sha256:0e1d…4a7b",
"anchored": "2026-03-04T09:15:00Z",
"anchors": [
{ "kind": "eu_ts_authority", "id": "QTS-NL-…"},
{ "kind": "public_chain", "tx": "0x6ab1…"}
]
},
"verifier_url":"https://verify.attesto.eu/r/…"
}- canonicalDeterministic byte representation of the event.
- merkle_pathSibling hashes needed to reconstruct the checkpoint root.
- checkpointAnchored to EU qualified time-stamp authorities and an optional public chain.
- verifier_urlAnyone can reproduce the verification independently.