Resolver and GS1 Digital Link

This page explains how tieback turns a scanned identifier into a Digital Product Passport. The resolver connects a physical code (GTIN, EAN or UPC) to the correct product record, with consistent routing, market aware presentation and controlled lifecycle visibility.

What does the resolver do?

The resolver gives every product identifier a permanent public URL. When a consumer scans a barcode or follows a link, the resolver maps that identifier to the right product and sends the scan onward to the passport. Codes you printed years ago keep resolving, including identifiers you have since retired.

Printed code

Consumer scans

Identifier matched

Passport opens

A consumer scans the printed code, the resolver matches the identifier to the product, and the passport opens in the browser.

Who it is for

Supply chain participants, consumers scanning product codes, and systems integrating with GS1 Digital Link.

How it works

Permanent brand domain

Every brand is assigned a permanent resolver subdomain:

<brand-subdomain>.tieback.io

This is the canonical domain for public scan paths. It stays the same even when the brand’s display name changes.

The resolver supports the GS1 Digital Link URI structure:

https://<brand>.tieback.io/01/<GTIN>

Optional path segments are also supported:

  • /10/<batch> for the batch or lot number
  • /21/<serial> for the serial number

Example:

https://acme.tieback.io/01/05060012345678
https://acme.tieback.io/01/05060012345678/10/LOT-A/21/001

Non-GS1 fallback paths

Brands that are not yet GS1 ready can use internal identifier paths:

PatternDescription
/mu/<MINT_UNIT_ID>Resolve by mint unit ID
/mb/<MINT_BATCH_ID>Resolve by mint batch ID
/ml/<MINT_LOT_ID>Resolve by mint lot ID

These IDs are UUIDs. The resolver confirms the entity belongs to the brand that owns the scanned domain.

Resolution strategy

1

Active identifier first

If the GTIN is currently active on a product, it resolves immediately.

2

History fallback

If no active match exists, the resolver uses the most recently retired match, so old packaging keeps working.

3

Identifier only

The resolver returns the product reference and issues a redirect. Product data stays private.

The resolved product reference is used to redirect to /p/<product-id>.

Activation state and scanning

Activation is set by the brand: either the passport is live the moment it is issued (activated at mint), or it is issued inactive and activated later by the brand, for example when the unit is packed, shipped or sold. Scanning changes nothing. The scan destination resolves for a unit in either state, and the passport reflects whichever state the brand has set.

Cache behaviour

Responses are cached when the resolution is stable and served fresh when a unit’s state has recently changed, so consumers always see current content.

Wrong domain behaviour

If a scan request arrives on a platform host such as app.tieback.io, docs.tieback.io or the root tieback.io, the resolver leaves it alone. Those hosts serve the application, documentation and marketing site. Product resolution runs only on a brand’s resolver subdomain or verified custom domain.

Query string preservation

Query parameters appended to a scan URL are preserved through the redirect, so downstream systems can pass tracking or context parameters.

Privacy

Scanning requires no consumer account and builds no personal profile. Telemetry supports aggregate analytics and product integrity signals. IP data is retained for a defined retention period and then masked. The platform tracks products rather than people. See Data and Privacy.

Limits and notes

  • The resolver is public, so no authentication is required.
  • Only the product reference is returned. Product details, pricing and sensitive data stay private.
  • GTIN paths (/01/...) and fallback paths (/mu/, /mb/, /ml/) are both supported.
  • Batch (/10/...) and serial (/21/...) segments are captured and used for unit and lot resolution.
  • Fallback IDs must be valid UUID strings. Invalid UUIDs return not_found.

FAQ

The resolver falls back to the most recently retired match, so printed codes on stock already in the market continue to reach the correct product.

No. The resolver returns only the internal product reference and issues a redirect. Product names, descriptions and pricing stay private.

Yes. Verified custom domains are supported alongside the permanent brand subdomain on tieback.io.

Scan requests arriving on platform hosts such as the application or documentation site are left unprocessed. Resolution happens on the brand’s assigned subdomain or verified custom domain.

No. Activation is a brand controlled decision, taken at mint or later, and a scan resolves the destination whatever the current activation state.