Privacy policy
Last updated September 16, 2026
QRNever is designed to collect as little as possible. There are no user accounts.
Static QR codes
Static codes, including bulk generation, are created entirely in your browser. The content you type (URLs, Wi-Fi passwords, contact details, CSV files) is not sent to our servers. Scanning a static code never contacts QRNever.
Payments
Payments are processed by Stripe. We receive confirmation of payment, the product purchased and the email address you give Stripe, which we use only to help you recover a lost license key or handle refunds. We never see or store your card details.
License keys
Your license key is stored in your browser's local storage so paid features work on that device. A one-way hash of the key is used to associate dynamic codes with your license.
Dynamic QR codes
For dynamic codes we store the short link, destination URL, optional title and timestamps. When someone scans a dynamic code we record the time, a two-letter country code derived by our hosting provider from the request, and a rough device category (iOS, Android, desktop or other). We do not store IP addresses, precise location or full user-agent strings, and we don't use cookies for tracking.
Analytics
We use Vercel Web Analytics and Google Analytics 4 in cookieless mode (Consent Mode with all storage denied) to count page views. Neither identifies individual visitors. It sets no cookies and receives only the page path, never query strings, and never your QR contents or license key. Google processes your IP address to estimate a rough location; Google Analytics 4 does not log or store IP addresses.
Service providers
- Vercel (hosting and analytics)
- Google (Google Analytics 4, cookieless)
- Supabase (database for dynamic codes)
- Stripe (payments)
Retention and deletion
Deleting a dynamic code removes it and its scan records. To request deletion of payment-related records, email hello@qrnever.com; we'll keep only what tax law requires.
Contact
Questions about privacy: hello@qrnever.com.