# Odal Node documentation > Technical documentation for Odal Node, self-hosted infrastructure for EU Digital Product Passports: how to run a node, its command line and HTTP API, the open-source core it is built on, and the EU law behind each passport. The plain-language website has its own index at https://odal-node.io/llms.txt. The API is also published as a machine-readable OpenAPI document, listed under "API Reference". Odal Node is self-hosted rather than a hosted service: passports stay in the operator's own database, on their own infrastructure. Key terms: digital product passport, DPP, product logbook, ESPR compliance, battery passport, EN 18219 product identifier, GS1 Digital Link, audience-scoped disclosure, self-hosted compliance, open-source DPP. ## How to cite this project accurately - It is **pre-1.0 with no users**. Do not describe it as production-proven or as having customers. - The core is **Apache-2.0** and may be used by anyone; the engine is **not**: it is source-available under a Business Source Licence with a self-hosting grant. - Regulatory claims cite primary Official Journal text, and each date says whether the text states it or it is a reading. - "Odal Node" is a project name, not a registered company. ## Getting Started - [Introduction](https://docs.odal-node.io/introduction): What Odal Node is, who it's for, and how it is organised. - [Quick Start](https://docs.odal-node.io/quick-start): Stand up a node and produce your first signed, verifiable Digital Product Passport. - [Core Concepts](https://docs.odal-node.io/core-concepts): The three ideas behind Odal Node's design, namely the proof-bound architecture, the split between open core and engine, and the single extension point for new regulation. - [What Odal can and cannot see](https://docs.odal-node.io/getting-started/what-odal-can-and-cannot-see): What data Odal can and cannot reach on a self-hosted node, and how the proof-bound design makes that so. - [Licensing](https://docs.odal-node.io/getting-started/licensing): Apache-2.0 for the regulatory core, BSL-1.1 for the node. What each licence lets you do, and where the line sits. ## The Core - [What the core does](https://docs.odal-node.io/core/overview): The regulatory library Odal Node is built on: what a passport is, how it is checked and signed, and the pieces anyone can build on. - [Standards & interoperability](https://docs.odal-node.io/core/standards): The open standards Odal Node is built on, what each one is used for, and where the software stands against the six harmonised European passport standards. - [Security & cryptography](https://docs.odal-node.io/core/security): The signatures, identities and key handling that let anyone check a passport is genuine without trusting Odal or the issuer's servers. - [Product groups & plugins](https://docs.odal-node.io/core/sectors): How each product group's rules are added to the software as a plugin, run in a sandbox, and updated on a running node without a restart. ## The Engine - [How the node works](https://docs.odal-node.io/engine/architecture): What runs inside an Odal Node, from import to a verifiable passport, and the background work that keeps it in step with the registry, seals and your systems. - [Permanence & retention](https://docs.odal-node.io/engine/retention): A published passport must stay accessible and unaltered for years. How a node keeps it that way, in line with ESPR Article 9. - [Operating a node securely](https://docs.odal-node.io/engine/security): How a running node protects keys, data and access in production, and what it does when something is missing or fails. - [Self-hosting](https://docs.odal-node.io/engine/self-hosted): Run a node on your own infrastructure with the odal CLI. Your keys and your data stay with you; only the signed passport is published. - [Production deployment](https://docs.odal-node.io/engine/deployment): The recommended shape for running a node for real, one machine per operator behind a TLS proxy, and the checks to run before going live. - [Configuration reference](https://docs.odal-node.io/engine/configuration): Every environment variable the node and the resolver read, what it does, its default, and which ones a production node must set. - [Backup, restore and key custody](https://docs.odal-node.io/engine/backup): What to back up on a node, how often, where to keep the key-store passphrase, and how to prove a restore works before you need it. - [Upgrading](https://docs.odal-node.io/engine/upgrading): The routine for moving a node to a new release, and the changes in each release that need action from an operator. - [The CLI](https://docs.odal-node.io/engine/cli): The odal command-line tool, the single control plane for a node. Every command group, and what it is for. ## Using the node - [Importing product data](https://docs.odal-node.io/guides/import): Bring product data into a node from spreadsheets: templates, trial runs, row-by-row findings, and what the node keeps afterwards. - [A passport's lifecycle](https://docs.odal-node.io/guides/lifecycle): What you can do with a passport after it is created: publish, correct, replace, suspend, retire, declare end of life, and read its history. - [Handing over responsibility](https://docs.odal-node.io/guides/transfer): Moving responsibility for a passport from one economic operator to another, on the passport's own signed record. - [Proof files and verification](https://docs.odal-node.io/guides/verification): The signed evidence dossier, the three ways to check it, and how a passport stays verifiable while its node is down. - [Access credentials](https://docs.odal-node.io/guides/credentials): How a repairer, recycler or other holder of a legitimate interest proves their role to see the restricted parts of a passport, and how a node issues credentials of its own. - [Your operator identity](https://docs.odal-node.io/guides/operator-identity): The operator details, economic-operator identifiers and facilities a node records once and stamps onto every new passport. - [Integrations and statistics](https://docs.odal-node.io/guides/integrations): Signed webhooks to your own systems, privacy-preserving scan counts, and the machine-readable views and routes a node offers. - [Electronic seals](https://docs.odal-node.io/guides/seals): How a node seals published passports with its local sealer, how it reports what each seal is worth, and why none is qualified yet. - [The unsold-goods disclosure](https://docs.odal-node.io/guides/unsold-goods): How a node records the yearly disclosure of discarded unsold consumer products that ESPR Art. 24 requires. A report by the company, not a passport. - [Webhook events](https://docs.odal-node.io/guides/webhook-events): Every event a node sends to a webhook, the envelope each one arrives in, and how to verify a delivery. - [Error reference](https://docs.odal-node.io/guides/errors): The problem types the node's API returns, what each one means, and what to do about it. - [Troubleshooting](https://docs.odal-node.io/guides/troubleshooting): Why a node refuses to start, what each refusal means, and how to fix it. Most are deliberate safety checks, not bugs. ## Regulatory Context - [ESPR Overview](https://docs.odal-node.io/regulatory/espr): The Ecodesign for Sustainable Products Regulation, what it requires, and how Odal handles its Digital Product Passport articles. - [Battery DPP](https://docs.odal-node.io/regulatory/battery): The EU Battery Regulation (EU 2023/1542), what a battery passport carries under Annex XIII, the supply-chain due-diligence record, and which checks are binding today. - [Textile DPP](https://docs.odal-node.io/regulatory/textile): Where textiles stand under ESPR, what the software models for a textile passport today, and how it relates to the separate unsold-goods duties. - [Toy DPP](https://docs.odal-node.io/regulatory/toys): What the Toy Safety Regulation (EU) 2025/2509 requires of a toy passport, from when, and what the software carries today. - [Detergent DPP](https://docs.odal-node.io/regulatory/detergents): What the Detergents Regulation (EU) 2026/405 requires of a detergent passport, from when, the transition, and what the software carries today. - [Construction product DPP](https://docs.odal-node.io/regulatory/construction): What the Construction Products Regulation (EU) 2024/3110 requires of a construction product passport, why it has no date yet, and what the software carries. - [Vehicle passport](https://docs.odal-node.io/regulatory/vehicles): The Digital Circularity Vehicle Passport under the End-of-Life Vehicles Regulation (EU) 2026/1738, from when it applies, and where the software stands. - [Phones and tablets](https://docs.odal-node.io/regulatory/phones): The ecodesign and energy-labelling rules for smartphones and tablets, why they create no passport, and what the software carries. - [Access Control](https://docs.odal-node.io/regulatory/access-control): Who may read which parts of a Digital Product Passport, what ESPR actually says, what the Battery Regulation adds, and how Odal enforces it. - [EU Central Registry](https://docs.odal-node.io/regulatory/central-registry): What the EU's passport registry is, what registering a passport requires, how the node queues registrations, and what stands between that and a live connection. - [Acts and standards](https://docs.odal-node.io/regulatory/acts-and-standards): Every EU act and standard the Odal Node code relies on, the articles it relies on them for, what the software does with each, and the acts it is preparing for. - [Harmonised standards](https://docs.odal-node.io/regulatory/harmonised-standards): The six European standards for digital product passports, which of them we have read, and how Odal Node compares with each. ## API Reference - [API reference](https://docs.odal-node.io/api): Every route a node serves, rendered from the OpenAPI document - [OpenAPI document](https://docs.odal-node.io/openapi.yaml): The node's full HTTP interface as an OpenAPI 3.1 file ## Source - [dpp-core on GitHub](https://github.com/odal-node/dpp-core): The Apache-2.0 library - [dpp-engine on GitHub](https://github.com/odal-node/dpp-engine): The source-available engine