TracePass
Buyer's guide

DPP vendor evaluation — our answers

The questions a buyer should ask any DPP vendor before signing — and how TracePass answers each. Forward this to your procurement, compliance, and engineering teams; every answer carries evidence.

Technical

9

Do you have public APIs?

Yes

REST + OpenAPI. Read and write across passports, products, and templates.

What you're really asking

Whether you can operate your DPP catalogue at scale without humans clicking through a UI — bulk reads, automated writes, integration into your PIM, ERP, or PLM.

Our answer

TracePass exposes a documented REST API covering passports, products, templates, organisations, and webhooks. Read and write surfaces are symmetrical — anything that can be done in the UI can be driven through the API.

Authentication uses per-organisation API keys (company-wide access) or OAuth 2.0 applications with per-scope consent via the OAuth Apps tab in the dashboard. The OpenAPI spec is published to every customer in the developer portal — no NDA gating, no "talk to our integration team" friction.

Industry note

Some vendors expose only public-passport read endpoints. "We have an API" can mean a single GET — push for write coverage and a published spec.

Can you bulk-import passports via CSV or API?

Yes

Per-category CSV templates and a bulk-import endpoint. UI drop-zone for non-technical users.

What you're really asking

This is a cost-of-onboarding question disguised as a feature question. A manufacturer with 5,000 SKUs and no bulk path will pay agency fees forever.

Our answer

Each category template ships with its own CSV template — column names match the schema, types and constraints validated on upload. Drop a file in the UI; the bulk-import endpoint accepts the same CSV via API for automated pipelines.

Validation is per-row with column-level error reporting. The batch API endpoint returns a per-item result — rows that pass validation are created, rows that fail are reported individually without blocking the rest.

Industry note

Generic, schema-agnostic CSV imports usually require weeks of mapping per category. Per-category templates collapse that to minutes.

Who owns the GS1 resolver — and what happens if I leave?

Yes

Custom domain on every paid plan. URL portability is permanent because the domain is yours; 30-day post-termination grace at no cost.

What you're really asking

If the QR code on your packaging points at the vendor's domain, switching vendors means reprinting every package. Resolver ownership is the single biggest lock-in risk in DPP.

Our answer

Every paid plan can route QR codes through the customer's own domain (e.g. id.your-brand.eu/01/...). TracePass resolves under your domain, so URL portability is permanent — even if you exit, the URL on the package keeps working.

Free / trial accounts resolve under tracepass.eu/p/...; switching to a paid tier does not break in-flight QR codes that started on the shared domain. After cancellation, TracePass continues to resolve your existing passports for 30 days at no cost (see Terms of Service) — for paid customers on a custom domain, that gives you a window to re-point DNS to another vendor's resolver. After the 30-day grace, shared-domain URLs return expired and TracePass stops serving the custom domain. Resubscribing at any point brings the expired passports back online, as many as the plan allows.

Industry note

Some vendors print their own domain on the QR code without exit clauses. In that model, exit means physically reprinting every product ever shipped.

Do you support EPCIS for supply-chain event tracking?

Yes

Yes — full EPCIS 2.0 (export, capture, query) included on every plan, Free included. Volume meter by tier (10 events/mo on Free, 1k on Basic up to 10M on Pro, unlimited on Enterprise). No add-on, no ”talk to us” tax.

What you're really asking

GS1's standard for tracking supply-chain events ("this batch left this facility on this date"). Critical for mid-large enterprises with end-to-end traceability ambitions and the only standards-compliant traceability vehicle for ESPR Article 5(5)(o). Buyers comparing vendors usually find EPCIS gated behind enterprise quote or an opaque add-on — published per-tier event volumes are the differentiator to probe for.

Our answer

EPCIS 2.0 export, capture, and query are all included on every plan, Free included. Suppliers and ERP systems push events to our Capture endpoint; our query node answers the EPCIS Query interface; any passport's events serialise as a standards-valid EPCIS 2.0 JSON-LD document, advertised on the QR's GS1 Digital Link resolver so an EPCIS-aware system discovers the history automatically.

