attest

When the store is gone, someone still has to decide who was entitled.

An open standard for seller-signed purchase receipts the buyer holds. The seller signs once at checkout; the buyer keeps the file; a gate can verify it offline afterwards — issuer, license grant, buyer binding — with no surviving service of any kind, and tell a buyer apart from someone who merely holds a copy. Where the seller is still around, or simply hands over a DRM-free installer, none of this is needed.

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.

Drop a .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.

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 case

An archive holds an offline copy of a digital good it is authorized to release, but only to the people who bought it — a game, an album, a film, an ebook, a piece of software. The store that sold it is gone, and its customer database went with it. The archive still has to decide, with no human in the loop, which claimants may download the file. That decision is what attest is for — and only that: while the seller is still around, or hands the buyer a DRM-free installer, or where a judge is the one reading the evidence, nothing here is needed. No archive runs such a gate today; whether anyone ever will is the open question.

How it works

  1. The store signs. At checkout, the seller signs a receipt — title, terms, artifact hashes, survivability promises — with its published signing keys.
  2. You hold it. The buyer keeps the .attest bundle anywhere: disk, cloud, USB. No account has to stay alive.
  3. 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

Skeptical? Good — read the FAQ, it answers the questions a reasonable person asks.