Files
management/docs/issues/0043-invitation-flow-eindeutigkeit-case-insensitiv.md
T
Thore Cimbal f3417a4b24 docs: capture session knowledge not yet in the repo
Externalises what this session held that the migrated repo did not:

- vision/threadnet.md: the three capabilities that justify the forks beyond
  rebranding (AV scanning into encrypted rooms, call-quality defaults with a
  client-side-only privacy line, expiring guest access via @concierge).
- issue 0043 (M5): case-insensitive uniqueness in the matrix-invitation prompt
  stage — the open residual of ADR-0011.
- issue 0044 (M5): auto-restart consumers on SOPS values-secret change — the
  footgun behind the on_conflict fix sitting inactive until a manual restart.
- issue 0045 (M1): report_event.admin_message_md unset — content reports
  dead-end with no contact path (verified still open against live config).
- sources/protokolle: the raw apo-call diagnosis history, including the four
  ruled-out hypotheses and the harmful DB write, as the source behind the AAR.

STATUS.md regenerated (M5 appears for the first time). validate, gen_status
--check, upstream_drift and pruefe_prosa all green in the CI image.
2026-08-11 12:00:00 +00:00

1.6 KiB

type, id, status, created, milestone, priority, area, related
type id status created milestone priority area related
issue 0043 open 2026-08-11 M5 medium security
docs/adr/0011-enrollment-localpart-kollision-verweigern.md

Invitation-Flow: case-insensitive Eindeutigkeitsprüfung im Prompt-Stage

Offener Rest aus ADR-0011; GitLab-seitig als gitops#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.