Volume is the meter: Basic 1,000 events/month, Starter 10,000, Growth 100,000, Scale 1,000,000, Pro 10,000,000, Enterprise unlimited. Free tier has 10 events/month as evaluation guardrail. Hitting a paid-plan cap is opt-in overage at a per-1,000-event block rate that drops from €5 (Basic) to €1 (Pro) — see the price table on /pricing. Free hitting its cap requires an upgrade, no surprise charges.

The TracePass AI agent additionally drafts EPCIS TransformationEvents from supplier datasheets and PDF specs for your reviewer to approve — the same "AI suggests, human approves" gate as the rest of the platform.

Industry note

Most EPCIS vendors are quote-only — Tracelink, rfXcel/Antares Vision, Evrythng, OpenEPCIS-as-a-service all gate pricing behind sales calls. Published per-tier event quotas with hard overage rates are the cheap signal that a vendor is serious about transparent SaaS pricing, not a one-off enterprise contract dressed up as a product page.

Can an AI assistant connect to the platform directly?

Yes

Yes — a Model Context Protocol (MCP) server listed on the MCP Registry (eu.tracepass/tracepass). Hosted endpoint or local npm package; API key or OAuth 2.0 Connect.

What you're really asking

MCP is the emerging standard for letting AI assistants (Claude, Cursor, IDE agents) call tools. An MCP server means your team can manage DPPs conversationally — "create passports for these 40 SKUs", "which passports are missing required fields?" — instead of clicking through a dashboard.

Our answer

TracePass ships a Model Context Protocol server, listed on the official MCP Registry as eu.tracepass/tracepass. Two ways to use it: a hosted endpoint you point an MCP client at, or a local npm package run via npx. Authentication supports both API keys and OAuth 2.0 (the "Connect" button in Claude.ai and compatible MCP clients).

It exposes the platform as MCP tools (products, passports, fields, parties, EPCIS), plus resources and prompts. Write actions are clearly marked — the server tells the assistant which actions are billable or irreversible, so an agent warns you before creating passports or archiving anything.

Industry note

MCP support is rare among DPP vendors today — most have only a REST API. If conversational / agent-driven workflows matter to your team, a real MCP server (not a roadmap promise) is worth probing for.

Is there a no-code automation integration (n8n / Zapier / Make)?

Yes

Yes — a free n8n community node: n8n-nodes-tracepass. Install from any n8n instance.

What you're really asking

Your team uses n8n / Zapier / Make for the bits that don't justify code — Shopify orders, Slack notifications, CSV imports, schedule-driven reminders. You want to know whether wiring TracePass into those workflows means hand-rolling HTTP nodes or whether a real integration exists.

Our answer

TracePass ships an n8n community node — n8n-nodes-tracepass — built strictly to n8n's current community-node verification standard. Declarative routing, zero runtime dependencies, MIT-licensed, free. It surfaces three resources (Product, Passport, EPCIS Event) with the v1 API operations on each.

Install it from any n8n instance via Settings → Community Nodes → Install. Authenticate with the same `tp_` API key as the REST API. Risky operations carry safety notes in their descriptions — Create on Passport is billable, Archive is irreversible — and ship with an opt-in "Confirm Overage Charge" toggle so a workflow doesn't surprise-bill the account.

Zapier and Make integrations are not yet shipped — call the REST API directly via their HTTP modules in the meantime; the same `tp_` API key works.

Industry note

A community node built to n8n's verification guidelines is a small thing that signals a vendor takes the long-tail of integrations seriously. It installs on any self-hosted n8n instance from Settings → Community Nodes.

Do you support serial-level passports?

Yes

Native. gs1.serialNumber is the canonical primary join key.

What you're really asking

