Der Compliance-Namespace bündelt, was Tools heute an Compliance-Bausteinen nutzen: einen deterministischen AGG-Diskriminierungs-Check für deutsche Inserats-Texte und die AI-Risk-Selbstklassifikation im Manifest.
AGG-Check für Inserats-Texte
checkDeDiscrimination(text) scannt Text auf Formulierungen, die bei Wohnraum-Vermarktung AGG-relevant sind (Herkunft, Geschlecht, Religion, Alter, Familienstatus). Die Funktion ist pure und deterministisch: kein I/O, kein KI-Aufruf, gleiche Eingabe ergibt immer dasselbe Ergebnis.
import { checkDeDiscrimination } from "@reosa/sdk";
const result = checkDeDiscrimination(exposeText);
result.ok; // true genau dann, wenn KEIN "block"-Finding existiert
result.wordCount; // Wortzahl des Inputs (Telemetrie)
for (const f of result.findings) {
f.severity; // "block" (klare Verletzung) | "warn" (kontextabhängig) | "info"
f.category; // "agg_discrimination" | "agg_age" | "agg_family_status" | "agg_other"
f.matchedText; // der getroffene Substring, fürs Highlight im Editor
f.startIndex; // 0-basierter Start im Original-Text
f.endIndex; // exklusives Ende (wie String#slice)
f.reason; // deutsche Begründung, direkt anzeigbar
f.suggestion; // optionaler Umformulierungs-Vorschlag
f.confidence; // Selbst-Einschätzung 0..1
f.legalRef; // zitierte Norm, z.B. "AGG § 19 Abs. 1 Nr. 1"
}Empfohlener Umgang in Tool-UIs:
block-Findings verhindern das Veröffentlichen. Zeigereasonundsuggestiondirekt am markierten Text (viastartIndex/endIndex).warn-Findings sind kontextabhängig (z.B. "christlich" als Objekt-Eigenschaft vs. als Mieter-Anforderung). Zeige sie als Hinweis, blocke nicht.- Die Findings sind nach
startIndexsortiert und pro Textstelle dedupliziert.
AI-Risk-Klassen im Manifest
Jedes Modul deklariert sein KI-Risiko im Manifest, orientiert an den Risiko-Kategorien des EU AI Act:
aiRiskClass: "minimal", // "none" | "minimal" | "limited" | "high" | "prohibited"none: das Tool ruft keine KI auf (nur dann darfcreditsPerUsebei Credit-Pricing 0 sein).minimal/limited: typische Assistenz- und Generierungs-Tools.high/prohibited: reserviert; Tools dieser Klassen durchlaufen keine normale Freigabe.
Die Klassifikation ist Pflichtfeld und CI-validiert (bun validate:manifests). Sie ist die Grundlage für spätere Governance-Flächen; dokumentiere im Zweifel eine Stufe konservativer.
Was es (noch) nicht gibt
Ehrliche Abgrenzung: der Compliance-Namespace enthält heute nur den AGG-Check. Retention-Helpers, DSGVO-Export-APIs oder automatische AI-Act-Transparenz-Texte sind nicht Teil des SDK; Datenschutz-Themen der Plattform selbst stehen in der Legal-Sektion.
Weiterführend
Der AGG-Check läuft typischerweise in deinem Compute vor dem Speichern eines Textes; das Ergebnis kannst du im Audit-Trail festhalten (z.B. expose.text.blocked mit legalRef in den Metadaten, ohne den Text selbst).