Datenschutzerklärung
Nach Art. 13 DSGVO informieren wir dich darüber, welche personenbezogenen Daten wir verarbeiten, wenn du Neural Perfection nutzt – und auf welcher Grundlage.
Diese Erklärung folgt dem Inventar in src/consent/registry.ts. Wenn ein neues Storage-Item hinzukommt, wird automatisch auch im Consent-Banner ein Re-Consent ausgelöst.
1. Verantwortlicher
Verantwortlich für die Verarbeitung deiner Daten ist:
Tobias Kehrein Großbottwarer Straße 30 71720 Oberstenfeld Deutschland E-Mail: hello@neural-perfection.com
Datenschutzbeauftragter: Aktuell nicht bestellt – nicht verpflichtend, da keine 20+ Personen regelmäßig personenbezogene Daten verarbeiten und keine besonderen Datenkategorien anfallen.
2. Welche Daten wir verarbeiten – und warum
2.1 Lokal in deinem Browser
Diese Daten verlassen dein Gerät nicht (kein Server-Upload), sind aber trotzdem deine personenbezogenen Daten im Sinne der DSGVO.
| Schlüssel | Zweck | Speicherdauer |
|---|---|---|
aix:lang | UI-Sprache merken | dauerhaft (bis Browser-Reset) |
aix:kb_layout | Tastaturlayout merken (QWERTZ/QWERTY) | dauerhaft (bis Browser-Reset) |
aix:user | Anonyme UUID (lokale Identität, Pseudonym) | dauerhaft (bis Browser-Reset) |
aix:guest:id | Gast-UUID vor Sign-up (für Migration nach Account-Erstellung) | bis erster Login |
aix:consent | Deine Cookie-Entscheidung + Versions-Hash | 6 Monate |
sb-*-auth-token | Supabase-Login-Token (nur nach Registrierung/Login) | bis Logout oder Token-Expiry |
aixplorer_settings | App-Settings (Sound, Musik, Layout-Präferenzen) | dauerhaft (bis Browser-Reset) |
aix:streamer_mode | Streamer-Modus-Schalter (Anonymisierung in der Anzeige) | dauerhaft (bis Browser-Reset) |
aixplorer_sessions | Lokale Challenge-Historie (Punkte, WPM, Datum) | dauerhaft (bis Browser-Reset) |
aixplorer_seen_texts | Anti-Wiederholung Challenge-Texte | dauerhaft (bis Browser-Reset) |
aix:wallet, aix:wallet_history | Punkte-Stand + Ledger (max. 1000 Einträge) | dauerhaft (bis Browser-Reset) |
aix:learning:state | Streak, Drills/Anschlag-Counter, Mastery-Rang-Index, letzte 5 Drill-WPM (Promotion-Eligibility) | dauerhaft (bis Browser-Reset) |
aix:learning:mastery | Per-Tasten-Mastery (Confidence, XP, Tier) | dauerhaft (bis Browser-Reset) |
aix:learning:progress | Per-Lektion Best-of (Sterne, WPM, Accuracy, Versuche) | dauerhaft (bis Browser-Reset) |
aix:learning:lesson-stage-state | Resume-State (letzter Sub-Step in einer Lektion) | dauerhaft (bis Browser-Reset) |
aix:tutorial-seen | Welche In-App-Tutorials du schon gesehen hast (Coachmarks, Lehrplan-Abschluss-Animation, Mastery-Rang-Tour, Promotion-Test-Erstbesuch-Stepper) | dauerhaft (bis Browser-Reset) |
aix:lessonClusterBand:v1 | Visualisierungs-Cache der Brain-Map (Knoten-Positionen) | dauerhaft (bis Browser-Reset) |
aix:lessonBgTokens:v1 | Visualisierungs-Cache der Lektion-Hintergründe | dauerhaft (bis Browser-Reset) |
aix:lessonOnboarding:seen | Flag: Onboarding-Modal bereits gesehen | dauerhaft (bis Browser-Reset) |
aix:mini-speedtest:result | Persönlicher Speed-Test-Best (WPM + Accuracy) | dauerhaft (bis Browser-Reset) |
aix:speedtest-public:enabled | Opt-In-Schalter Speed-Test-Bestenliste | dauerhaft (bis Browser-Reset) |
aix:nurture:state | Nurture-Controller-State (Phase + 24h-Cooldown + Phase-Marker) | dauerhaft (bis Browser-Reset) |
aix:nurture:pending-resume | Auto-Resume-Marker für Post-Login-Open | bis nächster Login |
aix:soft-save-dismissed | Flag: Soft-Save-Hinweis-Toast bereits weggeklickt | dauerhaft (bis Browser-Reset) |
aix:paused-session | Pausierte Challenge-Session (Resume-fähig) | bis Resume oder Verwerfen |
aix:pending-claim, aix:claim-success | Marker für Highscore-Claim nach Magic-Link-Login | bis Claim abgeschlossen |
aix:referrer | Referrer-UUID (Empfehlung von einem anderen User) | bis Sign-up |
aix:utm_source/medium/campaign | UTM-First-Touch-Attribution (Marketing-Quelle) | bis Sign-up |
aix:avatar:<uuid> | Lokal gecachter Avatar-Datenstring pro User | bis Logout |
aix:onboarded:<uuid> | Per-User-Flag: Onboarding bereits abgeschlossen | bis Logout |
aix:migrated:<uuid>:<uuid> | Flag: Gast→Account-Daten-Migration abgeschlossen | bis Logout |
aix:eventLog | Lokales Audit-Log (max. 500 Events) | rollend |
Rechtsgrundlage:
- essentielle Items (Sprache, Layout, Consent-State, lokale UUID,
Auth-Token, Guest-ID): Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an einer funktionsfähigen App ohne Login).
- funktionale Items (Spielstand, Settings, Trainings-Fortschritt,
Speed-Test-Best, Avatar-Cache, UTM-Attribution, Onboarding-Flags): Art. 6 Abs. 1 lit. a DSGVO – deine ausdrückliche Einwilligung im Consent-Banner.
- analytische Items (Event-Log): Art. 6 Abs. 1 lit. a DSGVO –
deine Einwilligung im Consent-Banner.
2.2 In Supabase (server-seitig, sobald Auth/Sync aktiv)
Folgende Tabellen werden nur befüllt, wenn du dich registrierst oder einen pseudonymen Beitrag zur globalen Bestenliste leistest.
| Tabelle | Zweck | Speicherdauer |
|---|---|---|
users | UUID + optional Display-Name + E-Mail | bis Account-Löschung über DSGVO-Datenlöschung |
auth.users.user_metadata | Cross-Device-Sync deines Trainingsstands. (1) Leistungszahlen: Erfahrung gesamt und im Netz, Profil-Erfahrung, Anzahl Lektionen, Übungen und Anschläge, Compete-Minuten, Mastery-Rang, aktuelle und längste Serie. (2) Datierte Verläufe: ein rollendes Tagesprotokoll deines Durchschnittstempos (je Tag: Datum, Tempo, Anzahl Läufe), Tempo- und Genauigkeitswerte deiner letzten Läufe, Datum deines letzten Trainings, Tagesaufgaben des laufenden Tages, Serien-Zustand (Tage, letztes Datum, Joker, Pause), eine offen gelassene Sitzung. (3) Einstellungen: Sprache, Finger-Anzahl und Tippsystem beim Start, Selbsteinschätzung, Bestenlisten-Teilnahme. (4) Merker: welche Tutorials und Touren du gesehen hast, Hinweiszähler | bis Account-Löschung; das Tagesprotokoll zusätzlich 56 Tage (rollend, auch server-seitig zugeschnitten) |
sessions | Pseudonyme Spielergebnisse für die Bestenliste | 24 Monate, danach Anonymisierung (user_id → Anon-Pool) |
wallet_entries | Pseudonymer Punkte-Ledger | 24 Monate, danach Anonymisierung |
key_mastery | Per-Tasten-Mastery für Multi-Device-Sync | bis Account-Löschung |
speed_test_results | Globale Speed-Test-Bestenliste (Opt-In) | bis Account-Löschung oder Opt-Out |
events | Pseudonymes Audit-/Event-Log | 90 Tage (rolling delete) |
feedback | Beta-Feedback (Bug-Reports, Wishlist-Items) | bis manuelle Löschung durch Admin oder Account-Löschung |
email_audit_log | Audit-Trail für Lifecycle-Mails (Mail-Typ, Versand-Zeitpunkt, Widerspruchs-Zeitpunkt) — Rechenschaftspflicht Art. 5(2) DSGVO | bis Account-Löschung |
analytics_events | Pseudonymes Funnel-Event-Log für Conversion-Analyse. Erfasst: Sign-up, abgeschlossene Lektionen, Tag-1/Tag-7-Return, Page-Views, Onboarding-Step-Progress, Skip-Tier-Auswahl, Drill-Start/Abbruch/Abschluss, Klicks auf Empfehlungs-Karte, Pro-Hook und Auth-Buttons. Zusätzlich: UTM-Quelle, Browser-Klasse, Viewport-Größe. Wird komplett blockiert wenn Analytics-Consent verweigert. | 90 Tage (rolling delete) |
bigram_mastery | Per-Bewegung-Mastery: Anzahl Anschläge + mittlere Übergangs-Zeit + XP für die ~180 häufigsten Bigramme (Buchstaben-Paare) deiner Sprache | bis Account-Löschung |
bigram_benchmarks | Anonymisierte Welt-Benchmark-Werte pro Bigramm (Top-1%/Top-10%/Median in ms) — Aggregat aus mindestens 50 Usern, keine Einzeldaten rekonstruierbar | dauerhaft (statisches Referenz-Wissen) |
matches, match_participants | Multiplayer-Matches | 12 Monate nach Match-Ende |
subscriptions | Pro-Abo-Zuordnung (User-ID ↔ Paddle-Sub-ID) | bis Kündigung + gesetzliche Aufbewahrung (10 Jahre HGB) |
Rechtsgrundlage: Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung – ohne Daten kein Multi-Device-Sync) bzw. lit. a (Einwilligung im Consent-Banner für funktionale Kategorie).
3. Empfänger / Auftragsverarbeiter
- Cloudflare, Inc., 101 Townsend Street, San Francisco, CA 94107, USA,
als Auftragsverarbeiter (Hosting via Cloudflare Pages, Content Delivery Network, Edge Functions für OG-Bilder + Share-Links, Web Analytics).
- AVV (Data Processing Addendum):
https://www.cloudflare.com/cloudflare-customer-dpa/
- Drittlandtransfer (USA) abgesichert durch Standardvertragsklauseln
(SCC) und EU-U.S. Data Privacy Framework.
- Edge-Nodes innerhalb der EU bevorzugt (typisch Frankfurt, Amsterdam,
Madrid).
- Cloudflare Web Analytics: cookieless, ohne Fingerprinting,
ohne Cross-Site-Tracking. Erfasst anonymisierte Performance- Metriken (Largest Contentful Paint, Interaction to Next Paint, Cumulative Layout Shift) und aggregierte Aufruf-URLs zur Site-Performance-Optimierung. Keine User-IDs, keine Profilbildung.
- Supabase Inc., 970 Toa Payoh North #07-04, Singapore 318992,
als Auftragsverarbeiter (Datenbank, Auth, Storage für Multi-Device-Sync).
- AVV (Data Processing Agreement): https://supabase.com/legal/dpa
- Drittlandtransfer (USA) abgesichert durch Standardvertragsklauseln
(SCC) und EU-U.S. Data Privacy Framework (Angemessenheitsbeschluss der EU-Kommission, 10.07.2023).
- Region: Innerhalb der Europäischen Union (Frankfurt oder Dublin).
- Functional Software, Inc. d/b/a Sentry, 45 Fremont Street, 8th Floor,
San Francisco, CA 94105, USA, als Auftragsverarbeiter (Crash-Reporting, Performance-Monitoring, Session-Replay zur Fehleranalyse).
- AVV (Data Processing Addendum): https://sentry.io/legal/dpa/
- Drittlandtransfer (USA) abgesichert durch Standardvertragsklauseln
(SCC) und EU-U.S. Data Privacy Framework.
- Erfasst werden ausschließlich technische Fehler-Daten: JavaScript-
Exception-Stacktraces, Browser- und OS-Version, URL der Fehler- Seite, anonymisierte Session-ID. Keine Klartext-Eingaben in Form-Feldern werden gespeichert.
- Session Replay (5 % regulär, 100 % bei Fehlern): visuelle
Aufzeichnung der UI-Interaktion ohne Texteingaben (Default-Masking für <input>-Werte ausgenommen Buttons und Public-Content). Aufbewahrung 30 Tage durch Sentry.
- Aktivierung: Nur wenn die Umgebungsvariable
VITE_SENTRY_DSN
gesetzt ist (Production-Builds). In Local-Dev und Preview-Builds ohne DSN ist Sentry deaktiviert (No-Op).
- Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse
an einer stabilen, fehlerfreien Anwendung).
- Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043,
USA, als Auftragsverarbeiter für Conversion-Tracking unserer Google-Ads-Kampagnen (Tag-ID AW-18215576258 via gtag.js).
- Drittlandtransfer (USA) abgesichert durch Standardvertragsklauseln
(SCC) und EU-U.S. Data Privacy Framework.
- Verarbeitet wird ein pseudonymes Klick-Identifikationsmerkmal in
den Cookies _gcl_au / _gcl_aw sowie aggregierte Event-Daten, sobald eine Conversion (Sign-up, abgeschlossenes Training) stattfindet. Kein Klartext-Personenbezug, keine E-Mail-Adresse, kein Tipp-Inhalt.
- Rechtsgrundlage: Art. 6 Abs. 1 lit. a DSGVO (Einwilligung). Das
Script + die Cookies werden erst nach deinem ausdrücklichen Marketing-Consent geladen. Vorher: kein Network-Hit zu Google, keine Cookies.
- Widerruf: jederzeit über die Cookie-Einstellungen im Footer
(Marketing-Kategorie abwählen). Nach Widerruf setzen wir Googles offizielles Opt-Out-Flag (ga-disable-AW-18215576258); bereits gesetzte Cookies bleiben bis zum Ablauf (typ. 90 Tage) bestehen, es fließen aber keine weiteren Daten ab.
- Aufbewahrung: Cookies typ. 90 Tage; aggregierte Conversion-Daten
bei Google bis zu 14 Monate.
- Resend, Inc., 2261 Market Street #4667, San Francisco, CA 94114,
USA, als Auftragsverarbeiter für zwei Versand-Kategorien:
- (1) Auth-Mails (Magic-Link, Passwort-Reset, E-Mail-Bestätigung) –
indirekt via Supabase-Auth-Custom-SMTP. Rechtsgrundlage: Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung).
- (2) Lifecycle-Mails (Welcome nach Sign-up, Re-Engagement-Drip
nach 1 und 7 Tagen, sofern du nicht zwischendurch aktiv warst) – direkt über die Resend-API via Supabase Edge Function. Rechts- grundlage: Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an einer erfolgreichen Aktivierung deines Accounts und am Aufbau einer Tipp-Trainings-Gewohnheit). Details siehe Abschnitt 3.3.
- AVV (Data Processing Agreement): https://resend.com/legal/dpa
- Drittlandtransfer (USA) abgesichert durch Standardvertragsklauseln
(SCC) und EU-U.S. Data Privacy Framework.
- Verarbeitet werden ausschließlich E-Mail-Adresse + Versand-Metadaten
(Zeitstempel, Bounce-Status, Resend-Message-ID). Kein Inhalts- Tracking, keine Pixel, keine Klick-Tracker.
- Aufbewahrung der Versand-Logs: 30 Tage durch Resend.
Weitere Empfänger gibt es nicht. Außer dem oben beschriebenen Google-Ads-Conversion-Tracking (Marketing-Kategorie, ausschließlich nach deiner Einwilligung) setzen wir kein klassisches Analytics mit Cookies/Fingerprinting, keine Heatmap-Tools, keine weiteren Marketing-Pixel und keine Embedded-Social-Plugins ein. Die anonymisierte Performance-Messung über Cloudflare Web Analytics (siehe oben) bleibt cookie- und einwilligungsfrei.
3.1 Anonyme Share-Links (/share, /og)
Wenn du dein Spielergebnis über die "Teilen"-Funktion versendest, generiert die App eine anonyme URL ohne personenbezogene Daten, z.B. https://neural-perfection.com/share?points=44917&tier=BLAZE&accuracy=96&errors=12.
Die URL enthält ausschließlich anonyme Spielwerte: Punkte, Tier, Genauigkeit, Anzahl Fehler. Kein Name, keine User-ID, keine sonstige Personenkennung. Die URL wird über Cloudflare Edge Functions zu einer OG-Vorschau-Karte gerendert (z.B. für WhatsApp, Facebook, LinkedIn). Cloudflare verarbeitet hierbei wie für jeden anderen Webseitenaufruf typisch IP-Adresse und User-Agent in seinen Access-Logs (Standard-Webserver-Verhalten, kurze Aufbewahrung).
3.2 Lifecycle-Emails (Onboarding + Re-Engagement)
Nach der Registrierung versenden wir bis zu drei Service-Mails an deine E-Mail-Adresse, um dich beim Einstieg in den Tipp-Trainer zu unterstützen:
| Zeitpunkt | Inhalt | |
|---|---|---|
| Welcome | innerhalb von 30 Min. nach Sign-up | Begrüßung, Hinweise zu den ersten drei Schritten (Lektion 1, Speed-Test, Mastery-Ränge) |
| D1-Drip | 24–48 h nach Sign-up, nur wenn du nicht zwischendurch aktiv warst | Sanfter Anstoß ("drei Minuten reichen heute"), CTAs zur ersten Lektion oder zum Speed-Test |
| D7-Drip | 6–14 Tage nach Sign-up, nur wenn du nicht zurückgekommen bist | Ehrlicher Re-Engagement-Hinweis mit Streak-Bonus-Anker und Hinweis auf einfache Abmeldung |
Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO – berechtigtes Interesse an einer erfolgreichen Aktivierung deines Accounts und am Aufbau einer Tipp-Trainings-Gewohnheit, die der Grund deiner Anmeldung war.
Auftragsverarbeiter: Resend, Inc. (siehe Abschnitt 3, Versand- Metadaten + E-Mail-Adresse).
Du kannst diesen Mailings jederzeit widersprechen:
- per Klick auf den Abmelde-Link am Ende jeder Mail (führt auf
/unsubscribe?token=…),
- oder im eingeloggten Zustand über die Profil-Einstellungen
→ "E-Mail-Benachrichtigungen",
- oder per formloser E-Mail an
hello@neural-perfection.com.
Sobald du widersprichst, wird kein weiteres Lifecycle-Mail an dich versendet. Auth- und Transaktionsmails (Login-Codes, Passwort-Reset) bleiben davon unberührt, da sie zur Vertragserfüllung notwendig sind.
Audit-Log: Versand-Zeitpunkt + Mail-Typ + (sofern erfolgt) Widerspruchs-Zeitpunkt werden in der Tabelle email_audit_log gespeichert, um den Nachweis nach Art. 5 Abs. 2 DSGVO (Rechenschafts- pflicht) führen zu können. Aufbewahrung: bis zur Account-Löschung.
3.3 Bewegungs-Performance-Daten (Bigramme)
Damit der Trainer dir konkret sagen kann welche Bewegung dich bremst („Du bist langsam bei Ü→A: 180 ms · Top 1% schaffen 95 ms"), messen wir beim Tippen die Zeit zwischen aufeinanderfolgenden Buchstaben-Paaren (sog. Bigramme) — und zwar nur für die rund 180 häufigsten Paare deiner Sprache. Beispiele: er, en, ch, ei, te, in, ng, st, ü→r, ö→n.
Was wir messen + speichern (Tabelle `bigram_mastery`):
| Datenpunkt | Beispiel |
|---|---|
| Buchstaben-Paar | „ü → a" |
| Anzahl Anschläge dieses Paars | 47 |
| Mittlere Übergangs-Zeit | 180 ms |
| Fehler-Rate | 0,02 (2 %) |
| Bewegungs-XP | 312 |
Rechtsgrundlage: Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung) — ohne diese Messung könnten wir die zentrale Trainings-Funktion des Trainers (gezielte Bewegungs-Empfehlungen + Welt-Vergleich) nicht erbringen. Du hast den Trainer aktiv gestartet, die Messung ist die unmittelbare Konsequenz.
Was wir NICHT messen: Inhalte deiner Eingaben, Wörter, Sätze oder Texte. Wir messen ausschließlich, wie schnell zwei bestimmte Buchstaben nacheinander folgen — diese Daten sind keine Klartext-Eingaben sondern reine Zeitmessungen.
Welt-Benchmark (Tabelle `bigram_benchmarks`):
Um dir einen Vergleichswert anzuzeigen, aggregieren wir Performance- Daten zu anonymen Statistik-Werten (Top 1%, Top 10%, Median pro Bigramm). Diese Aggregate:
- werden erst erstellt sobald mindestens 50 verschiedene User Daten
für ein bestimmtes Bigramm beigetragen haben (technische Mindest- Anonymisierungs-Schwelle gegen Re-Identifikation),
- enthalten keine Verknüpfung zu einzelnen Usern,
- sind nicht rückrechenbar auf einzelne Beiträge,
- werden bei Account-Löschung NICHT aus dem Aggregat entfernt, weil sie
nicht mehr deinem Account zugeordnet sind (so dokumentiert hier als technische Garantie).
In der Phase vor Erreichen der 50-User-Schwelle zeigen wir Schätzwerte an, die aus bekannten Welt-Rekord-Daten + Finger- Kombination heuristisch berechnet sind — klar in der UI als „Schätzwert" markiert.
Widerspruchsrecht (Opt-Out):
Du kannst der Verwendung deiner Daten für den Welt-Benchmark-Pool jederzeit widersprechen — entweder im eingeloggten Zustand über die Profil-Einstellungen → „Erweiterte Privatsphäre" oder formlos per E-Mail an hello@neural-perfection.com. Nach Opt-Out:
- werden deine bisherigen Beiträge zum Aggregat nicht rückwirkend
entfernt (technisch nicht mehr identifizierbar — siehe oben),
- fließen aber keine neuen Daten von dir mehr in den Welt-Benchmark,
- du siehst weiterhin deine eigene Diagnose („du: 180 ms"), nur die
Vergleichszahlen werden nicht mehr deiner Mitwirkung verdankt.
Die Per-User-Daten in bigram_mastery werden vom Opt-Out NICHT betroffen — sie sind Vertragserfüllung (Trainer-Funktion). Diese Daten löschen wir bei Account-Löschung mit (DSGVO Art. 17 Recht auf Löschung).
3.4 Globale Bestenlisten (Opt-In)
Wir betreiben vier namentliche Bestenlisten: Compete, Speed-Test, getippte Zeichen und Trainings. Angezeigt werden dort dein Anzeigename, dein Profilbild, dein Rang und der jeweilige Wert.
Diese Veröffentlichung erfolgt ausschließlich mit deiner Einwilligung (Art. 6 Abs. 1 lit. a DSGVO). Du erteilst sie über den Schalter „Bestenlisten-Teilnahme" in deinem Profil. Ohne erteilte Einwilligung erscheinst du in keiner Bestenliste – auch nicht, wenn du vor der Anmeldung anonym gespielt hast.
Widerruf wirkt sofort und rückwirkend. Schaltest du die Teilnahme ab, verschwindest du unmittelbar aus allen Bestenlisten, und deine bereits veröffentlichten Speed-Test-Ergebnisse werden gelöscht. Deine eigenen Werte – Fortschritt, Zähler, Spielverlauf – bleiben davon unberührt; sie sind für den Betrieb deines Kontos erforderlich (Art. 6 Abs. 1 lit. b DSGVO) und waren nie Gegenstand der Einwilligung.
Die Trennung ist technisch durchgesetzt: fremde Profildaten sind nur über eine gefilterte Datenbank-Sicht erreichbar, die ausschließlich eingewilligte Konten enthält.
4. Übermittlung in Drittländer
Beim Aufruf der Webseite werden Daten von Cloudflare (USA) verarbeitet (siehe Abschnitt 3). Sobald du Supabase-Funktionen nutzt (Sign-up, Bestenliste, Multiplayer), können deine Daten zusätzlich in den USA bei Supabase verarbeitet werden. Auth-Mails laufen über Resend (USA), Fehler-Telemetrie wird – falls aktiviert – an Sentry (USA) übertragen, und Google-Ads-Conversion-Daten gehen – nur nach deiner Einwilligung – an Google LLC (USA). Das Schutzniveau wird in allen Fällen durch SCC und das EU-U.S. Data Privacy Framework gewährleistet.
5. Deine Rechte
Du hast jederzeit das Recht auf:
- Auskunft (Art. 15) — Klick im Consent-Modal auf "Daten exportieren"
(siehe Abschnitt 7) oder formlose Anfrage an die oben genannte E-Mail.
- Berichtigung (Art. 16) — Display-Name kannst du in den App-Settings
selbst ändern; alles weitere per E-Mail.
- Löschung / „Vergessenwerden" (Art. 17) — Klick im Consent-Modal auf
"Daten löschen" oder formlose Anfrage.
- Einschränkung (Art. 18) — formlose Anfrage.
- Datenübertragbarkeit (Art. 20) — der Auskunfts-Export ist ein
JSON-Dokument, das den Anforderungen an „strukturiert, gängig, maschinenlesbar" genügt.
- Widerspruch (Art. 21) — du kannst die Verarbeitung jederzeit
über das Consent-Settings-Modal beschränken oder den Account löschen.
- Widerruf der Einwilligung (Art. 7 Abs. 3) — Footer-Link
"Cookie-Einstellungen", jederzeit erreichbar.
- Beschwerde bei der Aufsichtsbehörde (Art. 77) — z.B. die
Datenschutzbehörde deines Bundeslandes.
6. Cookies / Storage – Einwilligung & Widerruf
Wir nutzen ausschließlich Browser-Storage (localStorage), keine klassischen Cookies. Vor jedem nicht-essentiellen Schreibvorgang fragen wir dich. Deine Entscheidung speichern wir 6 Monate; ändert sich unser Speicher-Inventar (neuer Zweck oder neuer Auftragsverarbeiter), fragen wir dich erneut.
Den Widerruf kannst du jederzeit ausführen über:
- Footer-Link "Cookie-Einstellungen"
- DevTools-Konsole:
__aixConsent.clear() - Browser-Storage manuell löschen (Schlüssel
aix:consent)
7. Technische Umsetzung der Betroffenenrechte
- Datenexport (Art. 15 + Art. 20): Sobald du angemeldet bist, ruft
die App die RPC gdpr_export_user_data(uuid) in Supabase auf und liefert dir ein JSON. Solange du nur lokal nutzt, kannst du die Daten via DevTools-Konsole exportieren: JSON.stringify(Object.entries(localStorage)).
- Datenlöschung (Art. 17): RPC
gdpr_delete_user_data(uuid)
führt einen Cascade-Delete in Supabase durch. Lokale Daten löschst du im Browser oder über __aixConsent.clear() + Hard-Reload.
8. Aufbewahrung & Löschung
Siehe die Tabellen in Abschnitt 2 für die jeweiligen Fristen. Automatische Löschung läuft als pg_cron-Job in Supabase (siehe Migration 0004_compliance.sql).
9. Verschlüsselung & Sicherheit
- Transport: HTTPS/TLS 1.2+ (durch Cloudflare bzw. Supabase erzwungen).
- Server-seitig: Supabase verschlüsselt Daten at rest (AES-256).
- Lokal: localStorage ist Browser-Sandbox, kein Klartext-Personenbezug
außer dem optionalen Display-Name.
10. Änderungen dieser Datenschutzerklärung
Wenn wir das Storage-Inventar oder die Verarbeitung ändern, ändert sich auch der Versions-Hash der Registry und das Banner taucht erneut auf. Die geänderte Erklärung gilt ab Veröffentlichung.
Stand: 26. Mai 2026 (ergänzt um Mastery-Rang-System, Lehrplan-Abschluss- und Promotion-Test-Tutorials)