Services: Admin-Compliance, Backend-Compliance, AI-Compliance-SDK, Consent-SDK, Developer-Portal, PCA-Platform, DSMS Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
387 lines
15 KiB
TypeScript
387 lines
15 KiB
TypeScript
/**
|
|
* Verbotene KI-Anwendungsfaelle nach Art. 5 EU AI Act (2024/1689)
|
|
*
|
|
* Seit Februar 2025 sind diese Praktiken in der EU ausdruecklich verboten.
|
|
* Dieses Modul stellt einen strukturierten Katalog bereit, der sowohl
|
|
* im SDK-Frontend als auch via RAG fuer den Compliance Advisor nutzbar ist.
|
|
*
|
|
* Quellen:
|
|
* - EU AI Act Art. 5 (Verbotene Praktiken), Verordnung (EU) 2024/1689
|
|
* - LG Muenchen I, 11.11.2025 (42 O 14139/24) — amtliches Werk nach §5 UrhG
|
|
*/
|
|
|
|
// =============================================================================
|
|
// Types
|
|
// =============================================================================
|
|
|
|
export type ProhibitionSeverity = 'absolute' | 'conditional'
|
|
|
|
export type ProhibitionCategory =
|
|
| 'manipulation'
|
|
| 'vulnerability_exploitation'
|
|
| 'social_scoring'
|
|
| 'biometric_surveillance'
|
|
| 'predictive_policing'
|
|
| 'emotion_recognition'
|
|
| 'biometric_categorization'
|
|
| 'copyright_violation'
|
|
|
|
export interface ProhibitedAIPractice {
|
|
id: string
|
|
title: string
|
|
titleEN: string
|
|
category: ProhibitionCategory
|
|
severity: ProhibitionSeverity
|
|
legalBasis: string
|
|
description: string
|
|
examples: string[]
|
|
exceptions?: string[]
|
|
/** Stichworte fuer automatische Erkennung */
|
|
detectionKeywords: string[]
|
|
/** Relevante Gerichtsentscheidungen */
|
|
caseLaw?: CaseLawReference[]
|
|
}
|
|
|
|
export interface CaseLawReference {
|
|
id: string
|
|
court: string
|
|
date: string
|
|
reference: string
|
|
title: string
|
|
summary: string
|
|
relevance: string
|
|
sourceUrl?: string
|
|
/** Amtliche Werke nach §5 UrhG — keine Lizenzpflicht */
|
|
licenseNote: string
|
|
}
|
|
|
|
// =============================================================================
|
|
// Verbotskatalog Art. 5 AI Act
|
|
// =============================================================================
|
|
|
|
export const PROHIBITED_AI_PRACTICES: ProhibitedAIPractice[] = [
|
|
// --- Absolut verboten ---
|
|
{
|
|
id: 'VERBOT-01',
|
|
title: 'Irrefuehrende Manipulation',
|
|
titleEN: 'Subliminal Manipulation',
|
|
category: 'manipulation',
|
|
severity: 'absolute',
|
|
legalBasis: 'Art. 5 Abs. 1 lit. a AI Act',
|
|
description:
|
|
'KI-Systeme, die durch unterschwellige Techniken oder absichtlich manipulative/taeuschende Methoden ' +
|
|
'das Verhalten von Personen wesentlich beeinflussen und ihnen dadurch erheblichen Schaden zufuegen oder ' +
|
|
'zufuegen koennen. Beispiel: Sprachgesteuertes Spielzeug, das Kinder zu gefaehrlichem Verhalten animiert.',
|
|
examples: [
|
|
'Sprachgesteuertes Spielzeug mit manipulativen Inhalten fuer Kinder',
|
|
'Unterschwellige Audio-/Videobotschaften zur Verhaltenssteuerung',
|
|
'Dark Patterns in KI-Interfaces, die zu schaedlichen Entscheidungen fuehren',
|
|
'KI-generierte Deepfakes zur politischen Manipulation',
|
|
],
|
|
detectionKeywords: [
|
|
'manipulation', 'unterschwellig', 'subliminal', 'taeuschung', 'dark pattern',
|
|
'verhaltenssteuerung', 'beeinflussung', 'deepfake', 'desinformation',
|
|
],
|
|
},
|
|
{
|
|
id: 'VERBOT-02',
|
|
title: 'Ausnutzung von Schwaechen',
|
|
titleEN: 'Exploitation of Vulnerabilities',
|
|
category: 'vulnerability_exploitation',
|
|
severity: 'absolute',
|
|
legalBasis: 'Art. 5 Abs. 1 lit. b AI Act',
|
|
description:
|
|
'KI-Systeme, die gezielt die Verletzlichkeit bestimmter Personen oder Gruppen ausnutzen — ' +
|
|
'etwa aufgrund von Alter, Behinderung, sozialer oder wirtschaftlicher Situation — ' +
|
|
'um deren Verhalten wesentlich zu beeinflussen und ihnen dadurch erheblichen Schaden zuzufuegen.',
|
|
examples: [
|
|
'KI-Werbung, die gezielt aeltere oder kognitiv eingeschraenkte Menschen zu Kaeufen verleitet',
|
|
'Sucht-foerdernde Algorithmen, die psychische Vulnerabilitaet ausnutzen',
|
|
'Finanzprodukt-Empfehlungen, die wirtschaftliche Notlagen ausnutzen',
|
|
'Gamification-KI, die Kinder zur uebermassigen Nutzung verleitet',
|
|
],
|
|
detectionKeywords: [
|
|
'schwaeche', 'vulnerabel', 'alter', 'behinderung', 'kinder', 'sucht',
|
|
'ausnutz', 'manipulation minderjahrig', 'schutzbeduerft',
|
|
],
|
|
},
|
|
{
|
|
id: 'VERBOT-03',
|
|
title: 'Social Scoring',
|
|
titleEN: 'Social Scoring',
|
|
category: 'social_scoring',
|
|
severity: 'absolute',
|
|
legalBasis: 'Art. 5 Abs. 1 lit. c AI Act',
|
|
description:
|
|
'KI-Systeme zur Bewertung oder Klassifizierung natuerlicher Personen auf Grundlage ihres Sozialverhaltens ' +
|
|
'oder persoenlicher Eigenschaften, wenn dies zu einer ungerechtfertigten oder unverhaeltnismaessigen ' +
|
|
'Benachteiligung fuehrt — insbesondere in Kontexten, die keinen Bezug zur urspruenglichen Datenerhebung haben.',
|
|
examples: [
|
|
'Bewertungssysteme auf Basis von Social-Media-Aktivitaeten',
|
|
'Scoring anhand von Internet-Surfverhalten fuer Kreditwuerdigkeit',
|
|
'Verhaltensbasierte Bewertung von Buergern durch Behoerden',
|
|
'Zugangssteuerung zu oeffentlichen Leistungen basierend auf Verhaltensdaten',
|
|
],
|
|
detectionKeywords: [
|
|
'social scoring', 'sozialkredit', 'verhaltensbewertung', 'buergerscore',
|
|
'personenbewertung', 'social media scoring', 'reputation score',
|
|
],
|
|
},
|
|
{
|
|
id: 'VERBOT-04',
|
|
title: 'Ungezielte Gesichtsdatensammlung',
|
|
titleEN: 'Untargeted Facial Image Scraping',
|
|
category: 'biometric_surveillance',
|
|
severity: 'absolute',
|
|
legalBasis: 'Art. 5 Abs. 1 lit. e AI Act',
|
|
description:
|
|
'KI-Systeme, die ungezielt Gesichtsbilder aus dem Internet oder von Ueberwachungskameras ' +
|
|
'sammeln, um biometrische Datenbanken aufzubauen. Prominentes Beispiel: Clearview AI.',
|
|
examples: [
|
|
'Scraping von Gesichtsbildern aus sozialen Netzwerken (Clearview AI)',
|
|
'Aufbau biometrischer Datenbanken aus Ueberwachungskameraaufnahmen',
|
|
'Sammlung von Portraetfotos ohne Wissen der Betroffenen',
|
|
'Web-Crawling zur Erstellung von Gesichtserkennungs-Trainingsdaten',
|
|
],
|
|
detectionKeywords: [
|
|
'gesichtserkennung', 'facial recognition', 'biometrisch', 'clearview',
|
|
'gesichtsdatenbank', 'scraping gesicht', 'face scraping',
|
|
],
|
|
},
|
|
{
|
|
id: 'VERBOT-05',
|
|
title: 'Biometrische Echtzeit-Ueberwachung',
|
|
titleEN: 'Real-time Biometric Surveillance in Public Spaces',
|
|
category: 'biometric_surveillance',
|
|
severity: 'absolute',
|
|
legalBasis: 'Art. 5 Abs. 1 lit. h AI Act',
|
|
description:
|
|
'Biometrische Echtzeit-Fernidentifizierung im oeffentlich zugaenglichen Raum zu Strafverfolgungszwecken ' +
|
|
'ist grundsaetzlich verboten. Ausnahmen bestehen nur bei konkretem, begruendetem Tatverdacht unter ' +
|
|
'strikten Voraussetzungen.',
|
|
examples: [
|
|
'Live-Gesichtserkennung durch Polizei an oeffentlichen Plaetzen',
|
|
'Echtzeit-Identifikation an Bahnhoefen oder Flughaefen ohne konkreten Anlass',
|
|
'Permanente biometrische Ueberwachung in Fussballstadien',
|
|
],
|
|
exceptions: [
|
|
'Gezielte Suche nach Opfern von Entfuehrung oder Menschenhandel',
|
|
'Verhinderung einer konkreten, erheblichen Bedrohung fuer Leib und Leben',
|
|
'Identifizierung von Verdaechtigen schwerer Straftaten (unter richterlicher Genehmigung)',
|
|
],
|
|
detectionKeywords: [
|
|
'echtzeit', 'live', 'ueberwachung', 'surveillance', 'oeffentlicher raum',
|
|
'fernidentifizierung', 'real-time', 'biometric identification',
|
|
],
|
|
},
|
|
|
|
// --- Bedingt / teilweise verboten ---
|
|
{
|
|
id: 'VERBOT-06',
|
|
title: 'Predictive Policing auf Personenprofilen',
|
|
titleEN: 'Profile-based Predictive Policing',
|
|
category: 'predictive_policing',
|
|
severity: 'conditional',
|
|
legalBasis: 'Art. 5 Abs. 1 lit. d AI Act',
|
|
description:
|
|
'KI-Systeme zur Erstellung von Risikobewertungen natuerlicher Personen zur Vorhersage von Straftaten ' +
|
|
'allein auf Grundlage von Profiling oder Persoenlichkeitsmerkmalen. Ortsbezogene Analysen ' +
|
|
'(Hotspot-Policing) sind hiervon nicht erfasst.',
|
|
examples: [
|
|
'Persoenlichkeitsprofilbasierte Straftaten-Vorhersage',
|
|
'KI-Score zur Bewertung der Rueckfallgefahr ohne konkreten Anlass',
|
|
'Vorausschauende Ueberwachung auf Basis ethnischer Profile',
|
|
],
|
|
exceptions: [
|
|
'Ortsbezogene Kriminalitaetsanalysen (Hotspot-Policing) ohne Personenbezug',
|
|
'Strafverfolgung mit konkretem Anfangsverdacht und richterlicher Anordnung',
|
|
],
|
|
detectionKeywords: [
|
|
'predictive policing', 'vorhersage straftat', 'risikobewertung person',
|
|
'profiling polizei', 'rueckfallprognose', 'kriminalitaetsprognose',
|
|
],
|
|
},
|
|
{
|
|
id: 'VERBOT-07',
|
|
title: 'Biometrische Kategorisierung sensibler Merkmale',
|
|
titleEN: 'Biometric Categorization of Sensitive Attributes',
|
|
category: 'biometric_categorization',
|
|
severity: 'conditional',
|
|
legalBasis: 'Art. 5 Abs. 1 lit. g AI Act',
|
|
description:
|
|
'KI-Systeme zur biometrischen Kategorisierung, die Rueckschluesse auf Rasse, politische Meinungen, ' +
|
|
'Gewerkschaftszugehoerigkeit, religioese oder weltanschauliche Ueberzeugungen, Sexualleben oder ' +
|
|
'sexuelle Orientierung ziehen. Ausnahme: Strafverfolgung unter engen Voraussetzungen.',
|
|
examples: [
|
|
'Gesichtsanalyse zur Erkennung ethnischer Zugehoerigkeit',
|
|
'Stimmanalyse zur Ableitung sexueller Orientierung',
|
|
'Gangerkennung zur Kategorisierung nach Religionszugehoerigkeit',
|
|
],
|
|
exceptions: [
|
|
'Strafverfolgung unter eng definierten gesetzlichen Voraussetzungen',
|
|
'Kennzeichnung oder Filterung rechtmaessig erworbener biometrischer Datensaetze',
|
|
],
|
|
detectionKeywords: [
|
|
'biometrisch', 'rasse', 'ethni', 'religion', 'sexuell', 'kategorisierung',
|
|
'gesichtsanalyse', 'stimmanalyse', 'gang erkennung',
|
|
],
|
|
},
|
|
{
|
|
id: 'VERBOT-08',
|
|
title: 'Emotionserkennung am Arbeitsplatz und in Schulen',
|
|
titleEN: 'Emotion Recognition in Workplaces and Schools',
|
|
category: 'emotion_recognition',
|
|
severity: 'conditional',
|
|
legalBasis: 'Art. 5 Abs. 1 lit. f AI Act',
|
|
description:
|
|
'KI-Systeme zur fortlaufenden Erkennung von Emotionen von Beschaeftigten am Arbeitsplatz oder ' +
|
|
'von Lernenden in Bildungseinrichtungen. Erlaubt nur mit medizinischem oder ' +
|
|
'sicherheitstechnischem Rechtfertigungsgrund.',
|
|
examples: [
|
|
'Webcam-basierte Aufmerksamkeitsueberwachung im Unterricht',
|
|
'Emotionsanalyse von Mitarbeitern waehrend Videokonferenzen',
|
|
'Stimmungsanalyse von Schuelern ueber Mikrofone',
|
|
'Stress-Detection bei Mitarbeitern ohne deren Einwilligung',
|
|
],
|
|
exceptions: [
|
|
'Medizinische Zwecke (z.B. Erkennung von Schmerzpatienten in Pflege)',
|
|
'Sicherheitstechnische Gruende (z.B. Muedigkeitserkennung bei Piloten/Fahrern)',
|
|
],
|
|
detectionKeywords: [
|
|
'emotionserkennung', 'emotion recognition', 'aufmerksamkeit', 'stimmungsanalyse',
|
|
'arbeitsplatz', 'schule', 'unterricht', 'webcam ueberwachung', 'stress detection',
|
|
],
|
|
},
|
|
]
|
|
|
|
// =============================================================================
|
|
// Relevante Rechtsprechung
|
|
// =============================================================================
|
|
|
|
export const AI_CASE_LAW: CaseLawReference[] = [
|
|
{
|
|
id: 'CASE-01',
|
|
court: 'LG Muenchen I',
|
|
date: '2025-11-11',
|
|
reference: '42 O 14139/24',
|
|
title: 'Urheberrecht bei KI-generierten Inhalten (Memorisierung)',
|
|
summary:
|
|
'Das Gericht stellte fest, dass ein KI-System urheberrechtlich geschuetzte Songtexte ' +
|
|
'inhaltsgleich reproduzierte, da diese im Modell „memorisiert" waren. Die KI-Modelle ' +
|
|
'stellen daher Vervielfaeltigungsstuecke i.S.d. Art. 2 InfoSoc-RL, §16 Abs. 1,2 UrhG dar.',
|
|
relevance:
|
|
'Zeigt, dass der Einsatz von KI-Systemen, die urheberrechtlich geschuetzte Inhalte ' +
|
|
'unautorisiert reproduzieren, urheberrechtlich unzulaessig ist. Relevant fuer alle ' +
|
|
'KI-Module, die auf urheberrechtlich geschuetzten Trainingsdaten basieren.',
|
|
sourceUrl: 'https://www.gesetze-bayern.de/Content/Document/Y-300-Z-GRURRS-B-2025-N-30204',
|
|
licenseNote: 'Amtliches Werk nach §5 UrhG — kein Urheberrechtsschutz, frei verwendbar im RAG.',
|
|
},
|
|
]
|
|
|
|
// =============================================================================
|
|
// Kategorisierung
|
|
// =============================================================================
|
|
|
|
export const PROHIBITION_CATEGORY_LABELS: Record<ProhibitionCategory, string> = {
|
|
manipulation: 'Manipulation & Taeuschung',
|
|
vulnerability_exploitation: 'Ausnutzung von Schwaechen',
|
|
social_scoring: 'Social Scoring',
|
|
biometric_surveillance: 'Biometrische Ueberwachung',
|
|
predictive_policing: 'Predictive Policing',
|
|
emotion_recognition: 'Emotionserkennung',
|
|
biometric_categorization: 'Biometrische Kategorisierung',
|
|
copyright_violation: 'Urheberrechtsverletzung',
|
|
}
|
|
|
|
export const SEVERITY_LABELS: Record<ProhibitionSeverity, string> = {
|
|
absolute: 'Absolut verboten',
|
|
conditional: 'Bedingt verboten (Ausnahmen moeglich)',
|
|
}
|
|
|
|
// =============================================================================
|
|
// Erkennung / Helper Functions
|
|
// =============================================================================
|
|
|
|
/**
|
|
* Prueft, ob eine Beschreibung oder ein Name auf verbotene Praktiken hinweist.
|
|
* Gibt alle potenziell zutreffenden Verbote zurueck, sortiert nach Relevanz.
|
|
*/
|
|
export function detectProhibitedPractices(
|
|
description: string,
|
|
name?: string
|
|
): { practice: ProhibitedAIPractice; matchCount: number; matchedKeywords: string[] }[] {
|
|
const searchText = `${name || ''} ${description}`.toLowerCase()
|
|
|
|
const results = PROHIBITED_AI_PRACTICES.map(practice => {
|
|
const matchedKeywords = practice.detectionKeywords.filter(kw =>
|
|
searchText.includes(kw.toLowerCase())
|
|
)
|
|
return {
|
|
practice,
|
|
matchCount: matchedKeywords.length,
|
|
matchedKeywords,
|
|
}
|
|
}).filter(r => r.matchCount > 0)
|
|
|
|
// Absolut verbotene zuerst, dann nach matchCount
|
|
results.sort((a, b) => {
|
|
if (a.practice.severity !== b.practice.severity) {
|
|
return a.practice.severity === 'absolute' ? -1 : 1
|
|
}
|
|
return b.matchCount - a.matchCount
|
|
})
|
|
|
|
return results
|
|
}
|
|
|
|
/**
|
|
* Gibt alle absolut verbotenen Praktiken zurueck.
|
|
*/
|
|
export function getAbsoluteProhibitions(): ProhibitedAIPractice[] {
|
|
return PROHIBITED_AI_PRACTICES.filter(p => p.severity === 'absolute')
|
|
}
|
|
|
|
/**
|
|
* Gibt alle bedingt verbotenen Praktiken zurueck.
|
|
*/
|
|
export function getConditionalProhibitions(): ProhibitedAIPractice[] {
|
|
return PROHIBITED_AI_PRACTICES.filter(p => p.severity === 'conditional')
|
|
}
|
|
|
|
/**
|
|
* Prueft, ob ein KI-Anwendungsfall Urheberrechts-Risiken birgt.
|
|
* Basierend auf LG Muenchen I Urteil.
|
|
*/
|
|
export function hasCopyrightRisk(trainingDataDescription?: string): boolean {
|
|
if (!trainingDataDescription) return false
|
|
const keywords = [
|
|
'urheberrecht', 'copyright', 'lizenz', 'geschuetzt', 'songtext',
|
|
'buch', 'artikel', 'literatur', 'musik', 'film', 'bild',
|
|
'web scraping', 'internet', 'crawl',
|
|
]
|
|
const lower = trainingDataDescription.toLowerCase()
|
|
return keywords.some(kw => lower.includes(kw))
|
|
}
|
|
|
|
/**
|
|
* Generiert einen formatierten Warnungstext fuer ein erkanntes Verbot.
|
|
*/
|
|
export function formatProhibitionWarning(practice: ProhibitedAIPractice): string {
|
|
const severity = practice.severity === 'absolute'
|
|
? 'ABSOLUT VERBOTEN'
|
|
: 'BEDINGT VERBOTEN'
|
|
|
|
let text = `⚠ ${severity}: ${practice.title}\n`
|
|
text += `Rechtsgrundlage: ${practice.legalBasis}\n\n`
|
|
text += `${practice.description}\n`
|
|
|
|
if (practice.exceptions?.length) {
|
|
text += `\nAusnahmen:\n`
|
|
practice.exceptions.forEach(e => {
|
|
text += `- ${e}\n`
|
|
})
|
|
}
|
|
|
|
return text
|
|
}
|