Point the validator at it.
The honest version of a demo is the run itself. The gateway runs on your machine with its full durable substrate — the full capture laws, validation against GS1's pinned schema, the CBV §8.9 event hash and RFC 7807 error bodies, the same engine that answers on this origin at POST /translate, /validate and /hash. No account, no form, no call stands between you and the run.
Two ways in. Zero-install: the calculators answer on this origin — POST /translate, /validate, /hash, no key. Full gateway: npx epcis.dev runs capture, query, the suite and the MCP door on your bench. The ledger is at What ships today.
Capture in five minutes.
# zero-install, against this origin — no key, no account
curl -X POST https://epcis.dev/validate \
-H 'content-type: application/json' \
--data-binary @my-epcis-2.0-doc.json
curl -X POST https://epcis.dev/hash \
-H 'content-type: application/json' \
--data-binary @my-epcis-2.0-doc.json
curl -X POST https://epcis.dev/translate \
-H 'content-type: application/xml' \
--data-binary @legacy-1.2.xml
# the full gateway, on your bench
npx epcis.dev capture my-epcis-2.0-doc.json
# recordTime / spine:capturedBy / spine:attestationGrade are
# gateway-stamped; caller-supplied values in them are stripped
Then read it back and check us: recompute the CBV §8.9 hash, re-verify the pinned digests, throw your own corpus at translate. Out-of-scope reads return absence, not redaction.
What a run proves.
That the interface described on this site exists and behaves as written: validation against the pinned official schema, RFC 7807 refusals in the standard's exception types, gateway stamping with caller values stripped, append-only storage, minimally scoped reads, the translation engine with its per-job fidelity report, and the MCP door answering with the same key. The conformance suite runs against the same target, in advisory mode, and its evidence bundles rejudge offline.
What a run never proves is an attestation — none has ever been issued, and the CLI never signs. The dated ledger is What ships today.
We answer in writing. We take at most five conversations a month, only when you ask for one, and only after you already have the written read.