The Battery Regulation mandates serial-level (not SKU-level) passports for industrial and EV batteries; category-specific delegated acts will follow. A vendor that only does SKU-level is consumer-goods only.

Our answer

Every passport in TracePass is keyed by serial number. gs1.serialNumber is the canonical primary join, with SKU/model as a secondary field for grouping. The data model was designed serial-first because the regulatory direction is serial-first.

Serial-level passports support per-unit lifecycle data: state of health, repair history, ownership transfers, end-of-life status. Bulk creation and bulk update by serial range are first-class operations.

Industry note

Vendors built around SKU-level data models retrofit serial as a custom field, which breaks bulk operations and analytics. Serial-first vs serial-as-afterthought is visible in the API shape.

Are passport edits versioned and auditable?

Yes

Every edit audit-logged. Every change to a published passport archived as a hash-sealed snapshot. Any past version retrievable by date.

What you're really asking

ESPR-implied requirement. A passport printed on a 2026 jar must remain amendable AND auditable in 2036. A vendor with single-mutable-record storage is a compliance bomb when an authority asks "what did this passport say on date X."

Our answer

Every passport edit is recorded with timestamp, actor, and field-level diff, shown as a timeline on the passport detail page.

On top of that, every change to a published, suspended, expired or archived passport is archived as a complete snapshot of what the passport asserted, sealed with a SHA-256 content hash (re-verified on every read) and recording who made the change. A nightly sweep catches any change made outside the normal edit paths. This is the change archive EN 18221:2026 (clause 4.2) describes.

To answer "what did this passport say on date X", ask for the version valid at that moment: in the dashboard, or through the API with GET /api/v1/passports/{id}/snapshots?at=<date>. The public passport URL always serves the current version.

Industry note

"We have an audit log" without UI surfacing usually means raw database records nobody can read. Auditors want timeline views, not log-aggregator queries.

Can I export my data?

Yes

Full JSON-LD per passport. Tenant-wide bulk export. Media included with stable URLs.

What you're really asking

Tied to exit risk. "We'll send you a CSV" usually means there's no actual export feature; the data lives in the vendor's database and you'd be lucky to get column-level fidelity.

Our answer

Each passport exports as JSON-LD via the API or UI download. The export preserves field metadata, source attribution, version history, and translations.

Tenant-wide bulk export packages every passport, every product, every template you've created. Media attachments (images, test reports, PDFs) ship with stable URLs that remain resolvable for the 30-day post-termination grace window — long enough to migrate to a successor vendor.

Industry note

Export is the single feature most vendors haven't actually built — they discover the gap when the first customer asks to leave.

Compliance

6

Which exact Battery Regulation articles are supported?

Partial

Article-level mapping for 7 (carbon footprint), 8 (recycled content), 11 (removability), 14 (state of health), 77 (DPP).

What you're really asking

This separates marketing from substance. A vendor that says "we support the Battery Regulation" without an article-level breakdown is bluffing.

Our answer

Our battery template models all five core articles: 7 (carbon footprint declaration), 8 (recycled content thresholds), 11 (removability and replaceability information), 14 (state-of-health for industrial and EV batteries), 77 (DPP fields including QR code, supplier identification, and lifecycle status).

Implementing acts continue to refine some thresholds — recycled-content percentages and SOH measurement methodology in particular. We track every change in the Regulatory Changelog and version-bump the schema when material.

Industry note

Full article coverage is rare; partial-with-roadmap is more honest than blanket "compliant."

Which ESPR delegated acts have you modelled?

Partial

Per-template matrix: jewellery, detergents, paints & coatings, furniture, tyres, electronics. Speculative ahead of final acts; explicitly labelled.

What you're really asking

ESPR delegated acts are mid-flight. A vendor with speculative coverage now is doing your R&D for you (good); one that says "we'll add when finalised" is a risk if you need to be in market by deadline.

Our answer

