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>
`,
}
