Proof

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.

receipt.jsondevice-signed
{
  "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"
}
  • outcome

    How the job ended: succeeded, failed, cancelled, or timed out.

  • artifacts.block_digest

    A fingerprint of the exact instructions that ran. The receipt is tied to that code, not just to its name.

  • artifacts.verification_level

    How the result was confirmed. Here the job checked its own output.

  • artifacts.evidence

    What that check actually saw: the file exists at this path.

  • artifacts.signature

    The 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, untampered
Download receipt.jsonthen verify:navig block verify-receipt receipt.json

Run 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.

#CommandWhat it wasprevhash
1navig apply hello-proofjob ran—3b50b4d759
2navig apply hello-proofjob ran3b50b4d7598f13635dd9
3navig block verify-receipt E:\navig-proof\navig\runtime\receipts\56162b16-04ff-460a-bb54-c6d9bd572bef.jsoncheck (read-only)8f13635dd9aeb17e11b7

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 lock
Download operations.jsonlthen verify:navig ledger verify --path operations.jsonl

Run 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.

1 · Install NAVIG
pip install navig
2 · Create the same demo job
navig block new hello-proof
3 · Run it. This writes a stamped receipt
navig apply hello-proof -i "message=proof, not promises" --yes
4 · Check the receipt and the logbook
navig block verify-receipt <receipt path printed in step 3>
navig ledger verify
navig ledger show --tail 10

What 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.