Die zwei Engines
Policy-Engine
Pure Function
evaluatePolicy(policy, input) → { allowed, requiresApproval, reason }. Deterministisch, deklarativ, plan-tier-agnostisch.Risk-Engine
Stateful. 5 Signale (velocity, amount-anomaly, geo, session, time-anomaly). Score 0–100 mit tunable Thresholds für Review/Deny/Freeze.
Policy: was ausdrückbar ist
Policies sind JSON-serialisierbare Objekte, an einen Agent gebunden (eine Policy pro Agent). Vollständiges Schema in/de/concepts/policies — hier die Surface:
Risk: Signale und Thresholds
Score ist gewichteter Aggregat. Thresholds sind per Policy tunable (5-min-Cache):
Wo Steuerung läuft
decision_logs mit vollem Signal-Payload, Score, Reason und Action. Abfragbar via /audit und /risk/violations.
Card-Controls-Sync
Bei Policy-Änderung übersetzt das System die relevanten Felder in card-issuer-native Controls (MCC-Rules, Country-Rules, Per-Tx-Limits) und pusht sie auf die zugrundeliegende Karte. Policy ist Source of Truth; der Card-Mirror ist Best-Effort und wird bei jedem Update reconciliert.Approval-Workflow
WennenforcementLevel: "approve" oder Risk-Action review, geht der Intent in pending_approval. Genehmigung via:
POST /intents/:id/deny mit optionalem reason.
Schnellbeispiel — Policy eines Agents lesen
Pre-built Presets
policy-presets.ts shippt Templates für gängige Patterns: Travel-only, Subscriptions, Dev-Tools etc. Im Dashboard-Create-Flow als Startpunkte verwendbar.
Surfaces
Weiter
Policies
Vollständige Feld-Referenz mit Beispielen pro Regel.
Intents
Die Approval-tragende Primitive die Steuerung gatet.
Intelligenz
Was Steuerung schreibt — Decision-Logs, Audit, Anomaly-Detection.
Disputes
Was passiert wenn etwas, das Steuerung erlaubt hat, sich als falsch herausstellt.
