Short URL Redirect Policy for Trusted QR

Purpose: - define how short URLs should be handled in a trusted QR system - separate analytics-driven resolver use from destination binding and trust decisions

Core position

Short URLs are compatible with trusted QR only if they are treated as controlled resolver steps rather than as the destination itself.

The trust object must be the redirect flow, not just the first URL seen by the scanner.

Why this matters

Shorteners are frequently used in abuse chains because they can: - hide the final destination from users - evade simplistic filtering - create a trusted-looking first hop - enable multi-stage redirect chains - collect click analytics that introduce privacy leakage

This means a verifier that accepts a short URL without resolving and validating the chain is not doing meaningful destination binding.

Trusted-mode policy

1. Resolver classes

Allow in trusted mode: - issuer-controlled short domains - trust-program-controlled resolver domains

Do not allow in trusted mode: - generic public shorteners - uncontrolled third-party marketing shorteners - nested shorteners unless explicitly approved

Examples: - allowed: https://go.restaurant.example/m1 - allowed: https://trust.example/r/abc123 - not allowed: https://bit.ly/abc123

2. Signed claims

The signed claims should distinguish: - resolver_url - expected_final_url - allowed_redirect_hosts - max_redirect_hops - campaign_id or analytics_tag if needed - normal trust fields such as issuer, status window, and nonce

3. Verification flow

Verifier steps: 1. verify issuer and signature 2. verify issuer status 3. verify that the resolver domain is itself approved 4. resolve the redirect chain in a controlled verifier context 5. compare the final destination with the expected final URL or approved destination policy 6. enforce scheme, host, and hop rules 7. reject nested shorteners unless explicitly permitted 8. optionally run runtime safety checks on the final destination

Scanner UX implications

The scanner should show: - resolver domain - final destination - trust state

It should not show only the short URL as if that were the final trusted destination.

Recommended user-facing states: - Verified issuer; final destination confirmed - Verified issuer; redirect policy violation - Verified issuer; final destination mismatch - Verified issuer; final destination risky - Unverified short URL

Analytics guidance

Analytics are legitimate for: - campaign measurement - coarse source tracking - QR operational metrics

But they should be minimized in a trust system.

Prefer: - event counts - campaign tokens - coarse referral classification

Avoid: - invasive fingerprinting - broad cross-site profiling - opaque analytics collection that undermines the credibility of the trust layer

Design recommendation

Best pattern: - QR points to an issuer-controlled resolver - resolver logs minimal analytics - resolver performs a strict, policy-bound redirect - verifier binds resolver and final destination together

Example: - QR contains https://go.music-teacher.example/l1 - signed claims bind: - expected final destination: https://music-teacher.example/lessons - allowed hosts: go.music-teacher.example, music-teacher.example - max redirect hops: 1

Bottom line

Short URLs are not the problem by themselves.

Uncontrolled redirect flows are.

A trusted QR system should therefore treat redirect validation as a first-class part of destination binding, not as an optional follow-up check.