fix: DSFA Generator — Domain-spezifische Risiken (HR/Edu/HC/Finance)
Risikoanalyse erkennt jetzt den Domain-Kontext und fuegt automatisch domain-spezifische Risiken hinzu: - HR: AGG-Verstoss, Beweislastumkehr, Art. 22, Proxy-Diskriminierung - Education: Chancenungleichheit, Minderjaehrige, Fehlbewertung - Healthcare: Fehldiagnose, Triage, Patientenautonomie - Finance: Kredit-Scoring Diskriminierung, Dienstverweigerung Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -330,6 +330,28 @@ def _generate_risk_assessment(ctx: dict) -> str:
|
||||
if any(ctx.get(k) for k in ["third_country_transfer", "processes_in_third_country"]):
|
||||
risks.append(("Zugriff durch Behoerden in Drittlaendern", "mittel", "hoch", "hoch"))
|
||||
|
||||
# Domain-spezifische Risiken (AI Act Annex III)
|
||||
domain = ctx.get("domain", "")
|
||||
if domain in ("hr", "recruiting") or ctx.get("has_hr_context"):
|
||||
risks.append(("AGG-Verstoss: Diskriminierung bei Bewerberauswahl (§ 1 AGG)", "mittel", "hoch", "hoch"))
|
||||
risks.append(("Beweislastumkehr bei Diskriminierungsklagen (§ 22 AGG)", "mittel", "hoch", "hoch"))
|
||||
risks.append(("Art. 22 DSGVO: Unzulaessige automatisierte Einzelentscheidung", "mittel", "hoch", "hoch"))
|
||||
risks.append(("Proxy-Diskriminierung durch Name/Foto/Alter-Erkennung", "mittel", "hoch", "hoch"))
|
||||
|
||||
if domain in ("education", "higher_education", "vocational_training"):
|
||||
risks.append(("Chancenungleichheit durch KI-gestuetzte Bewertung", "mittel", "hoch", "hoch"))
|
||||
risks.append(("Benachteiligung Minderjaehriger ohne Lehrkraft-Kontrolle", "niedrig", "gross", "hoch"))
|
||||
risks.append(("Fehlbewertung mit Auswirkung auf Bildungschancen", "mittel", "hoch", "hoch"))
|
||||
|
||||
if domain in ("healthcare", "medical_devices", "pharma", "elderly_care"):
|
||||
risks.append(("Fehldiagnose durch KI mit gesundheitlichen Folgen", "niedrig", "gross", "hoch"))
|
||||
risks.append(("Falsche Triage-Priorisierung (lebenskritisch)", "niedrig", "gross", "hoch"))
|
||||
risks.append(("Verletzung der Patientenautonomie", "mittel", "hoch", "hoch"))
|
||||
|
||||
if domain in ("finance", "banking", "insurance", "investment"):
|
||||
risks.append(("Diskriminierendes Kredit-Scoring", "mittel", "hoch", "hoch"))
|
||||
risks.append(("Ungerechtfertigte Verweigerung von Finanzdienstleistungen", "mittel", "hoch", "hoch"))
|
||||
|
||||
lines.append("| Risiko | Eintrittswahrscheinlichkeit | Schwere | Gesamt |")
|
||||
lines.append("|--------|----------------------------|---------|--------|")
|
||||
for risk_name, likelihood, severity, overall in risks:
|
||||
|
||||
Reference in New Issue
Block a user