We ship templates for jewellery, detergents, paints & coatings, furniture, tyres, and electronics. Each template maps to the proposed delegated-act fields known at the time of release; speculative fields are flagged in the schema metadata.

When a delegated act is finalised, our normal versioning flow applies: in-flight passports stay valid against their original schema until amended; the new version becomes available for new passports immediately.

Industry note

Vendors who claim "we already support all ESPR delegated acts" are claiming something that doesn't yet exist — the acts are still being drafted.

How do you update schemas as regulation evolves?

Yes

Versioned templates. Public regulatory changelog. In-flight passports unaffected by amendments.

What you're really asking

A passport printed on a 2026 product must remain valid in 2036 even if Article 77 changes twice in between.

Our answer

Templates are versioned. Adding a field is non-breaking; changing or removing one creates a new schema version with an explicit migration path. In-flight passports stay valid against their original schema; amended passports validate against the latest version.

Every regulatory change we track is logged in the public Regulatory Changelog with date, scope, and migration impact. On Growth and above, tracked changes for your product categories appear in your dashboard notifications.

Industry note

Vendors that say "we'll let you know" pass migration cost back to you. Versioned templates make a regulatory amendment a 30-minute review instead of a project.

Can authorities query machine-readable endpoints?

Yes

JSON-LD and plain JSON via content negotiation on every public passport URL, with the EN 18223 passport header. GS1 Digital Link conformant.

What you're really asking

ESPR Article 12 (and equivalents): competent authorities must be able to query DPPs machine-readably. JSON-LD or equivalent structured format is the default expectation.

Our answer

Every public passport URL serves valid JSON-LD when the request carries Accept: application/ld+json. The same URL serves HTML for browsers and JSON-LD for crawlers and authority systems — no separate endpoint to discover.

URLs follow the GS1 Digital Link grammar (.../01/{GTIN}/21/{serial}). Resolver behaviour is self-tested against the v2.0 spec using a published script (tracepass-open/packages/gs1-utils).

Accept: application/json returns the same body as plain JSON — EN 18216 makes JSON the mandatory machine format — and the body carries the EN 18223 passport header as top-level fields (digitalProductPassportId, uniqueProductIdentifier, granularity, dppSchemaVersion, dppStatus, lastUpdated, economicOperatorId). Passport URLs are served over HTTP/2 or later.

Industry note

Vendors who serve text/html only at the passport URL fail the basic interoperability test.

Does the passport identify all economic operators a regulator expects?

Yes

Yes. Manufacturer + recycler + producer-responsibility-organisation + importer + authorised representative + distributor as a structured roles map keyed on validated GS1 GLNs. Per-category required-role enforcement matches each regulation.

What you're really asking

Battery Regulation 2023/1542 Articles 47–50 require manufacturer + recycler + PRO. PPWR Article 11 requires manufacturer + PRO. Toy Safety Directive Article 4 requires manufacturer + importer for non-EU makers. The regulation defines a chain of accountable parties; the passport needs to carry that chain in machine-readable form, not just as free-text in a single "manufacturerName" field.

Our answer

Each passport carries a structural `parties` block keyed by economic-operator role. Each entry has a validated GS1 GLN (13 digits, mod-10 check digit), legal name, ISO 3166-1 country code, and optional URL. The GLN is emitted in both `gs1:partyGLN` (GS1 Web Vocabulary, spec-precise) and `schema:identifier` with `propertyID: "GS1:GLN"` (schema.org mirror) so DPP-aware readers and standard schema.org crawlers each see what they expect.

For suppliers without a GLN, a `legacyOperatorId` field accepts a VAT, EORI, national tax ID, or internal supplier code — every party stays traceable even before the supplier's GS1 onboarding is complete.

