Skip to content
@OpenDPP

OpenDPP

Open, standards-conformant Digital Product Passports for the EU — AAS (IDTA) + UNTP / W3C-VC output.

OpenDPP

Digital Product Passports for the EU — built standards-first.

OpenDPP is a B2B Digital Product Passport service for the EU Ecodesign for Sustainable Products Regulation (ESPR) and the Battery Regulation. Every public passport URL serves standards-conformant, independently verifiable output under HTTP content negotiation — so a passport is consumable by IDTA AAS tooling and W3C Verifiable Credential verifiers alike, not just by us.

Two interoperability doors

  • AAS / IDTAapplication/aas+json + AASX, conformant to IDTA-01001-3-1 (AAS v3.0/3.1).
  • UNTP + W3C VC — enveloping vc+jwt (VC-JOSE-COSE) or embedded vc+ld+json (W3C Data Integrity, ecdsa-jcs-2019), conformant to UNTP DigitalProductPassport v0.7.0, with did:web issuer keys and W3C Bitstring Status List revocation.

Start here

  • 🔗 Live service: opendpp-node.eu
  • 📦 opendpp-interop — the open interop boundary: official schemas, validated samples, a runnable conformance validator, the OpenAPI contract, and the field mappings. Everything you need to integrate without access to the product source.
  • 📖 API reference: opendpp-node.eu/api-reference · machine-readable: openapi.json
  • 🤖 opendpp-knowledge — the API as a machine-readable OKF (Open Knowledge Format) bundle for AI agents: cross-linked Markdown concepts for every endpoint, schema and webhook, regenerated on each API version. Served live at opendpp-node.eu/okf and advertised via llms.txt.

Open client libraries — @opendpp/* on npm

Small, Apache-2.0 npm packages that make integrating with the node easier — all provenance-backed:

  • 📦 @opendpp/sdk — the full typed API client, generated from the OpenAPI contract (opendpp-sdk).
  • 📦 @opendpp/gs1 — GS1 Digital Link builders + mod-10 / GLN check-digit helpers.
  • 📦 @opendpp/csv — CSV → passport mapper to the public ingest shape (bulk import).
  • 📦 @opendpp/webhooks — webhook event types + a constant-time HMAC-SHA256 signature verifier.
npm install @opendpp/sdk   # or @opendpp/gs1, @opendpp/csv, @opendpp/webhooks

What we publish vs. keep private

The interoperability contract is open (this org). The product backend — tenancy, key custody, billing, the SSR/portal application — stays private. You never need the backend to consume or conform to OpenDPP output.


OpenDPP is an ESPR-readiness / interoperability node: it produces validator-conformant, independently verifiable output. Regulatory compliance is a determination for the operator and the competent authority.

Pinned Loading

  1. opendpp-sdk opendpp-sdk Public

    Official TypeScript + Python client SDKs for the OpenDPP Digital Product Passport API — generated from the public OpenAPI contract (Apache-2.0, version-locked).

    TypeScript

  2. opendpp-interop opendpp-interop Public

    The open interop boundary of OpenDPP — official schemas, live-reproducible samples, a conformance validator, and the OpenAPI contract for AAS (IDTA) + UNTP/W3C-VC output.

    TypeScript 2

  3. opendpp-knowledge opendpp-knowledge Public

    The OpenDPP Integration API as a machine-readable OKF (Open Knowledge Format) bundle — agent-ingestible, cross-linked Markdown for every endpoint, schema and webhook, regenerated from the live Open…

    JavaScript

Repositories

Showing 4 of 4 repositories

Top languages

Loading…

Most used topics

Loading…