← QR Lens

Privacy Policy for QR Lens

Last updated: May 2026

What data QR Lens collects

On the first launch of each calendar day, QR Lens contacts our server to check whether an app update is recommended or required. As part of this request, the app sends a SHA-256 hash of a randomly generated, device-local identifier stored in the iOS Keychain. This hash is used solely to count how many devices use the app each day. The hash cannot be reversed to identify your device or you, is not linked to your identity, and is never shared with third parties.

No name, email address, IP address, location, or any other personal data is collected or stored.

Camera access

QR Lens requests access to your device camera solely to detect and decode optical codes (QR, barcode, Data Matrix, PDF417, Aztec, and 1D barcodes). Camera frames are processed on-device in real time using Apple's Vision framework. No camera data is transmitted off your device.

Photo library access

QR Lens may request access to your photo library if you choose to import an existing image to scan a code from it. Photos are accessed only when you explicitly select them. No photos are transmitted off your device.

Scanned code data

All decoded payload data — including Wi-Fi credentials, contacts, OTP secrets, URLs, and raw bytes — is stored only in the app's local library on your device. It is never uploaded to our servers or transmitted to any third party.

Sharing and export

When you export a capture as JSON, Markdown, or Excel, the file is generated on your device and handed to the iOS standard share sheet. You choose where to send it. QR Lens has no involvement in or knowledge of the destination.

No URL preview, no SKU lookup, no AI

QR Lens does not preview URLs, does not look up product information from barcodes, and does not use AI or any cloud service to interpret scanned data. Decoding and parsing happens entirely on your device.

Children

QR Lens does not knowingly collect data from anyone, including children under 13.

Changes to this policy

If this policy changes, the updated version will be posted at this URL with an updated date.

Contact

For any questions, please open an issue at github.com/henriklex/qrlens/issues.