Skip to main content

DPP Implementation Guide for Producers

Purpose​

This guide explains how producers of products (whether physical, data, or AI products) should implement the Digital Product Passport (DPP).
The goal is to ensure that every product can present a trustworthy, standardized, and consumer-ready passport at the moment of discovery and onboarding.


Key Principles​

  1. Flattened First

    • Every DPP must provide Inline data for immediate inspection.
    • Inline data should be concise, human-readable, and machine-usable without additional API calls.
  2. ByRef for Depth

    • For full audits, external validation, and regulatory checks, producers should also provide ByRef references to authoritative artifacts (schemas, lineage, provenance logs, etc.).
    • ByRef objects must include:
      • uri (content-addressed or resolvable link)
      • hash (cryptographic digest, e.g. sha256-…)
      • mediaType (IANA-registered)
      • size (bytes)
  3. Content-Addressing & Integrity

    • All ByRef URIs must include a hash to guarantee immutability.
    • Consumers should be able to verify integrity independently of the provider.
  4. Lite vs Full DPP

    • Lite DPP: Inline sections only. Optimized for product marketplaces, quick inspection, mobile use cases.
    • Full DPP: Inline + ByRef. Intended for regulators, auditors, or enterprise partners requiring verifiability.
  5. Standard Sections
    Every DPP must include at least one Inline or ByRef entry for each section:

    • Schema
    • Lineage
    • Provenance
    • Quality
    • Policy Findings
    • Knowledge Graph

Producer Workflow​

Step 1. Generate Product Identifiers​

  • Assign a stable product identifier (URI or URN) for the product/version.
  • Example: urn:ant:cb:prod:payment:v1.3.0

Step 2. Capture Trust Signals​

  • Extract relevant metadata from product lifecycle:
    • Schema: Source schema definition at this version.
    • Lineage: Processing graph (nodes, edges, capturedAt).
    • Provenance: Pipeline/job run logs, code versions.
    • Quality: Metrics (availability, timeliness, accuracy).
    • Policy Findings: Automated checks (residency, GDPR, PII).
    • Knowledge Graph: Semantic subgraph representing product semantics and relationships.

Step 3. Flatten into Inline Format​

  • Serialize each trust signal into lightweight Inline JSON.
  • Ensure payload is human-readable and UI-friendly.
  • Example: simplified lineage graph with only key nodes/edges.

Step 4. Package ByRef Artifacts​

  • For deeper records (e.g. full schema JSON, full lineage graph, detailed provenance logs), publish artifacts separately.
  • Wrap them with ByRef objects containing uri, hash, mediaType, size.

Step 5. Construct the Passport​

  • Combine Inline and ByRef into a DPP payload.
  • Add required top-level fields:
    • subject (product ID)
    • issuer (organization / DID)
    • issuedAt (timestamp)
    • contentHash (hash of passport itself)
    • signature (digital signature)
    • status (Valid, Revoked, Superseded)

Step 6. Sign and Seal​

  • Compute a contentHash of the normalized DPP payload.
  • Sign the passport using JWS or Verifiable Credential signature formats.
  • Publish signature with the DPP.

Step 7. Expose via API and QR Code​

  • Make the DPP available through:
    • DPP API endpoint: /api/dpp/{productId}/{version}
    • QR Code printed on product interface (physical goods) or embedded in marketplace UI (data/AI products).

Implementation Checklist​

  • Assign a stable product identifier.
  • Generate Inline summaries for schema, lineage, provenance, quality, policies, and KG.
  • Publish ByRef artifacts with hash and metadata.
  • Build the combined DPP JSON-LD payload.
  • Validate against DPP SHACL shapes.
  • Compute contentHash and add digital signature.
  • Publish to DPP API and expose via QR code.
  • Maintain lifecycle: revoke, supersede, or renew passports when products evolve.

Producer Recommendations​

  • Start simple: Generate Lite DPPs first for discovery/onboarding.
  • Automate: Integrate DPP generation into CI/CD or product build pipelines.
  • Secure: Use cryptographic hashes and signatures to ensure tamper resistance.
  • Align: Ensure your DPP matches the BPS DPP Core schema and passes SHACL validation.
  • Iterate: Begin with Inline trust signals, then enrich with ByRef artifacts as maturity increases.

Example (Minimal Lite DPP)​

{
"type": "dpp:Passport",
"subject": "urn:ant:cb:prod:payment:v1.3.0",
"issuer": "did:ant:cb:govl:platform",
"issuedAt": "2025-10-04T10:00:00Z",
"status": "Valid",
"contentHash": "sha256-AAA",
"signature": "REPLACE",

"schemaInline": {
"entities": [
{ "name": "Payment", "fields": [
{"name":"payment_id","type":"string","key":true},
{"name":"amount","type":"decimal"},
{"name":"currency","type":"string(3)"}
]}
]
},
"lineageInline": {
"nodes": [{ "id":"src:swift", "type":"source" }, { "id":"view:payments", "type":"view" }],
"edges": [{ "from":"src:swift", "to":"view:payments", "op":"ingest" }]
},
"qualityInline": { "window":"P30D", "aggregates": { "availabilityPct": 99.9 } }
}

Summary​

By following this guide, producers can ensure that every product delivers a flattened, verifiable, and consumer-ready Digital Product Passport. This strengthens trust, compliance, and discoverability across marketplaces, regulators, and partner ecosystems.