Using EPCIS 2.0 and the CBV to prevent counterfeit products
Underneath this topic sits one mechanism: an EPCIS 2.0 capture gateway. epcis.dev is one — every posted event is validated against GS1's own schema, stamped with the capturing account (capturedBy, the warrantor, kept distinct from who, the attested observer), hashed by CBV 2.0, and appended, never edited. Hold the topic above against that ground and it stays concrete.
Traceability holds only when the record would hold up out of context: validated at capture against GS1's official schema, identified by the standard's own hash, appended and never edited, with the capturing account stamped by the gateway rather than asserted by the sender. That is what turns a trace from a report someone compiled into evidence someone else can check.
The part epcis.dev makes concrete is validation. Every event is machine-checked against the official GS1 EPCIS 2.0 JSON schema before it is accepted, and a capture that does not validate is refused as application/problem+json carrying the standard's own exception types, not a vendor error string.
Identity is the standard's own. The gateway computes the standardized EPCIS event hash from CBV 2.0 §8.9, with GS1 Digital Link normalization, checked against pinned reference vectors, so the same event captured twice is the same event and a changed event is a different one.
Provenance: an aged epcis.dev page, kept at its original URL and refreshed into the current design on 8 September 2026.