Datenschutzerklärung
Für die App und die Website KOTOBA (kotoba-app.de,
Android- und iOS-App de.kotobaapp.app).
1. Verantwortlich
Kaan Özdemir — WebstashReuttierstraße 81
89231 Neu-Ulm, Deutschland
E-Mail: info@kotoba-app.de
2. Kurzfassung
- KOTOBA enthält keine Werbung und keine Cross-Site-Tracker. Es gibt keine Weitergabe von Daten zu Werbezwecken.
- Für Produktanalyse und Fehlersuche setzen wir eine cookiefreie, pseudonyme Nutzungsstatistik mit selbst betriebenem Umami ein. Bist du angemeldet, wird die zufällige Kennung deines Kontos mit den Ereignissen verknüpft. Abschalten kannst du sie unter Profil → Konto → Nutzungsstatistik. Details unter Punkt 3.6.
- Verarbeitet wird, was zum Lernen nötig ist: dein Konto und dein Lernfortschritt.
- Ohne Konto kannst du den Einstufungstest machen; die Antworten bleiben bis zur Registrierung nur auf deinem Gerät.
- Schließt du KOTOBA Plus ab, laufen Zahlung und Abo-Verwaltung über RevenueCat und je nach Kaufweg über Google Play, den App Store oder Stripe. Vollständige Zahlungsdaten wie Kartennummer oder Sicherheitscode erhalten wir nicht. Details unter Punkt 3.8.
- Push-Nachrichten gibt es nur, wenn du sie erlaubst. Details unter Punkt 3.9.
3. Welche Daten verarbeitet werden
3.1 Konto
| Daten | Der Name, den du bei der Registrierung angibst (frei wählbar, auch ein Spitzname), deine E-Mail-Adresse und ein Passwort. Das Passwort wird nur als sicherer Hash gespeichert, nie im Klartext. |
|---|---|
| Zweck | Anmeldung, Zuordnung des Lernfortschritts zu deinem Konto, Passwort-Zurücksetzung, Anrede in der App. |
| Rechtsgrundlage | Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung). |
Anmelden mit Google oder Apple. Statt mit E-Mail und Passwort kannst du dich auch mit deinem Google- oder Apple-Konto anmelden oder eines davon unter Profil → Konto mit deinem KOTOBA-Konto verknüpfen. Die Anmeldung findet dann bei Google bzw. Apple statt; wir erhalten von dort nur deinen Namen, deine E-Mail-Adresse, bei Google dein Profilbild und eine Kennung, die dein Google- bzw. Apple-Konto unserem Konto zuordnet. Ein Passwort von Google oder Apple erhalten wir nie. Bei Apple kannst du deine E-Mail-Adresse verbergen; wir bekommen dann eine von Apple erzeugte Weiterleitungsadresse. Bei Apple speichern wir zusätzlich einen Token von Apple — ausschließlich, um beim Löschen deines Kontos die Anmeldung bei Apple zu widerrufen; er wird mit dem Konto gelöscht. Für die Verarbeitung bei Google und Apple gelten deren eigene Datenschutzerklärungen. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung); die Anmeldung mit Google oder Apple ist freiwillig.
3.2 Lernfortschritt
| Daten | Welche Lektionen du abgeschlossen hast, der Zustand jeder Lernkarte im Wiederholungsalgorithmus (Fälligkeit, Stabilität, Anzahl der Wiederholungen) sowie ein Protokoll deiner Bewertungen mit Zeitstempel. Dazu deine Einstellungen und deine Zeitzone. |
|---|---|
| Zweck | Die App muss wissen, was du kannst und wann eine Karte wieder fällig ist — ohne diese Daten gäbe es keine Wiederholungen und keinen Fortschritt. Die Zeitzone entscheidet, wann dein Lerntag beginnt. |
| Rechtsgrundlage | Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung). |
Angaben aus dem Einstieg. Beim ersten Start fragt KOTOBA nach deinem Lernziel (Manga, Anime, Reisen, JLPT oder alles davon) und, freiwillig, danach, wie du von KOTOBA erfahren hast. Dazu kommen die Antworten aus dem Einstufungstest: welche Fragen du richtig oder falsch beantwortet hast und wie lange du jeweils gebraucht hast. Nach der Registrierung liegt das an deinem Konto. Das Testergebnis legt fest, wo du einsteigst und was als gelernt gilt. Das Lernziel bestimmt, wie dich die Erinnerungen ansprechen und wann die App dich auf KOTOBA Plus hinweist; ändern kannst du es unter Profil → Lernen. Die einzelnen Testantworten werten wir außerdem aus, um den Test zu verbessern, die Herkunftsangabe, um zu verstehen, über welche Wege KOTOBA gefunden wird. Rechtsgrundlage ist für Lernziel und Einstufung Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung), für die Auswertung der Testantworten und für die Herkunftsangabe Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse, den Test und das Angebot zu verbessern). Die Herkunftsfrage kannst du überspringen; eine gegebene Antwort löschen wir auf Wunsch (Punkt 6.1).
3.3 Daten auf deinem Gerät
- Anmeldedaten (Sitzungs-Token) im lokalen Speicher, damit du nicht bei jedem Start neu angemeldet werden musst.
- Noch nicht übertragene Antworten in einer lokalen Datenbank (IndexedDB). Wenn die Verbindung abbricht, geht eine Lernsitzung nicht verloren; die Antworten werden nachgereicht, sobald du wieder online bist.
- Ergebnis des Einstufungstests und die gewählte Darstellung (hell/dunkel), bis ein Konto besteht.
- Eine Kopie der zuletzt geladenen Lerndaten in einer lokalen Datenbank (IndexedDB): Startseite, Lektionen, Statistik und dein Profil (Anzeigename, Einstellungen, Abo-Stufe) — mit KOTOBA Plus zusätzlich die vorgeladenen Wiederholungen. Damit startet die App auch ohne Netz. Beim Abmelden wird diese Kopie gelöscht.
- Aussprache-Aufnahmen, die schon einmal abgespielt oder für das Offline-Lernen vorgeladen wurden, im Zwischenspeicher des Browsers bzw. der App, damit sie nicht jedes Mal neu geladen werden.
- Der Stand einer unterbrochenen Lektion im lokalen Speicher, damit du nach einem Abbruch dort weitermachen kannst, wo du warst. Er wird nach dem Abschluss der Lektion gelöscht und nach 24 Stunden verworfen.
- Eine kleine Übersicht für das Widget (nur in der iOS- und Android-App): fällige Wiederholungen, nächste Lektion, Stufe, Zahl der gelernten Wörter und aktive Tage dieser Woche. Auf Android zeigt das Startbildschirm-Widget sie an.
- Anmeldung per Face ID oder Fingerabdruck (nur in der iOS- und Android-App, und nur wenn du sie einschaltest): Dabei wird dein Sitzungs-Token zusätzlich im geschützten Speicher des Geräts abgelegt (iOS Schlüsselbund, Android Keystore) und von dort erst nach erfolgreicher Prüfung wieder herausgegeben. Deine Fingerabdruck- oder Gesichtsdaten bekommen wir dabei nicht zu sehen — die Prüfung macht das Betriebssystem, die App erfährt nur, ob sie geklappt hat. Beim Abmelden und beim Ausschalten wird der Eintrag gelöscht.
Diese Daten verlassen dein Gerät nur in dem Umfang, der oben beschrieben ist. Du kannst sie löschen, indem du die App deinstallierst bzw. die Websitedaten im Browser löschst.
3.4 Aussprache
Die Aussprache der Lernkarten sind fertige Aufnahmen, die aus unserem Speicher bei Supabase (Region EU) geladen werden — dabei fallen die üblichen technischen Zugriffsdaten an (IP-Adresse, Zeitpunkt, angefragte Datei), aber keine Angaben darüber, wer du bist. Gibt es für eine Karte keine Aufnahme, wird das japanische Wort an die Sprachausgabe deines Geräts übergeben (Web Speech API); daran sind keine Server von uns beteiligt. Ob dein Gerät die Sprachausgabe lokal berechnet oder dafür einen Dienst des Betriebssystemherstellers aufruft, hängt von deinen Geräteeinstellungen ab — auf Android etwa von der eingestellten TTS-Engine.
3.5 Zugriffsdaten der Website
Die Website wird über Firebase Hosting (Google) ausgeliefert. Dabei verarbeitet Google technisch notwendige Zugriffsdaten, insbesondere IP-Adresse, Zeitpunkt und angefragte Ressource, zur Bereitstellung, Sicherheit und Missbrauchsabwehr des Dienstes — nach den für Firebase geltenden Datenschutz- und Auftragsverarbeitungsbedingungen. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO (Betrieb und Sicherheit des Angebots). Die installierte Android-App lädt ihre Oberfläche aus dem App-Paket und stellt dafür keine Verbindung zu diesem Hosting her.
3.6 Nutzungsstatistik (Umami)
Wir betreiben ein eigenes Umami-Analytics unter
umami.webstash.de auf einem Server, den wir selbst
verwalten. Die Anfragen dorthin laufen über das Netzwerk von
Cloudflare (Schutz vor Überlastung und Angriffen);
Cloudflare sieht dabei deine IP-Adresse, wertet die Inhalte aber nicht
für eigene Zwecke aus. Darüber hinaus werden keine Daten an Dritte
weitergegeben, und es wird kein Cookie gesetzt. Übermittelt werden pro Aufruf: die aufgerufene Seite,
eine grobe Herkunft (Website, PWA, iOS-App oder Android-App), der
Referrer, Bildschirmauflösung, Browser und Betriebssystem sowie ein
aus deiner IP-Adresse und dem Tagesdatum gebildeter
Session-Hash. Die volle IP-Adresse wird
nicht gespeichert.
Zusätzlich zählen wir benannte Ereignisse, um zu verstehen, welche Funktionen wirklich benutzt werden — z. B. „Bibliothekseintrag geöffnet“, „Manga adoptiert“, „Wiederholungsrunde beendet“. Bei einem Abo-Abschluss gehören Betrag und Währung dazu. Diese Ereignisse enthalten nie deinen Namen, deine E-Mail-Adresse oder den Inhalt deiner Eingaben; sie tragen höchstens Kennungen aus dem Curriculum (z. B. Manga-Kürzel, Lektions-Kürzel) oder eine Auswahl, die du in der App getroffen hast (z. B. wie du von KOTOBA erfahren hast).
Deine Konto-Kennung. Bist du angemeldet, übermitteln wir zusätzlich die Kennung deines Kontos — dieselbe zufällige Zeichenfolge, unter der dein Lernfortschritt in unserer Datenbank liegt. Sie enthält weder deinen Namen noch deine E-Mail-Adresse, lässt sich von uns aber deinem Konto zuordnen.
Der Zweck ist Fehlersuche und Support. Meldest du ein Problem, können wir damit nachvollziehen, was auf deinem Weg durch die App tatsächlich passiert ist, statt im Gesamtdurchschnitt zu raten. Was das für dich bedeutet, sagen wir offen: Solange du angemeldet bist, sind deine Aufrufe über Tage und über deine Geräte hinweg miteinander verknüpfbar — der täglich wechselnde Session-Hash allein leistet das nicht. Meldest du dich ab, wird die Kennung sofort wieder entfernt; ohne Anmeldung wird nie eine übermittelt.
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an einer schlanken Nutzungsstatistik ohne Weitergabe zu Werbezwecken und an einer Fehlersuche, die konkreten Meldungen nachgehen kann). Für die Statistik werden keine Cookies zu Analyse- oder Werbezwecken eingesetzt. Die einzige lokale Einstellung, die dabei eine Rolle spielt, ist die, mit der du widersprochen hast — sie dient ausschließlich dazu, diesen Widerspruch umzusetzen.
Du kannst der Nutzungsstatistik jederzeit widersprechen (Art. 21
DSGVO): in der App unter Profil → Konto →
Nutzungsstatistik. Danach wird auf diesem Gerät nichts mehr
gezählt, und das Analyse-Skript wird gar nicht erst geladen. Auf der
Website ohne Anmeldung genügt ein Skript-Blocker oder einmal
localStorage.setItem('umami.disabled', '1') in der
Entwicklerkonsole. Die App funktioniert vollständig ohne die
Statistik.
3.7 Kontaktformular
Auf der Startseite gibt es ein Kontaktformular. Übermittelt werden genau die Felder, die du dort ausfüllst: Name (freiwillig), E-Mail-Adresse, das gewählte Thema und deine Nachricht. Ein weiteres, für dich unsichtbares Feld dient allein der Spam-Abwehr und wird nicht ausgewertet.
Die Bewerbung für Creator:innen auf /creator läuft über
denselben Weg. Dort kommen deine Plattformen, der Link oder @-Name
deines Kanals, deine ungefähre Follower-Zahl und optional ein Text
dazu. Wir nutzen diese Angaben nur, um über eine Zusammenarbeit zu
entscheiden und dir zu antworten.
Die Absendung läuft über eine Funktion auf unserer
Supabase-Infrastruktur (Region EU), die daraus eine E-Mail an
info@kotoba-app.de erzeugt. Absender ist immer
contact-form@kotoba-app.de; deine Adresse steht als
Antwortadresse in der Mail, damit wir dir antworten können. Der
Empfänger ist fest eingestellt und lässt sich über das Formular nicht
verändern. Die Inhalte werden dabei nicht in einer
Datenbank gespeichert. Sie liegen anschließend in unserem
E-Mail-Postfach, das bei IONOS SE in Deutschland betrieben wird — auch
das ist eine Verarbeitung, für die die unten genannten Fristen
gelten.
Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO, wenn deine Anfrage der Anbahnung oder Durchführung eines Vertrags dient, sonst Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an der Beantwortung von Anfragen). Wir bewahren die Korrespondenz so lange auf, wie es zur Bearbeitung nötig ist, und löschen sie danach, soweit keine gesetzliche Aufbewahrungsfrist entgegensteht.
Du musst das Formular nicht benutzen: Eine Mail direkt an
info@kotoba-app.de erreicht uns genauso.
3.8 Zahlungen (KOTOBA Plus)
| Daten | Die Kennung deines Kontos, deine E-Mail-Adresse, welches Abo du hast, seit wann und bis wann es läuft, sowie die Kaufbelege des Stores. Vollständige Zahlungsdaten wie Kartennummer oder Sicherheitscode erhalten wir nicht; die für die Zahlung erforderlichen Zahlungs- und Transaktionsdaten verarbeiten Google Play, der App Store bzw. Stripe. |
|---|---|
| Zweck | Abschluss, Verlängerung und Kündigung des Abos, Freischalten der Plus-Inhalte auf allen deinen Geräten, Wiederherstellen eines Kaufs, Bearbeitung von Erstattungen. |
| Ablauf | RevenueCat prüft die Kaufbelege und teilt unserem Server mit, ob dein Abo aktiv ist; gespeichert wird bei uns nur der Tarif und das Ablaufdatum an deinem Konto. In der Android-App kaufst du über Google Play, in der iOS-App über den App Store — beide sind für die Zahlung eigenständig verantwortlich, es gelten ihre Datenschutzerklärungen. Im Browser läuft der Kauf über RevenueCat Web Billing mit Stripe als Zahlungsdienstleister. |
| Rechtsgrundlage | Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung); für Aufbewahrungspflichten Art. 6 Abs. 1 lit. c DSGVO. |
3.9 Push-Nachrichten
Erinnerungen an fällige Wiederholungen plant die App lokal auf deinem Gerät; dafür verlassen keine Daten das Gerät.
Neuigkeiten (nur in der Android- und iOS-App): Erlaubst du Benachrichtigungen, speichern wir das Geräte-Token, das dein Betriebssystem dafür vergibt, zusammen mit der Plattform (Android oder iOS) an deinem Konto. Darüber melden wir neue Kapitel zu Manga in deiner Bibliothek sowie neue Manga und Themen-Sets — auf Android über Firebase Cloud Messaging (Google), auf iOS über den Apple Push Notification Service. Weitergegeben werden dabei nur das Token und der Text der Nachricht.
Welche Neuigkeiten du bekommst, wählen wir anhand deines Lernziels (Punkt 3.2) und danach aus, ob du KOTOBA Plus hast: Gemeldet wird nur, was du öffnen kannst, und neue Manga nur bei den Zielen Manga, Anime oder Alles davon. Neuigkeiten kommen nur tagsüber. Abschalten kannst du sie unter Profil → Benachrichtigungen → Neue Inhalte, ohne die Erinnerungen abzuschalten.
Rechtsgrundlage ist deine Einwilligung (Art. 6 Abs. 1 lit. a DSGVO), die du über die Abfrage des Betriebssystems erteilst. Du kannst sie jederzeit widerrufen: in der App unter Profil → Benachrichtigungen oder in den Systemeinstellungen. Das Token wird dann gelöscht, ebenso beim Löschen des Kontos und sobald der Dienst meldet, dass es ungültig ist.
4. Empfänger und Auftragsverarbeiter
| Supabase |
Datenbank und Anmeldung. Verarbeitet Konto- und Fortschrittsdaten in
unserem Auftrag. Serverstandort: Irland (EU, eu-west-1).
|
|---|---|
| Google (Firebase Hosting) | Auslieferung der Website. |
| Cloudflare (Turnstile) |
Missbrauchsschutz auf den Seiten „Anmelden", „Konto erstellen" und
„Passwort zurücksetzen". Beim Aufruf dieser drei Seiten wird ein
Skript von challenges.cloudflare.com geladen; dabei
übermittelt dein Browser seine IP-Adresse und technische Merkmale an
Cloudflare, damit automatisierte Anmeldeversuche erkannt werden.
Rechtsgrundlage ist unser berechtigtes Interesse an der Sicherheit
der Konten (Art. 6 Abs. 1 lit. f DSGVO). Turnstile setzt nach
Angaben von Cloudflare keine Cookies zu Werbezwecken und erstellt
kein geräteübergreifendes Profil. Auf allen anderen Seiten der App
wird das Skript nicht geladen.
|
| RevenueCat | Abo-Verwaltung und Prüfung der Kaufbelege (Punkt 3.8). Verarbeitet Konto-Kennung, E-Mail-Adresse und Kaufhistorie in unserem Auftrag. RevenueCat, Inc. sitzt in den USA; die Daten können dort verarbeitet werden. Für Übermittlungen aus dem EWR verwendet RevenueCat die EU-Standardvertragsklauseln. |
| Stripe | Zahlungsabwicklung bei Käufen im Browser (über RevenueCat Web Billing). Stripe verarbeitet die Zahlungsdaten. |
| Google und Apple (Anmeldung) | Nur wenn du dich mit Google oder Apple anmeldest oder ein solches Konto verknüpfst (Punkt 3.1). Google bzw. Apple bestätigt dabei deine Identität und übermittelt Name, E-Mail-Adresse und eine Konto-Kennung an uns. Google LLC und Apple Inc. sitzen in den USA. |
| Google Play | Verteilung der Android-App und Zahlung bei Käufen in der Android-App. Google erhebt dabei eigene Daten; dafür gilt die Datenschutzerklärung von Google. |
| Apple (App Store) | Verteilung der iOS-App und Zahlung bei Käufen in der iOS-App. Apple erhebt dabei eigene Daten; dafür gilt die Datenschutzerklärung von Apple. |
| Google (Firebase Cloud Messaging) und Apple (Push Notification Service) | Zustellung von Push-Nachrichten (Punkt 3.9). |
| Cloudflare | Netzwerk vor unserem Analyse-Server (Punkt 3.6) und Missbrauchsschutz (Turnstile, oben). |
| IONOS | Betrieb unseres E-Mail-Postfachs (Punkt 3.7). IONOS SE, Deutschland. |
Soweit personenbezogene Daten in Länder außerhalb des EWR übermittelt oder dort verarbeitet werden, geschieht das auf Grundlage eines nach Kapitel V DSGVO zulässigen Mechanismus — insbesondere eines Angemessenheitsbeschlusses (etwa des EU-U.S. Data Privacy Framework) oder, soweit erforderlich, der EU-Standardvertragsklauseln und gegebenenfalls weiterer geeigneter Garantien.
5. Speicherdauer
Konto- und Fortschrittsdaten werden gespeichert, solange dein Konto besteht. Nach einer Löschung werden sie innerhalb von 30 Tagen entfernt; Sicherungskopien laufen spätestens nach weiteren 30 Tagen aus. Zahlungs-, Rechnungs- und Buchhaltungsunterlagen werden darüber hinaus so lange aufbewahrt, wie es die gesetzlichen Aufbewahrungsfristen verlangen; die Löschung des Kontos lässt diese Pflichten unberührt.
6. Konto und Daten löschen
Du kannst dein Konto jederzeit selbst löschen: in der App oder im Browser unter Profil → Konto löschen (unter „Abmelden"), danach mit Endgültig löschen bestätigen. Sofort gelöscht werden dein Konto, dein Lernfortschritt, dein Bewertungsprotokoll und deine Geräte-Tokens für Benachrichtigungen — also alle unter Punkt 3.1 und 3.2 genannten Daten. Zugleich wird die Löschung deines Kundendatensatzes beim Zahlungsdienstleister RevenueCat veranlasst; RevenueCat führt sie selbst aus. Aufbewahrt werden nur Zahlungs-, Rechnungs- und Buchhaltungsunterlagen, solange es die gesetzlichen Aufbewahrungsfristen verlangen (in der Regel bis zu zehn Jahre). Sicherungskopien der Datenbank laufen spätestens 30 Tage nach der Löschung aus. Ein laufendes Abo über Google Play oder den App Store kündigst du bitte zusätzlich dort; das Löschen des Kontos beendet es nicht.
Kommst du nicht mehr in die App, schreib eine E-Mail an info@kotoba-app.de mit dem Betreff Konto löschen, von der Adresse, mit der du dich registriert hast. Die Bearbeitung dauert dann höchstens 30 Tage.
6.1 Einzelne Daten löschen, Konto behalten
Du kannst auch nur einen Teil deiner Daten löschen lassen und dein Konto behalten. Zwei Dinge gehen direkt in der App:
- Geräte-Token für Benachrichtigungen: Profil → Benachrichtigungen ausschalten. Das Token wird dann sofort gelöscht.
- Nutzungsstatistik: Profil → Konto → Nutzungsstatistik ausschalten. Ab dann wird von diesem Gerät nichts mehr gezählt.
Für alles andere schreib eine E-Mail an info@kotoba-app.de mit dem Betreff Daten löschen, von der Adresse, mit der du dich registriert hast, und nenne, was weg soll — zum Beispiel:
- deinen Lernfortschritt samt Bewertungsprotokoll (du fängst danach neu an, das Konto bleibt),
- die bisher gezählten Statistik-Ereignisse, die an deiner Konto-Kennung hängen,
- deinen Kundendatensatz bei RevenueCat, wenn du kein Abo mehr hast.
Wir erledigen das innerhalb von 30 Tagen und bestätigen es per Mail. Aufbewahrt werden auch hier nur Zahlungs-, Rechnungs- und Buchhaltungsunterlagen, solange die gesetzlichen Fristen es verlangen.
7. Deine Rechte
Du hast das Recht auf Auskunft (Art. 15), Berichtigung (Art. 16), Löschung (Art. 17), Einschränkung der Verarbeitung (Art. 18), Datenübertragbarkeit (Art. 20) und Widerspruch (Art. 21 DSGVO). Wende dich dafür an die oben genannte Adresse.
Außerdem kannst du dich bei einer Datenschutz-Aufsichtsbehörde beschweren, etwa der für unseren Sitz zuständigen Behörde.
8. Kinder
KOTOBA richtet sich nicht gezielt an Kinder. Auch bei Minderjährigen werden keine Daten erhoben, die über das oben Beschriebene hinausgehen.
9. Änderungen
Ändert sich, was die App verarbeitet, wird diese Erklärung angepasst. Das Datum oben zeigt den aktuellen Stand.