Skip to content
DPP in practice

How to version the textile DPP: immutable Core vs Life-cycle Log with W3C VC 2.0

Annex 9 of JRC 145830 imposes a "Governed Life-cycle Data Framework": a static Core DPP signed at placing-on-market vs an append-only Life-cycle Log with DIDs per actor. Operational 6-step tutorial with W3C VC 2.0.

ByRafael Rodríguez · Founder & CEO
Published
Reading time10 min read

TL;DR: The essentials

  • Annex 9 of JRC 145830 (DOI 10.2760/4511279) imposes a two-fronted architecture: a static immutable Core DPP + an append-only Life-cycle Log with writes cryptographically signed by each actor.
  • W3C VC 2.0 + DataIntegrityProof allows nesting Core credentials + Log events without rewriting the original document. Selective Disclosure (BBS+) enables audience-filtered views.
  • Role-based permissions with DIDs (did:web): root brand issuer (Tier 1), repairer/recycler/reseller (Tier 2) — each signs with its own key. Indisputable attribution.
  • Versioned JSON-LD snippets with an operational example: a zip repair event on a recycled polyester jacket signed by the workshop's did:web, linked to the SGTIN of the Core DPP.
Key figures
Cifra 1 de 4:
Annex 9 JRC 145830
ANNEX 9 JRC 145830 · CORE vs LIFE-LOG
Governed Life-cycle Data Framework. It imposes a technical separation between a static Core DPP and a dynamic Life-cycle Log (append-only). Each write requires a verifiable credential + the actor's cryptographic identity.
Cifra 2 de 4:
W3C VC 2.0
Verifiable Credentials Data Model 2.0. It supports the cryptographic signature of the Core + each Log write through DataIntegrityProof + Selective Disclosure BBS+ for verifiable partial disclosure.
Cifra 3 de 4:
art. 9 ESPR
Regulation (EU) 2024/1781 Article 9.2(d): allows the DPP granularity to be set at model, batch or individual item level. It justifies fine granularity when products accumulate disparate use histories (Annex 9 JRC 145830 p. 104).
Cifra 4 de 4:
DID method did:web
A DNS-based Decentralized Identifier method. It allows each actor in the life cycle (brand, repairer, recycler, reseller) to have a cryptographic identity resolvable via HTTP without the need for blockchain.
Subscribe

Before you keep reading, each month in your inbox

If you want to receive the next editorial analysis straight to your inbox, this is the list. One email a month, no promotions.

One a month. Unsubscribe in one click. Privacy policy.

Section

Why version the DPP — anatomy of the retroactive invalidation risk under the 2027 textile delegated act

The ESPR Regulation (EU) 2024/1781 establishes a fundamental change in the nature of product information. Article 9(1) imperatively requires that the data contained in the digital product passport "be accurate, complete and up-to-date". This provision transforms static labelling into a dynamic data flow. With the entry into force of the textile-specific delegated act, indicatively foreseen for 2027, the obligation to keep the information current collides directly with the traditional data architecture.

The main technical risk lies in the generation of monolithic JSON-LD documents. If a manufacturer issues a digital passport consolidating all the product attributes (composition, environmental footprint, reparability) in a single digitally signed file, any subsequent alteration compromises the integrity of the document. The cryptographic signature of a JSON-LD object seals the state of the information at the instant of its issuance. If, during the use phase, a repair workshop replaces a zip or alters the original composition, the direct update of the initial document would require the original manufacturer to revoke the previous signature and issue a new one. This monolithic architecture triggers a risk of retroactive invalidation: the original manufacturer would be forced to assume legal and technical responsibility for modifications carried out by third-party economic operators, contravening the principles of limited liability.

Article 9(2)(h) of the ESPR requires the delegated acts to define the "details for the entry or updating of the data". To resolve the friction between the immutability of the original declaration of conformity and the obligation to document the life cycle, the European Commission, through the JRC, discards the single-document model. The update of the DPP must not be understood as the rewriting of a centralised database, but as the concatenation of independent cryptographic evidence. Without a structured versioning system, the administrative burden and the litigation risk from alterations to the environmental footprint or the declared composition would make compliance operation unfeasible.

The decentralised versioning architecture mitigates this exposure. By isolating the original declaration from the post-sale event flow, the manufacturer seals its legal responsibility at the factory gate (or at the point of import). The subsequent iterations of the article fall on the digital signatures of the secondary market operators.

Section

Core DPP vs Life-cycle Log — mandatory technical separation of Annex 9 of JRC 145830

The JRC 145830 document, in its Annex 9 (DOI 10.2760/4511279), establishes the "Governed Life-cycle Data Framework" as the canonical methodology for post-sale data management. This framework imposes a two-fronted architecture. On the one hand, data segregation is required. The text is categorical: "Data segregation: the 'Core DPP' and the 'Life-cycle Log'".

