Datenschutzerklärung
Stand: Juni 2025 · App-Version 1.0 · Bundle-ID: com.laurinschwegler.euroguide
1. Verantwortlicher
Laurin Schwegler
[Postadresse eintragen]
Schweiz
E-Mail: [email protected]
Diese App ist ein nicht-kommerzielles Maturitätsarbeit-Projekt. Es erfolgt keine gewerbsmäßige Datenverarbeitung.
2. Grundsätze
EuroGuide verarbeitet nur Daten, die für den Betrieb der App zwingend erforderlich sind. Es findet weder Tracking noch Werbung statt. Es werden keine Analyticsdaten, Werbe-IDs oder Gerätefingerabdrücke erhoben.
3. Erhobene Daten und Verwendungszwecke
3.1 Standortdaten (CoreLocation)
Die App fragt nach der Standortberechtigung für zwei Zwecke:
- Karten-Standortanzeige: Dein aktueller Standort wird lokal auf dem Gerät angezeigt. Er wird nicht an den Server übertragen.
- Geofencing: Bis zu 20 kreisförmige Park-Zonen (CLCircularRegion) werden überwacht. Bei Zoneneintritt wird ausschließlich die anonyme Zonen-ID (eine Zeichenkette wie
zone_adventureland) per HTTPS anep.connect-laur.ingemeldet – keine GPS-Koordinaten.
Berechtigungen: NSLocationWhenInUseUsageDescription (Standard) und NSLocationAlwaysAndWhenInUseUsageDescription (optional, für Hintergrund-Geofencing).
Standortdaten werden auf dem Server nicht protokolliert und nicht gespeichert.
3.2 Push-Benachrichtigungen (APNs)
Mit deiner Zustimmung erhält die App einen APNs-Gerätetoken. Dieser wird:
- lokal in den UserDefaults unter dem Schlüssel
apns.deviceTokengespeichert, - per HTTPS an
ep.connect-laur.in/notifications/registerübermittelt, - auf dem Server gespeichert, um dir kontextuelle Tipps bei Zoneneinrtitt zuzusenden.
Du kannst Push-Benachrichtigungen jederzeit in den iPhone-Einstellungen unter Mitteilungen → EuroGuide deaktivieren. Der gespeicherte Token wird dann bei der nächsten App-Öffnung deregistriert.
3.3 Anonyme Geräteidentifikation
Beim ersten App-Start wird eine zufällige UUID (auth.deviceID) erzeugt und lokal gespeichert. Sie dient der Authentifizierung gegenüber der API (OAuth2 Client-Credentials-Flow) und wird auf dem Server zusammen mit der gewählten App-Sprache gespeichert. Es sind keine Rückschlüsse auf deine Person möglich.
In UserDefaults gespeichert: auth.refreshToken, jwt_token, auth.deviceID.
Auf dem Server gespeichert: device_id, language.
3.4 Lokaler Cache
Folgende Daten werden lokal im App-Cache gespeichert und verlassen das Gerät nicht:
~/Library/Caches/EuroGuideAPI/waitTimes.json– Wartezeiten~/Library/Caches/EuroGuideAPI/showTimes.json– Show-Zeiten~/Library/Caches/EuroGuideAPI/openingTimes.json– Öffnungszeiten- Attraktions-Details und POI-Listen
~/Library/Caches/EuroGuideRouter/walkgraph.json– Fußweg-Graph (max. 7 Tage)tiles.db– Offline-Kartenkacheln (1,5 MB, mitgeliefert im App-Bundle)
Der Cache kann jederzeit über die iPhone-Einstellungen (Allgemein → iPhone-Speicher → EuroGuide → Offlinedaten löschen) oder durch Deinstallation der App gelöscht werden.
4. Externe Dienste
| Dienst | Zweck | Übertragene Daten |
|---|---|---|
| ep.connect-laur.in (eigene API) | Wartezeiten, Shows, Attraktionen, KI-Planung, Push | JWT, device_id, language, ggf. Zone-ID |
| Overpass-API (OpenStreetMap) | Fußweg-Graph beim Erststart | Nur Bounding-Box-Query; keine Nutzerdaten |
| Valhalla / FOSSGIS-Routing | Routing-Fallback | Start- und Zielkoordinaten (Parkgelände) |
| Apple Push Notification Service (APNs) | Push-Zustellung | APNs-Gerätetoken |
| MapLibre Native | Offline-Kartendarstellung | Keine Netzwerkkommunikation |
5. Was die App nicht erfasst
- Keine Analytics oder Nutzungsstatistiken
- Kein Tracking, keine Werbe-IDs, kein Fingerprinting
- Kein Zugriff auf HealthKit, Kontakte, Fotos, Mikrofon oder Kamera
- Keine permanenten Standortprotokolle auf dem Server
- Kein Apple Sign-In, keine E-Mail-Adresse, kein Passwort
6. Datensicherheit
Die gesamte Kommunikation mit der API erfolgt über HTTPS (TLS 1.2+). Zugriffstokens werden im iOS-Keychain oder in UserDefaults gespeichert und nicht an Dritte weitergegeben.
7. Deine Rechte
Du hast das Recht auf Auskunft, Berichtigung und Löschung deiner Daten. Da die einzige serverseitig gespeicherte Information deine anonyme device_id und Sprachpräferenz ist, genügt es, die App zu deinstallieren oder mich per E-Mail zu kontaktieren.
Kontakt: [email protected]
8. Drittanbieter-Lizenzen
Die App verwendet folgende Open-Source-Komponenten:
- OpenStreetMap – Kartendaten © OpenStreetMap-Mitwirkende, ODbL 1.0
- MapLibre Native iOS – BSD 3-Clause
- Valhalla / FOSSGIS-Public-Routing – Mozilla Public License 2.0
- Swift OpenAPI Generator / Runtime – Apache 2.0
- Yams, swift-collections, swift-algorithms, swift-numerics – Apache 2.0
9. Änderungen dieser Datenschutzerklärung
Bei wesentlichen Änderungen wird die App-interne Datenschutzerklärung aktualisiert und das Datum am Anfang dieses Dokuments angepasst. Für ein nicht-kommerzielles Schulprojekt sind grundlegende Änderungen an der Datenverarbeitungslogik nicht geplant.