'use client' /** * EU-AI-Act Risk Classification Page * * Self-assessment and documentation of AI risk categories according to EU AI Act. * Provides module-by-module risk assessment, warning lines, and exportable documentation. */ import { useState } from 'react' import { PagePurpose } from '@/components/common/PagePurpose' // ============================================================================= // TYPES // ============================================================================= type RiskLevel = 'unacceptable' | 'high' | 'limited' | 'minimal' interface ModuleAssessment { id: string name: string description: string riskLevel: RiskLevel justification: string humanInLoop: boolean transparencyMeasures: string[] aiActArticle: string } interface WarningLine { id: string title: string description: string wouldTrigger: RiskLevel currentStatus: 'safe' | 'approaching' | 'violated' recommendation: string } // ============================================================================= // DATA - Breakpilot Module Assessments // ============================================================================= const MODULE_ASSESSMENTS: ModuleAssessment[] = [ { id: 'text-suggestions', name: 'Textvorschlaege / Formulierhilfen', description: 'KI-generierte Textvorschlaege fuer Gutachten und Feedback', riskLevel: 'minimal', justification: 'Reine Assistenzfunktion ohne Entscheidungswirkung. Lehrer editieren und finalisieren alle Texte.', humanInLoop: true, transparencyMeasures: ['KI-Label auf generierten Texten', 'Editierbare Vorschlaege'], aiActArticle: 'Art. 69 (Freiwillige Verhaltenskodizes)', }, { id: 'rag-sources', name: 'RAG-basierte Quellenanzeige', description: 'Retrieval Augmented Generation fuer Lehrplan- und Erwartungshorizont-Referenzen', riskLevel: 'minimal', justification: 'Zitierende Referenzfunktion. Zeigt nur offizielle Quellen an, trifft keine Entscheidungen.', humanInLoop: true, transparencyMeasures: ['Quellenangaben', 'Direkte Links zu Originaldokumenten'], aiActArticle: 'Art. 69 (Freiwillige Verhaltenskodizes)', }, { id: 'correction-suggestions', name: 'Korrektur-Vorschlaege', description: 'KI-Vorschlaege fuer Bewertungskriterien und Punktevergabe', riskLevel: 'limited', justification: 'Vorschlaege ohne bindende Wirkung. Lehrkraft behaelt vollstaendige Entscheidungshoheit.', humanInLoop: true, transparencyMeasures: [ 'Klare Kennzeichnung als KI-Vorschlag', 'Begruendung fuer jeden Vorschlag', 'Einfache Ueberschreibung moeglich', ], aiActArticle: 'Art. 52 (Transparenzpflichten)', }, { id: 'eh-matching', name: 'Erwartungshorizont-Abgleich', description: 'Automatischer Abgleich von Schuelerantworten mit Erwartungshorizonten', riskLevel: 'limited', justification: 'Empfehlung, keine Entscheidung. Zeigt Uebereinstimmungen auf, bewertet nicht eigenstaendig.', humanInLoop: true, transparencyMeasures: [ 'Visualisierung der Matching-Logik', 'Confidence-Score angezeigt', 'Manuelle Korrektur jederzeit moeglich', ], aiActArticle: 'Art. 52 (Transparenzpflichten)', }, { id: 'report-drafts', name: 'Zeugnis-Textentwurf', description: 'KI-generierte Entwuerfe fuer Zeugnistexte und Beurteilungen', riskLevel: 'limited', justification: 'Entwurf, der von der Lehrkraft finalisiert wird. Keine automatische Uebernahme.', humanInLoop: true, transparencyMeasures: [ 'Entwurf-Wasserzeichen', 'Pflicht zur manuellen Freigabe', 'Vollstaendig editierbar', ], aiActArticle: 'Art. 52 (Transparenzpflichten)', }, { id: 'edu-search', name: 'Bildungssuche (edu-search)', description: 'Semantische Suche in Lehrplaenen und Bildungsmaterialien', riskLevel: 'minimal', justification: 'Informationsretrieval ohne Bewertungsfunktion. Reine Suchfunktion.', humanInLoop: true, transparencyMeasures: ['Quellenangaben', 'Ranking-Transparenz'], aiActArticle: 'Art. 69 (Freiwillige Verhaltenskodizes)', }, ] // ============================================================================= // DATA - Warning Lines (What we must never build) // ============================================================================= const WARNING_LINES: WarningLine[] = [ { id: 'auto-grading', title: 'Automatische Notenvergabe', description: 'KI berechnet und vergibt Noten ohne menschliche Pruefung', wouldTrigger: 'high', currentStatus: 'safe', recommendation: 'Noten immer als Vorschlag, nie als finale Entscheidung', }, { id: 'student-classification', title: 'Schuelerklassifikation', description: 'Automatische Einteilung in Leistungsgruppen (leistungsstark/schwach)', wouldTrigger: 'high', currentStatus: 'safe', recommendation: 'Keine automatische Kategorisierung von Schuelern implementieren', }, { id: 'promotion-decisions', title: 'Versetzungsentscheidungen', description: 'Automatisierte Logik fuer Versetzung/Nichtversetzung', wouldTrigger: 'high', currentStatus: 'safe', recommendation: 'Versetzungsentscheidungen ausschliesslich bei Lehrkraeften belassen', }, { id: 'unreviewed-assessments', title: 'Ungeprueft freigegebene Bewertungen', description: 'KI-Bewertungen ohne menschliche Kontrolle an Schueler/Eltern', wouldTrigger: 'high', currentStatus: 'safe', recommendation: 'Immer manuellen Freigabe-Schritt vor Veroeffentlichung', }, { id: 'behavioral-profiling', title: 'Verhaltensprofilierung', description: 'Erstellung von Persoenlichkeits- oder Verhaltensprofilen von Schuelern', wouldTrigger: 'unacceptable', currentStatus: 'safe', recommendation: 'Keine Verhaltensanalyse oder Profiling implementieren', }, { id: 'algorithmic-optimization', title: 'Algorithmische Schuloptimierung', description: 'KI optimiert Schulentscheidungen (Klassenzuteilung, Ressourcen)', wouldTrigger: 'high', currentStatus: 'safe', recommendation: 'Schulorganisatorische Entscheidungen bei Menschen belassen', }, { id: 'auto-accept', title: 'Auto-Accept Funktionen', description: 'Ein-Klick-Uebernahme von KI-Vorschlaegen ohne Pruefung', wouldTrigger: 'high', currentStatus: 'safe', recommendation: 'Immer bewusste Bestaetigungsschritte einbauen', }, { id: 'emotion-detection', title: 'Emotionserkennung', description: 'Analyse von Emotionen oder psychischem Zustand von Schuelern', wouldTrigger: 'unacceptable', currentStatus: 'safe', recommendation: 'Keine biometrische oder emotionale Analyse', }, ] // ============================================================================= // HELPER FUNCTIONS // ============================================================================= const getRiskLevelInfo = (level: RiskLevel) => { switch (level) { case 'unacceptable': return { label: 'Unzulaessig', color: 'bg-black text-white', borderColor: 'border-black', description: 'Verboten nach EU-AI-Act', } case 'high': return { label: 'Hoch', color: 'bg-red-600 text-white', borderColor: 'border-red-600', description: 'Strenge Anforderungen, Konformitaetsbewertung', } case 'limited': return { label: 'Begrenzt', color: 'bg-amber-500 text-white', borderColor: 'border-amber-500', description: 'Transparenzpflichten', } case 'minimal': return { label: 'Minimal', color: 'bg-green-600 text-white', borderColor: 'border-green-600', description: 'Freiwillige Verhaltenskodizes', } } } const getStatusInfo = (status: 'safe' | 'approaching' | 'violated') => { switch (status) { case 'safe': return { label: 'Sicher', color: 'bg-green-100 text-green-700', icon: '✓' } case 'approaching': return { label: 'Annaehernd', color: 'bg-amber-100 text-amber-700', icon: '⚠' } case 'violated': return { label: 'Verletzt', color: 'bg-red-100 text-red-700', icon: '✗' } } } // ============================================================================= // COMPONENT // ============================================================================= export default function AIActClassificationPage() { const [activeTab, setActiveTab] = useState<'overview' | 'modules' | 'warnings' | 'documentation'>('overview') const [expandedModule, setExpandedModule] = useState(null) // Calculate statistics const stats = { totalModules: MODULE_ASSESSMENTS.length, minimalRisk: MODULE_ASSESSMENTS.filter((m) => m.riskLevel === 'minimal').length, limitedRisk: MODULE_ASSESSMENTS.filter((m) => m.riskLevel === 'limited').length, highRisk: MODULE_ASSESSMENTS.filter((m) => m.riskLevel === 'high').length, humanInLoop: MODULE_ASSESSMENTS.filter((m) => m.humanInLoop).length, warningsTotal: WARNING_LINES.length, warningsSafe: WARNING_LINES.filter((w) => w.currentStatus === 'safe').length, } const generateMemo = () => { const date = new Date().toLocaleDateString('de-DE', { year: 'numeric', month: 'long', day: 'numeric', }) const memo = ` ================================================================================ EU-AI-ACT RISIKOKLASSIFIZIERUNG - BREAKPILOT ================================================================================ Erstellungsdatum: ${date} Version: 1.0 Verantwortlich: Breakpilot GmbH -------------------------------------------------------------------------------- 1. ZUSAMMENFASSUNG -------------------------------------------------------------------------------- System: Breakpilot KI-Assistenzsystem fuer Bildung Gesamtrisikokategorie: LIMITED RISK (Art. 52 EU-AI-Act) Begruendung: - KI liefert ausschliesslich Vorschlaege und Entwuerfe - Kein automatisiertes Entscheiden ueber Schueler - Mensch-in-the-Loop ist technisch erzwungen - Keine Schuelerklassifikation oder Profiling - Alle paedagogischen Entscheidungen verbleiben bei Lehrkraeften -------------------------------------------------------------------------------- 2. MODUL-BEWERTUNG -------------------------------------------------------------------------------- ${MODULE_ASSESSMENTS.map( (m) => ` ${m.name} Risikostufe: ${getRiskLevelInfo(m.riskLevel).label.toUpperCase()} Begruendung: ${m.justification} Human-in-Loop: ${m.humanInLoop ? 'JA' : 'NEIN'} AI-Act Artikel: ${m.aiActArticle} ` ).join('')} -------------------------------------------------------------------------------- 3. TRANSPARENZMASSNAHMEN -------------------------------------------------------------------------------- Alle KI-generierten Inhalte sind: - Klar als KI-Vorschlag gekennzeichnet - Vollstaendig editierbar durch die Lehrkraft - Mit Quellenangaben versehen (wo zutreffend) - Erst nach manueller Freigabe wirksam Zusaetzliche UI-Hinweise: - "Dieser Text wurde durch KI vorgeschlagen" - "Endverantwortung liegt bei der Lehrkraft" - Confidence-Scores wo relevant -------------------------------------------------------------------------------- 4. HUMAN-IN-THE-LOOP GARANTIEN -------------------------------------------------------------------------------- Technisch erzwungene Massnahmen: - Kein Auto-Accept fuer KI-Vorschlaege - Kein 1-Click-Bewerten - Pflicht-Bestaetigung vor Freigabe - Audit-Trail aller Aenderungen -------------------------------------------------------------------------------- 5. WARNLINIEN (NICHT IMPLEMENTIEREN) -------------------------------------------------------------------------------- ${WARNING_LINES.map( (w) => ` [${getStatusInfo(w.currentStatus).icon}] ${w.title} Wuerde ausloesen: ${getRiskLevelInfo(w.wouldTrigger).label} Status: ${getStatusInfo(w.currentStatus).label} ` ).join('')} -------------------------------------------------------------------------------- 6. RECHTLICHE EINORDNUNG -------------------------------------------------------------------------------- Breakpilot faellt NICHT unter die High-Risk Kategorie des EU-AI-Act, da: 1. Keine automatisierten Entscheidungen ueber natuerliche Personen 2. Keine Bewertung von Schuelern ohne menschliche Kontrolle 3. Keine Zugangs- oder Selektionsentscheidungen 4. Reine Assistenzfunktion mit Human-in-the-Loop Die Transparenzpflichten nach Art. 52 werden durch entsprechende UI-Kennzeichnungen und Nutzerinformationen erfuellt. -------------------------------------------------------------------------------- 7. MANAGEMENT-STATEMENT -------------------------------------------------------------------------------- "Breakpilot ist ein KI-Assistenzsystem mit begrenztem Risiko gemaess EU-AI-Act. Die KI trifft keine Entscheidungen, sondern unterstuetzt Lehrkraefte transparent und nachvollziehbar. Alle paedagogischen und rechtlichen Entscheidungen verbleiben beim Menschen." ================================================================================ Dieses Dokument dient der internen Compliance-Dokumentation und kann Auditoren auf Anfrage vorgelegt werden. ================================================================================ ` return memo } const downloadMemo = () => { const memo = generateMemo() const blob = new Blob([memo], { type: 'text/plain;charset=utf-8' }) const url = URL.createObjectURL(blob) const a = document.createElement('a') a.href = url a.download = `breakpilot-ai-act-klassifizierung-${new Date().toISOString().split('T')[0]}.txt` document.body.appendChild(a) a.click() document.body.removeChild(a) URL.revokeObjectURL(url) } const tabs = [ { id: 'overview', name: 'Uebersicht', icon: '📊' }, { id: 'modules', name: 'Module', icon: '🧩' }, { id: 'warnings', name: 'Warnlinien', icon: '⚠️' }, { id: 'documentation', name: 'Dokumentation', icon: '📄' }, ] return (
{/* Header */}
🤖

