feat: DSFA Section 8 KI-Anwendungsfälle + Bundesland RAG-Ingest
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 38s
CI / test-python-backend-compliance (push) Successful in 33s
CI / test-python-document-crawler (push) Successful in 24s
CI / test-python-dsms-gateway (push) Successful in 19s
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 38s
CI / test-python-backend-compliance (push) Successful in 33s
CI / test-python-document-crawler (push) Successful in 24s
CI / test-python-dsms-gateway (push) Successful in 19s
- Migration 028: ai_use_case_modules JSONB + section_8_complete auf compliance_dsfas - Neues ai-use-case-types.ts: AIUseCaseModule Interface, 8 Typen, Art22Assessment, AI Act Risikoklassen, WP248-Kriterien, Privacy by Design, createEmptyModule() Helper - types.ts: Section 8 in DSFA_SECTIONS, ai_use_case_modules im DSFA Interface, section_8_complete in DSFASectionProgress - api.ts: addAIUseCaseModule, updateAIUseCaseModule, removeAIUseCaseModule - 5 neue UI-Komponenten: AIUseCaseTypeSelector, Art22AssessmentPanel, AIRiskCriteriaChecklist, AIUseCaseModuleEditor (7 Tabs), AIUseCaseSection - DSFASidebar: Section 8 Eintrag + calculateSectionProgress case 8 - ReviewScheduleSection: ai_use_case_module Trigger-Typ ergänzt - page.tsx: Section 8 Rendering + Weiter-Button auf activeSection < 8 + KI-Module Counter - scripts/ingest-dsfa-bundesland.sh: WP248 + alle 17 Behörden → bp_dsfa_corpus - Docs: dsfa.md Section 8 + RAG-Corpus, Developer Portal DSFA mit AI-Modul-Code-Beispielen Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -274,9 +274,91 @@ export default function DsfaApiPage() {
|
||||
<ApiEndpoint method="GET" path="/dsfa/stats" description="Statistiken nach Status und Risiko" />
|
||||
<ApiEndpoint method="GET" path="/dsfa/audit-log" description="Audit-Trail aller Aktionen" />
|
||||
<ApiEndpoint method="GET" path="/dsfa/{id}" description="Einzelne DSFA abrufen" />
|
||||
<ApiEndpoint method="PUT" path="/dsfa/{id}" description="DSFA aktualisieren (Partial Update)" />
|
||||
<ApiEndpoint method="PUT" path="/dsfa/{id}" description="DSFA aktualisieren (inkl. ai_use_case_modules)" />
|
||||
<ApiEndpoint method="DELETE" path="/dsfa/{id}" description="DSFA löschen (Art. 17 DSGVO)" />
|
||||
<ApiEndpoint method="PATCH" path="/dsfa/{id}/status" description="Schnell-Statuswechsel" />
|
||||
|
||||
{/* Section 8: AI Use Case Modules */}
|
||||
<h2>Section 8: KI-Anwendungsfälle</h2>
|
||||
<p>
|
||||
Section 8 ist ein optionaler modularer Anhang zur DSFA für KI-spezifische Verarbeitungen.
|
||||
Die Module werden im Feld <code>ai_use_case_modules</code> (JSONB-Array) gespeichert
|
||||
und über den normalen <code>PUT /dsfa/{'{id}'}</code> Endpoint aktualisiert.
|
||||
</p>
|
||||
|
||||
<InfoBox type="info" title="KI-Modul-Typen">
|
||||
Unterstützte Typen: <code>chatbot_nlp</code>, <code>recommendation</code>,{' '}
|
||||
<code>adm_scoring</code>, <code>video_image</code>, <code>biometrics</code>,{' '}
|
||||
<code>iot_sensors</code>, <code>generative_ai</code>, <code>custom</code>
|
||||
</InfoBox>
|
||||
|
||||
<h3>KI-Modul hinzufügen</h3>
|
||||
<CodeBlock language="bash">{`# KI-Modul zu bestehender DSFA hinzufügen
|
||||
curl -sk -X PUT 'https://macmini:8002/api/v1/dsfa/{id}' \\
|
||||
-H 'Content-Type: application/json' \\
|
||||
-H 'X-Tenant-ID: default' \\
|
||||
-d '{
|
||||
"ai_use_case_modules": [
|
||||
{
|
||||
"id": "uuid-generated",
|
||||
"use_case_type": "generative_ai",
|
||||
"name": "GPT-Assistent Kundenservice",
|
||||
"model_description": "LLM-basierter Chatbot mit RAG für FAQ-Beantwortung",
|
||||
"model_type": "GPT-4o",
|
||||
"provider": "OpenAI",
|
||||
"third_country_transfer": true,
|
||||
"provider_country": "USA",
|
||||
"input_data_categories": ["Anfragetexte", "Kundennummer"],
|
||||
"output_data_categories": ["Antworttext"],
|
||||
"involves_special_categories": false,
|
||||
"data_subjects": ["Kunden"],
|
||||
"processing_purpose": "Automatisierte Beantwortung von Kundenanfragen",
|
||||
"legal_basis": "Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung)",
|
||||
"art22_assessment": { "applies": false, "safeguards": [] },
|
||||
"risk_criteria": [
|
||||
{ "id": "adm_profiling", "applies": false, "severity": "high" }
|
||||
],
|
||||
"ai_act_risk_class": "limited",
|
||||
"ai_act_justification": "Chatbot mit Transparenzpflicht nach Art. 52 AI Act",
|
||||
"risks": [],
|
||||
"mitigations": [],
|
||||
"privacy_by_design_measures": [
|
||||
{ "category": "data_minimisation", "description": "Nur notwendige Daten", "implemented": true }
|
||||
],
|
||||
"review_triggers": [
|
||||
{ "type": "model_update", "description": "Bei Modell-Wechsel", "monitoring_interval": "monatlich" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}'`}</CodeBlock>
|
||||
|
||||
<h3>TypeScript-Typen</h3>
|
||||
<CodeBlock language="typescript">{`import type { AIUseCaseModule, AIUseCaseType, AIActRiskClass } from '@breakpilot/compliance-sdk'
|
||||
|
||||
// Modul erstellen
|
||||
const module: AIUseCaseModule = {
|
||||
id: crypto.randomUUID(),
|
||||
use_case_type: 'generative_ai',
|
||||
name: 'Mein KI-System',
|
||||
model_description: 'Beschreibung...',
|
||||
third_country_transfer: false,
|
||||
input_data_categories: ['Nutzertexte'],
|
||||
output_data_categories: ['Antwort'],
|
||||
involves_special_categories: false,
|
||||
data_subjects: ['Endnutzer'],
|
||||
processing_purpose: 'Kundensupport',
|
||||
legal_basis: 'Art. 6 Abs. 1 lit. b DSGVO',
|
||||
art22_assessment: { applies: false, safeguards: [] },
|
||||
risk_criteria: [],
|
||||
ai_act_risk_class: 'limited',
|
||||
wp248_criteria_met: ['K4', 'K8'],
|
||||
risks: [],
|
||||
mitigations: [],
|
||||
privacy_by_design_measures: [],
|
||||
review_triggers: [],
|
||||
created_at: new Date().toISOString(),
|
||||
updated_at: new Date().toISOString(),
|
||||
}`}</CodeBlock>
|
||||
</DevPortalLayout>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user