1 Upload a file
The server computes a SHA-256 hash of the file immediately at upload time — before any processing or deletion. This is the cryptographic commitment that makes the later receipt trustworthy.
2 Delete the file & issue a receipt
The server deletes all files associated with the job, then signs a receipt using ECDSA / P-256. The signature covers the pre-committed hash — not a hash computed after deletion.
3 Download the signed receipt
The receipt is a JSON document containing the file hash, timestamps, and an ECDSA signature. It is self-contained — no server cooperation needed to verify it.
4 Verify the receipt
Send the receipt back to the server's /verify-receipt endpoint —
or verify it yourself in any environment that supports ECDSA/P-256. The receipt
contains the public key, so no secret is required.