Not yet listed on the Shopify App Store

Digital Product Passport

Digital Product Passport collects the passport data of a textile product, checks that the required data is complete and publishes the passport as a public page on the domain of the shop. The app is not legal advice; which rules apply to a business stays the decision of the merchant.

Not yet listed on the Shopify App Store

Digital Product Passport runs in production and has been submitted to the Shopify App Store. This page describes what the app does today. For early access, write to info@brandupfactory.com.

Requirements

  • Not yet listed on the Shopify App Store. The app has been submitted and the review is in progress; early access is available by email.
  • The data model is built for textiles: apparel, footwear, accessories, home textiles and workwear.
  • Passports are served through the Shopify app proxy of the shop. The app proxy URL must not be changed in the Shopify settings once QR codes are printed, because printed codes point at it.
  • The app is available in English, German, French, Spanish and Chinese. The public passport page is available in 11 languages.

Getting started

  1. Add the company data

    Open Company & design and enter the economic operator once: legal name, address, operator ID, EORI and EPR registration numbers. Name and address appear on every passport.

  2. Create a passport

    Pick a product. Brand, SKU and GTIN come from Shopify. Add composition, processing countries, substances, care and end of life. Templates hold reusable data, and many passports can be filled at once by CSV import.

  3. Publish

    The completeness check shows what is missing. Publishing is blocked until the required data is complete. Every published state is stored as a version with a SHA-256 hash.

  4. Add the block to the product page

    In the Setup guide, click Add block in theme editor. The block Product passport shows a link to the passport, optionally with a QR code. Products without a published passport show nothing.

  5. Print the QR codes

    Download the QR code in each passport, or export all passport links as CSV for label software. QR codes are also available as a ZIP file and as label PDFs.

  6. Check the passport page

    Open a published passport on a phone. This is the page shoppers and market surveillance see.

Features

Passport data

One passport per product. It holds the composition per part, where each part must add up to 100 %, identifiers such as the GTIN with check-digit validation, recycled content, substances of very high concern with CAS numbers, processing countries, care, repair, end of life and documents. Category, country of origin, HS code and weight can be prefilled from Shopify.

Version history

Every published state is stored with a SHA-256 hash. The public page and the JSON show the version and the hash, and the JSON links to the content of each earlier version.

Public passport page

The passport is published on the domain of the shop in 11 languages; fibres, care instructions and countries are translated automatically. The page stays online when the product is deleted in Shopify. Passport pages set no cookies, and visits are counted per passport without storing IP addresses.

QR codes and GS1 Digital Link

GS1 Digital Link from Pro

Each passport has a QR code as SVG or PNG. With GS1 Digital Link, an address built from the GTIN opens the same passport; the QR format is chosen per shop. Labels can be printed as PDF.

French environmental cost

From Pro

The score is calculated with the official Ecobalyse API v7.0.0 from composition, countries, weight, category and durability details. It is shown on the passport only after the merchant confirms it has been declared on the government portal. Some fibres are not modelled by the method; above 20 % unmodelled fibres no score can be calculated.

Completeness check and greenwashing guard

The completeness check lists missing required data before publishing. The greenwashing guard warns about generic environmental claims in the free-text fields, with reference to Directive (EU) 2024/825.

Templates, bulk actions and CSV

Templates hold reusable data for composition, origin, care and end of life and can be applied to existing passports. Selected passports can be published, set to draft or deleted in bulk. All passport data can be exported as CSV on every plan.

Supplier portal and batches

Pro

A supplier request creates a link to a public form for materials, origin, certifications and care; submissions wait for review in the app before anything is applied. Batches hold data per lot, such as lot number, production date and facility.

Theme integration

The theme app extension ships one app block for the product page.

  • Product passportApp block

    Product template

    Shows a link to the Digital Product Passport of the product as a card or a text link, optionally with a QR code. Products without a published passport show nothing.

  • The block reads an app-owned product metafield that holds the link to the passport. The app does not edit theme files.

Reference

Public addresses

Published passports are reached through the Shopify app proxy on the domain of the shop. A passport is only shown for its own shop and only when it is published. An unpublished passport answers 410 Gone, an unknown id 404.

Passport addresses
https://<shop domain>/apps/dpp/p/<id>
    public passport page

https://<shop domain>/apps/dpp/p/<id>?format=json
    machine-readable JSON

https://<shop domain>/apps/dpp/p/<id>?lot=<lot>
    page of one batch

https://<shop domain>/apps/dpp/01/<GTIN-14>
    GS1 Digital Link, resolves to the same passport

Machine-readable JSON

The JSON is a schema.org Product with the passport under dpp:digitalProductPassport. It carries the version, the SHA-256 hash and the version history; each entry of the history links to the content of that version.

GET /apps/dpp/p/<id>?format=json (excerpt, values shortened)
{
  "@type": "Product",
  "name": "...",
  "gtin": "...",
  "dpp:digitalProductPassport": {
    "id": "...",
    "schemaVersion": "...",
    "version": 3,
    "sha256": "...",
    "updatedAt": "...",
    "versionHistory": [
      { "version": 3, "sha256": "...", "date": "...",
        "content": ".../p/<id>?format=json&version=3" }
    ],
    "economicOperator": { ... }
  }
}
The excerpt shows field names from the app. Open ?format=json on a published passport for the complete document.

Access scopes

