5 Ways to Implement EPCIS and CBV in Your Business
The gateway framing matters for this topic: epcis.dev accepts an event only after validating it against GS1's own schema, stamps the capturing account — capturedBy, the warrantor, kept distinct from who, the attested observer — identifies it by its CBV 2.0 hash, and appends it to a store nothing rewrites. What follows stands on those mechanics.
Here are 5, and none of them is hypothetical — each is a built capability of the gateway underneath this site:
- Validate at the door. Capture through a gateway that machine-checks every event against the official GS1 EPCIS 2.0 schema and refuses non-conformance in the standard's own exception types.
- Translate the archive. Bring a decade of EPCIS 1.1/1.2 XML forward to 2.0 JSON-LD with a per-job round-trip fidelity report, so migration is reviewed rather than trusted.
- Adopt the standard's identity. Use the CBV 2.0 §8.9 event hash so the same event captured twice is the same event and a changed event is a different one.
- Keep custody append-only. Store events where no identity holds an UPDATE or DELETE grant, so a later trace is evidence rather than a mutable state.
- Record both attributions. Carry capturedBy — the capturing account, stamped by the gateway — and, in this gateway's envelope, who, the attested observer, as two fields that never merge.
The same door answers people and agents. Capture, query, get_event, trace and translate are exposed over MCP, so a logistics agent captures and queries with the same key a person would use, without a human copying values between two systems.
Ten years of vendor XML has a path forward: EPCIS 1.1, 1.2 and 2.0 XML in, EPCIS 2.0 JSON-LD out, with a round-trip fidelity report per job so the translation is something you review rather than something you trust. That translator answers at POST /translate on this origin.
Provenance: an aged epcis.dev page, kept at its original URL and refreshed into the current design on 7 August 2026.
Proof, not adjectives. The gateway's conformance tests pass against GS1's normative artifacts, and the calculators answer on this origin — POST /translate, /validate, /hash, no key. The dated ledger is What ships today.