Observer verwendet ein zweistufiges Berechtigungsmodell. Jeder Benutzer hat eine Plattformrolle, die den Zugriff auf Verwaltungsfunktionen steuert. Innerhalb jedes Projekts haben Benutzer zusätzlich eine Projektrolle, die steuert, was sie mit Falldaten tun können. Drei Vertraulichkeits-Flags schränken zusätzlich ein, welche Felder in Antworten erscheinen.

Plattformrollen

Plattformrollen werden bei der Erstellung des Benutzerkontos festgelegt und können nur von einem Administrator geändert werden.

RolleWas sie tun können
adminVollzugriff auf alles — Benutzer, Projekte, Referenzdaten, alle Fälle
staffReferenzdaten und Projekte verwalten; kann keine anderen Benutzer verwalten
consultantIn zugewiesenen Projekten arbeiten; kein Zugriff auf das Admin-Panel
guestLesezugriff auf zugewiesene Projekte

Plattformadministratoren agieren automatisch als Projekteigentümer in allen Projekten — sie umgehen projektbezogene Berechtigungsprüfungen vollständig.

Projektrollen

Projektrollen gelten innerhalb eines bestimmten Projekts. Ein Benutzer muss einem Projekt explizit zugewiesen werden, um darauf zugreifen zu können.

RolleRangWas sie tun können
owner4Alles, einschließlich Löschen des Projekts
manager3Alle Falldatenoperationen + Teammitglieder verwalten
consultant2Fälle erstellen, lesen, aktualisieren und Daten exportieren
viewer1Lesezugriff auf Falldaten

Aktionsanforderungen

AktionMindest-Projektrolle
Daten lesenviewer
Datensätze erstellenconsultant
Datensätze aktualisierenconsultant
Datensätze löschenmanager
Mitglieder verwaltenmanager
Daten exportierenconsultant

Vertraulichkeits-Flags

Jede Projektberechtigung hat drei unabhängige boolesche Flags, die pro Benutzer und Projekt von einem Manager oder Eigentümer gesetzt werden.

FlagSteuert
can_view_contactTelefonnummern und E-Mail-Adressen in Personendatensätzen
can_view_personalVollständiger Name, Geburtsdatum, nationale ID (external_id), Einwilligungsinfo
can_view_documentsZugriff auf Dokumentdateien und Dokumentmetadaten

Wenn ein Flag deaktiviert ist, werden die entsprechenden Felder aus API-Antworten und CSV-Exporten ausgelassen — die Daten bleiben in der Datenbank, werden aber nicht an diesen Benutzer gesendet. Ein Berater mit can_view_personal: false kann nationale IDs oder Geburtsdaten nicht über einen Export abrufen, auch wenn er Datensätze erstellen kann.

Berechtigungen zuweisen

Nur Plattformadministratoren und Projekteigentümer/-manager können Projektberechtigungen zuweisen.

Benutzer zu einem Projekt hinzufügen

POST /admin/projects/:project_id/permissions
{
  "user_id": "01J...",
  "role": "consultant",
  "can_view_contact": true,
  "can_view_personal": false,
  "can_view_documents": false
}

Bestehende Berechtigung aktualisieren

PUT /admin/projects/:project_id/permissions/:permission_id

Benutzer aus Projekt entfernen

DELETE /admin/projects/:project_id/permissions/:permission_id

Häufige Einrichtungen

Feldarbeiter (consultant, eingeschränkte persönliche Daten)

{
  "role": "consultant",
  "can_view_contact": true,
  "can_view_personal": false,
  "can_view_documents": false
}

Telefonnummern zur Koordination sichtbar; kein Zugriff auf nationale IDs oder Geburtsdaten.

Supervisor (manager, Vollzugriff)

{
  "role": "manager",
  "can_view_contact": true,
  "can_view_personal": true,
  "can_view_documents": true
}

Externer Prüfer (viewer, keine sensiblen Daten)

{
  "role": "viewer",
  "can_view_contact": false,
  "can_view_personal": false,
  "can_view_documents": false
}