Split 6 oversized files (719–882 LOC each) into focused files under 500 LOC: - policy_engine.go → types, loader, eval, gen (4 files) - legal_rag.go → types, client, http, context, scroll (5 files) - ai_act_module.go → module, yaml, obligations (3 files) - nis2_module.go → module, yaml, obligations + shared obligation_yaml_types.go (3+1 files) - financial_policy.go → types, engine (2 files) - dsgvo_module.go → module, yaml, obligations (3 files) All in package ucca, zero exported symbol renames, go test ./internal/ucca/... passes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
224 lines
12 KiB
Go
224 lines
12 KiB
Go
package ucca
|
|
|
|
import "time"
|
|
|
|
// loadHardcodedObligations populates the AI Act module with built-in fallback data.
|
|
func (m *AIActModule) loadHardcodedObligations() {
|
|
prohibitedPracticesDeadline := time.Date(2025, 2, 2, 0, 0, 0, 0, time.UTC)
|
|
transparencyDeadline := time.Date(2026, 8, 2, 0, 0, 0, 0, time.UTC)
|
|
gpaiDeadline := time.Date(2025, 8, 2, 0, 0, 0, 0, time.UTC)
|
|
|
|
m.obligations = []Obligation{
|
|
{
|
|
ID: "AIACT-OBL-001",
|
|
RegulationID: "ai_act",
|
|
Title: "Verbotene KI-Praktiken vermeiden",
|
|
Description: "Sicherstellung, dass keine verbotenen KI-Praktiken eingesetzt werden (Social Scoring, Ausnutzung von Schwaechen, unterschwellige Manipulation, unzulaessige biometrische Identifizierung).",
|
|
LegalBasis: []LegalReference{{Norm: "Art. 5 AI Act", Article: "Verbotene Praktiken"}},
|
|
Category: CategoryCompliance,
|
|
Responsible: RoleManagement,
|
|
Deadline: &Deadline{Type: DeadlineAbsolute, Date: &prohibitedPracticesDeadline},
|
|
Sanctions: &SanctionInfo{MaxFine: "35 Mio. EUR oder 7% Jahresumsatz", PersonalLiability: false},
|
|
Evidence: []EvidenceItem{{Name: "KI-Inventar mit Risikobewertung", Required: true}, {Name: "Dokumentierte Pruefung auf verbotene Praktiken", Required: true}},
|
|
Priority: PriorityCritical,
|
|
AppliesWhen: "uses_ai",
|
|
},
|
|
{
|
|
ID: "AIACT-OBL-002",
|
|
RegulationID: "ai_act",
|
|
Title: "Risikomanagementsystem fuer Hochrisiko-KI",
|
|
Description: "Einrichtung eines Risikomanagementsystems fuer Hochrisiko-KI-Systeme: Risikoidentifikation, -bewertung, -minderung und kontinuierliche Ueberwachung.",
|
|
LegalBasis: []LegalReference{{Norm: "Art. 9 AI Act", Article: "Risikomanagementsystem"}},
|
|
Category: CategoryGovernance,
|
|
Responsible: RoleKIVerantwortlicher,
|
|
Sanctions: &SanctionInfo{MaxFine: "15 Mio. EUR oder 3% Jahresumsatz", PersonalLiability: false},
|
|
Evidence: []EvidenceItem{{Name: "Risikomanagement-Dokumentation", Required: true}, {Name: "Risikobewertungen pro KI-System", Required: true}},
|
|
Priority: PriorityCritical,
|
|
AppliesWhen: "high_risk",
|
|
ISO27001Mapping: []string{"A.5.1.1", "A.8.2"},
|
|
},
|
|
{
|
|
ID: "AIACT-OBL-003",
|
|
RegulationID: "ai_act",
|
|
Title: "Technische Dokumentation erstellen",
|
|
Description: "Erstellung umfassender technischer Dokumentation vor Inverkehrbringen: Systembeschreibung, Design-Spezifikationen, Entwicklungsprozess, Leistungsmetriken.",
|
|
LegalBasis: []LegalReference{{Norm: "Art. 11 AI Act", Article: "Technische Dokumentation"}},
|
|
Category: CategoryGovernance,
|
|
Responsible: RoleKIVerantwortlicher,
|
|
Sanctions: &SanctionInfo{MaxFine: "15 Mio. EUR oder 3% Jahresumsatz", PersonalLiability: false},
|
|
Evidence: []EvidenceItem{{Name: "Technische Dokumentation nach Anhang IV", Required: true}, {Name: "Systemarchitektur-Dokumentation", Required: true}},
|
|
Priority: PriorityHigh,
|
|
AppliesWhen: "high_risk_provider",
|
|
},
|
|
{
|
|
ID: "AIACT-OBL-004",
|
|
RegulationID: "ai_act",
|
|
Title: "Protokollierungsfunktion implementieren",
|
|
Description: "Hochrisiko-KI-Systeme muessen automatische Protokolle (Logs) erstellen: Nutzungszeitraum, Eingabedaten, Identitaet der verifizierenden Personen.",
|
|
LegalBasis: []LegalReference{{Norm: "Art. 12 AI Act", Article: "Aufzeichnungspflichten"}},
|
|
Category: CategoryTechnical,
|
|
Responsible: RoleITLeitung,
|
|
Deadline: &Deadline{Type: DeadlineRelative, Duration: "Aufbewahrung mindestens 6 Monate"},
|
|
Sanctions: &SanctionInfo{MaxFine: "15 Mio. EUR oder 3% Jahresumsatz", PersonalLiability: false},
|
|
Evidence: []EvidenceItem{{Name: "Log-System-Dokumentation", Required: true}, {Name: "Aufbewahrungsrichtlinie", Required: true}},
|
|
Priority: PriorityHigh,
|
|
AppliesWhen: "high_risk",
|
|
ISO27001Mapping: []string{"A.12.4"},
|
|
},
|
|
{
|
|
ID: "AIACT-OBL-005",
|
|
RegulationID: "ai_act",
|
|
Title: "Menschliche Aufsicht sicherstellen",
|
|
Description: "Hochrisiko-KI muss menschliche Aufsicht ermoeglichen: Verstehen von Faehigkeiten und Grenzen, Ueberwachung, Eingreifen oder Abbrechen koennen.",
|
|
LegalBasis: []LegalReference{{Norm: "Art. 14 AI Act", Article: "Menschliche Aufsicht"}},
|
|
Category: CategoryOrganizational,
|
|
Responsible: RoleKIVerantwortlicher,
|
|
Sanctions: &SanctionInfo{MaxFine: "15 Mio. EUR oder 3% Jahresumsatz", PersonalLiability: false},
|
|
Evidence: []EvidenceItem{{Name: "Aufsichtskonzept", Required: true}, {Name: "Schulungsnachweise fuer Bediener", Required: true}, {Name: "Notfall-Abschaltprozedur", Required: true}},
|
|
Priority: PriorityCritical,
|
|
AppliesWhen: "high_risk",
|
|
},
|
|
{
|
|
ID: "AIACT-OBL-006",
|
|
RegulationID: "ai_act",
|
|
Title: "Betreiberpflichten fuer Hochrisiko-KI",
|
|
Description: "Betreiber von Hochrisiko-KI muessen: Technische und organisatorische Massnahmen treffen, Eingabedaten pruefen, Betrieb ueberwachen, Protokolle aufbewahren.",
|
|
LegalBasis: []LegalReference{{Norm: "Art. 26 AI Act", Article: "Pflichten der Betreiber"}},
|
|
Category: CategoryOrganizational,
|
|
Responsible: RoleKIVerantwortlicher,
|
|
Sanctions: &SanctionInfo{MaxFine: "15 Mio. EUR oder 3% Jahresumsatz", PersonalLiability: false},
|
|
Evidence: []EvidenceItem{{Name: "Betriebskonzept", Required: true}, {Name: "Monitoring-Dokumentation", Required: true}},
|
|
Priority: PriorityHigh,
|
|
AppliesWhen: "high_risk_deployer",
|
|
},
|
|
{
|
|
ID: "AIACT-OBL-007",
|
|
RegulationID: "ai_act",
|
|
Title: "Grundrechte-Folgenabschaetzung (FRIA)",
|
|
Description: "Betreiber von Hochrisiko-KI in sensiblen Bereichen muessen vor Einsatz eine Grundrechte-Folgenabschaetzung durchfuehren.",
|
|
LegalBasis: []LegalReference{{Norm: "Art. 27 AI Act", Article: "Grundrechte-Folgenabschaetzung"}},
|
|
Category: CategoryGovernance,
|
|
Responsible: RoleKIVerantwortlicher,
|
|
Sanctions: &SanctionInfo{MaxFine: "15 Mio. EUR oder 3% Jahresumsatz", PersonalLiability: false},
|
|
Evidence: []EvidenceItem{{Name: "FRIA-Dokumentation", Required: true}, {Name: "Risikobewertung Grundrechte", Required: true}},
|
|
Priority: PriorityCritical,
|
|
AppliesWhen: "high_risk_deployer_fria",
|
|
},
|
|
{
|
|
ID: "AIACT-OBL-008",
|
|
RegulationID: "ai_act",
|
|
Title: "Transparenzpflichten fuer KI-Interaktionen",
|
|
Description: "Bei KI-Systemen, die mit natuerlichen Personen interagieren: Kennzeichnung der KI-Interaktion, Information ueber KI-generierte Inhalte, Kennzeichnung von Deep Fakes.",
|
|
LegalBasis: []LegalReference{{Norm: "Art. 50 AI Act", Article: "Transparenzpflichten"}},
|
|
Category: CategoryOrganizational,
|
|
Responsible: RoleKIVerantwortlicher,
|
|
Deadline: &Deadline{Type: DeadlineAbsolute, Date: &transparencyDeadline},
|
|
Sanctions: &SanctionInfo{MaxFine: "15 Mio. EUR oder 3% Jahresumsatz", PersonalLiability: false},
|
|
Evidence: []EvidenceItem{{Name: "Kennzeichnungskonzept", Required: true}, {Name: "Nutzerhinweise", Required: true}},
|
|
Priority: PriorityHigh,
|
|
AppliesWhen: "limited_risk",
|
|
},
|
|
{
|
|
ID: "AIACT-OBL-009",
|
|
RegulationID: "ai_act",
|
|
Title: "GPAI-Modell Dokumentation",
|
|
Description: "Anbieter von GPAI-Modellen muessen technische Dokumentation erstellen, Informationen fuer nachgelagerte Anbieter bereitstellen und Urheberrechtsrichtlinie einhalten.",
|
|
LegalBasis: []LegalReference{{Norm: "Art. 53 AI Act", Article: "Pflichten der Anbieter von GPAI-Modellen"}},
|
|
Category: CategoryGovernance,
|
|
Responsible: RoleKIVerantwortlicher,
|
|
Deadline: &Deadline{Type: DeadlineAbsolute, Date: &gpaiDeadline},
|
|
Sanctions: &SanctionInfo{MaxFine: "15 Mio. EUR oder 3% Jahresumsatz", PersonalLiability: false},
|
|
Evidence: []EvidenceItem{{Name: "GPAI-Dokumentation", Required: true}, {Name: "Trainingsdaten-Summary", Required: true}},
|
|
Priority: PriorityHigh,
|
|
AppliesWhen: "gpai_provider",
|
|
},
|
|
{
|
|
ID: "AIACT-OBL-010",
|
|
RegulationID: "ai_act",
|
|
Title: "KI-Kompetenz sicherstellen",
|
|
Description: "Anbieter und Betreiber muessen sicherstellen, dass Personal mit ausreichender KI-Kompetenz ausgestattet ist.",
|
|
LegalBasis: []LegalReference{{Norm: "Art. 4 AI Act", Article: "KI-Kompetenz"}},
|
|
Category: CategoryTraining,
|
|
Responsible: RoleManagement,
|
|
Deadline: &Deadline{Type: DeadlineAbsolute, Date: &prohibitedPracticesDeadline},
|
|
Sanctions: &SanctionInfo{MaxFine: "7,5 Mio. EUR oder 1% Jahresumsatz", PersonalLiability: false},
|
|
Evidence: []EvidenceItem{{Name: "Schulungsnachweise", Required: true}, {Name: "Kompetenzmatrix", Required: true}},
|
|
Priority: PriorityMedium,
|
|
AppliesWhen: "uses_ai",
|
|
},
|
|
{
|
|
ID: "AIACT-OBL-011",
|
|
RegulationID: "ai_act",
|
|
Title: "EU-Datenbank-Registrierung",
|
|
Description: "Registrierung in der EU-Datenbank fuer Hochrisiko-KI-Systeme vor Inverkehrbringen (Anbieter) bzw. Inbetriebnahme (Betreiber).",
|
|
LegalBasis: []LegalReference{{Norm: "Art. 49 AI Act", Article: "Registrierung"}},
|
|
Category: CategoryMeldepflicht,
|
|
Responsible: RoleKIVerantwortlicher,
|
|
Deadline: &Deadline{Type: DeadlineRelative, Duration: "Vor Inverkehrbringen/Inbetriebnahme"},
|
|
Sanctions: &SanctionInfo{MaxFine: "15 Mio. EUR oder 3% Jahresumsatz", PersonalLiability: false},
|
|
Evidence: []EvidenceItem{{Name: "Registrierungsbestaetigung", Required: true}, {Name: "EU-Datenbank-Eintrag", Required: true}},
|
|
Priority: PriorityHigh,
|
|
AppliesWhen: "high_risk",
|
|
},
|
|
}
|
|
|
|
m.controls = []ObligationControl{
|
|
{
|
|
ID: "AIACT-CTRL-001",
|
|
RegulationID: "ai_act",
|
|
Name: "KI-Inventar",
|
|
Description: "Fuehrung eines vollstaendigen Inventars aller KI-Systeme",
|
|
Category: "Governance",
|
|
WhatToDo: "Erfassung aller KI-Systeme mit Risikoeinstufung, Zweck, Anbieter, Betreiber",
|
|
ISO27001Mapping: []string{"A.8.1"},
|
|
Priority: PriorityCritical,
|
|
},
|
|
{
|
|
ID: "AIACT-CTRL-002",
|
|
RegulationID: "ai_act",
|
|
Name: "KI-Governance-Struktur",
|
|
Description: "Etablierung einer KI-Governance mit klaren Verantwortlichkeiten",
|
|
Category: "Governance",
|
|
WhatToDo: "Benennung eines KI-Verantwortlichen, Einrichtung eines KI-Boards",
|
|
Priority: PriorityHigh,
|
|
},
|
|
{
|
|
ID: "AIACT-CTRL-003",
|
|
RegulationID: "ai_act",
|
|
Name: "Bias-Testing und Fairness",
|
|
Description: "Regelmaessige Pruefung auf Verzerrungen und Diskriminierung",
|
|
Category: "Technisch",
|
|
WhatToDo: "Implementierung von Bias-Detection, Fairness-Metriken, Datensatz-Audits",
|
|
Priority: PriorityHigh,
|
|
},
|
|
{
|
|
ID: "AIACT-CTRL-004",
|
|
RegulationID: "ai_act",
|
|
Name: "Model Monitoring",
|
|
Description: "Kontinuierliche Ueberwachung der KI-Modellleistung",
|
|
Category: "Technisch",
|
|
WhatToDo: "Drift-Detection, Performance-Monitoring, Anomalie-Erkennung",
|
|
Priority: PriorityHigh,
|
|
},
|
|
}
|
|
|
|
m.incidentDeadlines = []IncidentDeadline{
|
|
{
|
|
RegulationID: "ai_act",
|
|
Phase: "Schwerwiegender Vorfall melden",
|
|
Deadline: "unverzueglich",
|
|
Content: "Meldung schwerwiegender Vorfaelle bei Hochrisiko-KI-Systemen: Tod, schwere Gesundheitsschaeden, schwerwiegende Grundrechtsverletzungen, schwere Schaeden an Eigentum oder Umwelt.",
|
|
Recipient: "Zustaendige Marktaufsichtsbehoerde",
|
|
LegalBasis: []LegalReference{{Norm: "Art. 73 AI Act"}},
|
|
},
|
|
{
|
|
RegulationID: "ai_act",
|
|
Phase: "Fehlfunktion melden (Anbieter)",
|
|
Deadline: "15 Tage",
|
|
Content: "Anbieter von Hochrisiko-KI melden Fehlfunktionen, die einen schwerwiegenden Vorfall darstellen koennten.",
|
|
Recipient: "Marktaufsichtsbehoerde des Herkunftslandes",
|
|
LegalBasis: []LegalReference{{Norm: "Art. 73 Abs. 1 AI Act"}},
|
|
},
|
|
}
|
|
}
|