'use client' /** * DSGVO Dashboard - Übersicht aller Datenschutz-Module */ import { useState, useEffect } from 'react' import Link from 'next/link' import { PagePurpose } from '@/components/common/PagePurpose' interface ModuleCard { id: string title: string description: string href: string icon: string status: 'active' | 'coming_soon' stats?: { label: string value: string | number } } const modules: ModuleCard[] = [ { id: 'consent', title: 'Consent Management', description: 'Dokumente, Versionen und Einwilligungen verwalten', href: '/dsgvo/consent', icon: '📋', status: 'active', }, { id: 'dsr', title: 'Betroffenenrechte (DSR)', description: 'Art. 15-22 DSGVO: Auskunft, Löschung, Berichtigung', href: '/dsgvo/dsr', icon: '👤', status: 'active', }, { id: 'einwilligungen', title: 'Einwilligungen', description: 'Übersicht aller erteilten Einwilligungen', href: '/dsgvo/einwilligungen', icon: '✅', status: 'active', }, { id: 'vvt', title: 'Verarbeitungsverzeichnis', description: 'Art. 30 DSGVO: Dokumentation aller Verarbeitungstätigkeiten', href: '/dsgvo/vvt', icon: '📑', status: 'active', }, { id: 'dsfa', title: 'Datenschutz-Folgenabschätzung', description: 'Art. 35 DSGVO: Risikobewertung für Verarbeitungen', href: '/dsgvo/dsfa', icon: '⚠️', status: 'active', }, { id: 'tom', title: 'TOM', description: 'Art. 32 DSGVO: Technische und Organisatorische Maßnahmen', href: '/dsgvo/tom', icon: '🔒', status: 'active', }, { id: 'loeschfristen', title: 'Löschfristen', description: 'Art. 17 DSGVO: Aufbewahrungsfristen und Löschkonzept', href: '/dsgvo/loeschfristen', icon: '🗑️', status: 'active', }, { id: 'advisory-board', title: 'Advisory Board', description: 'KI-Use-Case Machbarkeits- und Compliance-Pruefung', href: '/dsgvo/advisory-board', icon: '🎯', status: 'active', }, ] export default function DSGVODashboard() { const [stats, setStats] = useState>({}) const [loading, setLoading] = useState(true) useEffect(() => { // Load stats from SDK async function loadStats() { try { const res = await fetch('/sdk/v1/dsgvo/stats', { headers: { 'X-Tenant-ID': localStorage.getItem('bp_tenant_id') || '', 'X-User-ID': localStorage.getItem('bp_user_id') || '', } }) if (res.ok) { const data = await res.json() setStats(data) } } catch (err) { console.error('Failed to load DSGVO stats:', err) } finally { setLoading(false) } } loadStats() }, []) return (
{/* Quick Stats */}
{loading ? '--' : (stats.processing_activities || 0)}
Verarbeitungstätigkeiten
{loading ? '--' : (stats.open_dsrs || 0)}
Offene DSR-Anfragen
{loading ? '--' : (stats.toms_implemented || 0)}
TOM implementiert
{loading ? '--' : (stats.retention_policies || 0)}
Löschfristen definiert
{/* Module Cards */}
{modules.map((module) => (
{module.icon}

{module.title}

{module.status === 'coming_soon' && ( Coming Soon )}

{module.description}

{module.stats && (
{module.stats.label}:{' '} {module.stats.value}
)}
))}
{/* Info Box */}

SDK-Integration aktiv

Die DSGVO-Module sind in das AI Compliance SDK integriert. Alle Datenschutz-Funktionen sind über eine einheitliche API verfügbar und können von externen Systemen genutzt werden.

) }