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 15 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.