DPP Agent docs

EN 18223 — System interoperability

EN 18223:2026 sets a common structure for passport data so that a system can read a passport it has never seen before. It defines a semantic model, how changes are tracked, how data definitions live in separate dictionaries, and how the model is serialised. This page summarises it and states where DPP Agent stands. It is not a substitute for the text, which the national standards bodies sell.

What the standard asks

The passport header (4.1.2.1)

Every passport instance publishes these attributes:

Attribute Cardinality
digitalProductPassportId 1
uniqueProductIdentifier (per EN 18219) 1
granularity (model, batch or item) 1
dppSchemaVersion 1
dppStatus 1
lastUpdated (ISO 8601, UTC) 1
economicOperatorId (per EN 18219) 1
facilityId (per EN 18219) 0..1
contentSpecificationIds 0..*

Everything else in the passport is a data element: single values, lists, collections, values in several languages, and related resources such as documents and certificates.

Data dictionaries (4.3)

What a data element means is not carried in the passport. Each element can point, through dictionaryReference, to a definition held once in a repository of definitions. The repository's governance follows the regulation, and definitions beyond the regulation are allowed.

Changes (4.2)

Changes to a passport are logged and archived as EN 18221 requires: which passport, when, by whom, and which properties changed.

Serialisation (clause 5)

The model is serialised as a JSON object, with camelCase attribute names and each data element keyed by its elementId. The formats themselves come from EN 18216.

Where DPP Agent stands

Implemented.

  • The header. The JSON-LD form of every passport carries digitalProductPassportId, uniqueProductIdentifier, granularity, dppSchemaVersion, dppStatus, lastUpdated, economicOperatorId and facilityId, plus linkToPreviousDPP where one passport extends another.
  • Change history. Every write records a revision with author, time and the fields that changed.
  • Related resources. Documents and certificates are published with their address and type.

Different from the standard.

  • The header attributes sit inside a dppMetadata object rather than at the top level of the JSON object, as the standard's example shows.
  • Data elements use DPP Agent's own keys (espr.*, tex.*, bat.* and so on). They are our field catalogue, not a vocabulary EN 18223 defines. The header has a dictionaryReferences map for linking them to definitions in a repository, but it is empty: no regulation-based repository has been published to point to.

The validator checks the header of any passport URL against this table.

Standard reference

CEN/CENELEC JTC 24. EN 18223:2026 — Digital product passport — System interoperability. Cited in the Official Journal by Commission Implementing Decision (EU) 2026/1736.