CANON · DPP / IDENTIFIER-SCHEME
EN 18219 identifier scheme
DefinedTerm
How a Product Passport identifier minted by Economy3 meets the properties EN 18219:2026 names, each fact stated with the code that makes it true.
- TERM CODE
- identifier-scheme
- IDENTIFIER
- identifier-schemeeconomy3:dpp
- ADDITIONAL PROPERTY
- Self-issued. Economy3 mints the resolver key itself; a GTIN is carried beside it only when the maker holds one, and is never minted.IssuancemodelGranularityThe resolver key is the first 14 hexadecimal digits (56 bits) of SHA-256 over the shop domain and the Shopify product id, so the shop is inside every key. A signed record is identified by its Holochain ActionHash.Global uniquenessThe resolver key is a pure function of the shop domain and the Shopify product id, so a new title, handle or variant does not change it. An ActionHash is never reissued; a record's hashes on earlier networks stay in its identifier list as actionHash values, with sameAs to their addresses.Persistenceshop_ followed by 14 lowercase hexadecimal characters.SyntaxIdentifiers are published as schema.org PropertyValue nodes in identifier. A GTIN rides under https://schema.org/gtin, with its GS1 Digital Link in hasGS1DigitalLink.InteroperabilityThe key is minted with SHA-256, a published algorithm (FIPS 180-4), from two values; no issuing agency stands between the maker and the key.Openness
{
"@context": "https://schema.org",
"@type": "DefinedTerm",
"@id": "https://economy3.org/dpp/identifier-scheme",
"name": "EN 18219 identifier scheme",
"termCode": "identifier-scheme",
"description": "How a Product Passport identifier minted by Economy3 meets the properties EN 18219:2026 names, each fact stated with the code that makes it true.",
"identifier": {
"@type": "PropertyValue",
"propertyID": "economy3:dpp",
"value": "identifier-scheme"
},
"additionalProperty": [
{
"@type": "PropertyValue",
"propertyID": "https://economy3.org/dpp/issuance",
"name": "Issuance",
"value": "Self-issued. Economy3 mints the resolver key itself; a GTIN is carried beside it only when the maker holds one, and is never minted.",
"description": "src/lib/shopify/shopify.js:1040-1047 createResolverKey; src/lib/record-jsonld.ts:413-423; src/lib/shopify/resolverDocuments.js:255-270 extractGtin"
},
{
"@type": "PropertyValue",
"propertyID": "https://economy3.org/field/id-granularity",
"name": "Granularity",
"value": "model",
"description": "src/lib/shopify/resolverDocuments.js:305-338 buildIdentifierProperties publishes idGranularity model on the Shopify passport: the key is minted once per Shopify product"
},
{
"@type": "PropertyValue",
"propertyID": "https://economy3.org/dpp/global-uniqueness",
"name": "Global uniqueness",
"value": "The resolver key is the first 14 hexadecimal digits (56 bits) of SHA-256 over the shop domain and the Shopify product id, so the shop is inside every key. A signed record is identified by its Holochain ActionHash.",
"description": "src/lib/shopify/shopify.js:1040-1047; src/lib/record-jsonld.ts:413-423"
},
{
"@type": "PropertyValue",
"propertyID": "https://economy3.org/dpp/persistence",
"name": "Persistence",
"value": "The resolver key is a pure function of the shop domain and the Shopify product id, so a new title, handle or variant does not change it. An ActionHash is never reissued; a record's hashes on earlier networks stay in its identifier list as actionHash values, with sameAs to their addresses.",
"description": "src/lib/shopify/shopify.js:1040-1047; src/lib/record-jsonld.ts:413-439"
},
{
"@type": "PropertyValue",
"propertyID": "https://economy3.org/dpp/syntax",
"name": "Syntax",
"value": "shop_ followed by 14 lowercase hexadecimal characters.",
"description": "src/lib/shopify/shopify.js:1041-1047"
},
{
"@type": "PropertyValue",
"propertyID": "https://economy3.org/dpp/interoperability",
"name": "Interoperability",
"value": "Identifiers are published as schema.org PropertyValue nodes in identifier. A GTIN rides under https://schema.org/gtin, with its GS1 Digital Link in hasGS1DigitalLink.",
"description": "src/lib/shopify/resolverDocuments.js:314-338, 934-952; src/lib/record-jsonld.ts:43, 419-423, 455-457, 796"
},
{
"@type": "PropertyValue",
"propertyID": "https://economy3.org/dpp/openness",
"name": "Openness",
"value": "The key is minted with SHA-256, a published algorithm (FIPS 180-4), from two values; no issuing agency stands between the maker and the key.",
"description": "src/lib/shopify/shopify.js:1040-1047"
}
]
}