attest receipt bundle: demo

This file is your receipt. It proves you bought what's listed inside, and it's yours: it doesn't live in any account, and nobody can take it away with a click. Keep it with your own files, the way you'd keep an important paper receipt. If the store closes one day, or you lose access to your account there, this file still proves what you bought. You don't need an internet connection or anyone's permission to check it: any attest tool can do it, free, on your own computer.

What's inside

This zip holds one or more of your purchase receipts, plus everything needed to check that they're genuine: the store's own signing key, and the full text of the license, mirror policy, and end-of-life promise your receipts refer to. You don't need an internet connection, an account with the store, or any help from the store to use this file. It's self-contained on purpose.

If the store that sold you this is gone

You can still prove you own what you bought. Use any attest-compatible tool to check this bundle — for example, the reference tool: attest import demo.attest, then attest verify <receipt_id>. That check runs entirely on your own computer; it never needs to reach the store.

Two files, and only one is safe to share

This file, demo.attest, is safe to share — it was built to contain no secrets. It came with a sibling file, and that one is different.

Never send demo.private.attest to anyone

That file is the proof the purchase belongs to you: anyone holding it can claim to be the buyer. And because one private file covers your whole library, handing it over hands over proof for every purchase inside at once, not just the one you meant to show. A real store or support agent will never need it — they can already see your order. Keep it private, the way you would keep a paper receipt with your card number on it.

To prove a single purchase, use attest disclose <receipt_id> instead: it shares that one receipt and nothing else.

About the proofs/ folder (if present)

Some receipts in this bundle may come with a proofs/<receipt_id>.json file: evidence that the receipt was independently recorded in a public log at some point in time, sometimes backed by a Bitcoin block header. Treat this as corroboration, not proof of purchase by itself — what actually proves the receipt is genuine is its own signature, described below. A log entry only shows the receipt was visible publicly at that time; it can't by itself rule out the log's operator showing different people different versions of history.

For the technically curious

Each receipt is signed with the issuer's private key (Ed25519, with an optional post-quantum ML-DSA-65 signature alongside it), and the matching public key manifest travels inside this bundle so the signature can be checked completely offline. Because this bundle was assembled without a live, at-verification-time TLS connection back to the issuer, a compliant verifier reports its trust level as unauthenticated_tofu rather than verified: the cryptographic signature is exactly as valid either way, it's specifically the freshness of that trust confirmation over the network that couldn't be re-checked just now.