Per-category required-role enforcement matches the regulation: battery passports need manufacturer + recycler + PRO; toys need manufacturer + importer; packaging-bearing categories (FMCG, packaging) need PRO. Optional roles surface in the editor but don't block publish. The same role map drives the dashboard editor, the v1 API (`PATCH /api/v1/passports/{id}/parties/{role}`), and the CSV bulk-import templates (dotted-key columns: `manufacturer.gln`, `recycler.legalName`, etc.).

Industry note

Most DPP vendors today model only the manufacturer as a free-text string. A buyer running GS1-native master data needs the full economic-operator chain validated and structured — single-string manufacturer fields don't survive procurement at any GS1-keyed enterprise.

Can someone open the passport without a smartphone?

Yes

Yes. The passport is a web page any browser opens, and the viewer offers a PDF for printing.

What you're really asking

Whether the passport reaches people who never scan a QR code. The Commission's DPP FAQ (question 15) expects passports to be opened on laptops and in-store kiosks as well as phones, and some information to be available as a printed copy on request.

Our answer

The QR code resolves to an ordinary web address. The same passport opens in any desktop or laptop browser, on a shop kiosk or on a tablet, with no app to install.

Every public passport offers a PDF download of the fields the viewer shows, in the chosen language, with its images embedded, so a retailer or customer-service desk can print it on request.

The viewer is built for assistive technology as well: it passes an automated WCAG 2.1 AA audit, is fully usable by keyboard, reflows on a narrow screen or at 400% zoom, and declares the passport's language so a screen reader uses the right voice (EN 18216 requires EN 301 549 for the human-readable passport).

Operational

5

What's your SLA?

Yes

99.9% portal, 99.95% resolver. Resolver is split out because regulators query it directly.

What you're really asking

99.9% on the application is fine, but the QR resolver is the regulatory surface — a passport that doesn't resolve is, from an authority's standpoint, a passport that doesn't exist.

Our answer

Two distinct uptime targets: 99.9% for the application portal where you and your team work; 99.95% for the public resolver that authorities and consumers hit through QR codes. Both are hosted in the EU (Germany) and are not replicated across regions; availability is monitored on the public status page.

The status page tracks both surfaces independently. Outage credits apply per surface — portal credits do not require resolver outage, and vice versa.

Industry note

A single SLA across portal and resolver hides the asymmetric risk: the resolver is the part that can't go down without regulatory consequence.

Where is data hosted?

Yes

Hosted in the EU: application and primary database on Hetzner in Nuremberg, Germany; email in the EU. AI document processing uses Anthropic (USA) — see the sub-processor list.

What you're really asking

ESPR and GDPR expectations push toward EU residency. US-only hosting is a non-starter for regulated EU product data; sub-processors in the US can leak metadata even when primary storage is EU.

Our answer

Application and primary database: the TracePass platform and its database are hosted on Hetzner in Nuremberg, Germany. The marketing website is served by Vercel; its server functions run in Frankfurt. Email delivery: Resend (EU). Full sub-processor list with jurisdictions on the trust page.

We do not use any US-only sub-processors for production data paths. The Anthropic AI processing path (used for category extraction and translations) is invoked on customer demand only and is governed by an explicit DPA — the trust page documents this in detail.

Industry note

A US-headquartered vendor with an "EU region" toggle is not the same as an EU-resident operation; check sub-processors carefully.

How do you handle GDPR — data subject access, deletion, sub-processor disclosure?

Yes

DPA in place. Sub-processor register published. SAR and erasure requests handled on request under the DPA. 72-hour breach notification.

What you're really asking

Less interesting for the passport itself (most DPP fields are not personal data) and more interesting for analytics — if the vendor logs IP addresses and user agents on every QR scan, that's GDPR territory.

Our answer

Standard processor DPA available; signed before customer data flows. The sub-processor register on the trust page lists every processor with role and jurisdiction; additions trigger advance notification per Article 28.

Subject access and erasure requests are handled on request under the DPA process (the passport content itself is product data, not personal data; the relevant surface is scan analytics). Breach notification: 72 hours from confirmed incident, codified in the DPA.

Industry note

