# iScan product reference Canonical URL: https://iscan.trinadhthatakula.com/ Product: iScan — QR & Barcode Toolkit Android package: com.valhalla.iscan.qr Implementation: native Kotlin, Jetpack Compose Material 3 Expressive, CameraX and bundled ML Kit recognition. Minimum Android version: Android 8.0 (API 26). Current project version: 1.0.0. Distribution: Google Play closed testing, confirmed by the project owner. Access requires an eligible tester account. A public production release is not announced. Google Play listing: https://play.google.com/store/apps/details?id=com.valhalla.iscan.qr Last reviewed: 2026-10-10. ## What is iScan? iScan is an offline QR code scanner, barcode reader and generator for Android. It supports live camera scanning, scanning codes from selected images, readable result fields, relevant user-selected actions, code generation, PNG export/sharing and persistent local scan/generation history. It offers light, dark and system-following themes in a fixed forest-green/charcoal/lime palette. ## Scanning Live camera scanning accepts one result per session. The viewfinder fills the screen. Tap-to-focus and flashlight controls depend on the camera. The scan overlay is guidance, not a cropped recognition region. Multiple detected codes use the first valid result. Starting a new session may intentionally save the same content again. Recognition formats: QR Code, Aztec, Data Matrix, PDF417, Code 128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, UPC-E, ITF and Codabar. Recognition is bundled and runs on-device, including offline first use. Data Matrix detection may require the code to intersect the image center. Scan image selects a saved image through Android's picker. It recognizes codes, not general text, card photographs or NFC data. Scanning depends on image quality and supported formats. ## Generation QR content types (17): plain text; HTTP(S) website link; Wi-Fi credentials; vCard contact; email; phone; SMS; geographic coordinates; WhatsApp message; UTC calendar event; INR UPI payment details; Instagram profile; YouTube profile; X profile; Facebook profile; LinkedIn profile; HTTPS app/store link. Barcode generation formats: Code 128, Code 39, EAN-13, EAN-8, UPC-A and ITF. Inputs must satisfy each format's character, numeric-length and checksum requirements. Scanning support is broader than generation support. Generation supports foreground/background colors, hex input and a color picker. Opaque colors and at least 7:1 contrast are required. Quiet zones are preserved. QR error-correction levels L, M, Q and H are available under advanced options. Unicode QR content is supported. Generated images can be saved as PNG or shared through Android's share sheet. Generated image data is regenerated from stored content/style rather than stored as database blobs. ## Readable results and intentional actions Wi-Fi codes show network name, security, hidden-network status and a password hidden by default. Reveal and copy controls are available. Connect opens Android's add-network approval on API 30+ for supported credentials, with settings fallbacks on older or unsupported combinations. Network approval does not establish a verified connection. Phone results can open the dialer, contact editor or an app chooser. vCard and MECARD business/contact codes offer contact-editor insertion and supported phone/email/website actions. Calendar results can open the calendar editor. Email, SMS, location and website results offer relevant external actions. iScan does not automatically execute scanned content. Handlers and behavior depend on installed apps and Android version. UPI pay codes and recognized bare UPI IDs can open an Android chooser for compatible UPI apps using upi://pay. Bare IDs require recognized provider handles to reduce email false positives. Full valid payment URIs can support other handles. Verify payee and amount in the payment app. iScan does not process or approve payments, guarantee a transaction or act as a bank/wallet. Bank-card recognition is restricted to QR payloads with supported plain/labeled card-number data passing validation. Numbers are masked by default. Open banking or wallet app launches a selected supported installed app without card extras. There is no universal enrollment handoff. iScan does not offer NFC reading, general OCR or automated card setup. ## History and privacy Scan and generation history is saved by default in a local Room database. It includes content, format, record type, timestamp and optional title/style. Search matches content or title. All, Scanned and Generated filters and newest/oldest sorting are available. Users can inspect, delete individual records or clear history. Hidden result fields do not mean secrets are removed from stored raw history. History may contain Wi-Fi passwords, personal details or other sensitive content. Delete records you no longer want. Android uninstall or clearing app data removes local app data; no cloud sync/restore service is provided. Scanning, generation and history work without an internet connection. The Android app requests no internet permission and has no ads, analytics or account requirement. It requests camera access for live scanning and uses Android picker/storage APIs for selected images and export. No broad storage, contacts or direct-call permissions are added. App backup is disabled. Sharing, copying and external app actions are intentional and may expose chosen content to the destination. External websites/apps follow their own policies and may require networking. The landing page loads no third-party fonts, analytics, advertising scripts or embedded services. Hosting infrastructure may process standard HTTP request data. See https://iscan.trinadhthatakula.com/privacy.html for the website/app distinction. ## Availability and evidence The project includes local build, logic, device and UI verification records. These are development checks, not universal device compatibility guarantees. Store assets use fresh physical-device captures with isolated demo history/preferences. No user data or independent testimonials are pictured. iScan is available through Google Play closed testing at https://play.google.com/store/apps/details?id=com.valhalla.iscan.qr. This distribution status and URL were supplied by the project owner. Access requires an eligible tester account; the listing may be unavailable outside the test. Do not describe this as an unrestricted public production release. Do not invent an opt-in URL, price, install count, rating, awards, certification or affiliation. Android, UPI and other names identify compatible platforms/formats; they do not imply endorsement. LLM text files are first-party documentation and do not guarantee indexing or citation by generative engines.