Executive Summary
Indic QR is designed from the ground up as an offline-first, zero-telemetry utility. We believe your barcode scans, Wi-Fi credentials, contact details, and web browsing activities are strictly personal.
- We collect zero personal data.
- We operate with zero advertising networks or tracking SDKs.
- The application contains no internet permission (android.permission.INTERNET is omitted from the manifest).
- All computer vision analysis and QR generation runs 100% locally on your device.
Data Categories & Handling
A. Camera Frames & Visual Feed
- Purpose: Used solely for real-time optical scanning of barcodes and QR codes.
- Handling: Video frames captured by CameraX are processed strictly in ephemeral memory using ZXing algorithms.
- Retention: Zero frames or photos are saved to disk, cached, or transmitted anywhere. The camera stream is closed as soon as the scanner is dismissed or paused.
B. Decoded Barcode & QR Data
- Purpose: To present you with the decoded text, URL, Wi-Fi configuration, or vCard.
- Handling: Once decoded, payloads are stored locally in an on-device SQLite database (indic_qr_database.db) using Android's Room library to provide your local "History" feature.
- Retention: Data remains exclusively in private app storage on your device until you choose to delete single items or tap "Clear All History".
C. Generated QR Codes
- Purpose: When you create a QR code for text, Wi-Fi, contact, or email, the bitmap is rendered in device RAM.
- Handling: If you choose to share the generated image, a temporary PNG file is placed in your private app cache directory (cacheDir/qr_codes/) and shared via Android's secure FileProvider.
Permissions Declared & Why
Indic QR requests only the minimum operating system permissions strictly required for its core utility:
1. android.permission.CAMERA
- Classification: Runtime permission.
- Why needed: To access the device camera sensor for real-time barcode scanning.
- Fallback: If you deny this permission, Indic QR remains completely functional. You can still scan images from your gallery or use the "Manual Code Fallback" dialog.
2. android.permission.VIBRATE
- Classification: Normal install-time permission.
- Why needed: To provide a brief haptic vibration pulse confirming when a barcode has been successfully recognized. Can be disabled anytime in Settings.
Indic QR does not request:
- No INTERNET permission (cannot communicate over networks).
- No ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION.
- No READ_CONTACTS or WRITE_CONTACTS (contacts are added via system intents where you explicitly confirm).
- No READ_EXTERNAL_STORAGE or MANAGE_EXTERNAL_STORAGE.
Safe Link Preview & Third-Party Sharing
Never Auto-Open Policy
Indic QR strictly prohibits opening scanned URLs automatically. To protect you against phishing, malicious downloads, and tracking parameters, every URL is displayed in plain text for your inspection. External navigation occurs only when you explicitly tap "Open in Browser", handing the link to your default Android browser.
User-Initiated Sharing
When you tap "Share", Indic QR invokes Android's standard system share sheet (ACTION_SEND). Data is transmitted only to the target app that you personally choose.
Third-Party Libraries & Telemetry Audit
Indic QR includes only lightweight, verified open-source libraries:
- AndroidX & Jetpack Compose (Google): Modern Android UI, lifecycle, and architecture components.
- CameraX (Google): Hardware camera abstraction.
- ZXing Core (Apache 2.0 License): Pure Java barcode encoding and decoding logic.
- Room & DataStore (Google): Local SQLite persistence and preference storage.
There are no analytics SDKs (such as Firebase Analytics, Google Analytics, Adjust, or AppsFlyer) and no ad libraries (such as AdMob or Unity Ads) included in this application.
Data Retention, Backup, and Deletion
- Local Storage: All history and preferences reside in Android's protected application sandbox (/data/data/com.indicstudio.qrtools/).
- User Deletion: You can permanently delete individual records or wipe the entire database at any time using the "Clear All History" button in the History screen.
- Operating System Backups: Indic QR respects Android system backup rules. If you uninstall the application, all locally stored history and preferences are automatically wiped by the Android OS.
Children's Privacy
Indic QR does not collect or transmit personal information from anyone, including children under the age of 13. It is safe for users of all ages.
Changes to This Policy
We may update this privacy statement if app capabilities change. Any updates will be reflected in future release notes and published on our website with a revised effective date.
Contact IndicStudio
For privacy questions about this preview build, email support@indicstudio.com. Include the app name and version so we can identify the relevant build.
Privacy questions? support@indicstudio.com