The app requests these access scopes from Shopify. Shopify shows them before the installation.

  • Products: read and write
  • No scopes for orders or customers
shopify.app.toml: access scopes
read_products
write_products

The scopes of all apps are listed on Security & data protection.

Data and uninstall

  • The link to the passport is stored in an app-owned product metafield (Digital Product Passport) that the storefront can read.
  • The app works with product data and the company data entered in the app. It has no access scopes for orders or customers.
  • The app runs in the EU region of Heroku with its database on Amazon RDS in Frankfurt (eu-central-1).
  • The app is embedded in the Shopify admin and uses the session authentication of Shopify.

Webhooks

The app subscribes to these webhook topics. The last three are the mandatory privacy webhooks of Shopify for customer data requests, customer data erasure and shop data erasure.

shopify.app.toml: webhook topics
app/uninstalled
app/scopes_update
app_subscriptions/update
products/create
products/update
products/delete
customers/data_request
customers/redact
shop/redact

What happens on uninstall

Passport pages go offline, and your shop data is deleted when Shopify sends the data deletion request 48 hours after uninstalling, unless you reinstall in the meantime. You can export all passport data as CSV at any time, on every plan.

The data the app processes and its retention periods are in the privacy policy of the app.

Billing

These are the plans the app is built with. Prices apply once the app is live in the Shopify App Store.

Free

$0

  • Up to 10 passports
  • QR codes (SVG & PNG)
  • Theme block for product pages
  • Passport page in 11 languages
  • CSV export

Starter

$9/month

or $90/year · 14-day free trial

  • Up to 100 passports
  • Everything in Free
  • Email support

Pro

$29/month

or $290/year · 14-day free trial

  • Up to 500 passports
  • CSV import of all passport data
  • GS1 Digital Link QR codes
  • France environmental cost (Ecobalyse)
  • No “Powered by BrandUp”
  • Priority support

Unlimited

$79/month

or $790/year · 14-day free trial

  • Unlimited passports
  • Everything in Pro
  • Personal onboarding
  • Premium support
  • Planned prices in US dollars, billed through Shopify once the app is live. Yearly billing costs ten monthly payments.
  • Version history with SHA-256 checksum and the public JSON are part of every passport.
  • The app is in production and has been submitted to the Shopify App Store; the review is in progress. Write to us for early access.

Plans and prices are the same as on the app page.

Troubleshooting and FAQ

A passport cannot be published

Publishing is blocked until the required data is complete. The completeness check in the editor lists what is missing; each part of the composition must add up to 100 %.

The block shows nothing on a product page

The block Product passport only renders for products with a published passport. Publish the passport of that product first.

Is a Digital Product Passport already mandatory for clothing?

Not yet. The Ecodesign Regulation (ESPR, (EU) 2024/1781) is in force, but the delegated act for textiles that sets the required passport data is still being prepared and is expected in 2027. Under ESPR, its requirements can apply at the earliest 18 months after it enters into force. Some rules already apply today, such as France’s AGEC product information and the EU ban on generic environmental claims.

Does the app make my products compliant?

No app can promise that. Digital Product Passport gives you a structured passport with the fields the current rules and the EU’s research for textiles point to, checks that required data is complete and warns about generic claims. You stay responsible for the accuracy of your data and for which rules apply to your business. Nothing on this page is legal advice.

When can I install it?

The app runs in production and has been submitted to the Shopify App Store; the review is in progress. Until it is listed, write to info@brandupfactory.com for early access and we will set you up.

Where are the passports published?

On your own shop domain, through Shopify’s App Proxy: your-shop.com/apps/dpp/p/<id>. With GS1 Digital Link (Pro and up), your-shop.com/apps/dpp/01/<GTIN-14> opens the same passport. Every page is also available as machine-readable JSON.

What does AGEC require, and does the app cover it?

France’s AGEC law (Art. 13, Décret 2022-748) asks larger brands selling textiles in France for product information such as the countries of weaving or knitting, dyeing or printing and making-up, the recycled content, a microfibre notice for more than 50% synthetic fibres, hazardous substances and recyclability. The passport has fields for all of these. Whether the obligation applies to you depends on your turnover and volumes in France.

How does the French environmental cost work?

On Pro and Unlimited, the app calculates the score with the official Ecobalyse API v7.0.0 from composition, countries, weight, category and durability details. It shows on the passport only after you confirm you have declared it on the government portal. Some fibres, such as silk, lyocell or cashmere, are not modelled by the method; above 20% unmodelled fibres no score can be calculated.

Does the app use customer data?

No. The app works with product data and the company data you enter. It does not access shoppers’ names, orders or addresses, and passport pages set no cookies. Visits are counted per passport, without storing IP addresses.

What happens if I uninstall the app?

Passport pages go offline, and your shop data is deleted when Shopify sends the data deletion request 48 hours after uninstalling, unless you reinstall in the meantime. You can export all passport data as CSV at any time, on every plan.

Which products and languages are supported?

The data model is built for textiles: apparel, footwear, accessories, home textiles and workwear. The public passport page is available in 11 languages; the app itself in English, German, French, Spanish and Chinese.

Who builds and supports the app?

BrandUp Factory, a Shopify Partner from Hamburg. Support comes from the team that builds the app: info@brandupfactory.com.

Support

Support comes from the team that builds the app. Write to info@brandupfactory.com and include the shop domain and, for theme questions, the name of the theme.

Was this page helpful?

Tell support what is missing