TrustRise logo — Digital Product Passport platform for fashion and textile brands
MODULE

Put the passport where your product already is

TrustRise connects to Shopify and WooCommerce, or embeds in any website with two lines of code. The badge appears on your product page, and the passport opens when a customer taps it.

A storefront product page for a wool sweater at €129, with a Digital Product Passport badge carrying a QR code sitting under the Add to cart button, and the two-line HTML snippet that puts it there: a div naming the SKU and a script tag loading the embed.

Two lines, any platform

The embed snippet works on any website — Squarespace, Webflow, a custom build, anything that lets you paste HTML. It finds the product by SKU or GTIN, fetches the published passport, and draws the badge.

If a product has no published passport yet, nothing renders. Your customer sees a clean product page, not an error.

No dependencies

Vanilla JavaScript, 4 KB, nothing to install.

SKU or GTIN

Matches on whichever identifier your store already uses.

Silent fallback

No passport, no badge, no broken element.

Works everywhere

Same snippet on every platform, including the two below.

Three ways in, side by side: Shopify as an app connected with OAuth, importing products by SKU and barcode with the badge appearing automatically; WooCommerce as a one-file 4 KB plugin connected with REST keys, or its shortcode; and any website as a two-line embed that works on any platform with no account needed on their side. CSV import and bulk QR download work everywhere.

Shopify connects through OAuth. Import products by SKU and barcode, and the badge is injected into your storefront automatically — no theme file touched. Requires the TrustRise Shopify app to be configured for your store.

WooCommerce connects with REST API keys you generate in WordPress. A one-file plugin places the badge after the product summary, or use the [circularid_passport] shortcode to control the position yourself.

Import by identifier

SKU, barcode, title, vendor, image, category and weight.

Pull-based

You choose when to import. Nothing syncs behind your back.

Draft push

Create a Shopify product from a passport — always as a draft.

Bulk CSV

Import a catalogue and download every QR in one archive.

A developer API view: an authorised GET request to the supplier lots endpoint returning a lot number, quantity in kilograms and a certified RWS claim, beside the webhook events that fire — certificate expiring, certificate expired, data request submitted, passport published and shipment received — marked scoped tokens, Business plan.

The REST API lets your own systems create and update passports, read lots and shipments, and pull evidence. Tokens are scoped to specific endpoints — a new endpoint is unreachable until someone deliberately adds it to the scope.

Webhooks fire on the events that matter: a certificate expiring, a supplier submitting, a passport publishing. Delivery is retried and every attempt is logged.

Scoped tokens

Each token names exactly what it may reach.

Signed webhooks

HMAC on every delivery, with retry and a delivery log.

Business plan

API and webhooks start at Business.

Documented

Endpoint reference, examples and a changelog.

What does not sync automatically

Imports are pull-based. Changing a product in Shopify does not push the change here, and changing a passport here does not update your store listing.

This is deliberate for now — a passport is a regulated record, and an automatic overwrite from a store catalogue is the wrong default. Scheduled sync is on the roadmap.

Connect your store

Start free, import one product, and see the badge on your own storefront this afternoon.