Android-App / Privacy-first Scanner Android app / privacy-first scanner

Private QR Scanner

QR-Codes und Barcodes schnell scannen, aus Bildern auslesen und lokal auswerten. Die App ist offline-first gebaut und verzichtet bewusst auf Werbung, Tracker, Backend und Internet-Berechtigung. Scan QR codes and barcodes quickly, detect codes from images, and process results locally. The app is built offline-first and avoids ads, trackers, backend services, and the Android Internet permission.

Android Kotlin Jetpack Compose CameraX ML Kit
Offline-first Scan-Verarbeitung auf dem Gerät On-device scan processing
Ohne WerbungNo ads Keine Tracker oder Analytics No trackers or analytics
Lokale HistorieLocal history Optional und standardmäßig aus Optional and off by default
MVP Android Phone und Tablet zuerst Android phone and tablet first

Für Alltagsscans und Event-Check-ins For everyday scans and event check-ins

Das Repository beschreibt zwei auswählbare Nutzungsprofile: private Alltagsscans und Event- beziehungsweise Ticketing-Flows mit Stapelmodus. The repository defines two selectable use-case profiles: everyday personal scanning and event or ticketing flows with batch mode.

Alltag Everyday use

Restaurant-Menüs, Produktcodes und Weblinks scannen, Inhalte kopieren oder teilen und Links mit lokalem Risikohinweis öffnen. Scan restaurant menus, product codes, and website links, copy or share results, and open links with local risk warning support.

Event & Ticketing Event & ticketing

Tickets in schneller Folge erfassen, wiederholte Einträge im Blick behalten und Stapelergebnisse für die Abstimmung teilen. Capture tickets in quick succession, keep repeated entries visible, and share batch captures for organizer reconciliation.

Scan-Ergebnisse, die direkt nutzbar sind Scan results that are ready to use

Die App geht über das reine Anzeigen eines Textwerts hinaus: erkannte Inhalte werden strukturiert dargestellt und mit passenden Android-Aktionen verbunden. The app goes beyond showing a raw text value: detected content is presented structurally and connected to useful Android actions.

Live-ScannerLive scanner

CameraX-Vorschau, Fadenkreuz-Overlay, Taschenlampe und Schutz vor Doppelscans.CameraX preview, aiming overlay, flashlight, and duplicate scan debounce.

Bild-ScanImage scan

Mehrere Codes aus einem gewählten Bild erkennen, auswählen und bei Bedarf mit Zoom erneut prüfen.Detect multiple codes from a selected image, choose results, and re-check with zoom when needed.

KontaktkartenContact cards

vCard und MECARD parsen, als visuelle Kontaktkarte anzeigen und an Kontakte übergeben.Parse vCard and MECARD data, show a visual contact card, and pass it to contacts.

Wi-Fi & Kalender

WLAN-QRs und Kalenderdaten strukturieren und passende Android-Workflows öffnen.Structure Wi-Fi QR codes and calendar data, then open suitable Android workflows.

URL-HinweiseURL hints

Lokale Risikobewertung zeigt Warnungen, ohne die Entscheidung zum Öffnen zu blockieren.Local risk scoring shows warnings without blocking the user's decision to open.

HistorieHistory

Optionale lokale Historie mit Suche, Detailansicht, Löschen und Exportformaten.Optional local history with search, detail view, deletion, and export formats.

Datenschutz Privacy

Die App ist um lokale Verarbeitung herum gebaut The app is built around local processing

Scans, ausgewählte Bilder, Einstellungen und optionale Historie bleiben nach Projektbeschreibung auf dem Gerät. Daten verlassen das Gerät nur, wenn Nutzerinnen oder Nutzer bewusst eine Android- oder Drittanbieter-Aktion auslösen. According to the project documentation, scans, selected images, settings, and optional history stay on the device. Data leaves the device only when the user intentionally starts an Android or third-party action.

01

Keine ServercallsNo server calls

Kein Backend und keine Android-INTERNET-Permission im Manifest.No backend and no Android INTERNET permission in the manifest.

02

Keine Tracking-SDKsNo tracking SDKs

Keine Werbung, Analytics, Tracker oder Crashlytics.No ads, analytics, trackers, or Crashlytics.

03

Bewusste AktionenIntentional actions

Öffnen, Teilen, Anrufen, SMS, E-Mail, Kontakte oder Kalender laufen über vom Nutzer gewählte Android-Aktionen.Open, share, call, SMS, email, contacts, and calendar flows run through Android actions chosen by the user.

Technik Technology

Android-nativer Stack Native Android stack

UI
Kotlin, Jetpack Compose, MVVM
KameraCamera
CameraX, on-device ML Kit
DatenData
Room, DataStore, app-private storage
BuildBuild
JDK 17+, Android SDK compileSdk 35, API 24+

Saubere Trennung für ein kleines, prüfbares MVPClear separation for a small, reviewable MVP

Die Projektstruktur trennt Compose-Oberflächen, ViewModels, ML-Kit-Analyse, Room-Persistenz, App-Modelle, Einstellungen und Parser für vCard, MECARD, Wi-Fi und Kalenderdaten. The project structure separates Compose screens, ViewModels, ML Kit analysis, Room persistence, app models, settings, and parsers for vCard, MECARD, Wi-Fi, and calendar data.

Repository-KommandosRepository commands ./gradlew :app:assembleDebug ./gradlew testDebugUnitTest

Roadmap

Die Roadmap im Repository zeigt viele abgeschlossene Quick Wins und benennt als nächste sinnvolle Schritte Import, Tags und weitere Sicherheitsfunktionen. The repository roadmap shows many completed quick wins and identifies import, tagging, and additional security functions as sensible next steps.

AbgeschlossenCompleted

  • Stapelmodus-Polish und Pro-Eintrag-AktionenBatch mode polish and per-item actions
  • CSV- und JSON-ExportformateCSV and JSON export formats
  • Live-Lesbarkeitsfeedback und Scan-StabilisierungLive readability feedback and scan stabilization

Als NächstesNext

  • Historie aus CSV/JSON wiederherstellenRestore history from CSV/JSON
  • Duplikate und Merge-Regeln behandelnHandle duplicates and merge policy
  • Tags, Ordner und Filter-Chips ergänzenAdd tags, folders, and filter chips

AusbauExpansion

  • Erweiterte lokale URL-Prüfungen und optionaler Strict ModeExpanded local URL checks and optional strict mode
  • Vollständiger Backup-/Restore-FlowFull backup and restore flow
  • Adaptive Kameraqualität für schwierige CodesAdaptive camera quality for difficult codes

Private QR Scanner ansehen oder mitentwickeln View or contribute to Private QR Scanner

Der Code, die Use Cases, die Roadmap und die Datenschutzerklärung liegen im Gitea-Repository. The source code, use cases, roadmap, and privacy policy are available in the Gitea repository.