Stand: 25. Oktober 2026 | Version 1.4.0
Der Schutz Ihrer persönlichen Daten ist uns ein zentrales Anliegen. Die App Preisroute wurde nach dem Grundsatz „Privacy by Design“ und der „Fat-Client / Zero-Server-Cost“-Architektur entwickelt. Das bedeutet: Ihre sensiblen Einkaufs- und Kundendaten verbleiben standardmäßig lokal auf Ihrem eigenen Endgerät.
1. Verantwortlicher
Verantwortlich für die Datenverarbeitung im Sinne der EU-Datenschutz-Grundverordnung (DSGVO):
Florian Oberhumer
Eggerding 6, 4673 Gaspoltshofen, Österreich
E-Mail: florian@oberhumerdesign.at
Web: https://smartkorb-at.web.app
Österreich 🇦🇹
2. Berechtigungen der App & Zweck der Verarbeitung
Kamerazugriff (android.permission.CAMERA)
Die App fordert Zugriff auf Ihre Kamera an. Diese Berechtigung wird ausschließlich für folgende Funktionen auf dem Gerät genutzt:
- Barcode- & EAN-Scanner: Zum blitzschnellen Scannen von Lebensmittel-Barcodes im Supermarkt zwecks Preisvergleich.
- Kundenkarten-Scanner: Zum Abscannen des Barcodes oder QR-Codes Ihrer bestehenden Kundenkarten (z. B. Jö Bonus Club, Spar App, Lidl Plus, dm, Payback), um die Kartennummer digital in Ihrem lokalen Wallet zu hinterlegen.
- Kassenbon- & Prospekt-Erkennung (Optional): Falls Sie die optionale KI-Kassabon-Erkennung nutzen, wird das Foto zur Texterkennung herangezogen. Bon-Fotos bleiben nur lokal auf Ihrem Gerät.
Wichtig: Es werden keine Kamerabilder, Videos oder Foto-Streams an unsere Server übertragen. Die Bildanalyse für Barcodes erfolgt in Echtzeit direkt im flüchtigen Arbeitsspeicher Ihres Endgeräts (Native On-Device Camera Stream).
Mikrofon für die Spracheingabe (android.permission.RECORD_AUDIO)
Das Mikrofon wird erst genutzt, wenn Sie auf das Mikrofon-Symbol tippen und den Zugriff erlauben. Die Erkennung übernimmt der Spracherkennungsdienst Ihres Geräts (meist Google), wenn möglich offline auf dem Gerät. Preisroute erhält nur den erkannten Text und speichert keine Audioaufnahmen.
English: The microphone is used only after you tap the mic button and allow access. Your device's speech recognition service (usually Google) does the recognition, offline on the device where possible. Preisroute receives only the recognized text and stores no audio recordings.
Vibrationsalarm (android.permission.VIBRATE)
Dient ausschließlich dem haptischen Feedback bei erfolgreichem Scan eines Barcodes oder beim Abhaken eines Artikels.
Netzwerkzugriff (android.permission.INTERNET & ACCESS_NETWORK_STATE)
Wird ausschließlich benötigt, um:
- den aktuellen, öffentlichen Produkt- und Preiskatalog aus Google Firebase Cloud Firestore abzurufen,
- optionale gemeinsame Einkaufslisten mit Haushaltsmitgliedern über einen 6-stelligen Code zu synchronisieren,
- öffentlich zugängliche Produktinformationen bei OpenFoodFacts abzurufen,
- Supermarktfilialen in Ihrem Umkreis via OpenStreetMap (Overpass API) abzufragen,
- Treibstoffpreise (E-Control Spritpreisrechner) und Ladestellen (ladestellen.at) in Ihrer Nähe abzufragen.
Standort (android.permission.ACCESS_COARSE_LOCATION / ACCESS_FINE_LOCATION)
Nur wenn Sie „In meiner Nähe“ wählen, liest die App einmalig Ihre Position (GPS). Die Koordinate wird für diese Suche an OpenStreetMap, die E-Control (Spritpreise) bzw. ladestellen.at (Ladestellen) gesendet und nicht von Preisroute gespeichert. Alternativ geben Sie einen Ort oder eine Postleitzahl ein; der gespeicherte Ort bleibt auf Ihrem Gerät.
3. Lokale Datenspeicherung (Lokaler Speicher & Keystore)
Folgende Daten werden ausschließlich lokal auf Ihrem Smartphone gespeichert:
- Kundenkarten (Loyalty Wallet): Barcode-Typ, Kartennummer und Name der Karte werden lokal in SQLite (Drift) bzw. im App-Sandbox-Speicher gesichert.
- Einkaufslisten & Stammartikel: Ihre aktiven und erledigten Einkaufsartikel sowie Kaufhäufigkeiten zur automatischen Stammartikel-Erkennung werden lokal gespeichert.
- Ersparnis-Cockpit & Budget: Ihr monatliches Sparziel und die berechneten Ersparnisse verbleiben auf Ihrem Gerät.
- Eigener Gemini API-Key (BYOK - Bring Your Own Key): Falls Sie KI-Funktionen nutzen, wird Ihr persönlicher Google Gemini API Key im verschlüsselten Hardware-Keystore des Betriebssystems (via
flutter_secure_storage) verschlüsselt hinterlegt.
4. Cloud-Dienste & Drittanbieter
Google Firebase (Authentication, Cloud Firestore, Hosting, Crashlytics)
Anbieter ist Google Ireland Ltd. bzw. Google LLC (USA); Übermittlungen in die USA stützen sich auf das EU-US Data Privacy Framework und Standardvertragsklauseln. Wir nutzen Firebase ausschließlich für:
- Konto (Firebase Authentication, Optional): E-Mail-Adresse, Passwort-Hash bzw. Google-Konto-Kennung, Anzeigename und Anmeldezeitpunkte. Ohne Konto funktioniert die eigene Liste nur auf dem Gerät.
- Konto-Listen (Optional): Mit Konto werden Ihre eigenen Listen als je ein Dokument unter Ihrer Nutzer-ID gespeichert, damit sie auf Ihren Geräten gleich sind.
- Preismeldungen (Optional): Melden Sie einen abweichenden Preis (auch aus einem Kassabon-Scan), speichern wir Produkt, Kette, gemeldeten und bisherigen Preis, Zeitpunkt, Ihre Nutzer-ID und Haushalts-ID – nie ein Bild oder eine Adresse. Nur Sie selbst können Ihre Meldungen lesen; wir prüfen sie und übernehmen sie anonym in den Katalog. Preise von Bons bei LIDL und Maximarkt teilen Sie freiwillig und nur nach Ihrem Haken je Scan (Produktname, Preis, Packungsgröße, Kette, Datum, Nutzer-ID).
- Absturzberichte (Crashlytics, nur Android): Bei einem Absturz werden Fehlerverlauf, Gerätemodell, Android- und App-Version sowie eine zufällige Installations-ID gesendet, damit wir Fehler beheben können. Keine Listeninhalte, keine Werbe-ID. Die Web-App sendet keine Absturzberichte.
- Hosting der Web-App: Bereitstellung der statischen App-Assets unter
https://smartkorb-at.web.app. - Öffentlicher Katalog (catalog_bundles): Nur lesender Zugriff auf die anonyme, komprimierte Supermarkt-Preisdatenbank.
- Gemeinsame Haushaltsliste (Optional): Wenn Sie sich mit einem Haushaltscode verbinden, wird die Einkaufsliste verschlüsselt in einem Firestore-Dokument gehalten, damit Haushaltsmitglieder dieselben Artikel sehen. Haushaltsmitglieder sehen Ihren Vornamen (aus dem Anzeigenamen Ihres Kontos, sonst „Mitglied“, nie Ihre E-Mail-Adresse) bei Artikeln, die Sie hinzufügen, und während Sie einkaufen. Die Anzeige beim Einkaufen können Sie in den Einstellungen („Anderen zeigen, wenn ich einkaufe“) abschalten.
English: Household members see your first name (from your account's display name, otherwise "Member", never your e-mail address) on items you add and while you shop. You can turn off showing it while you shop in Settings ("Show others when I'm shopping").
Spritpreise & Ladestellen
- E-Control Spritpreisrechner: Für den Tab „Tanken“ fragt Ihr Gerät direkt bei der E-Control (Österreich) die Preise der Tankstellen rund um die gewählte Koordinate ab. Übertragen werden Koordinate, Treibstoffart und die technischen Verbindungsdaten. Preisroute steht in keiner Verbindung zur E-Control.
- ladestellen.at: Für E-Ladestellen fragt Ihr Gerät das Ladestellenverzeichnis der E-Control mit Koordinate und Verbindungsdaten ab.
- Fahrtenbuch: Fahrzeuge, Tankungen und Fahrten (inkl. optionaler Belegfotos) bleiben auf Ihrem Gerät, bis Sie selbst ein PDF oder CSV exportieren.
OpenFoodFacts & OpenStreetMap
- OpenFoodFacts API: Ruft bei unbekannten EAN-Barcodes den Produktnamen und Nährwerte anonym ab. Es werden keine Nutzerdaten übermittelt.
- OpenStreetMap (Overpass API): Ermittelt nahegelegene Supermärkte. Wenn Sie eine Umkreissuche starten, wird Ihre ungefähre Koordinate anonymisiert an den OSM-Server geschickt. Es erfolgt kein Bewegungstracking.
KI-Anbieter (Optional)
Free (eigener Schlüssel, BYOK): Sofern Sie KI-Funktionen (z. B. Kassabon, Flugblatt, „Rezept-zu-Einkaufsliste“) nutzen, werden Ihre Eingaben bzw. Bilder direkt von Ihrem Smartphone mit Ihrem eigenen API-Schlüssel an den von Ihnen gewählten Anbieter (Google Gemini, OpenAI, Anthropic oder OpenRouter) übertragen. Es gelten dessen Datenschutzbestimmungen.
Pro (Preisroute KI): Anfragen laufen über unsere Cloud Function an Google Vertex AI in der EU (Region europe-west1). Bilder und Texte werden von uns nicht gespeichert; wir zählen nur Ihre monatlichen KI-Aktionen (Limit 300 pro Monat und Person).
Anonyme Crowd-Preise (Opt-in)
Nur wenn Sie je Scan zustimmen, werden Kette, Filiale, Produkt, Preis, Rabatt und Datum von Kassabon-Preisen anonym übermittelt – nie Fotos.
Zahlungen (Stripe, Google Play)
Pro-Abos werden über Stripe Payments Europe, Ltd. (Web) bzw. Google Play Billing (Android) abgewickelt. Zahlungsdaten (z. B. Kartennummer) erhalten ausschließlich diese Anbieter; wir erhalten Abo-Status, Rechnungsland und E-Mail-Adresse zur Berechtigungsprüfung.
Werbung (AdMob, AdSense; nur Free)
In der Free-Version kann dezente Werbung über Google AdMob (App) bzw. Google AdSense (Web) angezeigt werden, sobald sie aktiv ist, und nur mit Ihrer Einwilligung. Pro ist werbefrei.
Teilen an Preisroute & Rezeptseiten
Text, den Sie aus einer anderen App an Preisroute teilen, wird auf Ihrem Gerät ausgewertet und erst nach Ihrer Bestätigung zur Einkaufsliste hinzugefügt. Teilen Sie einen Rezept-Link, lädt Ihr Gerät die Seite direkt vom jeweiligen Anbieter und sendet den Rezepttext (höchstens etwa 20.000 Zeichen) mit Ihrem eigenen API-Schlüssel an den gewählten KI-Anbieter. Über Server von Preisroute läuft dabei nichts.
English: Text you share to Preisroute from another app is processed on your device and added to your list only after you confirm. If you share a recipe link, your device loads the page directly from its website and sends the recipe text (at most about 20,000 characters) to the Google Gemini API with your own API key. None of this passes through Preisroute servers.
Startbildschirm-Widget
Wenn Sie das optionale Widget hinzufügen, zeigt es den Listennamen und bis zu sechs offene Artikel auf Ihrem Startbildschirm. Diese sind dort für alle sichtbar, die Ihr Gerät sehen. Die Daten bleiben auf dem Gerät.
English: If you add the optional widget, it shows the list name and up to six open items on your home screen, visible to anyone who can see your device. The data stays on the device.
5. Kein Tracking
Preisroute bindet keine Analytics-Tracker (wie Facebook Pixel, Adjust etc.; Crashlytics dient nur Absturzberichten, siehe oben) und keine Nutzer-Profiling-Dienste ein. Werbung in der Free-Version siehe Abschnitt 4 (nur mit Einwilligung).
6. Ihre Rechte nach der DSGVO
Sie haben das Recht auf:
- Auskunft (Art. 15 DSGVO) über die verarbeiteten Daten,
- Berichtigung (Art. 16 DSGVO) unrichtiger Daten,
- Löschung (Art. 17 DSGVO): siehe Abschnitt 7,
- Beschwerde bei der Österreichischen Datenschutzbehörde (dsb.gv.at).
7. Konto und Daten löschen
In der App: Profil (oben rechts) → Konto → „Konto löschen“. Dabei werden Ihre Konto-Listen, Preismeldungen und Einladungen gelöscht, Sie verlassen alle Haushalte (als letzte Person wird der Haushalt samt Liste gelöscht) und zuletzt das Konto selbst. Daten nur auf dem Gerät (Kundenkarten, Fahrtenbuch, lokale Listen) entfernen Sie durch Deinstallieren der App oder Löschen der App-Daten.
Ohne Zugriff auf die App: schreiben Sie von der Konto-E-Mail-Adresse an florian@oberhumerdesign.at; wir löschen innerhalb von 30 Tagen. Diese Anleitung: https://smartkorb.oberhumerdesign.at/datenschutz#loeschen
English: In the app: Profile (top right) → Account → "Delete account". Without the app, e-mail florian@oberhumerdesign.at from your account address; we delete within 30 days.
8. Impressum
Betreiber und Kontakt: siehe Impressum.