'use client' import { useState } from 'react' import { Language } from '@/lib/types' import { t } from '@/lib/i18n' import GradientText from '../ui/GradientText' import FadeInView from '../ui/FadeInView' import GlassCard from '../ui/GlassCard' import { Brain, Search, Database, FileText, Bot, Zap, Layers, ArrowRight, Activity, Shield, Cpu, Eye, Gauge, Network, Sparkles, Scale, BookOpen, Gavel, Globe, } from 'lucide-react' interface AIPipelineSlideProps { lang: Language } type PipelineTab = 'rag' | 'agents' | 'quality' export default function AIPipelineSlide({ lang }: AIPipelineSlideProps) { const i = t(lang) const de = lang === 'de' const [activeTab, setActiveTab] = useState('rag') const heroStats = [ { value: '75+', label: de ? 'Rechtsquellen' : 'Legal Sources', sub: de ? 'EU-Verordnungen · DACH-Gesetze · Frameworks' : 'EU regulations · DACH laws · Frameworks', color: 'text-indigo-400' }, { value: '70k+', label: de ? 'Unique Controls' : 'Unique Controls', sub: de ? 'Prüfbare Compliance-Anforderungen' : 'Auditable compliance requirements', color: 'text-purple-400' }, { value: '47k+', label: de ? 'Extrahierte Pflichten' : 'Extracted Obligations', sub: de ? 'Aus Gesetzestexten abgeleitet' : 'Derived from legal texts', color: 'text-emerald-400' }, { value: '6', label: de ? 'Pipeline-Versionen' : 'Pipeline Versions', sub: de ? 'Kontinuierliche Verbesserung' : 'Continuous improvement', color: 'text-amber-400' }, ] const tabs: { id: PipelineTab; label: string; icon: typeof Brain }[] = [ { id: 'rag', label: de ? 'RAG-Pipeline' : 'RAG Pipeline', icon: Search }, { id: 'agents', label: de ? 'UCCA & Engines' : 'UCCA & Engines', icon: Bot }, { id: 'quality', label: de ? 'QA & Infrastruktur' : 'QA & Infrastructure', icon: Gauge }, ] // Source categories for investors const sourceCategories = [ { icon: Globe, color: 'text-blue-400', bg: 'bg-blue-500/10 border-blue-500/20', title: de ? 'EU-Verordnungen (~15)' : 'EU Regulations (~15)', why: de ? 'Bindende Vorgaben fuer alle EU-Unternehmen — Verstoesse fuehren zu Bussgeldern bis 4% des Jahresumsatzes.' : 'Binding requirements for all EU companies — violations lead to fines up to 4% of annual revenue.', examples: 'DSGVO · AI Act · NIS2 · CRA · MiCA · DSA · Maschinenverordnung · Batterieverordnung', }, { icon: Scale, color: 'text-purple-400', bg: 'bg-purple-500/10 border-purple-500/20', title: de ? 'DACH-Gesetze (~20)' : 'DACH Laws (~20)', why: de ? 'Nationale Umsetzungen und eigenstaendige Gesetze — oft strenger als EU-Mindeststandards.' : 'National implementations and standalone laws — often stricter than EU minimum standards.', examples: 'BDSG · TKG · GwG · HGB · BGB · UrhG · GewO · KRITIS-DachG · AT ABGB · AT KSchG', }, { icon: BookOpen, color: 'text-emerald-400', bg: 'bg-emerald-500/10 border-emerald-500/20', title: de ? 'Frameworks & Standards (~15)' : 'Frameworks & Standards (~15)', why: de ? 'Branchenstandards definieren den Stand der Technik — Aufsichtsbehoerden erwarten deren Einhaltung.' : 'Industry standards define state of the art — regulators expect compliance with them.', examples: 'NIST 800-53 · OWASP ASVS · OWASP SAMM · ENISA ICS · NIST Zero Trust · CISA Secure by Design', }, { icon: Gavel, color: 'text-amber-400', bg: 'bg-amber-500/10 border-amber-500/20', title: de ? 'DSFA-Leitlinien & Urteile' : 'DPIA Guidelines & Rulings', why: de ? 'Urteile zeigen wie Gerichte Gesetze auslegen — entscheidend fuer praezise Compliance-Beratung statt generischer Antworten.' : 'Court rulings show how laws are interpreted — critical for precise compliance advice instead of generic answers.', examples: de ? '16 Bundeslaender DSFA-Leitlinien · BAG-Urteile · Datenschutzkonferenz-Beschluesse' : '16 federal state DPIA guidelines · Labor court rulings · Data protection conference decisions', }, ] // RAG Pipeline steps const ragPipelineSteps = [ { icon: FileText, color: 'text-blue-400', bg: 'bg-blue-500/10 border-blue-500/20', title: de ? '1. Dokument-Ingestion' : '1. Document Ingestion', items: de ? ['75+ Rechtsquellen aus EU, Deutschland und Oesterreich', 'Strukturelles Chunking an Artikel- und Absatz-Grenzen', 'Automatische Lizenz-Klassifikation (frei / Zitat / geschuetzt)', 'Geschuetzte Normen (ISO, BSI) werden vollstaendig reformuliert'] : ['75+ legal sources from EU, Germany and Austria', 'Structural chunking at article and paragraph boundaries', 'Automatic license classification (free / citation / restricted)', 'Protected standards (ISO, BSI) are fully reformulated'], }, { icon: Cpu, color: 'text-purple-400', bg: 'bg-purple-500/10 border-purple-500/20', title: de ? '2. Control-Extraktion' : '2. Control Extraction', items: de ? ['LLM extrahiert Pflichten und Anforderungen aus jedem Textabschnitt', '6 Pipeline-Versionen mit kontinuierlicher Qualitaetsverbesserung', 'Obligation Extraction: 47.000+ einzelne Pflichten identifiziert', 'Atomic Control Composition: Pflichten werden zu pruefbaren Controls'] : ['LLM extracts obligations and requirements from each text section', '6 pipeline versions with continuous quality improvement', 'Obligation extraction: 47,000+ individual duties identified', 'Atomic control composition: duties become auditable controls'], }, { icon: Database, color: 'text-emerald-400', bg: 'bg-emerald-500/10 border-emerald-500/20', title: de ? '3. Deduplizierung & Speicherung' : '3. Deduplication & Storage', items: de ? ['97.000 generierte Controls → 70.000+ nach Deduplizierung', 'Embedding-basierte Aehnlichkeitserkennung (Cosine Similarity)', 'Cross-Regulation Harmonisierung: gleiche Pflicht aus verschiedenen Gesetzen wird zusammengefuehrt', 'Ziel: 25.000–50.000 atomare Master Controls'] : ['97,000 generated controls → 70,000+ after deduplication', 'Embedding-based similarity detection (cosine similarity)', 'Cross-regulation harmonization: same obligation from different laws is merged', 'Target: 25,000–50,000 atomic master controls'], }, { icon: Search, color: 'text-indigo-400', bg: 'bg-indigo-500/10 border-indigo-500/20', title: de ? '4. Hybrid Search & Beratung' : '4. Hybrid Search & Advisory', items: de ? ['Vektorsuche + Keyword-Suche ueber alle Rechtsquellen gleichzeitig', 'Cross-Encoder Re-Ranking fuer praezise Relevanz-Sortierung', 'Quellen-Attribution: Jede Antwort verweist auf Artikel und Absatz', 'Der Compliance-Agent antwortet mit Rechtsgrundlage — nicht mit Vermutungen'] : ['Vector search + keyword search across all legal sources simultaneously', 'Cross-encoder re-ranking for precise relevance sorting', 'Source attribution: Every answer references article and paragraph', 'The compliance agent answers with legal basis — not guesswork'], }, ] // Multi-Agent System content — UCCA + Policy Engine const agents = [ { name: 'UCCA', soul: de ? 'Use-Case Compliance' : 'Use-Case Compliance', desc: de ? 'Policy Engine (45 Regeln) + Eskalation E0–E3' : 'Policy engine (45 rules) + escalation E0–E3', color: 'text-indigo-400' }, { name: de ? 'Pflichten-Engine' : 'Obligations Engine', soul: de ? '47.000+ Pflichten' : '47,000+ obligations', desc: de ? 'Multi-Regulation: NIS2, DSGVO, AI Act, CRA, ...' : 'Multi-regulation: NIS2, GDPR, AI Act, CRA, ...', color: 'text-emerald-400' }, { name: de ? 'Compliance-Berater' : 'Compliance Advisor', soul: de ? 'Legal RAG + LLM' : 'Legal RAG + LLM', desc: de ? 'Chatbot mit 75+ Rechtsquellen als Wissenbasis' : 'Chatbot with 75+ legal sources as knowledge base', color: 'text-purple-400' }, { name: de ? 'Dokument-Generator' : 'Document Generator', soul: de ? '7+ Templates' : '7+ templates', desc: de ? 'AGB, DSE, AV-Vertrag, DSFA, FRIA, BV + weitere' : 'T&C, Privacy Policy, DPA, DPIA, FRIA, Works Agreement + more', color: 'text-amber-400' }, { name: de ? 'DSFA-Agent' : 'DPIA Agent', soul: de ? 'Art. 35 DSGVO' : 'Art. 35 GDPR', desc: de ? 'Risikobewertung mit 16 Bundeslaender-Leitlinien' : 'Risk assessment with 16 federal state guidelines', color: 'text-red-400' }, { name: de ? 'Control-Pipeline' : 'Control Pipeline', soul: de ? '70.000+ Controls' : '70,000+ controls', desc: de ? 'Automatische Extraktion aus neuen Rechtsquellen' : 'Automatic extraction from new legal sources', color: 'text-blue-400' }, ] const agentInfra = [ { icon: Shield, label: de ? 'Policy Engine' : 'Policy Engine', desc: de ? 'Deterministisch · LLM ist NICHT Wahrheitsquelle' : 'Deterministic · LLM is NOT source of truth' }, { icon: Brain, label: de ? 'LLM-Schicht' : 'LLM Layer', desc: de ? 'Claude + lokale Modelle · EU-only Hosting' : 'Claude + local models · EU-only hosting' }, { icon: Network, label: 'LiteLLM Gateway', desc: de ? 'OpenAI-kompatibel · Multi-Provider Routing' : 'OpenAI-compatible · Multi-provider routing' }, { icon: Activity, label: de ? 'Eskalation E0–E3' : 'Escalation E0–E3', desc: de ? 'Auto-Approve → Team-Lead → DSB → DSB+Legal' : 'Auto-approve → Team lead → DPO → DPO+Legal' }, ] // Quality Assurance content const qaFeatures = [ { icon: Shield, color: 'text-emerald-400', title: de ? 'Control Quality Pipeline' : 'Control Quality Pipeline', items: de ? ['97.000 Controls generiert, 70.000+ nach Deduplizierung', '6 Pipeline-Versionen mit steigender Extraktionsqualitaet', 'Automatische Lizenz-Pruefung: geschuetzte Normen werden reformuliert', 'Jeder Control hat Quellen-Referenz auf Artikel und Absatz'] : ['97,000 controls generated, 70,000+ after deduplication', '6 pipeline versions with increasing extraction quality', 'Automatic license check: protected standards are reformulated', 'Every control has source reference to article and paragraph'], }, { icon: Eye, color: 'text-indigo-400', title: de ? 'Kontinuierliche Erweiterung' : 'Continuous Expansion', items: de ? ['Neue Gesetze werden automatisch ingestiert und verarbeitet', 'Pipeline erkennt Ueberschneidungen mit bestehenden Controls', 'Cross-Regulation Mapping: gleiche Pflicht aus DSGVO und BDSG wird verknuepft', 'Wachsender Wissensvorsprung gegenueber manueller Compliance-Beratung'] : ['New laws are automatically ingested and processed', 'Pipeline detects overlaps with existing controls', 'Cross-regulation mapping: same obligation from GDPR and BDSG is linked', 'Growing knowledge advantage over manual compliance consulting'], }, { icon: Sparkles, color: 'text-purple-400', title: de ? 'CI/CD & Testing' : 'CI/CD & Testing', items: de ? ['Gitea Actions: Lint → Tests → Validierung bei jedem Push', 'Go-Tests (AI SDK) + Python-Tests (Backend + Pipeline)', 'Coolify Auto-Deploy mit Health-Check-Monitoring', 'arm64 → amd64 Cross-Build fuer Hetzner Production'] : ['Gitea Actions: Lint → Tests → Validation on every push', 'Go tests (AI SDK) + Python tests (Backend + Pipeline)', 'Coolify auto-deploy with health check monitoring', 'arm64 → amd64 cross-build for Hetzner production'], }, { icon: Zap, color: 'text-amber-400', title: de ? 'Infrastruktur' : 'Infrastructure', items: de ? ['Qdrant Vektordatenbank fuer semantische Suche', 'BGE-M3 Multilingual Embedding (lokal gehostet)', 'MinIO Object Storage (S3-kompatibel, TLS-verschluesselt)', '100% EU-Cloud · Keine US-Provider · BSI-konforme Hosting-Partner'] : ['Qdrant vector database for semantic search', 'BGE-M3 multilingual embedding (locally hosted)', 'MinIO object storage (S3-compatible, TLS-encrypted)', '100% EU cloud · No US providers · BSI-compliant hosting partners'], }, ] return (

{de ? 'Anhang' : 'Appendix'}

{i.annex.aipipeline.title}

{i.annex.aipipeline.subtitle}

{/* Hero Stats */}
{heroStats.map((stat, idx) => (

{stat.value}

{stat.label}

{stat.sub}

))}
{/* Tab Navigation */}
{tabs.map((tab) => { const Icon = tab.icon return ( ) })}
{/* Tab Content */} {activeTab === 'rag' && (
{/* Source Categories — Why each matters */}
{sourceCategories.map((cat, idx) => { const Icon = cat.icon return (

{cat.title}

{cat.why}

{cat.examples}

) })}
{/* Pipeline Flow Visualization */}
{[ { icon: FileText, label: de ? '75+ Quellen' : '75+ Sources' }, { icon: Layers, label: de ? 'Chunking & Lizenz' : 'Chunking & License' }, { icon: Cpu, label: de ? 'LLM-Extraktion' : 'LLM Extraction' }, { icon: Database, label: de ? '70k+ Controls' : '70k+ Controls' }, { icon: Search, label: de ? 'Hybrid Search' : 'Hybrid Search' }, { icon: Brain, label: de ? 'Beratung' : 'Advisory' }, ].map((step, idx, arr) => (
{step.label}
{idx < arr.length - 1 && }
))}
)} {activeTab === 'agents' && (
{/* Agent List */}

{de ? 'Compliance-Engines' : 'Compliance Engines'}

{agents.map((agent, idx) => (

{agent.name}

{agent.desc}

{agent.soul}

))}
{/* Agent Infrastructure */}

{de ? 'Infrastruktur' : 'Infrastructure'}

{agentInfra.map((inf, idx) => { const Icon = inf.icon return (

{inf.label}

{inf.desc}

) })}

{de ? 'Wahrheit = Regeln + Evidenz · LLM = Uebersetzer + Subsumtions-Helfer · 100% EU-Cloud' : 'Truth = Rules + Evidence · LLM = Translator + Subsumption Helper · 100% EU Cloud'}

)} {activeTab === 'quality' && (
{qaFeatures.map((feat, idx) => { const Icon = feat.icon return (

{feat.title}

    {feat.items.map((item, iidx) => (
  • {item}
  • ))}
) })}
)}
) }