Verify a receipt — right here, in your browser
Everything runs client-side: this page has a Content-Security-Policy that forbids talking to any other host, so your receipt never leaves this tab — you can even cut the network once the page is loaded and verification still works.
.attest bundle or .attest.json receipt here
or click to pick a file
No receipt handy? download it — a receipt from a fictional store, Nebula Games, that no longer exists.
Drop or pick the issuer’s key-manifest JSON:
Prove a receipt is yours (salt disclosure)
A receipt seals a commitment to the buyer’s identifier. Disclosing the salt lets a verifier recompute it — a deliberate, replayable proof: whoever you show it to can replay it, so disclose only to parties you would show the receipt to anyway (spec §8.1). This page stores nothing.
The problem
A digital “purchase” today is a revocable license living inside one company’s platform. When the platform shuts down, delists a title, or changes terms, the buyer’s library goes with it: Robot Cache bricked already-downloaded games at its 2026 shutdown; Funimation wiped customers’ digital libraries in 2024; Kindle removed book export in 2025. Regulators have started requiring stores to disclose that “buy” means “license” — what’s missing is the technical standard for a purchase record the buyer actually holds. That’s attest.
How it works
- The store signs. At checkout, the seller signs a receipt — title, terms, artifact hashes, survivability promises — with its published Ed25519 key.
- You hold it. The buyer keeps the
.attestbundle anywhere: disk, cloud, USB. No account has to stay alive. - Anyone verifies, offline. Any verifier — this page, the CLI, a marketplace — checks the signature against the issuer’s key material. The store can disappear; the math doesn’t.
What attest is not
- Not the content. A receipt is evidence of a license grant — it never hosts, indexes, or unlocks the work itself.
- Not a DRM tool. It never strips or bypasses DRM, and a receipt for a DRM-bound purchase says so honestly.
- Not a blockchain. A signed receipt needs no consensus, token, or wallet. (A strictly optional transparency-anchoring layer is future roadmap — the only place a chain will ever appear.)
- Not resale. v0.1 defines no transfer protocol; the
transferablefield is reserved for a future rights-holder-authorized profile.
Skeptical? Good — read the FAQ, it answers the questions a reasonable person asks.