COTRUGLI Tech · Demos · NEO Product Passport · the brief in four slides
Open the demo →
1 · The problem

Every product will have to carry its own record. Almost nobody can answer for one.

A digital product passport says what a product is made of, what it cost the planet, how to repair it and how to take it apart. The first hard date is set, the registry that receives passports is already open, and the data a passport asks for sits with hundreds of suppliers who never signed up to publish it.

1

The date is already fixed

The battery passport is required from 18 February 2027 — Article 77 of Regulation (EU) 2023/1542. The Commission's Digital Product Passport Registry opened on 20 July 2026 under Implementing Regulation (EU) 2026/1778. Other product groups arrive through delegated acts; electronics has none yet, which is why the data work starts now and not the month a rule lands.

2

The data is not the manufacturer's to publish

A plant builds from parts it bought. Recycled content, substances, carbon: each number belongs to a supplier who will not hand over a formulation to a customer. Collecting it centrally has been tried — over 17.5 million notifications were filed into the SCIP database by 30 April 2026, and the Commission has now proposed scrapping it, putting the avoided cost to business at EUR 225 million per annum.

3

A badge is not an answer

The passports on the market today are pages hosted by a vendor, where the trust story ends at a logo saying the vendor checked. That does not answer the questions a buyer, an auditor or a court actually ask: who stated this number, under which rule, on which day — and does the answer survive the vendor. The law asks for that survival in as many words.

2 · The solution

One sealed record, a view for each audience, and a code that carries the proof either way

The passport is a single record whose every field is committed separately and signed once. Who may read what is a property of the field. What travels on the product is a code that carries the reading, not an address to fetch it from.

One record, sealed field by fieldEvery field becomes a salted leaf of one tree, and the root of that tree is what gets signed. A single value can then be shown on its own, with the short path that ties it back to the whole record — and the rest of the record never travels.
A view is a filter, never a second documentAnyone, a repairer, a recycler, market surveillance: each sees the fields it is entitled to, taken from the one record everything else was built from. What a view holds back it names on screen, so nobody has to wonder what they are not being shown.
Every value carries its authorNot a badge saying the product was verified — a line saying which company stated this number, under which rule, on which day, and which identity signed for it. A supplier states a property; it never sends the document behind it.
The code carries the reading — or, when it cannot, the proof of itA small passport travels whole: the identifiers sit where a GS1 resolver expects them and the record rides in the part of the address that is never sent to a server, so a scan assembles the passport on the phone with nothing fetched. A large one cannot — an electric-vehicle battery is a hundred and fifteen fields against a ceiling of 2 953 bytes, and no compression closes that. So the code carries the identifiers, the signed root and the signature instead. The document is fetched and then checked against the root that came off the product, before a single value is shown.
In one sentence

Stated is not measured, registered is not compliant, complete is not final: the passport keeps them apart, so a number on a screen leads back to the party answerable for it — and when the record is too large to travel, what travels is the proof that the one you were handed is the one that was sealed.

3 · The value

The same record, read four different ways

For the plant that builds itHand every customer a finished passport instead of another spreadsheet

A contract manufacturer holds what nobody else can hold: where the unit was built, in which month, from which released bill of materials. Emitting that as attested evidence turns an obligation that belongs to the customer into something the plant can sell — and no supplier is ever asked to publish a formulation.

For the brand ownerThe duty stays with you; the evidence arrives already signed

Whoever markets the product under their own name carries the passport obligation. This makes the upstream half arrive as statements with named authors and dates, rather than as mail threads that have to be believed.

For repairers and recyclersThe fields that keep a product alive, and the ones that take it apart

A torque map and a reset procedure for one, a dismantling sequence and what is dangerous at end of life for the other — different fields from the same sealed record, each traceable to who wrote it, without either party gaining access to the other's.

For market surveillance and auditorsThe test report tier, and a value that can be checked on its own

The authority tier reads what nobody else may read. And any single value can be handed over with the path that proves it belongs to this exact record — so a question about one number does not require disclosure of the rest.

4 · Runs in your browser — nothing installed, nothing fetched

Four products from four industries, five ways in, and one that will not fit in a code

A solar microinverter, an electric-vehicle traction battery, an industrial battery module and an insulated work jacket run through the same passport, because the engine does not know what a product is. Switch the audience and watch the passport reorganise itself around who is reading. Click any value to see who stated it and watch the path back to the root recomputed in front of you. Then scan the code with your own phone — and scan the battery's, which does something different.

The passport and its code

The record is committed field by field and signed with a key made in your tab, and the code beside it carries the reading you are looking at — around 1 700 characters of record, drawn at a whole number of pixels per module so a phone camera reads it off the screen.

Five ways in, and what each one is not shown

Anyone, repairer, recycler, customs, market surveillance. The field list changes, the code changes with it, and a panel names every field the current view is not entitled to — the same record throughout.

The passport that does not fit, and what its code does instead

The traction battery is 115 fields, every one of them checked against the Battery Regulation; the public view alone is about 6 800 characters and the largest QR symbol that exists holds 2 953 bytes. So its code carries the identifiers, the signed root and the signature. Scan it: the document is fetched, all 115 fields are hashed again on your phone, and the two roots are shown side by side. Change one character in that document and they stop matching — and the page says so rather than showing you the values.

Where a value comes from

Click a value: the company that stated it, the identity that signed, the rule it was stated under, the day it was stated, its leaf, and the steps back to the root — recomputed on your machine in a fraction of a millisecond.

Eight fields that are named, greyed and cited

On the battery, the recycled-content shares and the carbon footprint declaration appear on the passport without values, each with the reason underneath: the acts that define how to calculate them have not been adopted, and the due diligence report was postponed to 18 August 2027. Every mock-up on the market shows a passport with every line full. A real one, today, does not.

What is real

The four products, their suppliers and their declarations are a scenario. The commitment over the record, the signature, the audit path behind any single value, the resolution and re-checking of the battery's document and the code itself are real: they are computed in your browser, with a key generated in that tab and never stored, and the page holds no server, makes no request off its own address and has no connection to the NEO rail. The QR encoder is our own and was checked module for module against an independent implementation across all forty symbol versions. The battery's 94 regulated fields were verified one at a time against the consolidated Battery Regulation, and a test holds the page to that document.

REAL — Commitment · Signature · Audit path · Data carrier (runs in your browser)LOCAL SEAL — Ed25519, falling back to ECDSA P-256; no rail connectionSCENARIO — Products · Suppliers · DeclarationsNO BACKEND — nine files, no library loaded, no build step

NEO Product Passport — one sealed record, a view for each audience, and a code that carries the reading rather than an address to fetch it from. Where the record is too large for that, the code carries the seal and the document is checked against it. Open it at cotrugli.tech/demo/passport/, switch the audience, and scan the code with your phone.