# Rollen- und Rechtekonzept ## Rollen - `user`: Standardrolle fuer alle registrierten Nutzer - `moderator`: Operative Moderation (Disputes, Abuse-Faelle) - `admin`: Systemadministration und Policy-Overrides ## Prinzipien - **Least Privilege**: Jede Rolle bekommt nur notwendige Rechte. - **Default Deny**: Nicht explizit erlaubte Aktionen sind verboten. - **Audit First**: Sensible Aktionen werden protokolliert. ## Berechtigungen nach Bereich ### Auth & Profil - `user`: eigenes Profil lesen/aendern - `moderator`: keine Profilaenderung fuer fremde User - `admin`: administrative Sperrung/Entsperrung von Accounts ### Requests / Offers / Deals - `user`: eigene Requests/Offers erstellen, eigene Deals einsehen - `moderator`: Read-Only auf alle Deals bei gemeldeten Vorfaellen - `admin`: Read-Only auf alle Deals, Ausnahmeeingriffe nur dokumentiert ### Contacts / Address / PII - `user`: nur eigene PII und freigegebene Deal-Kontaktdaten - `moderator`: keine Vollansicht von PII, nur minimierte Fallsicht - `admin`: Zugriff nur fuer Betrieb/Sicherheit, jede Einsicht auditpflichtig ### Disputes - `user`: Dispute erstellen, Evidenz nachreichen - `moderator`: Statuswechsel (`open/evidence/mediation/resolved`), Entscheidungsvorschlag - `admin`: Finalentscheid/Override mit Pflichtbegruendung ## Rollenmatrix (Kurzform) | Aktion | user | moderator | admin | |---|---:|---:|---:| | Request erstellen | ✅ | ❌ | ❌ | | Offer abgeben | ✅ | ❌ | ❌ | | Eigenes Profil aendern | ✅ | ✅ (eigenes) | ✅ (eigenes) | | Dispute oeffnen | ✅ | ✅ | ✅ | | Dispute-Status aendern | ❌ | ✅ | ✅ | | Dispute final entscheiden | ❌ | ⚠️ (nur Vorschlag) | ✅ | | User sperren | ❌ | ❌ | ✅ | ## Technische Durchsetzung - JWT enthaelt `role` Claim (`user|moderator|admin`) - Serverseitige Middleware `requireRole([...])` fuer Endpunkte - Sensible Aktionen schreiben Audit-Eintrag mit: - actorUserId - action - targetType/targetId - reason - timestamp ## Audit-Events (Mindeststandard) - `USER_SUSPEND`, `USER_UNSUSPEND` - `DISPUTE_STATUS_CHANGE`, `DISPUTE_DECISION` - `PII_ACCESS_GRANTED`, `PII_ACCESS_VIEWED` ## Definition of Done - Rollenmodell im Repo dokumentiert - Rollen-Claims in API-Security-Konzept referenziert - Role-Checks fuer neue Endpunkte verpflichtend - Audit-Events fuer Admin/Moderation spezifiziert