# Digital Product Passports

The passport workspace tab by tab, the authoring wizard and the bulk importer, and the per-passport backup and EU Registry tools

Section: app. Audience: public. Updated: 2026-10-10.

---
A Digital Product Passport is the record a product carries about itself. The workspace for them is **"Digital Passports"** in the **"Products & stock"** section of the sidebar, headed **"DPP"** on the page itself.

## The workspace

The page opens on **"Overview"** and has these tabs:

| Tab | What it is for |
|---|---|
| **"Overview"** | Coverage, the passports that need attention, publishing, scans and trust at a glance |
| **"Passports"** | Every passport, searchable, with the passport drawer |
| **"Trust & Proof"** | Who can see a passport, its signed certificate and its tamper seal |
| **"Lifecycle"** | The newest passports in each lifecycle state |
| **"Rules"** | When passports are created, and what kind |
| **"Theme"** | Your brand on the public passport page |
| **"Domains"** | Your own subdomain for passport links |
| **"Placement"** | Where passport links appear, including your Shopify store |
| **"Promotions"** | Your own offer on your passports |
| **"Consumer contact"** | Questions shoppers ask from a passport, and updates you send them |
| **"Store fields"** | Which field in your store holds which passport field |

Each tab is addressable, so you can link a colleague straight to the one you mean rather than telling them where to click.

Older links still work. A link to the separate passports tab opens **"Passports"**. Links to the former Credentials, Audit anchor and Resolver preview tabs open **"Trust & Proof"**, which replaced all three. Links to the former policies and analytics tabs open **"Overview"**.

## Overview

The overview reads top to bottom the way you work: headline tiles for product coverage, live passports, per-unit passports and shopper scans; a queue of the passports that need attention, with the action that fixes each; publishing over time; all passports by state; engagement (scans per day and the most-scanned passports); and a trust and compliance strip.

## Passports and the passport drawer

**"Passports"** is the full list. Opening a passport shows its drawer, with the tabs **"Overview"**, **"Data"**, **"Public preview"**, **"History"**, **"Links & children"** and **"Scans"**.

**"Links & children"** also holds two tools for that one passport.

### Backup copy

**"Download backup copy"** downloads a ZIP of the passport, its unit, events, links and stored public versions. It leaves out attachments and private master data. It is a copy of one passport, not a backup that can restore your account.

### EU Registry preparation

**"EU Registry preparation"** helps you prepare and keep evidence for registering the passport through the European Commission's own web journey. It does not submit or confirm a registration.

- It shows whether the passport is ready: published, and with a unique product identifier address that resolves. If the address does not resolve, no dossier is prepared; contact support with the passport's ID.
- Pick the **"Registry environment"**: **"Acceptance / testing"** or **"Production"**, with links to the official portals and operator guide. The panel also shows the official guide's current warning about registration.
- Tick the **"Preparation checklist"** and press **"Save checklist"**. Save before downloading or recording anything.
- **"Download preparation dossier"** downloads the evidence as a file.
- **"Record manual receipt"** records what the registry told you: the status and the external references. It stays marked as owner-reported and unverified.
- **"Evidence ledger"** lists everything recorded for the passport.

## Trust & Proof

**"Trust & Proof"** answers three questions about one passport: who can see it, whether its certificate is valid, and whether its history is sealed. Search a product, or paste a passport ID or QR link, and press **"Check"**. Three cards fill in. Each leads with a plain sentence; the technical detail is folded under **"Technical details"**.

### Who sees what

**"Who sees what"** shows what each audience gets when it opens the passport: **"Shopper"**, the page anyone gets by scanning the QR code; **"Business"**, the data a business partner gets with a key you issued; and **"Regulator"**, the fullest view, with a key you issued.

It says whether the public link is **"Live"** or **"Not live"**, and when it is not live, why: the passport is not published yet, it is published but private, it has been recalled, or its barcode number is not recorded as yours, in which case share the passport's own link instead.

Two folded sections sit under the card:

- **"What each audience is allowed to see"**: the disclosure rules for each audience. They are read-only in the app.
- **"Keys for business partners and regulators"**: the **"Passport access keys"**. Issue one to a recycler, repairer or trade partner, or to a regulator or market-surveillance body: give the **"Holder"**, the **"Tier"**, an optional identifier for the holder, and an optional expiry, then **"Issue key"**. The key is shown once only, so copy it then. The holder sends it when reading your passports and receives that tier instead of the public view. Keys open only your passports, can expire, and can be revoked at any time; the holder loses access immediately. Shoppers never need one. Every issue and revoke is recorded in your audit log.

### Signed certificate

**"Signed certificate"** shows the signed certificates behind the passport, which prove you issued it and that nobody edited it since. Each is **"Valid"**, **"Revoked"** or **"Expired"**. **"Check signature"** verifies one. **"Revoke"** asks why, then **"Revoke for good"**: revoking cannot be undone, and anyone checking the certificate sees it as revoked. A passport with no certificate still works; it just cannot be checked against your signature.

