Resolver Domain Flow
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
- Consumer scans a QR code printed on the product
- The QR code encodes a URL such as
https://mybrand.tieback.io/01/5060999100032 - The request arrives at the Cloudflare edge
- The Tenant Proxy detects a resolver path (
/01/) and forwards the request to the Resolution Engine - The Resolution Engine calls the tieback backend with the hostname, GTIN, and any additional identifiers
- The backend resolves the identifier to a destination passport URL
- The consumer receives an HTTP 302 redirect to the public passport page (e.g.,
/p/<product-id>) - The passport page renders the full Digital Product Passport experience on the same domain
Custom Hostname Flow
If the brand uses a custom hostname:
- Consumer scans a QR code with URL
https://passport.mybrand.com/01/5060999100032 - DNS resolves the custom hostname via CNAME to
mybrand.tieback.io - Cloudflare routes the request through the custom hostname configuration
- The original hostname (
passport.mybrand.com) is preserved and passed to the Resolution Engine - Resolution proceeds identically — the backend uses the hostname to identify the brand
- The consumer is redirected to
https://passport.mybrand.com/p/<product-id> - The passport page renders on the brand’s custom domain
Two-Step Public Flow
tieback uses a deliberate two-step flow for scan resolution:
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
Examples:
Fallback Identifiers
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=3600orno-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.