Most DPP fields are not personal data, so GDPR risk concentrates in scan analytics. Vendors that log IP, user-agent, and referrer on every scan create exposure your privacy team should know about.

What are your backup and retention policies?

Yes

Operational backups (daily, 7-day retention) and category-aligned product-lifecycle retention tracked separately.

What you're really asking

Backups and lifecycle retention are different concepts that vendors often conflate. ESPR requires passports to remain accessible for the product's lifetime — that's not a backup question.

Our answer

Operational backups: a daily automated logical backup of the primary database is written to an encrypted EU object store (Cloudflare R2), kept off the database server with 7-day retention.

Product-lifecycle retention: while the subscription is active, passports remain live and queryable for the full regulatory lifetime applicable to each product category. After subscription termination, published passports stay publicly resolvable for 30 days at no charge; after that, QR codes return an expired notice. Resubscribing restores access at any point.

Industry note

"Backed up nightly" is not the answer to this question. The relevant policy is whether the passport is still resolvable in year 12 of the product's life.

How is tenant data isolated?

Yes

Logical isolation (companyId scope) by default.

What you're really asking

Three industry postures — logical (DB-level filter), physical (separate cluster per tenant), or hybrid. Big brands worry that logical isolation is one developer mistake away from a leak.

Our answer

Default isolation is logical: every read and write is scoped by companyId, enforced in every route that touches tenant data and checked by an automated test that fails when a route skips it.

If you need physical isolation, contact us.

Industry note

Logical isolation enforced only at controllers (not the data layer) creates real leak risk; ask where the scope is applied.

Commercial

3

Per passport, scan, SKU, or serial — how does pricing work?

Yes

Tiered passport allowance. Never per scan. Serial-volume bundle for high-volume manufacturers.

What you're really asking

Each model penalises a different volume axis. Per-scan blows up if a product goes viral; per-serial is unviable for high-volume manufacturers; the wrong model can 10× your bill in a month.

Our answer

Tiered passport allowance. Each plan includes a passport count; overage is metered at a published rate that drops at scale. We never charge per scan — consumer scan volume is unpredictable, and we will not send you a surprise invoice when one of your products trends.

For high-volume battery, EV, and tyre manufacturers with serial-level mandates, we offer a serial-volume bundle with marginal-cost pricing that makes the economics work at scale. Talk to us.

Industry note

Per-scan pricing is the most dangerous model in DPP — scan rates are determined by your customers, not you. Per-passport tiers tie the bill to what you control: catalogue size.

What does exit and migration look like?

Yes

Full JSON-LD export, no fee. 30-day post-termination grace for the resolver. Customer-as-controller throughout. Optional source escrow.

What you're really asking

This is where vendor answers tend to be vaguest. The hard parts of exit are not data export — it's resolver continuity (otherwise QR codes brick) and contractual clarity on data ownership during the transition.

Our answer

Full JSON-LD export of every passport, product, template, and media attachment is available on demand at no charge. No "export fee."

After cancellation, TracePass continues to resolve your existing passports for 30 days at no cost (codified in the Master Services Agreement). During that window, QR codes on already-printed packaging keep resolving to your data while you migrate; on a custom domain you re-point DNS to a successor vendor and the printed codes never break.

Customer is the data controller throughout the relationship and after termination. Optional source escrow available on Enterprise: a tagged copy of our application source code is held by an independent third party, releasable to you under defined trigger events.

Industry note

Migration support without resolver continuity is migration support that bricks your QR codes. Always read the resolver clause first.

What are your liability terms and do you carry E&O insurance?

Yes

Liability terms as set out in the Terms of Service. E&O insurance not yet in place.

What you're really asking

If a vendor bug produces an incorrect passport and the manufacturer eats an EU fine, what is the vendor's actual exposure? Most SaaS caps at 12 months of fees — confirm whether that's enough.

Our answer

