Security

QR Code Security: How to Avoid Malicious Redirects

Understand how QR code phishing works and what security controls — destination allowlists, tenant isolation, and safe 404s — protect your users from malicious redirects.

AArjun Mehta(Product Lead)12 August 20266 min read
QR Code Security: How to Avoid Malicious Redirects

Key takeaway

QR code phishing (quishing) is a growing threat. The good news: the right platform implements controls that make it nearly impossible to use your codes for malicious redirects — protecting both your brand and your users.

What is QR code phishing (quishing)?

Quishing is the practice of replacing or overlaying legitimate QR codes with ones that redirect to phishing sites, malware downloads, or fake login pages. Because most phones don't show a URL preview before redirecting, users are more vulnerable than with email links.

How attackers exploit QR codes

  • Physical overlay: A sticker placed over a legitimate code in a public place.
  • Destination hijack: An attacker compromises the account controlling a dynamic code and changes the destination.
  • Open redirect abuse: Using a trusted short domain with an arbitrary ?url= parameter to redirect to a malicious site.

Controls QRoute implements

Destination allowlist

QRoute only permits destinations using explicitly allowed URL schemes — primarily https://. The following are always blocked: javascript:, data:, credential-bearing URLs, private-network targets, and known phishing domains.

Tenant isolation

Every resolution checks that the incoming domain is owned by exactly one organisation and that the slug belongs to that same organisation. An unknown host or cross-tenant slug returns a generic 404 — no information leakage about whether the slug exists elsewhere.

Safe 404 for inactive codes

A paused, expired, or archived code returns a designed error page — not a redirect to any default destination. This prevents silent fallback attacks.

No open redirects

QRoute does not accept arbitrary ?url= or ?redirect= parameters. Only pre-validated stored destinations are ever used.

What you can do as an account holder

  • Enable two-factor authentication on your QRoute account.
  • Audit your API keys — rotate them regularly and scope them to minimum permissions.
  • Review the audit log for unexpected destination changes.
  • Set up webhook alerts for QR status changes.

Warning users before they scan

QRoute supports a configurable interstitial page for branded link destinations — a brief "you are leaving to X.com" warning that gives cautious users a moment to verify the destination before committing.

Topics:#qr security#qr phishing#safe qr code#qr code malware
Share article:X (Twitter)LinkedIn