--- type: issue id: "0043" status: open created: 2026-08-11 milestone: M5 priority: medium area: security related: [docs/adr/0011-enrollment-localpart-kollision-verweigern.md] --- # Invitation-Flow: case-insensitive Eindeutigkeitsprüfung im Prompt-Stage > Offener Rest aus [ADR-0011](../adr/0011-enrollment-localpart-kollision-verweigern.md); GitLab-seitig als [gitops#61](https://git.lab/axion1337.chat/axion1337.chat-gitops/-/issues/61) verfolgt. ## Problem / Motivation Die Kontoübernahme über kollidierende Localparts ist geschlossen — MAS steht auf `on_conflict: fail` (ADR-0011, live nach MAS-Neustart). Das ist die harte Sicherheitsgrenze, aber sie greift erst **beim Login**: Ein Nutzer, der bei der Registrierung einen bereits vergebenen Namen (oder eine Schreibweise-Variante wie `boje` neben `Boje`) wählt, bekommt kein Feedback im Flow, sondern läuft später in einen fehlgeschlagenen Login. Authentiks eigene Eindeutigkeit ist case-sensitive und deckt Kollisionen mit bestehenden Matrix-Konten nicht ab. ## Acceptance - Der `matrix-invitation`-Flow prüft im Prompt-Stage den gewünschten Benutzernamen **case-insensitive** gegen bestehende Konten und weist eine Kollision schon bei der Registrierung sichtbar ab. - Als Blueprint reproduzierbar (`apps/authentik/authentik-blueprints.yaml`), nicht nur als Klick im Admin-UI. - Gegenprobe: Registrierung mit einem existierenden Namen in abweichender Schreibweise scheitert im Flow, nicht erst beim Login. ## Notes Rein defensive Ergänzung / UX — der Übernahme-Vektor selbst ist bereits zu. Deshalb M5 (Härtung, nicht Reparatur) und `priority: medium`.