Files
breakpilot-lehrer/website/components/admin/system-info-configs/dsr-config.ts
Benjamin Boenisch 5a31f52310 Initial commit: breakpilot-lehrer - Lehrer KI Platform
Services: Admin-Lehrer, Backend-Lehrer, Studio v2, Website,
Klausur-Service, School-Service, Voice-Service, Geo-Service,
BreakPilot Drive, Agent-Core

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:47:26 +01:00

181 lines
9.7 KiB
TypeScript

import type { SystemInfoConfig } from './types'
export const dsrConfig: SystemInfoConfig = {
title: 'DSR Management System-Info',
description: 'Bearbeitung von DSGVO-Betroffenenrechten (Art. 15-22).',
version: '2.0',
privacyNotes: [
'Automatische Fristenueberwachung (30 Tage)',
'Identitaetsverifizierung vor Datenauskunft',
'Verschluesselte Datenexporte',
'Protokollierung aller Bearbeitungsschritte',
],
architecture: {
layers: [
{ title: 'Request Portal', components: ['Antragsformular', 'Status-Tracking', 'Upload'], color: '#3b82f6' },
{ title: 'Processing Engine', components: ['Workflow Engine', 'Data Collector', 'Export Generator'], color: '#8b5cf6' },
{ title: 'Data Sources', components: ['PostgreSQL', 'MinIO', 'External APIs'], color: '#10b981' },
{ title: 'Notification', components: ['E-Mail', 'Audit Log', 'Reports'], color: '#f59e0b' },
],
},
features: [
{ name: 'Art. 15 Auskunft', status: 'active', description: 'Automatisierter Datenexport' },
{ name: 'Art. 17 Löschung', status: 'active', description: 'Kaskadierte Datenlöschung' },
{ name: 'Art. 20 Portabilitaet', status: 'active', description: 'JSON/CSV Export' },
{ name: 'Art. 16 Berichtigung', status: 'active', description: 'Datenkorrektur-Workflow' },
{ name: 'KI-Assistenz', status: 'planned', description: 'Automatische Kategorisierung' },
],
roadmap: [
{ phase: 'Phase 1: Automation (Q1)', priority: 'high', items: ['Automatische Datensammlung', 'Template-basierte Antworten', 'Fristen-Alerts', 'Batch-Verarbeitung'] },
{ phase: 'Phase 2: Self-Service (Q2)', priority: 'medium', items: ['Nutzer-Portal', 'Echtzeit-Status', 'Sofort-Download', 'Identitaets-Verifizierung'] },
{ phase: 'Phase 3: Analytics (Q3)', priority: 'low', items: ['DSR-Metriken', 'Trend-Analyse', 'Compliance-Scoring', 'Benchmarking'] },
],
technicalDetails: [
{ component: 'Workflow', technology: 'State Machine', description: 'Definierte Bearbeitungsstatus' },
{ component: 'Export', technology: 'JSON/CSV/PDF', description: 'Maschinenlesbare Formate' },
{ component: 'Encryption', technology: 'AES-256-GCM', description: 'Export-Verschluesselung' },
{ component: 'Verification', technology: 'TOTP/E-Mail', description: 'Zwei-Faktor' },
],
auditInfo: [
{
category: 'DSGVO-Rechte Implementation',
items: [
{ label: 'Art. 15 Auskunft', value: 'Automatisiert', status: 'ok' },
{ label: 'Art. 16 Berichtigung', value: 'Workflow', status: 'ok' },
{ label: 'Art. 17 Loeschung', value: 'Kaskadiert', status: 'ok' },
{ label: 'Art. 20 Portabilitaet', value: 'JSON/CSV', status: 'ok' },
{ label: 'Art. 21 Widerspruch', value: 'Implementiert', status: 'ok' },
],
},
{
category: 'Fristen & SLAs',
items: [
{ label: 'Bearbeitungsfrist', value: '30 Tage', status: 'ok' },
{ label: 'Fristverlängerung', value: '+60 Tage moeglich', status: 'ok' },
{ label: 'Automatische Erinnerung', value: '7 Tage vor Ablauf', status: 'ok' },
{ label: 'Eskalation', value: 'Nach 25 Tagen', status: 'ok' },
],
},
{
category: 'Sicherheit',
items: [
{ label: 'Identitaetspruefung', value: 'Zweistufig', status: 'ok' },
{ label: 'Export-Verschluesselung', value: 'AES-256-GCM', status: 'ok' },
{ label: 'Zugriffskontrolle', value: 'RBAC', status: 'ok' },
{ label: 'Audit-Log', value: 'Lueckenlos', status: 'ok' },
],
},
],
fullDocumentation: `
<h2>Datenschutzanfragen (DSR) Management</h2>
<h3>1. Uebersicht</h3>
<p>Das DSR-Modul verarbeitet alle Betroffenenrechte-Anfragen gemaess DSGVO Art. 15-22. Es automatisiert den Prozess von der Anfrage bis zur Erfuellung und stellt die Einhaltung der gesetzlichen Fristen sicher.</p>
<h3>2. Unterstuetzte Anfragetypen</h3>
<table>
<tr><th>Artikel</th><th>Recht</th><th>Automatisierung</th><th>SLA</th></tr>
<tr><td>Art. 15</td><td>Auskunft</td><td>Vollautomatisch</td><td>30 Tage</td></tr>
<tr><td>Art. 16</td><td>Berichtigung</td><td>Workflow</td><td>30 Tage</td></tr>
<tr><td>Art. 17</td><td>Loeschung</td><td>Kaskadiert</td><td>30 Tage</td></tr>
<tr><td>Art. 18</td><td>Einschraenkung</td><td>Workflow</td><td>30 Tage</td></tr>
<tr><td>Art. 20</td><td>Portabilitaet</td><td>Vollautomatisch</td><td>30 Tage</td></tr>
<tr><td>Art. 21</td><td>Widerspruch</td><td>Workflow</td><td>30 Tage</td></tr>
</table>
<h3>3. Workflow-Architektur</h3>
<pre>
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Anfrage │ --> │ Verifizierung│ --> │ Bearbeitung │ --> │ Erfuellung │
│ eingang │ │ Identitaet │ │ (Auto/Man)│ │ & Export │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│ │ │ │
v v v v
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Ticket │ │ E-Mail │ │ Datensammlung│ │ Audit │
│ erstellt │ │ OTP Code │ │ aus Systemen │ │ Log │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
</pre>
<h3>4. API Endpoints</h3>
<table>
<tr><th>Endpoint</th><th>Methode</th><th>Beschreibung</th></tr>
<tr><td>/api/dsr/requests</td><td>GET</td><td>Alle Anfragen listen</td></tr>
<tr><td>/api/dsr/requests</td><td>POST</td><td>Neue Anfrage erstellen</td></tr>
<tr><td>/api/dsr/requests/{id}</td><td>GET</td><td>Anfrage-Details</td></tr>
<tr><td>/api/dsr/requests/{id}/verify</td><td>POST</td><td>Identitaet verifizieren</td></tr>
<tr><td>/api/dsr/requests/{id}/process</td><td>POST</td><td>Bearbeitung starten</td></tr>
<tr><td>/api/dsr/requests/{id}/export</td><td>GET</td><td>Datenexport herunterladen</td></tr>
</table>
<h3>5. Datensammlung</h3>
<p>Bei einer Auskunftsanfrage werden Daten aus folgenden Quellen gesammelt:</p>
<ul>
<li><strong>PostgreSQL:</strong> Stammdaten, Consents, Aktivitaetslog</li>
<li><strong>MinIO:</strong> Hochgeladene Dokumente, Profilbilder</li>
<li><strong>Qdrant:</strong> Embeddings-Metadaten (ohne Vektoren)</li>
<li><strong>Audit-Log:</strong> Alle Systemaktivitaeten</li>
</ul>
<h3>6. Export-Formate</h3>
<table>
<tr><th>Format</th><th>Inhalt</th><th>Use Case</th></tr>
<tr><td>JSON</td><td>Strukturierte Daten</td><td>Maschinenlesbar, Portabilitaet</td></tr>
<tr><td>CSV</td><td>Tabellarische Daten</td><td>Excel-kompatibel</td></tr>
<tr><td>PDF</td><td>Formatierter Report</td><td>Menschenlesbar</td></tr>
<tr><td>ZIP</td><td>Alle Formate + Dateien</td><td>Vollstaendiger Export</td></tr>
</table>
<h3>7. Identitaetsverifizierung</h3>
<p>Zweistufige Verifizierung zum Schutz vor unbefugten Anfragen:</p>
<ol>
<li><strong>Stufe 1:</strong> E-Mail-Verifizierung mit OTP-Code (6-stellig, 15 Min gueltig)</li>
<li><strong>Stufe 2:</strong> Bei sensiblen Daten: Ausweiskopie oder Video-Ident</li>
</ol>
<h3>8. Loeschprozess (Art. 17)</h3>
<pre>
Loeschanfrage
v
┌────────────────────────────────────────────────────────────┐
│ Pruefung Ausnahmen │
│ - Rechtliche Aufbewahrungspflichten? │
│ - Laufende Vertraege? │
│ - Berechtigtes Interesse? │
└────────────────────────────────────────────────────────────┘
├── Ausnahme greift --> Teilloeschung + Begruendung
v
┌────────────────────────────────────────────────────────────┐
│ Kaskadierte Loeschung │
│ 1. Anwendungsdaten (PostgreSQL) │
│ 2. Dateien (MinIO) │
│ 3. Embeddings (Qdrant) │
│ 4. Backups (nach Retention-Policy) │
└────────────────────────────────────────────────────────────┘
</pre>
<h3>9. Audit-Trail</h3>
<p>Jede DSR-Anfrage wird vollstaendig protokolliert:</p>
<ul>
<li>Eingang der Anfrage mit Timestamp</li>
<li>Verifizierungsschritte</li>
<li>Bearbeitende Person(en)</li>
<li>Gesammelte Datenquellen</li>
<li>Erfuellung oder Ablehnung mit Begruendung</li>
<li>Export-Download mit Hash</li>
</ul>
<h3>10. Metriken & KPIs</h3>
<table>
<tr><th>Metrik</th><th>Ziel</th><th>Aktuell</th></tr>
<tr><td>Durchschnittliche Bearbeitungszeit</td><td>&lt; 14 Tage</td><td>Tracking aktiv</td></tr>
<tr><td>Fristenueberschreitung</td><td>0%</td><td>Alerting aktiv</td></tr>
<tr><td>Automatisierungsgrad</td><td>&gt; 80%</td><td>Art. 15/20</td></tr>
<tr><td>Identitaetspruefung-Erfolgsrate</td><td>&gt; 95%</td><td>Tracking aktiv</td></tr>
</table>
`,
}