Last updated: April 5, 2026
SQRL ("we", "our", "the app") is built with privacy as a core principle. This policy explains what data we collect (almost nothing) and how we handle it.
SQRL is designed to protect your privacy, not compromise it. We believe privacy is a fundamental right, not a feature to upsell.
SQRL stores the following data locally on your device only, encrypted with AES-256:
This data never leaves your device. It is encrypted at rest and only accessible within the SQRL app. You can delete all stored data at any time from Settings → Clear All History.
SQRL requires camera access solely to scan QR codes. Camera data is processed in real-time on your device and is never recorded, stored, or transmitted. No images are saved unless you explicitly use the gallery import feature.
When you scan a URL, SQRL may check it against the Google Safe Browsing API to detect phishing and malware. This check:
You can disable this feature in Settings → Security → Malicious URL Detection.
SQRL's tracker stripping engine runs entirely on your device. No URLs or tracking parameters are transmitted anywhere. The list of known tracker parameters is bundled with the app.
If you purchase a SQRL Pro subscription, the transaction is handled entirely by Apple (App Store) or Google (Play Store). We do not receive or store your payment information. We receive only a confirmation of your subscription status.
SQRL uses the following third-party services:
When you scan a retail barcode (EAN-13, EAN-8, UPC-A, UPC-E, or ISBN), SQRL queries the Open Food Facts database to show you the product name, brand, category, and image if available. This lookup:
You can disable product lookup at any time in Settings → Security → Product Lookup. When disabled, no barcode data leaves your device.
SQRL records a small set of anonymous, count-only events to help us understand how the app is used. Each event is one of:
app_opened — the app was launchedqr_scanned — a QR or barcode was scannedqr_generated — a QR was created and shared from the Generate tabpaywall_viewed / paywall_dismissed — the Pro upgrade screen was opened or closedsubscription_started / subscription_restored — a subscription event occurred (when subscriptions are live)safety_warning_shown — a phishing or malware warning was displayedEach event includes only the event name, a random anonymous ID generated on first launch, and a timestamp. We do not record:
These events are stored in our self-managed Supabase database hosted in the European Union. You can disable usage counts at any time in Settings → Privacy inside the app. The opt-out takes effect immediately.
When SQRL crashes, an anonymized crash report may be sent to our crash reporting service (Sentry, EU-hosted) so we can fix the bug. Crash reports include the type of error, where in the code it occurred, the app version, and the OS class (iOS or Android). Before sending, the report is filtered to remove:
You can disable crash reports at any time in Settings → Privacy inside the app. When disabled, no crash data leaves your device.
This marketing website uses Vercel Web Analytics to count anonymous page views. It is configured for the strictest privacy:
This data is used solely to understand how many people visit the site. The SQRL mobile app itself contains no website-tracking code.
SQRL does not knowingly collect information from children under 13. The app does not require account creation or personal information.
We may update this policy from time to time. Changes will be posted on this page with an updated "Last updated" date. Continued use of the app constitutes acceptance of the updated policy.
Questions about this privacy policy? Email us at privacy@sqrl.cam