This Privacy Policy describes how the QR and Barcode Maker and Reader Android application ("the App", "we", "us") handles information when you use it. By installing or using the App, you agree to the practices described below. The App includes a required account, cloud sync of your saved scans and codes, and on-device features such as scanning, code generation, voice search, and bulk import. This policy describes each of those clearly.
After sign-in, our server issues a bearer token (Laravel Sanctum) that the App stores locally on your device to keep you signed in.
When you save a scan or generate a code, the App sends the following fields to our server so your data is available on other devices:
| Field | Description |
|---|---|
client_id | A random per-record UUID generated on your device (used to de-duplicate during sync). |
kind | "qr" or "barcode". |
subtype | The detected content type (URL, Wi-Fi, contact, UPI, etc.). Optional. |
value | The decoded text/URL of the code, so you can search and re-open it later. |
label | A custom name you assign. Optional. |
folder_id / batch_id | Your organization metadata. Optional. |
favorite | Boolean star flag. Optional. |
source | "scan" or "generated". |
device | A short label for the device (e.g. "Pixel 8 · Android") to help you tell devices apart in multi-device sync. |
design | For generated codes only: your customization (foreground, background, dot style, eye style, logo flag). |
location, latitude, longitude | Your device's GPS location at the moment the code was created or scanned (see section 4). |
Saved scans on our server are visible only to your account. We do not aggregate them, sell them, or use them for advertising.
If you create a dynamic QR code in the App, our server hosts a short URL of the form https://<our-domain>/q/<code> and redirects scans of that QR to a destination you control. When the dynamic QR is scanned (by any device), our server records an anonymous scan event for your analytics — timestamp and the requesting country/region derived from the IP address. We do not retain the raw IP address beyond what is needed to derive the country and we do not track who scanned the code.
When you open the Generator screen or the QR Designer screen, the App requests the Android ACCESS_FINE_LOCATION permission and, if you grant it, reads your device's current GPS coordinates. The coordinates are then attached to any code you save from that screen and are uploaded along with the rest of the scan record to our server.
The location is not attached when:
You can revoke the permission at any time in Android Settings › Apps › QR and Barcode Maker and Reader › Permissions › Location. The App does not track your location in the background and never reads location outside of the Generator/Designer screens.
The following permissions are actively used by the App in the current version:
| Permission | Why the App uses it |
|---|---|
CAMERA | To scan QR codes and barcodes. Camera frames are processed on-device only. |
INTERNET | To communicate with our server for sign-in, sync, and dynamic-QR features. |
VIBRATE | Subtle haptic feedback when a scan succeeds. |
ACCESS_FINE_LOCATION | To attach GPS coordinates to codes you generate or design (see section 4). |
RECORD_AUDIO | Used only by the optional voice-search feature on the scanner detection sheet (Pro). Audio is processed by Android's on-device speech recognizer and is not stored or uploaded. |
READ_MEDIA_IMAGES / WRITE_EXTERNAL_STORAGE (Android ≤ 9) | Used when you pick an image from your gallery to scan a QR contained in it, or when you save a generated QR/barcode as a PNG to your device. |
The App's manifest also declares the following permissions, which are not used by the current code but may be exercised by future features in upcoming versions: ACCESS_COARSE_LOCATION, ACCESS_WIFI_STATE, CHANGE_WIFI_STATE, READ_CONTACTS, WRITE_CONTACTS. The current App does not read your contacts, does not change your Wi-Fi state, and does not read Wi-Fi information from your device. If and when these features become active, this policy will be updated before the feature ships.
All runtime permissions can be revoked in Android Settings › Apps › QR and Barcode Maker and Reader › Permissions.
A QR code can contain a URL, a UPI payment intent (upi://), a phone number, an SMS template, an email, a Wi-Fi network, a map location, or other actionable content. When you tap "Open", the App hands the URL or intent off to the appropriate app on your device (your browser, your UPI app such as Google Pay or PhonePe, your dialer, your maps app, etc.). The App does not log which URLs or payment intents you choose to open. Those destinations are governed by their own privacy policies. Always check the URL preview shown by the App before opening, since QR codes can be created by anyone.
You can:
The App contains no third-party advertising or analytics SDKs. The third-party code we do include is functional only:
Distribution is via Google Play, governed by Google's own privacy policy.
Communications between the App and our server use HTTPS/TLS. Passwords are hashed with bcrypt before storage. Authentication uses short-lived bearer tokens (Laravel Sanctum). Server-side data is stored in a private, access-controlled database. We do not have visibility into the plain-text passwords you choose.
QR and Barcode Maker and Reader is intended for users aged 13 and over, in line with Google account policies. We do not knowingly create accounts for, or store personal information about, children under 13.
If we materially change this Privacy Policy, we will update the "Last updated" date at the top of this page and, for changes that affect existing data practices, show an in-app notice the next time the App connects to our server.
Questions, requests for export or deletion of your data, or other privacy concerns?
Email: atulmore.refferer@gmail.com