Liability terms are as set out in the Terms of Service. The trust page lists indemnification carve-outs (third-party IP claims, regulatory penalties traceable to vendor error).

E&O insurance is not yet in place.

Evidence

Industry note

Review the liability clauses in any vendor's Terms of Service before signing. For an EU manufacturer with potential fine exposure, understanding the exact cap and indemnification carve-outs is essential.

Future-proofing

6

If we leave, what's actually ours — the data, the URL, the passports?

Yes

All of it. You own the data (full JSON-LD export, no fee), the URL (custom-domain resolver), and the provenance (per-field audit trail). No exit fee, no resolver hostage.

What you're really asking

Anchoring a 10-to-20-year regulatory artifact to a vendor is a continuity bet. You're testing for the three lock-in vectors at once: data hostage (export fees / proprietary format), URL hostage (printed QR codes that brick on exit), and vendor-failure risk (what happens if the vendor disappears).

Our answer

The data is yours. Every paid plan includes a full JSON-LD export of every passport, product, and template — provenance and version history preserved — at no charge, via the REST API. There is no export fee and no proprietary format you can't read elsewhere.

The URL is yours. On every paid plan the GS1 Digital Link resolves under your own domain via DNS you control. If you leave, you re-point that DNS to a successor and the QR codes already printed on shipped products keep working — the single biggest, least-discussed lock-in risk in DPP, neutralised by design.

The continuity is contractual. A 30-day post-termination grace window keeps your passports resolving while you migrate; you remain the data controller throughout; and Enterprise customers can add source escrow with defined release triggers (insolvency, uncured breach, sustained outage). Each of these is detailed in its own answer below.

Industry note

"You own your data" is table stakes and easy to say. The questions that separate vendors are who owns the resolver URL on the printed QR, and what happens to a 20-year passport if the vendor doesn't last 20 years. If those two aren't answered in writing, the data export doesn't matter.

Decentralised identifiers and verifiable credentials — supported?

Partial

Partly. Each published passport version is signed as a W3C verifiable credential in the UNTP 0.7.0 DPP format (did:web:www.tracepass.eu), served for Accept: application/vc+jwt. Public data only; no revocation list yet.

What you're really asking

EBSI (European Blockchain Services Infrastructure) is pushing toward verifiable credentials for DPP authenticity. Not table stakes today; will be by 2028.

Our answer

Every version of a published passport is issued as a W3C verifiable credential: a Digital Product Passport in the UNTP 0.7.0 format, shaped by our open profile (github.com/malinoto/tracepass-dpp-vc), signed with ES256 as an enveloped JOSE proof (VC-JOSE-COSE). Request the passport URL with Accept: application/vc+jwt to get it; the response's Link header advertises it. The issuer is did:web:www.tracepass.eu, whose public key is published at www.tracepass.eu/.well-known/did.json, so anyone can verify a credential without asking us.

What it covers: the public view of the passport, never restricted or authority-level fields, so it is not the complete legal record. A value that does not conform to the profile is left out of the credential rather than signed. UNTP also requires the production facility's identifier and the country of production: a credential carries them when the passport records them, so it is fully valid against the UNTP schema only for passports that do. Each version is also archived as a SHA-256-hashed snapshot.

What it is not: a did:web signature proves the credential came from whoever controls tracepass.eu. It is not an eIDAS qualified seal. There is no revocation list yet: a suspended or archived passport stops serving its credential, but a copy someone already holds still verifies, so check the live passport for its current status.

Industry note

Ask any vendor claiming verifiable-credential support for a credential you can verify yourself: fetch it, resolve the issuer's DID, check the signature. An eIDAS badge next to a did:web key is a different claim, and the EBSI ecosystem itself is still pre-production for most use cases.

Can passports be timestamped or notarised for tamper-evidence?

Partial

Per-field audit trail with timestamp and actor, plus a SHA-256-sealed snapshot of every change to a published passport. External anchoring + third-party notarisation on roadmap.