The Core DPP comprises the original data provided by the manufacturer at the moment of placing on the market. It includes the fundamental compliance information, the design specifications and the performance metrics declared under conformity assessment. The JRC rules that this core "must be treated as immutable or subject to extremely restricted editing rights, only by the original manufacturer". It acts as the digital birth certificate of the textile product, unalterable over the years.

In contrast to this static core, the Life-cycle Log is defined as an "append-only ledger linked to the Core DPP". The framework establishes that "all subsequent events in the value chain — repairs, software updates, ownership changes, refurbishment activities — are recorded here as new time-stamped entries". This sequential register preserves the integrity of the manufacturer's original data while allowing the product's history to be expanded through the contributions of other actors.

This separation directly impacts the resolution level of the DPP. Article 9(2)(d) of the ESPR allows the passport granularity to be set at "model, batch or item" level. The Core DPP is usually configured at model or batch level, since the fibre composition or the theoretical carbon footprint is identical for a production run. However, the Life-cycle Log inexorably gravitates towards the individual item level. The JRC notes that, if a repair event is documented, the passport acquires item specificity, since the physical intervention occurs on a single unit. To support this transition of granularity, the system must admit multilevel references, where the repair identifier points to the instance identifier, which in turn inherits the immutable metadata of the Core DPP at model level.

Section

W3C VC 2.0 nesting + DataIntegrityProof — cryptographic signature of the Core and Selective Disclosure

Operationalising the separation between Core and Log requires a data exchange standard that supports distributed signatures and independent verifiability. The "Verifiable Credentials Data Model v2.0" (W3C VC 2.0) constitutes the chosen cryptographic infrastructure. Instead of using relational databases with centralised write permissions, the textile DPP is conceived as a graph of nested verifiable credentials.

The manufacturer issues the Core DPP as a primary credential. This credential uses the `DataIntegrityProof` mechanism. The W3C standard specifies that a data integrity proof secures the original credential by "decorating the original data with a digital signature through the proof property". This signature certifies that the set of technical attributes, such as the proportion of recycled cotton or the reparability score, was issued on a precise date by an entity with a specific public key.

When a life-cycle event occurs, a second credential is issued. This event credential does not modify the original JSON-LD, but references the unique product identifier (URI) established in the Core DPP. The stacking of these W3C credentials forms the product's auditable history.

Version 2.0 of the standard also introduces native support for advanced cryptography techniques, such as "Selective disclosure" and "Unlinkable disclosure". The W3C recommends the use of mechanisms such as the "Data Integrity BBS Cryptosuites v1.0". These BBS+ signatures allow the credential holder to generate derived proofs that reveal specific subsets of information without exposing the complete document. In the context of the ESPR, this resolves the conflict between public transparency and trade secrecy. A manufacturer can sign an exhaustive Core DPP that includes confidential supply chain data (Tier 4). Through selective disclosure, the resolution server presents a filtered view of the credential to the end consumer, hiding the identifiers of the spinning factories, but allows a Market Surveillance Authority to mathematically verify the integrity of the complete document using the same base cryptographic signature. The nesting and the filtering at source guarantee data sovereignty across the reading nodes.

Section

Role-based permissions — granular access control and DIDs of the intervening actors

Annex 9 of the JRC 145830 document underscores that the architecture must have "Authenticated and role-based write permissions". The right to add data to the Life-cycle Log must be strictly controlled. The standard specifies: "Each entry in the Life-cycle Log must be digitally signed or otherwise cryptographically linked to the actor that created it".

To establish this unavoidable attribution, each actor in the textile ecosystem must possess a Decentralized Identifier (DID). The "DID method did:web" is the most pragmatic for the industrial environment, since it links the cryptographic identity to the authority of an existing DNS domain (for example, `did:web:brand.com`), avoiding the friction of operating nodes on blockchain networks.

The operational model segments the authorisations into strata. The manufacturer assumes the role of root issuer (access Tier 1). It controls the domain that hosts the `did.json` document and safeguards the private key that seals the Core DPP. When the garment transits towards the after-market, the repair or refurbishment operators assume secondary roles (Tier 2). An independent repairer, previously authenticated or validated under a trust framework, uses its own identifier (e.g. `did:web:workshop.com`) to issue a repair credential.

This mechanism decentralises responsibility. The manufacturer does not act as notary of the workshop's actions. If a workshop replaces internal linings with non-conforming materials and documents it in the Log, the digital signature directly points to the identifier `did:web:workshop.com`. Article 11(f) of the ESPR requires the system to define "the rights to enter, modify or update data in the digital product passport". Through the use of nested VCs and independent DIDs, a Policy Decision Point (PDP) instantly evaluates the signatures in the read request. If the consumer scans the QR code, the resolver retrieves the Core DPP (signed by the brand) and the repair credential (signed by the workshop), assembling the complete information graph and presenting traceability injected with cryptographic trust where the authorship of each attribute is indisputable.

Section

Versioned JSON-LD snippets — a repair event in the life cycle

To materialise this architecture, we analyse the operational code of a post-sale event. JRC 145830 (Annex 9, p. 114) defines the structure required for an intervention: "A standardised 'Repair Event' entry". This credential acts as the second link of the graph, linking to the item identifier defined in the Core DPP.

