For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • Getting Started
    • Introduction
    • Getting Started
    • Tia — Operations Assistant
    • Architecture
    • Security Architecture
  • Onboarding & Plans
    • Onboarding Overview
    • Plans & Subscriptions
    • Tia Credits
  • Tenancy & Governance
    • Roles & Members
    • Audit Log
    • Notifications
    • Economic Operators
  • Authoring Studios
    • Content Studio
    • Theme Studio
    • Advanced Studio (Track B)
  • Product Module
    • Products
    • Custom Fields
    • Global Search
    • Identifiers
    • Product Import
    • Bulk Editing
    • Bulk Updates
    • Resolver & GS1 Digital Link
    • GS1 Digital Link Contract
  • Localisations
    • Overview
    • Market Packs
    • Multilingual Content
  • Domains & Custom Hostnames
    • Domain Architecture
    • Resolver Domain Flow
    • Custom Hostname Setup
    • DNS Setup Guide
    • Resolver & Passport Rendering
    • Custom Hostname Lifecycle
    • Troubleshooting
  • Passports
    • Overview
    • Passport Operations
    • Lifecycle States
    • Controlled Update & Break-Glass
    • Content & Templates
    • Themes & Presentation
    • Consumer Experience
    • Publication Lifecycle
    • Brand Setup & Readiness
    • Drafts
  • Passport Intelligence
    • Passport Intelligence
    • Intelligence Overview
    • Scan Visibility
    • Trust Signals
    • Engagement Insights
    • Investigation Timelines
    • Data & Privacy
    • Roadmap
  • Minting
    • Overview
    • Lifecycle
    • Architecture
    • Limits & Performance
    • Token Preview
    • Exports & Print Jobs
    • Carrier Output Profiles
    • Bring-Your-Own Serials
    • Security
    • FAQ
  • API Reference
    • API Credentials Guide
    • API: Credentials
    • API: Products
    • API: Identifiers
    • API: Import
    • API: Batches
    • API: Attachments
    • API: Bulk Updates
    • API: Minting
    • API: Resolver
    • API: Search
On this page
  • Resolver Domain Flow
  • What Happens on Scan
  • Step-by-Step Flow
  • Custom Hostname Flow
  • Two-Step Public Flow
  • Supported Resolver Paths
  • GS1 Digital Link
  • Fallback Identifiers
  • Response Behaviour
  • Successful Resolution
  • Not Found
  • Bot Detection
  • Query Parameters
Domains & Custom Hostnames

Resolver Domain Flow

Was this page helpful?
Previous

Custom Hostname Setup

Next
Built with

Resolver Domain Flow

When a consumer scans a QR code on a product, the tieback Identity Resolver processes the request and redirects to the correct Digital Product Passport.

What Happens on Scan

Step-by-Step Flow

  1. Consumer scans a QR code printed on the product
  2. The QR code encodes a URL such as https://mybrand.tieback.io/01/5060999100032
  3. The request arrives at the Cloudflare edge
  4. The Tenant Proxy detects a resolver path (/01/) and forwards the request to the Resolution Engine
  5. The Resolution Engine calls the tieback backend with the hostname, GTIN, and any additional identifiers
  6. The backend resolves the identifier to a destination passport URL
  7. The consumer receives an HTTP 302 redirect to the public passport page (e.g., /p/<product-id>)
  8. The passport page renders the full Digital Product Passport experience on the same domain

Custom Hostname Flow

If the brand uses a custom hostname:

  1. Consumer scans a QR code with URL https://passport.mybrand.com/01/5060999100032
  2. DNS resolves the custom hostname via CNAME to mybrand.tieback.io
  3. Cloudflare routes the request through the custom hostname configuration
  4. The original hostname (passport.mybrand.com) is preserved and passed to the Resolution Engine
  5. Resolution proceeds identically — the backend uses the hostname to identify the brand
  6. The consumer is redirected to https://passport.mybrand.com/p/<product-id>
  7. The passport page renders on the brand’s custom domain

Two-Step Public Flow

tieback uses a deliberate two-step flow for scan resolution:

StepURL PatternPurpose
1. Scan URL/01/<GTIN>/21/<serial>Standards-compatible entry point (GS1 Digital Link)
2. Passport Page/p/<product-id>Clean rendering destination for the passport experience

This separation ensures that:

  • QR codes remain GS1-compatible for long-term interoperability
  • The passport page uses a clean, stable URL optimised for rendering
  • The redirect is transparent to the consumer — it happens instantly

For more details, see Resolver & Passport Rendering.

Supported Resolver Paths

GS1 Digital Link

/01/<GTIN>
/01/<GTIN>/10/<lot>
/01/<GTIN>/21/<serial>
/01/<GTIN>/10/<lot>/21/<serial>

Examples:

https://mybrand.tieback.io/01/5060999100032
https://mybrand.tieback.io/01/5060999100032/10/BATCH2024A
https://mybrand.tieback.io/01/5060999100032/21/SN00001

Fallback Identifiers

/mu/<mint-unit-id>
/mb/<mint-batch-id>
/ml/<mint-lot-id>

These paths resolve individual minted units, batches, or lots directly by their tieback identifier.

Response Behaviour

Successful Resolution

  • Status: 302 Found
  • Location: The public passport page URL (e.g., /p/<product-id>)
  • Cache-Control: Determined by the resolver (typically public, max-age=3600 or no-store)

Not Found

  • Status: 404 Not Found
  • Returned when the GTIN, serial, or identifier cannot be matched to a known product

Bot Detection

Social media bots (WhatsApp, Slack, Twitter, Discord, Facebook, LinkedIn, Telegram, Google) receive an HTML response with Open Graph meta tags instead of a redirect. This ensures proper link unfurling when passport links are shared.

Query Parameters

Any query parameters appended to the scan URL are preserved and forwarded to the destination passport URL. This supports analytics tracking, campaign attribution, and other use cases.

https://mybrand.tieback.io/01/5060999100032?utm_source=packaging
→ redirects to passport URL with ?utm_source=packaging appended