What you're really asking

Useful for disputes — proof that passport content existed in version X at date Y, where neither party can rewrite history.

Our answer

Every field write goes through a single update path that appends an audit entry — timestamp, actor, previous value, source (manual / AI / API / supplier). The per-field history is queryable via API and visible in the passport version timeline. Entries are append-only by application convention.

Every change to a published, suspended, expired or archived passport is also archived as a complete snapshot sealed with a SHA-256 content hash, re-verified on every read — so an edit to a stored version shows up as a failed hash. The hashes are stored with the snapshots, so this detects tampering with the stored copy; it does not yet let a third party verify our history independently.

Cryptographic anchoring (a content-hash chain over each passport's audit entries, optionally co-signed by a trusted timestamping authority or a public ledger) is on the roadmap and not yet built. Trigger: first prospect that requires it for a regulator-defended tamper-evidence story. Until then, the audit trail is verifiable against our database, not independently — call this out explicitly in any RFP response that asks for tamper-evidence.

Industry note

An audit log without cryptographic snapshots is verifiable only against the vendor's own database — the vendor could rewrite it if compelled.

Conformance against published interoperability standards?

Yes

GS1 Digital Link conformance result self-tested and published. CIRPASS vocabulary-aligned templates. Schema.org JSON-LD + GS1 vocabulary (gs1:partyGLN) on every passport. Validated GLN identifiers per economic-operator role.

What you're really asking

Interop conformance test results — not just "we follow the spec." GS1 Digital Link, schema.org, CIRPASS alignment, and structured GS1 GLN identifiers your master-data system can lift directly.

Our answer

We publish the GS1 Digital Link conformance test result on the trust page. Schema.org JSON-LD is emitted on every public passport URL. Templates are designed to align with CIRPASS vocabulary recommendations; a formal field-by-field alignment document has not yet been published.

GS1 GLN (Global Location Number) identifiers are first-class fields on every passport — strict 13-digit mod-10 validation, multi-role keyed (manufacturer / importer / authorised representative / distributor / recycler / producer-responsibility organisation), and emitted in both gs1:partyGLN and schema:identifier 'GS1:GLN' shapes so DPP-aware readers and standard schema.org crawlers each see what they expect.

Where conformance is partial (e.g. CIRPASS recommendations that postdate our last alignment review, or the /414/{gln} resolver path which is on the build-on-first-ask roadmap), the gap is named explicitly with a target version.

Industry note

"We follow the spec" is not a conformance claim. Look for tested results, not stated intent.

Can prospects influence schema decisions for pre-final delegated acts?

Yes

Yes. Pro/Enterprise prospects shape pre-final delegated-act templates through a documented mechanism.

What you're really asking

Pre-final delegated acts mean vendor schema decisions are speculative. Big brands often have lobbying-stage information about likely final shape that vendors don't.

Our answer

For categories where the delegated act is not yet final, we maintain explicit speculative-field markers in the template. Pro and Enterprise customers can submit field-level proposals that go into the next template version after a brief review.

Accepted proposals ship in a new version of the public @tracepass/dpp-schemas package.

Industry note

Vendor roadmap-as-influence is a feature for buyers with regulatory expertise, not a downgrade.

Source escrow if you go bust?

Yes

Available on Enterprise. Tagged source held by independent third party with defined release triggers.

What you're really asking

For a category that mandates DPP availability for 10–20 years, vendor longevity becomes a real risk. Source escrow is a cheap insurance policy.

Our answer

Enterprise customers can opt into source escrow via an independent third-party escrow agent. A tagged copy of the application source code is deposited and updated on a recurring cadence.

Release triggers are defined in the escrow agreement and typically include: vendor insolvency, material breach uncured, or sustained outage beyond a defined threshold.

Industry note

Source escrow with no defined release triggers is theatre; the triggers are the substance.

Reviewed by Malin Ivanov, Managing Director — on