Datenschutzerklärung
Stand: 22.09.2026
Vorläufige Fassung. Dieser Text ist vollständig und beschreibt das tatsächliche Verhalten der App; die anwaltliche Prüfung steht noch aus. Er wird danach aktualisiert.
Kernprinzip
Die App funktioniert ohne Konto, und nichts von dem, was Sie in ihr tun, verlässt Ihr Gerät. Bands markieren, Erinnerungen setzen, Ausgaben eintragen, Stempel sammeln, einen Treffpunkt setzen — all das bleibt lokal. Es gibt keinen Weg, auf dem diese Daten die App verlassen, außer Sie teilen sie selbst per QR-Code mit jemandem vor Ihnen.
Diese Richtung ist keine Einstellung, sondern eine Architekturentscheidung: Wir selbst betreiben keinen Empfänger. Die App lädt Programm, Karte und Neuigkeiten herunter; einen Rückweg zu uns gibt es nicht.
Eine fremde Bibliothek sendet dennoch. Wenn Sie den QR-Scanner öffnen, läuft Googles ML Kit an — die Bilderkennung, die den Code liest. Sie überträgt dabei Nutzungsdaten über sich selbst an Google, darunter nach Googles eigener Offenlegung Geräte- und Installationskennungen. Das ist Teil der Bibliothek und von uns nicht abschaltbar; Einzelheiten in Abschnitt 3.
### 🔴 Am 20.09.2026 richtiggestellt — und es war der veröffentlichte Teil **Hier stand bis dahin: „Die App … sendet keine Nutzerdaten" und „Es existiert kein Aufwärtskanal." Der zweite Satz ist seit dem 15.09.2026 gemessen falsch: Es existiert einer, er gehört nur nicht uns (zwei ausgeführte Uploads, Status 200, siehe unten). Das Schwere daran ist nicht der Satz, sondern seine Lage. Der Befund stand seit dem 15.09. ausführlich weiter unten in diesem Dokument — aber
tools/datenschutz-seite.mjsschneidet die veröffentlichte Fassung ab## Kernprinzipund vor den Formularantworten. Die widerlegte Aussage lag also genau im öffentlichen Teil, die Widerlegung genau im internen. Wäre die Seite in diesen fünf Tagen hochgegangen, hätte sie im Store auf eine Erklärung gezeigt, die das Gegenteil des Gemessenen behauptet — und eine Abweichung dort ist ein Entfernungsgrund. Gefunden beim Schreiben der Store-Texte am 20.09.2026, die gegen dieselbe Grenze geprüft werden (tools/store-texte.mjs). Was bewusst stehen bleibt:** die Zusage über Ihre Daten. Favoriten, Erinnerungen, Ausgaben und Stempel verlassen das Gerät nicht — daran ändert der Befund nichts, und es ist weiterhin am Quelltext belegt (keinPOSTim ganzen Programm). Neu ist die Trennung zwischen unserem Verhalten und dem einer eingebundenen fremden Bibliothek. ⚖️ Die Formulierung ist eine Tatsachen-Richtigstellung, keine Rechtsprüfung. Ob sie so genügt, entscheidet die anwaltliche Prüfung aus Aufgabe 1.7.
1. Verantwortlicher
Mosh & Hafner GbR Christian Neuer und Atilla Oguz Im Weidchen 11, 57629 Höchstenbach, Deutschland E-Mail: hallo@moshhafner.de
Vollständige Angaben im Impressum unter moshhafner.de/impressum.html.
Zu klären, bevor das verbindlich wird: Wenn ein Veranstalter eigene Inhalte über unsere Server ausspielt, ist er datenschutzrechtlich möglicherweise Verantwortlicher und wir Auftragsverarbeiter. Das ist Punkt 5.1 der Aufgabenliste (AVV je Mandant) und in diesem Entwurf bewusst offen.
2. Welche Daten die App auf dem Gerät speichert
Alle folgenden Daten entstehen durch Bedienung der App und liegen ausschließlich lokal im geschützten Anwendungsverzeichnis:
| Was | Wodurch es entsteht |
|---|---|
| Favoriten | Ein Auftritt wird mit dem Stern markiert |
| Erinnerungen | Zu einem markierten Auftritt wird ein Wecker gesetzt |
| Eigene Kartenpunkte | Ein Treffpunkt wird auf der Karte gesetzt |
| Gelesen-Status | Eine Meldung wurde angesehen |
| Einstellungen | Etwa die Stärke der Vibration oder die Ansicht des Programms |
| Buchungen | Ausgaben, die jemand auf der Bestellkarte einträgt |
| Stempel | Gescannte Codes der Stempelkarte |
| Technisches Protokoll | Läuft im Hintergrund mit (siehe unten) |
Dazu kommen die geladenen Inhalte (Programm, Orte, Artikel, Meldungen), das Kartenpaket und ein Bilderspeicher. Die App fragt zu keinem Zeitpunkt nach Namen, E-Mail-Adresse, Telefonnummer oder Geburtsdatum — es gibt kein Feld dafür.
Das technische Protokoll hält fest, was die App selbst getan hat: wann sie gestartet ist, ob sie Daten laden konnte, welche Version der Inhalte aktiv ist und welche technischen Fehler aufgetreten sind. Es enthält keine Favoriten, keine Treffpunkte, keine Buchungen und keine Namen. Es ist auf 256 Kilobyte begrenzt; Älteres wird überschrieben.
Das Protokoll wird nicht übertragen. Es liegt auf dem Gerät wie alles andere auch. Es gibt genau einen Weg hinaus: den Knopf „Protokoll senden" im Bildschirm „Datenstand". Wer ihn drückt, wählt selbst im System-Teilen-Dialog, wohin die Datei geht, und kann sie vorher lesen. Ohne diesen Tastendruck passiert nichts.
Löschung: Alle diese Daten werden mit der App entfernt. Das Betriebssystem löscht das Anwendungsverzeichnis vollständig; es bleibt nichts zurück, und es gibt keine Kopie anderswo.
3. Verbindungen nach außen
Die App baut fünf Arten von Verbindungen auf. Die ersten vier gehen zu unserer eigenen Adresse und dienen nur dem Laden; die fünfte stammt aus einer fremden Bibliothek und sendet:
| Wohin | Wozu | Wann |
|---|---|---|
cdn.moshhafner.de · Konfigurationsdatei und ihre Signatur |
Welche Funktionen aktiv sind, Farben, Zeiger auf die Inhalte | Beim Start und beim Aktualisieren |
cdn.moshhafner.de · Inhaltspaket |
Programm, Orte, Artikel, Meldungen | Wenn eine neuere Fassung angezeigt wird |
cdn.moshhafner.de · Kartenpaket |
Das Luftbild des Geländes | Einmalig, sofern nicht schon in der App enthalten |
cdn.moshhafner.de · Bilder |
Bandfotos und ähnliche Bilder | Beim Anzeigen, danach lokal gespeichert |
🔴 firebaselogging.googleapis.com (Google) · Nutzungsdaten von ML Kit |
Die Bibliothek, die QR-Codes erkennt, meldet Google ihre eigene Nutzung — nach Googles Offenlegung darunter Geräte- und Installationskennungen, Ereignistypen und Fehlercodes | Sobald der QR-Scanner geöffnet wird, erstmals rund 30 Sekunden danach |
Wer diese Adresse betreibt. cdn.moshhafner.de ist eine Unteradresse unserer eigenen Domain; ausgeliefert werden die Dateien über Cloudflare Pages (Cloudflare, Inc., USA) als Auftragsverarbeiter. Die Adresse gehört uns, der Anbieter dahinter ist austauschbar — ein Wechsel ändert für die App nichts, weil im Programm nur dieser Name steht.
Bei jedem dieser Abrufe verarbeitet der Anbieter des Servers technisch notwendige Zugriffsdaten — insbesondere die IP-Adresse, Zeitpunkt, abgerufene Datei und übertragene Menge. Das ist bei jedem Abruf im Internet so und technisch nicht vermeidbar. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO; das berechtigte Interesse liegt im Betrieb der App. Wir werten diese Protokolle nicht aus und führen sie mit nichts zusammen.
Was wir selbst ansprechen, ist genau eine Adresse. Sie steht fest im Programm und ist nur mit einem App-Update änderbar; einen Weg, von uns aus eine andere anzusprechen, gibt es nicht. Kein Werbenetzwerk, kein Absturzmelder, keine Schriftarten oder Karten von fremden Servern — und keine Zeile in unserem Programm, die irgendwohin etwas sendet.
Die Ausnahme ist die fünfte Zeile oben, und sie ist keine Entscheidung von uns. Der QR-Scanner beruht auf Googles ML Kit. Diese Bibliothek bringt einen eigenen Sendedienst mit, der anläuft, sobald der Scanner geöffnet wird. Google nennt in seinen Nutzungsbedingungen zu ML Kit keine Möglichkeit, das abzuschalten, und schreibt ausdrücklich, dass Betreiber einer App ihre Nutzer darüber unterrichten müssen. Genau das tut dieser Absatz.
Gemessen, nicht angenommen (15.09.2026, Gerät D, eigenes Paket über
logcat --pid): 36 eingereihte Ereignisse, alle mit dem NamenFIREBASE_ML_SDK, und zwei ausgeführte Uploads mit Status 200. Es genügt, den Scanner zu öffnen — ein Code muss nicht erkannt werden. Bei nie geöffnetem Scanner blieb die Bibliothek in einer 25-Minuten-Messung still. Was ausdrücklich NICHT gemessen ist: der Inhalt der Pakete. Das Protokoll zeigt Ziel und Statuscode; wofür es einen Netzmitschnitt bräuchte. Die oben genannten Datenarten sind deshalb Googles eigene Angabe, nicht unsere Messung. Dieser Absatz stand bis zum 20.09.2026 nicht im veröffentlichten Teil — der Befund lag weiter unten bei den Formularantworten, und die veröffentlicht das Werkzeug nicht.
Ausnahme, die der Besucher selbst auslöst: Tippt er im Profil einer Band auf einen Link (etwa zu einer Musikplattform), öffnet sich der Browser oder die jeweilige App — und dort gelten die Bestimmungen des jeweiligen Anbieters. Der Link stammt aus den Inhalten des Veranstalters, nicht von uns.
4. Berechtigungen und wofür sie da sind
| Berechtigung | Wofür |
|---|---|
| Internet | Konfiguration, Inhalte, Karte und Bilder laden |
| Kamera | QR-Codes scannen: geteilte Pläne, Treffpunkte, Stempelkarten-Codes. Die Kamera läuft nur, solange der Scanner-Bildschirm offen ist. Die Erkennung passiert auf dem Gerät, es wird kein Bild irgendwohin übertragen |
| Benachrichtigungen | Erinnerungen an markierte Auftritte anzeigen |
| Exakte Alarme | Damit die Erinnerung zur richtigen Zeit kommt und nicht irgendwann |
| Start nach Neustart | Damit gesetzte Erinnerungen einen Geräteneustart überleben |
| Vibration | Das fühlbare Muster der Erinnerung |
| Netzwerkstatus | Ob gerade eine Verbindung besteht und welcher Art sie ist. Wir fragen das an keiner Stelle ab — die Berechtigung bringt die Bibliothek mit, die QR-Codes auf dem Gerät erkennt. Sie gibt keinen Zugriff auf Inhalte, auf den Standort oder auf den Namen des Netzes |
Die App fragt nie nach dem Standort. Sie kennt ihn nicht und kann ihn nicht ermitteln. Auf der Karte gibt es keinen Punkt, der zeigt, wo man gerade ist. Das ist eine bewusste Entscheidung und keine Lücke.
5. Kein Konto, keine Profilbildung
- Kein Konto, keine Anmeldung, kein Passwort. Die App ist ohne Registrierung vollständig nutzbar.
- Keine Kennung von uns. Wir vergeben keine Nutzer- oder Geräte-ID und verwenden keine Werbe-ID. (Googles ML Kit übermittelt beim Scannen eigene Kennungen — Abschnitt 3.)
- Keine Analyse durch uns. Wir führen keine Statistik darüber, was jemand in der App tut, und erhalten auch keine.
- Keine Weitergabe durch uns, kein Verkauf. Wir geben nichts weiter und verkaufen nichts. Was die Scanner-Bibliothek an Google sendet, steht in Abschnitt 3 und geht nicht über uns.
Bis zum 20.09.2026 standen diese vier Punkte ohne die Einschränkung „durch uns" da — der letzte sagte unbedingt, an Dritte werde nichts übermittelt. Gefunden nicht beim Lesen, sondern von
tools/store-texte.mjs: Das Werkzeug für die Store-Texte kennt dieselbe Grenze, und ein Lauf über den veröffentlichten Teil dieses Dokuments meldete die Zeile.
6. Wenn jemand seinen Plan teilt
Ein Besucher kann seine markierten Auftritte oder einen Treffpunkt als QR-Code anzeigen oder als Link weitergeben. Dabei gilt:
- Der Code entsteht auf dem Gerät. Es wird nichts auf einen Server geladen.
- Er enthält nur, welche Auftritte markiert sind beziehungsweise welcher Punkt auf der Karte gemeint ist — keinen Namen, keine Kennung, nichts über die Person.
- Wer den Code sieht, sieht diese Auswahl. Das ist der Zweck.
7. Rechte der Betroffenen
Weil die App keine personenbezogenen Daten an uns übermittelt, liegen uns auch keine vor, zu denen Auskunft erteilt oder die gelöscht werden könnten. Wer alle lokal gespeicherten Daten entfernen möchte, deinstalliert die App oder löscht ihre Daten in den Systemeinstellungen.
Unabhängig davon bestehen die Rechte aus Art. 15 bis 21 DSGVO gegenüber dem Verantwortlichen sowie das Recht auf Beschwerde bei einer Aufsichtsbehörde. Zuständig ist der Landesbeauftragte für den Datenschutz und die Informationsfreiheit Rheinland-Pfalz.
8. Bezug über Google Play
Beim Herunterladen über Google Play verarbeitet Google eigene Daten — darunter das Google-Konto und Angaben zum Gerät. Darauf haben wir keinen Einfluss; es gilt die Datenschutzerklärung von Google.
9. Änderungen
Diese Erklärung wird angepasst, sobald die App etwas anderes tut. Der Abgleich ist automatisiert: npm run android:check vergleicht die hier genannten Berechtigungen mit denen im App-Manifest. Wer künftig eine Berechtigung hinzufügt und diese Erklärung vergisst, bekommt eine rote Prüfung — nicht einen veralteten Text.
10. Kontakt
hallo@moshhafner.de