How EPCIS and CBV Prevent Counterfeit Products?

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.

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.

Custody is structural, not promised. No service identity holds an UPDATE or DELETE grant; the write path has exactly one writer and it can only append. You can add an event; you cannot un-write one, which is what makes a later trace evidentiary rather than merely stored.

Reads are minimally scoped. You see your own scope; what is outside it is absent, not greyed out and not redacted, so there is no shape left behind to argue about. Recording an event is $0 by policy — intent, until published terms bind it — because a stream that charges per event is one you stop feeding the month the bill grows with volume.

Provenance: an aged epcis.dev page, kept at its original URL and refreshed into the current design on 8 September 2026.