Provenance.
Verify what you can't reconstruct.
WAI carries whatever it can reconstruct, and verifies whatever it carries. Some content
cannot be reduced to instructions: a photograph, a recording, a sensor stream. WAI does not
decode or regenerate it; it carries the opaque bytes, content-addressed, with a signed
lineage of the steps that produced them. The image below is a real JPEG. Your browser's
own <img> decodes it, while this tab proves its identity (recompute the
content hash, compare it to the receipt), verifies the receipt's signature, and shows each
step of the lineage. The demo asset is a synthesized image encoded to PNG, then JPEG; the
mechanism is identical for a camera capture.
Carried, not reconstructed
WAI never decodes the bytes — the sink hands them to whatever native element renders that media. What WAI adds is a content-addressed envelope and a signed receipt, so the asset is tamper-evident and its lineage is auditable, even though WAI cannot rebuild a single pixel.
A lineage with its energy
The receipt is a chain of steps, named as the receipt names them:
origin.synthesize → encode.png → encode.jpeg. Each
binds its input and output content hashes and the energy it cost. The origin step is
unmetered and shows as not metered. The two encode steps carry figures the authoring
tool read from on-chip counters before the class label existed. The receipt carries
them unlabelled, so its metered steps show no figure.
Tamper-evidence in a tab
Press corrupt one byte: the recomputed content hash diverges from the one the receipt signed, the check goes red, and the image dims. No server is involved: the proof is a BLAKE3 comparison and a signature check the browser runs itself.
did:example:wai-prov, is the authoring
tool's own label: it names no web origin and is not an identity of this site.