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

39 lines
1.6 KiB
Markdown

---
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`.