Skip to main content

Tutorial · no-egress receipt

A no-egress receipt checks that an AI brief was deterministic and used no external model.

The receipt binds declared inputs to a constant claim set: model alvo-rules-v1, deterministic method, no external model, zero external tokens and no data egress. The verifier recomputes the hash through a public endpoint; this is an attestation, not a cryptographic signature or legal conclusion.

Article 50alvo-no-egress-receipt-1public verifier

Replayable tour

Replay the check as a counterparty

1 / 4

1. Receipt JSON

Copy the receipt from an AI brief, email footer or export. It should include receiptVersion, model, flags and inputsHash.

Tutorial · no-egress receipt

What gets checked

Claim set

The receipt must preserve deterministic/no-egress facts: provider none, externalTokens 0 and dataEgress false.

Version

The verifier accepts the current alvo-no-egress-receipt-1 version so an old or edited format does not pass silently.

Hash

inputsHash must match the hash recomputed from declared inputs and the constant facts.

Result

Pass means recomputable attestation. Fail shows the reason: version, claim set or hash mismatch.

HowTo: verify the receipt

1. Copy the receipt

Take the JSON from an AI brief, email/export footer or brief card; do not edit fields by hand.

2. Add inputs when needed

Empty inputs still check the claim set and version. Declared inputs are required to confirm the exact bound hash.

3. Run the verifier

The /verify page calls public POST /api/ai/receipt/verify and does not require secrets or authentication.

4. Read the result

Verified means the hash and constant no-egress facts match. A failed result lists concrete reasons.

What not to claim

Not a signature

The receipt has no private key and is not cryptographic signing or regulator-grade proof of authorship.

Not legal advice

The Article 50 disclosure posture helps transparency, but it is not a legal conclusion for a specific case.

No hidden storage claim

The verifier route exists for recomputation. Do not promise more than the visible product copy: nothing pasted is stored by the public verifier flow.

Tutorial · no-egress receipt

Payload and checklist

Verification flow

Minimal sequence for risk, counterparty or audit review.

1. Copy the receipt JSON from an AI brief, email footer or export.
2. Paste the receipt into /verify.
3. Paste declared inputs only if you want to check the bound hash.
4. Read the three checks: deterministic claims, version and hash.
5. Treat pass as recomputable attestation, not a signature or legal proof.
POST payload

The same contract used by the /verify page.

POST /api/ai/receipt/verify

{
  "receipt": {
    "receiptVersion": "alvo-no-egress-receipt-1",
    "model": "alvo-rules-v1",
    "dataSentToExternalModel": false,
    "externalTokens": 0,
    "inputsHash": "..."
  },
  "inputs": {
    "rationaleId": "...",
    "market": "DAM",
    "targetDate": "2026-06-28"
  }
}

Tutorial · no-egress receipt

No-egress receipt FAQ

Does the receipt prove who created the brief?

No. It proves that this receipt matches declared inputs and the constant no-egress facts. It is not a private-key signature.

Can I verify without inputs?

Yes, but the hash check will show a mismatch or expected hash for an empty input set. Full verification needs the inputs the receipt was bound to.

Why is the endpoint public?

So a counterparty can verify the receipt independently from an Alvo account. That is why the route is no-auth and does not require secrets.

Ready to check a real receipt?

Open the verifier, paste the receipt JSON and, when available, the declared inputs from the brief or export.

Open verifier