Every job leaves a receipt.
Check it yourself.
When an AI agent says “done”, you normally have to take its word for it. NAVIG doesn’t ask you to. Every job it runs leaves a stamped receipt and a line in a logbook that can’t be quietly edited. Below are the real files from a real run. Download them and check them on your own machine.
Why this exists
- AI agents are good at sounding sure. “Deployed”, “backed up” and “fixed” are only claims until something checks them.
- NAVIG runs real work on real servers, so “it said it worked” isn’t good enough. You need something you can check afterwards.
- So every job produces evidence that you, your team or an auditor can check later without having to trust NAVIG, this website or us.
How it works, in three pieces
Think of a shop receipt that nobody can alter, plus a logbook with numbered, glued-in pages.
A stamped receipt
After every job NAVIG writes a receipt: what ran, whether it worked, how long it took, and what it checked to be sure. Your machine then stamps it with its own digital signature. Change even one letter and the stamp no longer matches.
Ed25519 device signature over the receipt
A logbook that can’t be quietly edited
Every command is added as a new line in a logbook, and each line carries a fingerprint of the line before it, like links in a chain. Delete, change or reorder a line and the chain breaks at that exact spot.
SHA-256 hash chain, one link per operation
You check it, not us
One command checks a receipt and another checks the logbook. Both run on your own computer against the files you downloaded. You don’t need an account or a server, and you don’t have to trust this page.
navig block verify-receipt · navig ledger verify
A real receipt
This came from a small demo job called hello-proof. It writes one note to a file, then checks the file really exists. It’s published exactly as NAVIG wrote it, unedited.
{
"mission_id": "block:hello-proof:817669c066e04538",
"node_id": "local",
"title": "Hello Proof",
"capability": "block:hello-proof",
"outcome": "succeeded",
"completed_at": "2026-09-27T15:47:51.925042+00:00",
"receipt_id": "56162b16-04ff-460a-bb54-c6d9bd572bef",
"started_at": "2026-09-27T15:47:51.921590+00:00",
"duration_secs": 0.003452,
"error": null,
"artifacts": {
"block_digest": "sha256:bf1756a317ea80a7f3c7c956b95695d3217737940940f5f465b78d9d697cc657",
"runner_version": "blocks/1",
"trust": "first-party",
"verification_level": "self-check",
"inputs": {
"message": "receipts over claims"
},
"outputs": {},
"steps": [
{
"id": "write-marker",
"kind": "materialize",
"status": "ok",
"risk": "safe",
"mode": "auto",
"detail": "wrote E:\\navig-proof\\demo\\.navig\\blocks-out\\hello-proof.txt",
"verify_passed": null,
"child_receipt": null
}
],
"evidence": {
"kind": "file_exists",
"path": "E:\\navig-proof\\demo\\.navig\\blocks-out\\hello-proof.txt",
"ok": true
},
"chain": [],
"run_id": "817669c066e04538",
"journal": "E:\\navig-proof\\navig\\runtime\\runs\\817669c066e04538.jsonl",
"signature": "T6z_cvDielbEjJpWzgqlkIapBcsx2S8VnSxF_eBlyjBX2xr9EuEl9wg7WB_usMcD66Ml0CDz2ALgkqerL1L4AQ",
"signer_kind": "device",
"signer_pubkey": "2Wlscde9Sh7tld_oU9Pne6U_Ckp6fv5t0jA94QBF_ag"
},
"metadata": {
"block_id": "hello-proof",
"block_version": "0.1.0"
},
"recorded_at": "2026-09-27T15:47:51.991978+00:00"
}outcomeHow the job ended: succeeded, failed, cancelled, or timed out.
artifacts.block_digestA fingerprint of the exact instructions that ran. The receipt is tied to that code, not just to its name.
artifacts.verification_levelHow the result was confirmed. Here the job checked its own output.
artifacts.evidenceWhat that check actually saw: the file exists at this path.
artifacts.signatureThe stamp. It covers the whole receipt, so changing any byte makes it fail.
What the check prints for this exact file:
✓ receipt VALID · block:hello-proof · succeeded · device-signed, untamperedRun it in the folder you downloaded into. On navig 3.25.0 and earlier a short file name is looked up in the wrong folder, so give the full path instead (works in PowerShell and bash): navig block verify-receipt "$PWD/receipt.json"
The paths inside it point at the throwaway folder the sample was recorded in (E:\navig-proof), deleted afterwards. They stay as written, because changing a single byte would (correctly) break the stamp.
The logbook those jobs were written into
The complete history of the demo machine: three lines, the two job runs and then the receipt check itself. Each line’s “prev” is the previous line’s fingerprint. That’s the chain.
| # | Command | What it was | prev | hash |
|---|---|---|---|---|
| 1 | navig apply hello-proof | job ran | — | 3b50b4d759 |
| 2 | navig apply hello-proof | job ran | 3b50b4d759 | 8f13635dd9 |
| 3 | navig block verify-receipt E:\navig-proof\navig\runtime\receipts\56162b16-04ff-460a-bb54-c6d9bd572bef.json | check (read-only) | 8f13635dd9 | aeb17e11b7 |
The first line has no “prev”: it starts the chain. Every later line is only valid if the one before it is untouched.
What the check prints for this exact file:
✓ 3 operations, chain intact
tamper-evident, not tamper-proof — integrity evidence, not a lockRun it in the folder you downloaded into. On navig 3.25.0 and earlier a short file name is looked up in the wrong folder, so give the full path instead (works in PowerShell and bash): navig ledger verify --path "$PWD/operations.jsonl"
Put honestly: the logbook shows that tampering happened, but it can’t stop tampering. Someone able to rewrite the entire file could rebuild the entire chain. It’s evidence, not a lock.
Checked again every time this site is built
These aren’t screenshots. Every build of navig.run re-checks the files above, and if any check fails the site refuses to publish.
- The receipt still matches the official receipt format that ships in NAVIG.
- Every link in the logbook chain is recomputed from scratch, exactly as navig ledger verify does it.
- The receipt’s stamp (its Ed25519 signature) is checked against the public key written inside it.
- What you see on this page is byte-for-byte the same as the files you download.
If a future NAVIG release changed the receipt format, this page would stop building instead of quietly going out of date.
Make your own in about a minute
Everything here is in the free CLI. No account and no server.
pip install navignavig block new hello-proofnavig apply hello-proof -i "message=proof, not promises" --yesnavig block verify-receipt <receipt path printed in step 3>
navig ledger verify
navig ledger show --tail 10What this page does not claim
- —The logbook shows that tampering happened. It can’t prevent it.
- —The stamp proves which machine made the receipt and that nothing changed afterwards. It doesn’t prove who was sitting at the keyboard.
- —The demo job is deliberately tiny. It uses the real runner, the real receipt format and the real signer, but it isn’t a production deployment.
- —The gateway’s audit log (navig audit tail) is part of the same evidence system, but it records live decisions, so there’s no fixed sample here. Run it on your own setup.
How this sample was made
- —On a throwaway NAVIG install with its own empty config, in a temporary folder deleted afterwards, far away from any real data.
- —Commands run: navig block new hello-proof, then navig apply twice, then navig block verify-receipt. That final check is itself the logbook’s last line.
- —Published byte-for-byte, and scanned for usernames and hostnames (there are none). Nothing was edited, redacted or tidied up.
Recorded 2026-09-27 with navig 3.25.0 (source build, main @ a6c99178f)
Receipts over claims.
See every capability next to the command that proves it, or start a mission and collect your own receipts.