# Identity & Settings Architecture 1.38.0

## Schichten

```text
HTTP Route
  -> Platform Route Registry
  -> Policy Engine
  -> Input Schema
  -> Module Service
  -> Identity Core / Settings Repository
  -> bestehende SQLite-Tabellen
```

## Verantwortlichkeiten

### `vendoo.auth`

Besitzt Authentifizierungsabläufe und Token-Lebenszyklen. Das Modul kennt Setup, Login, Einladungen, Invite-Annahme und Logout. Es liefert keine Passwort-Hashes aus.

### `vendoo.users`

Besitzt Benutzerprofile, Rollenänderungen, Passwort-Reset und Login-Historie. Der letzte aktive Administrator ist als Invariante geschützt.

### `vendoo.sessions`

Besitzt Sitzungslisten, Widerruf und Cleanup. Selbstbedienungsrouten erzwingen `user_id` als Teil der Löschbedingung; eine erratene fremde Session-ID genügt daher nicht.

### `vendoo.settings`

Besitzt die Allowlist veränderbarer Einstellungen. Secret-Felder werden an den verschlüsselten Secret Store delegiert, Runtime-Felder an den persistenten Konfigurationsspeicher und fachliche Einstellungen an das Settings Repository.

## Datenbankstrategie

Die bestehenden Tabellen bleiben die Quelle der Wahrheit. 1.38.0 verschiebt Eigentümerschaft und Zugriffsschichten, nicht die Daten. Neue Module greifen über klar benannte Services und Repositories zu. Spätere Releases können Tabellen modulweise weiter kapseln.

## Übergangsregel

`lib/auth.mjs` darf ausschließlich als Exportfassade dienen. Neue Fachlogik darf dort nicht mehr ergänzt werden. Neue Identitätsrouten müssen über die nativen Module und den Platform Kernel registriert werden.
