'use client' /** * UCCA System Documentation Page (SDK Version) * * Displays architecture documentation, auditor information, * and transparency data for the UCCA compliance system. */ import { useState, useEffect } from 'react' import Link from 'next/link' // ============================================================================ // Types // ============================================================================ type DocTab = 'overview' | 'architecture' | 'auditor' | 'rules' | 'legal-corpus' interface Rule { code: string category: string title: string description: string severity: string gdpr_ref: string rationale?: string risk_add?: number } interface Pattern { id: string title: string description: string benefit?: string effort?: string risk_reduction?: number } interface Control { id: string title: string description: string gdpr_ref?: string effort?: string } // ============================================================================ // API Configuration // ============================================================================ const API_BASE = process.env.NEXT_PUBLIC_SDK_API_URL || 'https://macmini:8090' // ============================================================================ // Main Component // ============================================================================ export default function DocumentationPage() { const [activeTab, setActiveTab] = useState('overview') const [rules, setRules] = useState([]) const [patterns, setPatterns] = useState([]) const [controls, setControls] = useState([]) const [policyVersion, setPolicyVersion] = useState('') const [loading, setLoading] = useState(false) useEffect(() => { const fetchData = async () => { setLoading(true) try { const rulesRes = await fetch(`${API_BASE}/sdk/v1/ucca/rules`, { headers: { 'X-Tenant-ID': '00000000-0000-0000-0000-000000000000' } }) if (rulesRes.ok) { const rulesData = await rulesRes.json() setRules(rulesData.rules || []) setPolicyVersion(rulesData.policy_version || '') } const patternsRes = await fetch(`${API_BASE}/sdk/v1/ucca/patterns`, { headers: { 'X-Tenant-ID': '00000000-0000-0000-0000-000000000000' } }) if (patternsRes.ok) { const patternsData = await patternsRes.json() setPatterns(patternsData.patterns || []) } const controlsRes = await fetch(`${API_BASE}/sdk/v1/ucca/controls`, { headers: { 'X-Tenant-ID': '00000000-0000-0000-0000-000000000000' } }) if (controlsRes.ok) { const controlsData = await controlsRes.json() setControls(controlsData.controls || []) } } catch (error) { console.error('Failed to fetch documentation data:', error) } finally { setLoading(false) } } fetchData() }, []) // ============================================================================ // Tab Content Renderers // ============================================================================ const renderOverview = () => (

Deterministische Regeln

{rules.length}

Alle Entscheidungen basieren auf transparenten, nachvollziehbaren Regeln.

Architektur-Patterns

{patterns.length}

Best-Practice-Loesungen fuer datenschutzkonforme KI-Systeme.

Compliance-Kontrollen

{controls.length}

Technische und organisatorische Massnahmen.

Was ist UCCA?

UCCA (Use-Case Compliance & Feasibility Advisor) ist ein deterministisches Compliance-Pruefwerkzeug, das Organisationen bei der Bewertung geplanter KI-Anwendungsfaelle hinsichtlich ihrer datenschutzrechtlichen Zulaessigkeit unterstuetzt.

Kernprinzipien

  • Determinismus: Alle Entscheidungen basieren auf transparenten Regeln. Die KI trifft KEINE autonomen Entscheidungen.
  • Transparenz: Alle Regeln, Kontrollen und Patterns sind einsehbar.
  • Human-in-the-Loop: Kritische Entscheidungen erfordern immer menschliche Pruefung durch DSB oder Legal.
  • Rechtsgrundlage: Jede Regel referenziert konkrete DSGVO-Artikel.

Wichtiger Hinweis zur KI-Nutzung