### Tamper seal

**"Tamper seal"** lists the passport's recorded changes. Every change is sealed once a day. A change shows as **"Sealed"**, **"Seals tonight"** or **"Not sealed"**, when it was recorded after that day's seal. **"Show proof"** proves a sealed change is untouched since the day it was sealed.

## Lifecycle

**"Lifecycle"** is a board of six columns: **"Draft"**, **"In review"**, **"Published"**, **"Active"**, **"Suspended"** and **"Archived"**. Each column shows the newest passports in that state and a count of all of them. Each card offers only the move the passport's lifecycle allows next. **"Show all →"** opens **"Passports"** filtered to that state. Bulk and destructive moves (publish, unpublish, suspend and archive) are made from **"Passports"**.

## Rules

**"Rules"** decides when passports are created. A rule reads as one sentence: when something happens, for some products, make this kind of passport, or none.

- **"Applies to"**: **"All products"**, a **"Brand"**, a **"Category"**, a **"Supplier"** or **"One product"**.
- **"When"**: **"Stock arrives"**, **"A unit is serialised"**, **"An order is placed"**, **"Someone asks"** or **"Once per product"**.
- **"Outcome"**: **"Create a passport"** or **"No passport"**.
- **"Passport covers"**: **"Model (the design)"**, **"Batch (one production run)"** or **"Item (one physical object)"**. This cannot be changed later, because the code is printed on the goods.
- **"Publish"**: **"Leave as a draft"**, **"Publish straight away"**, **"Publish when delivered"** or **"Publish on first scan"**.

Rules are read from the top down and the first one that matches wins, so put your exceptions above your catch-all. Each rule can be paused, resumed, duplicated, reordered or deleted; deleting a rule keeps the passports it already made. Templates help you start.

**"Right now"**, at the top, says what is deciding today and how many of your products no rule covers.

Whether passports are created for you while no rule is active is **"Automatic creation"**, under **"Right now"**. Pick one of the four choices and save. Once a rule is active, the rules decide and the setting folds to one line you can still change. Choosing **"Every product and every order"** also creates a Model passport for each product you already have that has none, in the background, and the tab says so before you save. **"Turn my current setting into rules"** converts that setting into rules you can then refine.

Until October 2026, automatic creation was a card in **"Stores"**, in **"Settings"**; that section now points here.

## Theme

**"Theme"** puts your brand on the public passport: a style, your colours and type, your story and links.

**Saving is not publishing.** Shoppers see only a published theme. **"Save"** keeps your edits; **"Publish"** sends the saved theme to every public passport, after you confirm. A theme changed since it was published is marked **"Edited"** until you publish it again.

The panel starts with **"What a shopper sees:"**, the theme actually being served. That is not always your default: if your default theme is still a draft, an older published theme is served instead. With no published theme, passports use the standard Next Horizon look.

**"Add a theme"** to start. A theme sets:

- the **"Style"**: **"Classic"**, **"Minimal"**, **"Editorial"**, **"Luxury"**, **"Playful"** or **"Technical"**;
- **"Colours"**, measured against the style's own background. A colour too light or too dark to read is refused, and **"How it reads"** shows the colours as the page will draw them;
- the **"Typeface"** and **"Layout"**, **"Hero and logo"** (the logo is a link to your own hosting, not an upload), **"Your story"**, **"Links and socials"** and **"Your sections"**;
- **"Languages"**: shoppers can choose English or French;
- **"Search engines"**: **"Keep my passports out of search engines"**. The QR code and the link keep working.

The regulatory chapters always come first on the page and cannot be reordered or hidden; your own sections follow them.

With several themes, **"Make default"** picks the one new passports use. Deleting the default lets another take over.

## Domains

**"Domains"** lets new passport links use your own subdomain, such as `passports.example.com`. Links already printed and identifiers already signed keep their original addresses.

1. Enter the **"Subdomain"** and press **"Add domain"**. You need access to its DNS records. Root domains and wildcards are not supported.
2. Publish the DNS records the panel shows, in order: a TXT record to prove ownership, a CNAME to validate the certificate, then a CNAME that routes passport traffic. Point that last one directly at the target shown; do not proxy it through another service. Use **"Request a check"** after each step.
3. Once the HTTPS check passes, press **"Make default"**. Only then do new links use the domain.

**"Stop using domain"** stops new links using it. Links already issued are kept, so the domain's routing stays in place until it is safe to remove.

If domains are not available for your account, the tab says why. Domains are not enabled on every account; contact us to turn them on.

## Placement

**"Placement"** decides where passport links appear and what they point at, and gives you the link for any product.

**"Show passport links on my Shopify store"** is the first switch under **"On your Shopify storefront"**. Turning it on brings up the Shopify product and order page switches below it, and lets **"Store fields"** send fields to Shopify. While your passport fields are not all mapped, it says how many are, with a button to the field map.

