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>
152 lines
7.1 KiB
TypeScript
152 lines
7.1 KiB
TypeScript
import type { SystemInfoConfig } from './types'
|
|
|
|
export const consentConfig: SystemInfoConfig = {
|
|
title: 'Consent Management System-Info',
|
|
description: 'DSGVO-konforme Verwaltung von Einwilligungen und rechtlichen Dokumenten.',
|
|
version: '3.0',
|
|
privacyNotes: [
|
|
'Alle Consent-Daten werden verschluesselt gespeichert',
|
|
'Audit-Trail fuer alle Aenderungen',
|
|
'Automatische Datenlöschung nach Widerruf',
|
|
'DSGVO Art. 7 konforme Einwilligungsverwaltung',
|
|
],
|
|
architecture: {
|
|
layers: [
|
|
{ title: 'Frontend', components: ['Consent Banner', 'Praeferenz-Center', 'Admin UI'], color: '#3b82f6' },
|
|
{ title: 'Consent Service (Go)', components: ['Consent API', 'Version Control', 'Audit Logger'], color: '#00ADD8' },
|
|
{ title: 'Backend (Python)', components: ['GDPR Export', 'Analytics', 'Reporting'], color: '#3776AB' },
|
|
{ title: 'PostgreSQL', components: ['Consents', 'Documents', 'Audit Logs'], color: '#336791' },
|
|
],
|
|
},
|
|
features: [
|
|
{ name: 'Dokumenten-Versionierung', status: 'active', description: 'Vollstaendige Historie aller Versionen' },
|
|
{ name: 'Multi-Mandanten', status: 'active', description: 'Tenant-isolierte Consent-Verwaltung' },
|
|
{ name: 'Approval Workflow', status: 'active', description: 'DSB-Freigabe fuer neue Versionen' },
|
|
{ name: 'A/B Testing', status: 'planned', description: 'Consent-Rate Optimierung' },
|
|
{ name: 'Analytics Dashboard', status: 'planned', description: 'Consent-Metriken und Trends' },
|
|
],
|
|
roadmap: [
|
|
{ phase: 'Phase 1: Compliance (Q1)', priority: 'high', items: ['TCF 2.2 Integration', 'IAB GPP Support', 'Cookie Scanning', 'Compliance Reports'] },
|
|
{ phase: 'Phase 2: UX (Q2)', priority: 'medium', items: ['Banner A/B Testing', 'Conversion Tracking', 'Dark Pattern Detection', 'Accessibility (WCAG)'] },
|
|
{ phase: 'Phase 3: Integration (Q3)', priority: 'low', items: ['Google Consent Mode v2', 'Meta CAPI Integration', 'CRM Sync', 'Marketing Automation'] },
|
|
],
|
|
technicalDetails: [
|
|
{ component: 'Backend', technology: 'Go + Gin', version: '1.21+', description: 'High-Performance API' },
|
|
{ component: 'Database', technology: 'PostgreSQL', version: '16', description: 'ACID-konform' },
|
|
{ component: 'Cache', technology: 'Valkey', version: '8.x', description: 'Redis-kompatibel' },
|
|
{ component: 'Encryption', technology: 'AES-256', description: 'At-rest Verschluesselung' },
|
|
],
|
|
auditInfo: [
|
|
{
|
|
category: 'DSGVO-Compliance',
|
|
items: [
|
|
{ label: 'Art. 7 Einwilligung', value: 'Implementiert', status: 'ok' },
|
|
{ label: 'Art. 13/14 Informationspflichten', value: 'Implementiert', status: 'ok' },
|
|
{ label: 'Art. 17 Recht auf Loeschung', value: 'Implementiert', status: 'ok' },
|
|
{ label: 'Art. 20 Datenportabilitaet', value: 'Implementiert', status: 'ok' },
|
|
],
|
|
},
|
|
{
|
|
category: 'Technische Sicherheit',
|
|
items: [
|
|
{ label: 'Verschluesselung', value: 'AES-256 at rest', status: 'ok' },
|
|
{ label: 'TLS', value: '1.3', status: 'ok' },
|
|
{ label: 'Audit-Log', value: 'Lueckenlos', status: 'ok' },
|
|
{ label: 'Backup', value: 'Taeglich, 30 Tage', status: 'ok' },
|
|
],
|
|
},
|
|
{
|
|
category: 'Dokumenten-Status',
|
|
items: [
|
|
{ label: 'AGB', value: 'v2.1 - Aktiv', status: 'ok' },
|
|
{ label: 'Datenschutz', value: 'v3.0 - Aktiv', status: 'ok' },
|
|
{ label: 'Cookie-Policy', value: 'v1.5 - Aktiv', status: 'ok' },
|
|
{ label: 'Impressum', value: 'v1.0 - Aktiv', status: 'ok' },
|
|
],
|
|
},
|
|
],
|
|
fullDocumentation: `
|
|
<h2>Consent Management System</h2>
|
|
|
|
<h3>1. Uebersicht</h3>
|
|
<p>Das Consent Management System (CMS) verwaltet alle rechtlichen Einwilligungen fuer die BreakPilot-Plattform gemaess DSGVO Art. 6 und Art. 7.</p>
|
|
|
|
<h3>2. Dokumenttypen</h3>
|
|
<table>
|
|
<tr><th>Typ</th><th>Beschreibung</th><th>Pflicht</th></tr>
|
|
<tr><td>terms</td><td>Allgemeine Geschaeftsbedingungen</td><td>Ja</td></tr>
|
|
<tr><td>privacy</td><td>Datenschutzerklaerung</td><td>Ja</td></tr>
|
|
<tr><td>cookies</td><td>Cookie-Richtlinie</td><td>Ja</td></tr>
|
|
<tr><td>community</td><td>Community Guidelines</td><td>Nein</td></tr>
|
|
<tr><td>imprint</td><td>Impressum</td><td>Nein</td></tr>
|
|
</table>
|
|
|
|
<h3>3. Versions-Workflow</h3>
|
|
<pre>
|
|
┌──────────┐ ┌──────────┐ ┌───────────┐ ┌───────────┐
|
|
│ draft │ -> │ review │ -> │ approved │ -> │ published │
|
|
└──────────┘ └────┬─────┘ └───────────┘ └───────────┘
|
|
│
|
|
v
|
|
┌──────────┐
|
|
│ rejected │ -> zurueck zu draft
|
|
└──────────┘
|
|
</pre>
|
|
|
|
<h3>4. API Endpoints</h3>
|
|
<table>
|
|
<tr><th>Endpoint</th><th>Methode</th><th>Beschreibung</th></tr>
|
|
<tr><td>/api/consent/documents</td><td>GET</td><td>Alle Dokumente listen</td></tr>
|
|
<tr><td>/api/consent/documents/{type}/latest</td><td>GET</td><td>Aktuelle Version</td></tr>
|
|
<tr><td>/api/consent/check/{type}</td><td>GET</td><td>Consent-Status pruefen</td></tr>
|
|
<tr><td>/api/consent/grant</td><td>POST</td><td>Consent erteilen</td></tr>
|
|
<tr><td>/api/consent/revoke</td><td>POST</td><td>Consent widerrufen</td></tr>
|
|
</table>
|
|
|
|
<h3>5. Cookie-Kategorien</h3>
|
|
<table>
|
|
<tr><th>Kategorie</th><th>Beschreibung</th><th>Default</th></tr>
|
|
<tr><td>essential</td><td>Technisch notwendig</td><td>Immer aktiv</td></tr>
|
|
<tr><td>functional</td><td>Erweiterte Funktionen</td><td>Opt-in</td></tr>
|
|
<tr><td>analytics</td><td>Nutzungsanalyse</td><td>Opt-in</td></tr>
|
|
<tr><td>marketing</td><td>Werbung & Tracking</td><td>Opt-in</td></tr>
|
|
</table>
|
|
|
|
<h3>6. Audit-Trail</h3>
|
|
<p>Alle Consent-Aenderungen werden mit folgenden Daten protokolliert:</p>
|
|
<ul>
|
|
<li>Timestamp (ISO 8601)</li>
|
|
<li>User-ID (pseudonymisiert)</li>
|
|
<li>Aktion (grant/revoke/update)</li>
|
|
<li>Dokumenttyp und Version</li>
|
|
<li>IP-Adresse (anonymisiert nach 30 Tagen)</li>
|
|
<li>User-Agent</li>
|
|
</ul>
|
|
|
|
<h3>7. DSGVO-Rechte</h3>
|
|
<table>
|
|
<tr><th>Artikel</th><th>Recht</th><th>Status</th></tr>
|
|
<tr><td>Art. 7</td><td>Widerruf der Einwilligung</td><td>✓ Implementiert</td></tr>
|
|
<tr><td>Art. 15</td><td>Auskunftsrecht</td><td>✓ Implementiert</td></tr>
|
|
<tr><td>Art. 16</td><td>Recht auf Berichtigung</td><td>✓ Implementiert</td></tr>
|
|
<tr><td>Art. 17</td><td>Recht auf Loeschung</td><td>✓ Implementiert</td></tr>
|
|
<tr><td>Art. 20</td><td>Datenportabilitaet</td><td>✓ Implementiert</td></tr>
|
|
</table>
|
|
|
|
<h3>8. Compliance-Pruefungen</h3>
|
|
<ol>
|
|
<li>Woechentlich: Automatischer Consent-Rate Report</li>
|
|
<li>Monatlich: Dokumenten-Review durch DSB</li>
|
|
<li>Quartalsweise: Compliance-Audit</li>
|
|
<li>Jaehrlich: Externer Datenschutz-Audit</li>
|
|
</ol>
|
|
|
|
<h3>9. Notfallprozeduren</h3>
|
|
<ul>
|
|
<li><strong>Bei Datenpanne:</strong> Sofortige Benachrichtigung DSB, ggf. Aufsichtsbehoerde (72h)</li>
|
|
<li><strong>Bei Systemausfall:</strong> Fallback auf statische Consent-Seite</li>
|
|
<li><strong>Bei rechtlicher Aenderung:</strong> Dokumenten-Update mit Re-Consent Kampagne</li>
|
|
</ul>
|
|
`,
|
|
}
|