Das System verwendet KI (LLM) ausschliesslich zur Erklaerung bereits getroffener Regelentscheidungen. Die eigentliche Compliance-Bewertung erfolgt rein deterministisch durch die Policy Engine. BLOCK-Entscheidungen koennen NICHT durch KI ueberschrieben werden.

) const renderArchitecture = () => (

Systemarchitektur

{`
┌─────────────────────────────────────────────────────────────────────┐
│                        Frontend (Next.js)                            │
│                     admin-v2:3000/sdk/advisory-board                 │
└───────────────────────────────────┬─────────────────────────────────┘
                                    │ HTTPS
                                    ▼
┌─────────────────────────────────────────────────────────────────────┐
│                     AI Compliance SDK (Go)                           │
│                          Port 8090                                   │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │                    Policy Engine                              │   │
│  │  ┌───────────────────────────────────────────────────────┐   │   │
│  │  │  YAML-basierte Regeln (ucca_policy_v1.yaml)           │   │   │
│  │  │  ~45 Regeln in 7 Kategorien                           │   │   │
│  │  │  Deterministisch - Kein LLM in Entscheidungslogik     │   │   │
│  │  └───────────────────────────────────────────────────────┘   │   │
│  │                          │                                    │   │
│  │                          ▼                                    │   │
│  │  ┌────────────────┐  ┌────────────────┐  ┌────────────────┐  │   │
│  │  │  Controls      │  │  Patterns      │  │  Examples      │  │   │
│  │  │  Library       │  │  Library       │  │  Library       │  │   │
│  │  └────────────────┘  └────────────────┘  └────────────────┘  │   │
│  └─────────────────────────────────────────────────────────────┘   │
│                                                                      │
│  ┌──────────────────┐  ┌──────────────────┐                        │
│  │  LLM Integration │  │  Legal RAG       │──────┐                  │
│  │  (nur Explain)   │  │  Client          │      │                  │
│  └──────────────────┘  └──────────────────┘      │                  │
└─────────────────────────────┬────────────────────┼──────────────────┘
                              │                    │
                              ▼                    ▼
┌─────────────────────────────────────────────────────────────────────┐
│                        Datenschicht                                  │
│  ┌────────────────────┐  ┌────────────────────┐                     │
│  │    PostgreSQL      │  │    Qdrant          │                     │
│  │    (Assessments,   │  │    (Legal Corpus,  │                     │
│  │     Escalations)   │  │     2,274 Chunks)  │                     │
│  └────────────────────┘  └────────────────────┘                     │
└─────────────────────────────────────────────────────────────────────┘
          `}

Datenfluss

  1. Benutzer beschreibt Use Case im Frontend
  2. Policy Engine evaluiert gegen alle Regeln
  3. Ergebnis mit Controls + Patterns zurueck
  4. Optional: LLM erklaert das Ergebnis
  5. Bei Risiko: Automatische Eskalation

Sicherheitsmerkmale

  • TLS 1.3 Verschluesselung
  • RBAC mit Tenant-Isolation
  • JWT-basierte Authentifizierung
  • Audit-Trail aller Aktionen
  • Keine Rohtext-Speicherung (nur Hash)

Eskalations-Workflow

Level Ausloeser Pruefer SLA
E0 Nur INFO-Regeln, Risiko < 20 Automatisch -
E1 WARN-Regeln, Risiko 20-40 Team-Lead 24h / 72h
E2 Art. 9 Daten, DSFA empfohlen, Risiko 40-60 DSB 8h / 48h
E3 BLOCK-Regeln, Art. 22, Risiko > 60 DSB + Legal 4h / 24h
) const renderAuditorInfo = () => (

Dokumentation fuer externe Auditoren

Diese Dokumentation erfuellt die Anforderungen nach Art. 30 DSGVO (Verzeichnis von Verarbeitungstaetigkeiten) und dient als Grundlage fuer Audits nach Art. 32 DSGVO.

1. Zweck des Systems

UCCA ist ein Compliance-Pruefwerkzeug zur Bewertung geplanter KI-Anwendungsfaelle hinsichtlich ihrer datenschutzrechtlichen Zulaessigkeit.

2. Rechtsgrundlage

  • Art. 6 Abs. 1 lit. c DSGVO - Erfuellung rechtlicher Verpflichtungen
  • Art. 6 Abs. 1 lit. f DSGVO - Berechtigte Interessen (Compliance-Management)

3. Verarbeitete Datenkategorien

Kategorie Speicherung Aufbewahrung
Use-Case-Beschreibung Nur Hash (SHA-256) 10 Jahre
Bewertungsergebnis Vollstaendig 10 Jahre
Audit-Trail Vollstaendig 10 Jahre
Eskalations-Historie Vollstaendig 10 Jahre

4. Keine autonomen KI-Entscheidungen

Das System trifft KEINE automatisierten Einzelentscheidungen im Sinne von Art. 22 DSGVO, da:

  • Regelauswertung ist keine rechtlich bindende Entscheidung
  • Alle kritischen Faelle werden menschlich geprueft (E1-E3)
  • BLOCK-Entscheidungen erfordern immer menschliche Freigabe
  • Betroffene haben Anfechtungsmoeglichkeit ueber Eskalation

5. Technische und Organisatorische Massnahmen

Vertraulichkeit
  • RBAC mit Tenant-Isolation
  • TLS 1.3 Verschluesselung
  • AES-256 at rest
Integritaet
  • Unveraenderlicher Audit-Trail
  • Policy-Versionierung
  • Input-Validierung
) const renderRulesTab = () => (

Regel-Katalog

Policy Version: {policyVersion}

{rules.length} Regeln insgesamt
{loading ? (
Lade Regeln...
) : (
{Array.from(new Set(rules.map(r => r.category))).map(category => (

{category}

{rules.filter(r => r.category === category).length} Regeln

{rules.filter(r => r.category === category).map(rule => (
{rule.code} {rule.severity}
{rule.title}
{rule.description}
{rule.gdpr_ref && (
{rule.gdpr_ref}
)}
{rule.risk_add && (
+{rule.risk_add}
)}
))}
))}
)}
) const renderLegalCorpus = () => (

Legal RAG Corpus

Das System verwendet einen semantischen Suchindex mit 2.274 Chunks aus 19 EU-Regulierungen fuer rechtsgrundlagenbasierte Erklaerungen.

Indexierte Regulierungen

  • DSGVO - Datenschutz-Grundverordnung
  • AI Act - EU KI-Verordnung
  • NIS2 - Cybersicherheits-Richtlinie
  • CRA - Cyber Resilience Act
  • Data Act - Datengesetz
  • DSA/DMA - Digital Services/Markets Act
  • DPF - EU-US Data Privacy Framework
  • BSI-TR-03161 - Digitale Identitaeten

RAG-Funktionalitaet

  • Hybride Suche (Dense + BM25)
  • Semantisches Chunking
  • Cross-Encoder Reranking
  • Artikel-Referenz-Extraktion
  • Mehrsprachig (DE/EN)

Verwendung im System

1
Benutzer fordert Erklaerung an
Nach der Bewertung kann eine LLM-basierte Erklaerung generiert werden.
2
Legal RAG Client sucht relevante Artikel
Basierend auf den ausgeloesten Regeln werden passende Gesetzestexte gefunden.
3
LLM generiert Erklaerung mit Rechtsgrundlage
Die Erklaerung referenziert konkrete Artikel aus DSGVO, AI Act etc.
) // ============================================================================ // Tabs Configuration // ============================================================================ const tabs: { id: DocTab; label: string }[] = [ { id: 'overview', label: 'Uebersicht' }, { id: 'architecture', label: 'Architektur' }, { id: 'auditor', label: 'Fuer Auditoren' }, { id: 'rules', label: 'Regel-Katalog' }, { id: 'legal-corpus', label: 'Legal RAG' }, ] // ============================================================================ // Main Render // ============================================================================ return (

UCCA System-Dokumentation

Transparente Dokumentation des UCCA-Systems fuer Entwickler, Auditoren und Datenschutzbeauftragte.

Zurueck zum Advisory Board
{/* Tab Navigation */}
{tabs.map(tab => ( ))}
{activeTab === 'overview' && renderOverview()} {activeTab === 'architecture' && renderArchitecture()} {activeTab === 'auditor' && renderAuditorInfo()} {activeTab === 'rules' && renderRulesTab()} {activeTab === 'legal-corpus' && renderLegalCorpus()}
) }