Below is the JSON-LD fragment corresponding to the addition to the Life-cycle Log of a zip repair on a recycled polyester jacket.

```json { "@context": [ "https://www.w3.org/ns/credentials/v2", "https://w3id.org/traceability/v1", "https://purl.org/espr/textile/v1" ], "id": "urn:uuid:8b3e5a7d-912b-4d3c-a7f4-6e1c2d9a5b3f", "type": ["VerifiableCredential", "RepairEvent"], "issuer": "did:web:reparaciones-textiles-certificadas.eu", "validFrom": "2028-10-14T09:30:00Z", "credentialSubject": { "id": "urn:epc:id:sgtin:0614141.112345.6789", "activityType": "ComponentReplacement", "replacedComponent": "ZipperAssembly", "addedMaterial": { "type": "MaterialComponent", "name": "Recycled PET Zipper", "identifier": "batch-zpr-445" }, "repairFacility": "did:web:reparaciones-textiles-certificadas.eu", "warrantyExtensionDays": 180 }, "proof": { "type": "DataIntegrityProof", "cryptosuite": "eddsa-rdfc-2022", "created": "2028-10-14T09:31:12Z", "verificationMethod": "did:web:reparaciones-textiles-certificadas.eu#key-1", "proofPurpose": "assertionMethod", "proofValue": "z58DAdFfa9SkqZMVPxAQp...jQCrfFPP2oumHKtz" } } ```

In this canonical code block, the semantics operate in three dimensions. First, the `@context` links the document to the standardised vocabularies of the ESPR and of traceability. Second, the `credentialSubject` object does not describe the product itself, but the temporal event. The key property is `"id": "urn:epc:id:sgtin:0614141.112345.6789"`. This exact SGTIN identifier corresponds to the individual item instantiated in the original Core DPP. The injection of the `activityType` and `addedMaterial` fields complies with the ESPR requirements for the traceability of substances and components for end-of-life. Third, the `proof` node applies the W3C standard. The `verificationMethod` property exposes the workshop's public key hosted in its DID document, enabling any verifier (recycling software or customs application) to calculate the hash of the canonicalised JSON under RDFC-1.0 and mathematically validate the EdDSA signature (`eddsa-rdfc-2022`). The original manufacturer of the jacket is exonerated; the workshop assumes the traceability of the newly inserted component.

Section

Operationalising the versioning

The implementation of the Governed Life-cycle Data Framework and the management of nested cryptographic signatures drastically raises the technical barrier for compliance with Regulation 2024/1781. Operating JSON-LD credential graphs and ensuring the resolution of decentralised identifiers requires engineering deployments alien to the core business of design and manufacturing.

For textile brands that need to version the DPP operationally with Core/Log separation + W3C VC 2.0 without building their own cryptographic infrastructure: DPP Readiness — TraceWeave's module that pre-loads the Annex 9 [JRC 145830](/recursos/glosario/jrc-145830-metodologia-dpp) schema + automates the DataIntegrityProof signature + manages the DIDs of [Tier 1](/recursos/glosario/tier-1-2-3)-N actors. → Discover DPP Readiness

Frequently asked questions

Cited sources

  1. Joint Research Centre19 mar 2026Methodological document
  2. World Wide Web Consortium2024Technical standard
  3. World Wide Web Consortium2022Technical standard
  4. World Wide Web Consortium2024Technical standard
  5. Official Journal of the European Union28 jun 2024Regulation in force
  6. CIRPASS Project2024Technical document
Share this analysis

Analyses like this, each month in your inbox

One email a month with the new editorial analyses on European textile regulation, DPP in practice, multi-tier traceability and the market. No promotions, no repackaged headlines.

One a month. Unsubscribe in one click. Privacy policy.

Keep reading
View all
DPP practice

How to build the first textile DPP on the CIRPASS D2.1 schema: an operational tutorial

A step-by-step tutorial to build a first minimum viable textile DPP on CIRPASS D2.1: GS1 identifier, mandatory JRC 145830 datapoints, JSON-LD structure, nested W3C VC 2.0 and verification.

21 abr 202611 min
DPP practice

JRC 145830 vs CIRPASS D2.1: the technical divergences textile brands must resolve before the delegated act

JRC 145830 (Mar 2026, DOI 10.2760/4511279) and CIRPASS D2.1+D3.2 agree on JSON-LD and W3C VC 2.0 but diverge on datapoints. An MVP built on the wrong document will be retroactively invalidated.

01 abr 20267 min
Regulation

The two corrigenda to the ESPR Regulation: anatomy of the technical changes to the 2024-2025 base text

Regulation (EU) 2024/1781 ESPR has accumulated two corrigenda: R01 (7 Aug 2024) and R02 (28 Apr 2025). The second clarified Article 25 on unsold goods and the manufacturer-importer demarcation. The consolidated text is mandatory.

06 may 20269 min