Datenschutzerklärung
Stand: 7. September 2026
1. Verantwortlicher
Christopher Leifkes
Norbertstraße 53
48691 Vreden
Deutschland
E-Mail: [email protected]
2. Geltungsbereich und Grundsätze
Diese Erklärung gilt für die Website, die installierbare Progressive Web App (PWA) und die native Android-App von Zugbegleiter. Die Android-App ist eine eigene Kotlin-/Compose-Anwendung und kommuniziert für Konto, Ticket und Reisebegleitung direkt mit der geschützten Mobile-API. Wir verkaufen keine personenbezogenen Daten, verwenden keine Werbe-SDKs und erstellen keine werblichen Nutzerprofile. Daten werden nur verarbeitet, soweit dies für Konto, Reiseüberwachung, Benachrichtigungen, Sicherheit und die ausdrücklich gewählten Funktionen erforderlich ist.
3. Aufruf der Anwendung und Server-Protokolle
Beim Aufruf werden technisch erforderliche Verbindungsdaten verarbeitet, insbesondere IP-Adresse, Zeitpunkt, angeforderte Adresse, HTTP-Status, Browser-/Geräteangaben und gegebenenfalls technische Fehlerdaten. Das ist nötig, um die Anwendung auszuliefern, Angriffe abzuwehren und Fehler zu untersuchen. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO; unser berechtigtes Interesse ist ein sicherer und stabiler Betrieb. Für kostenintensive Funktionen speichert Zugbegleiter zusätzlich kurze nutzerbezogene Zeitfenster mit Funktionsname und Aufrufanzahl, jedoch ohne Ticketinhalt. Sie verhindern automatisierten Missbrauch. Web-Anwendung, API, Hintergrunddienst und PostgreSQL- Datenbank laufen auf unserem eigenen Server, verwaltet mit Docker und Dokploy. Die öffentliche Verbindung führt über Cloudflare Tunnel. Cloudflare verarbeitet dabei Verbindungs- und Sicherheitsdaten und leitet die Anfragen an unseren Server weiter; dazu können auch die Inhalte der übertragenen API-Anfragen gehören.
4. Anmeldung und Konto
Die Anmeldung und Kontoverwaltung erfolgt über Clerk. In der nativen Android-App werden E-Mail-Adresse mit Einmalcode oder Passwort verwendet; bei der Registrierung wird die E-Mail mit einem zugesandten Bestätigungscode geprüft. In Website und PWA können je nach der produktiv freigeschalteten Clerk-Konfiguration E-Mail-Einmalcode, Passwort oder Google-Anmeldung angeboten werden. Dabei verarbeitet Clerk insbesondere Anmeldedaten, interne Nutzer-ID, Anmeldezeitpunkte und bei Google-Anmeldung die freigegebenen Profilangaben wie Name. Zugbegleiter speichert in der eigenen Produktdatenbank nur die Clerk-Nutzer-ID und nicht dein Passwort oder den Bestätigungscode. Bei der nativen Registrierung erhält Clerk außerdem die aktiv bestätigten Fassungen von Datenschutzerklärung und Nutzungsbedingungen, den vom Gerät erfassten Zustimmungszeitpunkt und die Quelle „android“. Diese vom Client gesetzten Metadaten sind ein Betriebsvermerk, aber kein manipulationssicherer Nachweis. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO. Clerk setzt für Anmeldung und Sitzungsverwaltung technisch notwendige Cookies oder vergleichbare Speichermechanismen ein.
5. Ticket-PDF und Reisedaten
Wenn du ein Ticket hochlädst, wird die PDF verschlüsselt an den Anwendungsserver übertragen und dort im Arbeitsspeicher ausgewertet. Die Originaldatei und der vollständige PDF-Text werden nicht dauerhaft gespeichert. Gespeichert werden ein SHA-256-Prüfwert sowie die von dir kontrollierten, normalisierten Felder: Zug, Reisedatum, Abfahrts-/Ankunftszeit, Start, Ziel, Ticketart, Zugbindungsmerkmal und technische Erkennungskonfidenzen. Ticket-PDFs können darüber hinaus Namen, Auftragsnummern, Preise oder weitere Kaufangaben enthalten; diese Informationen werden von Zugbegleiter nicht gezielt extrahiert oder in der Produktdatenbank gespeichert.
Du kannst eine unterstützte Reise auch über die Verbindungssuche anlegen. Dabei speichern wir die von dir ausgewählte Verbindung mit Start, Ziel, Datum, Zeiten, Zügen und Umstiegen. Für die Überwachung speichern wir außerdem Reiseverlauf, ausgewählte Alternativen, Warnungen, Abschlussangaben zur tatsächlich genutzten Verbindung und eine gegebenenfalls erzeugte Fahrgastrechte-Selbsthilfe. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO.
6. Bahn-Datenquellen und technische Belege
Für Verbindungssuche, Zugläufe und Alternativen nutzt Zugbegleiter den auf MOTIS basierenden Routingdienst Transitous unter api.transitous.org. Aktuelle Zugereignisse werden über IRIS der Deutschen Bahn abgefragt. Zur eindeutigen Bahnhofserkennung wird bei Bedarf das DB- Bahnhofsverzeichnis StaDa verwendet. Der Hintergrunddienst führt außerdem gezielte bahn.de- Abfragen zum Abgleich der offiziellen Reiseanzeige durch. Dabei werden nur die für die Abfrage erforderlichen Angaben wie Bahnhof, Zug, Datum, Uhrzeit und Strecke, jedoch keine Konto-ID, E-Mail-Adresse oder Ticketdatei, an diese Quellen übermittelt. Wir speichern technische Beobachtungen, Zeitpunkte und Belegauszüge, um Warnungen nachvollziehbar zu machen. Diese Belege sind keine von einem Verkehrsunternehmen ausgestellte Bescheinigung.
Die Betreiber dieser externen Bahn-Systeme erhalten dabei die Verbindungsdaten unseres Servers und die genannten Abfragewerte und können sie nach ihren eigenen Protokollierungs- und Aufbewahrungsregeln verarbeiten. Transitous beschreibt insbesondere die Protokollierung der Server-IP, Anfragezeit, angefragten URL und Anwendungskennung für bis zu zwei Tage in seinen Datenschutzinformationen. Auch wenn keine direkte Kontokennung mitgesendet wird, können Strecke und Reisezeit im Einzelfall einer Person zugeordnet sein. Die Übermittlung dient der von dir angeforderten Reisebegleitung nach Art. 6 Abs. 1 lit. b DSGVO. Informationen zu DB-Diensten findest du im DB API Marketplace und in den Datenschutzinformationen von bahn.de.
7. Push-Benachrichtigungen
Push wird erst nach deiner ausdrücklichen Freigabe aktiviert. In der nativen Android-App werden dafür eine Firebase-Installationskennung, Geräteplattform, Zustellstatus und Fehler verarbeitet; die Zustellung erfolgt über Google Firebase Cloud Messaging (FCM). Android-FCM erhält nur eine interne Reise-ID für den Deep-Link, eine Warnungs-ID, den Erstellzeitpunkt der Warnung und technische Zustellangaben als Datennachricht. Zug, Strecke, Fahrplanzeiten, Verspätung und Warnungstext werden nicht im FCM-Inhalt versendet. Die App prüft die Freigabe und das Nachrichtenalter und erzeugt auf dem Gerät den generischen Hinweis „Neue Reiseinformation“. Reisedetails lädt sie über die authentifizierte API. Eine Android-Warnung ist insgesamt höchstens 15 Minuten ab ihrer Erstellung zustellbar: Vor dem Versand wird ihr Alter geprüft, eine bereits 15 Minuten alte Nachricht wird gar nicht mehr gesendet, und bei jüngeren Nachrichten erhält FCM nur die noch verbleibende Restfrist.
FCM schützt Übertragung und Speicherung, bietet für diesen Standard-Push aber keine Ende-zu-Ende-Verschlüsselung, bei der ausschließlich unser Server und dein Gerät lesen könnten. Google kann eine vorübergehend nicht zustellbare Nachricht nur bis zu dieser verbleibenden Frist speichern. Firebase-Installationskennungen bleiben laut Google bis zu unserem Löschaufruf erhalten; nach diesem Aufruf kann die Entfernung aus aktiven Systemen und Sicherungskopien bis zu 180 Tage dauern. Die App ruft diese Löschung beim Deaktivieren, Abmelden und bei der Kontolöschung auf. Eine bereits auf dem Gerät angezeigte Benachrichtigung bleibt unabhängig davon sichtbar, bis sie geöffnet, entfernt oder vom Betriebssystem verworfen wird.
In der PWA werden stattdessen Push-Endpunkt, kryptografische Zustellschlüssel und Browserkennung gespeichert; der Web-Push kann den zugehörigen Warnungstext enthalten. Push-Inhalte enthalten keine Namen oder Auftragsnummern. Rechtsgrundlage ist deine Einwilligung nach Art. 6 Abs. 1 lit. a DSGVO. Du kannst sie in Zugbegleiter oder in den Benachrichtigungseinstellungen des Geräts jederzeit für die Zukunft widerrufen. Der Zugbegleiter-Abmeldeweg entfernt die gespeicherte Zuordnung vor dem Ende der Sitzung; schlägt das fehl, bleibt die Sitzung für einen erneuten Versuch bestehen. Bei der Kontolöschung werden die serverseitigen Zuordnungen ebenfalls entfernt.
8. Freiwillige Offline-Kopie
Nur wenn du „offline speichern“ auswählst, wird eine statische Kontrollansicht auf diesem Gerät abgelegt. Sie ist nach 24 Stunden nicht mehr nutzbar. Die physische Datei beziehungsweise der Cache-Eintrag wird beim nächsten App- oder Browserkontakt entfernt; ein ausgeschaltetes oder vom Betriebssystem zwangsbeendetes Gerät kann die rein lokale Datei deshalb länger enthalten. Die native Android-App verschlüsselt sie mit AES-GCM und einem Schlüssel aus dem Android Keystore im nicht durch Android-Backups gesicherten App-Speicher. Die PWA nutzt ihren geschützten Browser-Cache. Du kannst die Kopie früher löschen; Abmeldung, Kontowechsel und Kontolöschung stoßen ebenfalls die lokale Löschung an. Wer Zugriff auf die entsperrte App oder den entsperrten Browser hat, kann die entschlüsselte Ansicht nur bis zu ihrem Ablauf sehen. Die Verarbeitung erfolgt zur Ausführung deiner gewählten Funktion nach Art. 6 Abs. 1 lit. b DSGVO.
9. Dienstleister, Verarbeitungsorte und Drittstaaten
Die Produktdatenbank und der Hintergrunddienst werden auf unserem eigenen Server betrieben. Zusätzlich nutzen wir folgende externe Dienste:
- Cloudflare, Inc. für die öffentliche Anbindung und den Schutz von Website und API: Datenschutzinformationen.
- Clerk, Inc. für Anmeldung und Kontoverwaltung: Datenschutzinformationen.
- Google für Firebase Cloud Messaging in der nativen Android-App: Datenschutzinformationen.
- Den vom verwendeten Browser bestimmten Zustelldienst für freiwilligen Web-Push in der PWA.
Bei diesen externen Diensten kann eine Verarbeitung außerhalb der Europäischen Union, insbesondere in den USA, stattfinden. Der eigene Betrieb der Produktdatenbank bedeutet deshalb nicht, dass sämtliche Verarbeitungen ausschließlich bei uns stattfinden. Für eine Verarbeitung in unserem Auftrag sind Vereinbarungen nach Art. 28 DSGVO erforderlich. Übermittlungen in Drittländer benötigen einen Angemessenheitsbeschluss nach Art. 45 DSGVO oder geeignete Garantien, insbesondere Standardvertragsklauseln nach Art. 46 DSGVO. Die für die jeweils genutzten Produkte vereinbarten Verarbeitungsorte, Empfängerrollen und Garantien müssen vor der öffentlichen Freigabe dieser Fassung noch abschließend ergänzt werden.
Daneben gehen die in Abschnitt 6 beschriebenen, auf die konkrete Fahrt begrenzten Abfragen an die Betreiber von Transitous sowie der DB-Systeme IRIS, StaDa und bahn.de. Diese Datenabfragen sind gesondert von Anmeldung, Push-Zustellung und der öffentlichen Serveranbindung zu betrachten.
10. Speicherdauer
- Ticket-PDF und vollständiger PDF-Text: nur während der einzelnen Upload-Anfrage.
- Konto, normalisierte Ticket- und Reisedaten in der aktiven Datenbank: bis zur Kontolöschung.
- Rohbeobachtungen und technische Rohbelege: höchstens 90 Tage.
- Push-Abonnement: bis zur Deaktivierung, Abmeldung oder Kontolöschung; nach einem endgültigen Zustellfehler wird die deaktivierte Zuordnung spätestens nach sieben Tagen gelöscht.
- Android-FCM-Nachricht: höchstens 15 Minuten bei FCM zustellbar; eine Firebase-Installationskennung kann nach unserem Löschaufruf laut Google noch bis zu 180 Tage in aktiven Systemen und Sicherungskopien verbleiben.
- Offline-Kopie: 24 Stunden nutzbar; physische Löschung beim nächsten App- oder Browserkontakt nach Ablauf.
- API-Missbrauchsschutz: Funktionsname, Zeitfenster und Zähler höchstens 48 Stunden.
- Nicht rückrechenbarer Hash einer gelöschten Anmelde-ID: höchstens zwölf Monate, damit verspätete Synchronisationsereignisse ein gelöschtes Konto nicht wieder anlegen.
- Datenbanksicherungen: Rotation mit 14 täglichen, acht wöchentlichen und zwölf monatlichen Kopien auf unserem Server und einem zusätzlichen Sicherungsrechner. Gelöschte Daten können in älteren Sicherungen bis zu deren Ersetzung verbleiben.
- Server- und Dienstleisterprotokolle: Die konkreten produktiven Löschfristen sind vor der öffentlichen Freigabe dieser Fassung noch abschließend festzulegen.
Gesetzliche Aufbewahrungspflichten können im Einzelfall zu einer längeren, zweckgebunden gesperrten Speicherung führen. Zugbegleiter verarbeitet derzeit keine Zahlungs- oder Rechnungsdaten.
11. Deine Rechte
Du hast nach Maßgabe der DSGVO Rechte auf Auskunft (Art. 15), Berichtigung (Art. 16), Löschung (Art. 17), Einschränkung (Art. 18), Datenübertragbarkeit (Art. 20) und Widerspruch (Art. 21). Eine Einwilligung kannst du jederzeit mit Wirkung für die Zukunft widerrufen. Du kannst dein Konto und die verbundenen Daten direkt unter Konto und Daten löschen oder per E-Mail entfernen lassen. Außerdem kannst du dich bei einer Datenschutzaufsichtsbehörde beschweren; zuständig ist insbesondere die Aufsichtsbehörde deines Wohnorts oder unseres Sitzes.
12. Automatisierte Auswertung
Zugbegleiter wertet Fahrplandaten regelbasiert aus und zeigt Hinweise oder Alternativen. Es findet keine ausschließlich automatisierte Entscheidung mit rechtlicher oder ähnlich erheblicher Wirkung im Sinne von Art. 22 DSGVO statt. Verkehrsunternehmen und Behörden treffen ihre Entscheidungen unabhängig von Zugbegleiter.
13. Sicherheit und Änderungen
Übertragungen erfolgen verschlüsselt per TLS. Geschützte API-Zugriffe prüfen die Nutzer-ID serverseitig; nutzerbezogene Datenbankbeziehungen werden bei Kontolöschung kaskadierend entfernt. Die native Android-App weist Android per Manifest und vollständigen Ausschlussregeln an, App-Daten weder in Cloud-Backups noch in Geräteübertragungen zu übernehmen; herstellerspezifisches Verhalten kann davon abweichen. Offline-Belege liegen zusätzlich im nicht für Auto-Backup vorgesehenen noBackupFilesDir und sind Android-Keystore-basiert verschlüsselt. Kein Internetdienst kann absolute Sicherheit garantieren. Wir aktualisieren diese Erklärung, wenn Funktionen, Anbieter oder Rechtslage sich ändern. Wesentliche Änderungen werden in der Anwendung kenntlich gemacht.