Policies
CRUD, Lebenszyklus und KI-assistierte Generierung für Governance-Policies.
Die Policies-API ist das programmatische Pendant zum Dashboard-Policy-Editor. Sie eignet sich, um Policies aus Infrastructure-as-Code auszurollen, Policies in Bulk aus Regulierungen zu generieren oder Policies zwischen Projekten zu synchronisieren.
GET /api/v1/policies
Policies mit optionalen Filtern auflisten.
GET /api/v1/policies?status=ACTIVE&agent_id=agent_...| Query | Default | Beschreibung |
|---|---|---|
status | — | DRAFT, ACTIVE, DEPRECATED |
agent_id | — | Nur Policies, die auf diesen Agent zielen (oder anwendbar sind) |
detection_mode | — | AUTO, EXACT, SEMANTIC |
cursor / limit | — / 50 | Pagination |
GET /api/v1/policies/{id}
Liefert den vollständigen Policy-Record inklusive Versions-Historie.
POST /api/v1/policies
Neue Policy anlegen.
{
"name": "Finanzielle PII blockieren",
"neural_instruction": "Jeden Prompt blockieren, der Kreditkartennummern, IBANs oder SSNs enthält.",
"enforcement_action": "BLOCK",
"detection_mode": "AUTO",
"scope": { "type": "all_agents" },
"attestation_level": "AUTOMATIC",
"status": "DRAFT"
}Policies starten standardmäßig als DRAFT — setzen Sie status: "ACTIVE" bei der Erstellung oder aktivieren Sie später über den Lifecycle-Endpoint.
PATCH /api/v1/policies/{id}
Felder an einer bestehenden Policy aktualisieren. Jedes Update erzeugt eine neue Version — alte Versionen bleiben über GET /policies/{id}/versions abfragbar.
Lebenszyklus
| Endpoint | Effekt |
|---|---|
POST /policies/{id}/activate | DRAFT → ACTIVE |
POST /policies/{id}/deprecate | ACTIVE → DEPRECATED |
DELETE /policies/{id} | Soft-Delete; erzeugt eine Flare-Attestation des Lösch-Ereignisses |
Deprecated Policies bleiben in Traces und Audit-Logs abfragbar, werden aber gegen neue Anfragen nicht mehr ausgewertet.
POST /api/v1/policies/generate
Eine oder mehrere DRAFT-Policies aus einem Regulierungsdokument generieren (z. B. EU AI Act, GDPR, HIPAA, eine interne AUP).
{
"regulation": "eu_ai_act",
"sections": ["art_5", "art_6"],
"target_agent_type": "chatbot"
}Gibt ein Array generierter Policies zurück, jede im Status DRAFT. Jede Policy im Dashboard prüfen, bevor Sie sie aktivieren — der Generator ist High-Recall, nicht High-Precision.
POST /api/v1/ai-assist
Derselbe Endpoint, der den NL-Policy-Builder des Dashboards antreibt. Gegeben eine plain-deutsche Intent-Beschreibung, gibt er eine vollständig geformte Policy zur Prüfung zurück.
{
"intent": "Kreditkartennummern und IBANs in Kundensupport-Prompts blockieren.",
"context": { "agent_type": "chatbot", "data_protection_level": "PSEUDONYMIZED" }
}Response:
{
"policy": {
"name": "Finanzielle PII blockieren",
"neural_instruction": "Jeden Prompt blockieren, der Kreditkartennummern (PAN-Format) oder IBAN-formatierte Bankkontonummern enthält.",
"enforcement_action": "BLOCK",
"detection_mode": "EXACT",
"suggested_keywords": ["IBAN", "CARD_PAN"],
"scope": { "type": "agent_type", "agent_type": "chatbot" }
},
"confidence": 0.91,
"alternatives": [ ... ]
}Programmatisch einsetzbar, um:
- Policies aus einer Risiko-CSV beim Onboarding zu generieren
- Policies basierend auf dem Purpose eines neuen Agents vorzuschlagen (der Agent-Wizard ruft diesen Endpoint im Hintergrund auf)
- Eigene interne Tools zu betreiben, die AUP-Dokumente in Palveron-Policies verwandeln
Fehler
| Status | Code | Bedeutung |
|---|---|---|
400 | INVALID_SCOPE | Das Scope-Objekt ist fehlerhaft |
400 | INVALID_ENFORCEMENT_ACTION | Nicht BLOCK, APPROVAL, MODIFY oder FLAG |
403 | POLICY_LIMIT_EXCEEDED | Tier-Limit erreicht — Upgrade oder bestehende Policy deprecaten |
409 | DUPLICATE_NAME | Eine andere aktive Policy nutzt denselben Namen |