# Produkt und Domäne ## Kontext Die AfiS ist im Rollenspiel die interne Ermittlungsbehörde einer SCP-Foundation-Einrichtung. Sie untersucht Korruption, Dienstvergehen und Sicherheitsvorfälle bei eigenem Personal. Bisher organisiert sie sich über ein Discord-Forum, was für verknüpfte Akten und abgestufte Sichtbarkeit nicht taugt. Das System ersetzt das Forum, nicht Discord selbst. Discord bleibt der Ort für Identität, Rollen und Benachrichtigungen. ## Nutzergruppen | Gruppe | Typisches Verhalten | Wichtigste Ansicht | |---|---|---| | Ermittler | Legt Fälle an, schreibt Vermerke, lädt Belege hoch | Fallakte, eigene Fälle | | Abteilungsleiter | Prüft, schließt Fälle ab, vergibt Rechte, exportiert | Dashboard, Rollenverwaltung | | Beobachter mit niedriger Stufe | Liest mit, kommentiert im Chat | Fallliste, Chat | | Administrator (du) | Betrieb, Vorlagen, Notfallzugriff | Adminbereich | Der Abteilungsleiter ist ausdrücklich **nicht technisch**. Alles, was er regelmäßig braucht, muss über die Oberfläche gehen. Keine Konfigurationsdateien, keine Datenbankeingriffe. ## Glossar Verbindliche Zuordnung zwischen Fachbegriff und Code-Bezeichner. | Deutsch (UI) | Code | Bedeutung | |---|---|---| | Fallakte | `Case` | Eine Ermittlung | | Aktenzeichen | `caseNumber` | `AfiS--<4-stellig>`, z. B. `AfiS-2026-0042` | | Abschnitt | `CaseSection` | Aus der Vorlage erzeugtes, versioniertes Feld | | Vermerk / Verlaufseintrag | `CaseEntry` | Chronologischer Eintrag, nur anhängend | | Verlauf | `timeline` | Die Folge aller `CaseEntry` | | Vorlage | `CaseTemplate` | Definiert Abschnitte einer Fallart | | Fallart | `caseType` | Korruptionsverdacht, Dienstvergehen, Sicherheitsvorfall, Routineprüfung | | Freigabestufe | `clearanceLevel` | 0 bis 5 | | Klassifizierung | `classification` | Die Stufe eines Objekts | | Schwärzung | `Redaction` | Für niedrigere Stufen unkenntlicher Bereich | | Personalakte | `PersonnelFile` | Akte zu einer Person | | Beteiligter | `CaseParticipant` | Ermittler, Zeuge, Betroffener, Täter oder Mittäter eines Falls | | Abteilung | `Department` | Organisationseinheit, der Personen angehören; ihre Fälle ergeben sich aus den Mitgliedern | | Aktenchat | `CaseChat` | Informelle Nachrichten zu einer Akte | | Wiedervorlage | `dueAt` | Termin, zu dem der Fall wieder anzufassen ist | | Zugriffsprotokoll | `AuditLog` | Wer hat wann was gelesen oder geändert | ## Freigabestufen Die Bezeichnungen entsprechen den Zugangsrollen auf dem Discord-Server und bleiben deshalb englisch. Stufe 0 hat keine eigene Zugangsrolle, sie gilt für jedes AfiS-Mitglied ohne eine solche Rolle. | Stufe | Bezeichnung | Zugangsrolle | Existenz für niedrigere Stufen | |---|---|---|---| | 0 | Unclassified | — | sichtbar | | 1 | Restricted Access | Restricted Access | sichtbar | | 2 | Confidential Access | Confidential Access | sichtbar, Inhalt gesperrt | | 3 | Sensitive Access | Sensitive Access | unsichtbar | | 4 | Critical Operations | Critical Operations | unsichtbar | | 5 | Executive Oversight | Executive Oversight | unsichtbar | Die Spalte ganz rechts ist konfigurierbar (`ClearanceLevelConfig.hiddenBelow`), ebenso die Bezeichnung. Die Werte oben sind der Auslieferungszustand, den `pnpm db:seed` herstellt. ## Nicht im Umfang - Keine öffentliche Registrierung, kein Passwort-Login, keine E-Mail-Zustellung - Kein mobiles Nativ-App-Ziel, aber die Weboberfläche muss auf dem Handy gut lesbar sein - Keine Echtzeit-Zusammenarbeit im selben Textfeld (nur Konflikterkennung) - Keine Volltextsuche in Anhängen (OCR) in Version 1