Until October 2026, this switch was a card in **"Stores"**, in **"Settings"**.

Only the account owner can change **"Automatic creation"** or the Shopify switch; anyone else sees them read-only.

## Promotions

**"Promotions"** puts your own offer on your passports. It sits below every regulatory chapter and is never shown to a regulator. A passport shows one offer: the newest one that matches it. **"On your passports right now"** says which offer shoppers are seeing.

**"New promotion"** walks through:

- **"What you call it"**: a name only you see.
- **"What it says"**: a **"Headline"**, an optional line more and the **"Button text"**, per language. A shopper whose language you have not written gets your English. An offer without a headline shows nothing.
- **"Where the button goes"**. Clicks pass through Horizon first, which is how they are counted without a tracking script. The button appears only with both a destination and button text.
- **"When it runs"**: optional start and end. Only an active promotion inside its window reaches a shopper.
- **"Who sees it"**: **"Anyone"**, **"First owner"** or **"Refurbished or resold"**, for **"Shoppers"** or **"Business partners"**, optionally only on units made recently. A partner's offer can be marked as one.
- **"Which passports"**: **"Every passport"**, **"Chosen products"** or **"Chosen regimes"**.

A new promotion starts as a draft. **"Make it live"** and **"Pause"** switch it. Each promotion shows **"Seen"**, **"Clicked"** and **"Click rate"**, with **"Daily"** counters.

## Consumer contact

**"Consumer contact"** is where shoppers' questions arrive. A shopper asks a question from the form at the foot of a passport and confirms their email; you answer here, and can send an update to anyone who asked to be kept informed about an item. A confirmed email is not proof of purchase or ownership.

- **"Ask-a-question form on passports"** switches the form on or off. Turning it off hides the form and loses nothing already received. If the form is not switched on for your account yet, contact support; you can still read everything here.
- **"Questions"** is an inbox across every passport, newest first, filtered to **"Waiting"**, **"Answered"** or **"All"**. Type **"Your answer"** and press **"Send answer"**; the shopper gets it by email.
- **"One passport"** shows a single passport's questions, contacts and **"Updates sent"**. Contacts belong to a passport: a shopper asks for news about one item, never about everything you sell.
- **"Send an update"** writes to the contacts who asked for updates about that passport. You review it, then confirm. Retrying an email that may already have arrived warns you that the shopper could receive it twice.

## Store fields

**"Store fields"** says where your passport data already lives in your store, so it is filled in for you instead of typed twice. It works with Shopify, WooCommerce, PrestaShop and Adobe Commerce.

Pick the store platform and the store. For each passport field, name the store field that holds it, and choose which side is right:

- **"Off"**: nothing is read or sent.
- **"Store is right"**: the store's value replaces the passport's.
- **"Passport is right"**: the passport's value replaces the store's.
- **"Fill gaps, flag differences"**: whichever side is empty is filled; where both have a value and they differ, nothing changes and the difference is flagged.

**"Look at my store again"** reads your store's fields and suggests matches. **"Try one product"** shows what a setting would do for one product before you rely on it.

Fields are grouped by what is really happening: **"Needs attention"**, **"Live"**, **"Switched on, not running"**, **"Linked but off"**, **"Not set up"** and **"Can't come from a store"**. A field is live only when the next full check will really read or send it; anything wrong says what. Sending to Shopify needs **"Show passport links on my Shopify store"** switched on in **"Placement"**.

## Authoring a passport

Passports are authored in a wizard that runs on its own screen, outside the app shell, at `/passports/new`.

The wizard has five steps: **"Identity"**, **"Packaging & Materials"**, **"Compliance"**, **"Design"** and **"Attachments + Submit"**. The identity step is only for creating, because identity is what the passport is; once a passport exists, that step is replaced by a summary of it.

Alongside the form the wizard shows the live public page as it will actually look, so you are editing against the result rather than against a form and hoping.

To change an existing passport, the same wizard opens in edit mode at `/passports/<id>/edit`, where `<id>` is the passport's own identifier.

## Importing in bulk

For more than a handful, there is a bulk CSV importer on its own screen at `/passports/imports`.

Use it when you are bringing an existing catalogue in. Use the wizard when you are authoring one product carefully.

## All three require sign-in

`/passports/new`, `/passports/<id>/edit` and `/passports/imports` are **not** public pages. They sit behind sign-in and behind every account gate, so an anonymous visitor who opens one of them gets the sign-in form, not the wizard.

Do not send one of these links to someone outside your account and expect it to work.

## The public side

The page a consumer sees when they scan a passport is served by the platform, not by this app, so it is not one of the screens in this guide. What you control from here is what that page contains and how it looks, through the rules, theme, domains, placement and promotions tabs.

## Products

Products are the upstream catalogue that passports draw on. See [Products](/app/products).