EU-AI-Act Klassifizierung

Risikoklassifizierung und Compliance-Dokumentation

{/* Page Purpose */} {/* Stats Cards */}
Module gesamt
{stats.totalModules}
Minimal Risk
{stats.minimalRisk}
Limited Risk
{stats.limitedRisk}
Human-in-Loop
{stats.humanInLoop}/{stats.totalModules}
{/* Classification Banner */}
⚖️

Gesamtklassifizierung: LIMITED RISK

Breakpilot ist ein KI-Assistenzsystem mit begrenztem Risiko gemaess EU-AI-Act (Art. 52). Es gelten Transparenzpflichten, aber keine Konformitaetsbewertung.

Art. 52 Transparenz Human-in-the-Loop Assistiv, nicht autonom
{/* Tabs */}
{tabs.map((tab) => ( ))}
{/* Tab Content */}
{/* Overview Tab */} {activeTab === 'overview' && (
{/* Risk Level Pyramid */}

EU-AI-Act Risikopyramide

{/* Unacceptable */}
Unzulaessig
0 Module - Social Scoring, Manipulation verboten
{/* High */}
Hoch
0 Module - Keine automatischen Entscheidungen
{/* Limited */}
Begrenzt
{stats.limitedRisk} Module - Transparenzpflichten
{/* Minimal */}
Minimal
{stats.minimalRisk} Module - Freiwillige Kodizes
{/* Key Arguments */}

Kernargumente fuer Limited Risk

Assistiv, nicht autonom
KI liefert Vorschlaege, keine Entscheidungen
Human-in-the-Loop
Lehrkraft hat immer das letzte Wort
Keine Schuelerklassifikation
Keine Kategorisierung oder Profiling
Transparente Kennzeichnung
KI-Inhalte sind klar markiert
{/* Management Statement */}
💬

Management-Statement (Pitch-faehig)

“Breakpilot ist ein KI-Assistenzsystem mit begrenztem Risiko gemaess EU-AI-Act. Die KI trifft keine Entscheidungen, sondern unterstuetzt Lehrkraefte transparent und nachvollziehbar. Alle paedagogischen und rechtlichen Entscheidungen verbleiben beim Menschen.”
)} {/* Modules Tab */} {activeTab === 'modules' && (
{MODULE_ASSESSMENTS.map((module) => { const riskInfo = getRiskLevelInfo(module.riskLevel) const isExpanded = expandedModule === module.id return ( <> {isExpanded && ( )} ) })}
Modul Risikostufe Human-in-Loop AI-Act Artikel
{module.name}
{module.description}
{riskInfo.label} {module.humanInLoop ? ( ✓ Ja ) : ( ✗ Nein )} {module.aiActArticle}
Begruendung
{module.justification}
Transparenzmassnahmen
    {module.transparencyMeasures.map((measure, i) => (
  • {measure}
  • ))}
)} {/* Warnings Tab */} {activeTab === 'warnings' && (
🚫

Warnlinien: Was wir NIEMALS bauen duerfen

Diese Features wuerden Breakpilot in die High-Risk oder Unzulaessig-Kategorie verschieben. Sie sind explizit von der Roadmap ausgeschlossen.

{WARNING_LINES.map((warning) => { const statusInfo = getStatusInfo(warning.currentStatus) const riskInfo = getRiskLevelInfo(warning.wouldTrigger) return (
{statusInfo.icon}

{warning.title}

{warning.description}

Wuerde ausloesen: {riskInfo.label}
Empfehlung: {warning.recommendation}
) })}
{/* Safe Zone Indicator */}

Alle Warnlinien eingehalten: {stats.warningsSafe}/{stats.warningsTotal}

Breakpilot befindet sich sicher im Limited/Minimal Risk Bereich des EU-AI-Act.

)} {/* Documentation Tab */} {activeTab === 'documentation' && (

Klassifizierungs-Memo exportieren

Generiert ein vollstaendiges Compliance-Dokument zur Vorlage bei Auditoren oder Investoren.

{/* Preview */}

Vorschau

                  {generateMemo()}
                
{/* Human-in-the-Loop Documentation */}

Human-in-the-Loop Nachweis

Technische Massnahmen

  • • Kein Auto-Accept Button fuer KI-Vorschlaege
  • • Mindestens 2 Klicks fuer Uebernahme erforderlich
  • • Alle KI-Outputs sind editierbar
  • • Pflicht-Review vor Freigabe an Schueler/Eltern
  • • Audit-Trail dokumentiert alle menschlichen Eingriffe

UI-Kennzeichnungen

  • • “KI-Vorschlag” Label auf allen generierten Inhalten
  • • “Endverantwortung liegt bei der Lehrkraft” Hinweis
  • • Confidence-Scores wo relevant
  • • Quellenangaben fuer RAG-basierte Inhalte
)}
) }