Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs.getovra.com/llms.txt

Use this file to discover all available pages before exploring further.

Steuerung ist die Regel-Schicht. Zwei Engines — Policy und Risk — bewerten gemeinsam jeden Intent, Grant, Issue, Redeem und Checkout. Entscheidungen sind server-seitig; Agents können ihre eigenen Regeln nicht umgehen.

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:
GruppeFelder
LimitsmaxTransactionEuros, dailyLimitEuros, weeklyLimitEuros, monthlyLimitEuros
ApprovalautoApproveLimitEuros, enforcementLevel (enforce / approve / warn)
MerchantmerchantAllowlist, merchantBlocklist, allowedMccs, blockedMccs, lockToFirstMerchant
GeoallowedCountries, blockedCountries (ISO 3166-1 Alpha-2)
ZeitactiveHoursStart, activeHoursEnd, timezone, allowedDays, cooldownMinutes
LifecycleexpiresAfterMinutes, expirationAction (freeze / close / notify), maxUsageCount
Required behaviorrequireIntent (sacred — niemals stillschweigend abgeworfen), requireAttestation

Risk: Signale und Thresholds

SignalWas es prüftDefault-Gewicht
velocityN Transaktionen in M Minuten vs BaselineHoch
amount-anomalyZ-Score gegen historischen Spend-Mean/StdDevHoch
geoNeues Land vs Policy + History; „impossible travel”Mittel
sessionUser-Agent / IP-Cluster-AnomalienMittel
time-anomalyAußerhalb Geschäftszeiten oder definierter Active-WindowsNiedrig
Score ist gewichteter Aggregat. Thresholds sind per Policy tunable (5-min-Cache):
ThresholdDefaultAktion
thresholdReview70Hold für menschliche Genehmigung
thresholdDeny85Intent ablehnen
thresholdFreeze95Agent einfrieren (opt-in, Default off)
Auto-Freeze ist opt-in. Kann legitime Flows brechen wenn deine Toleranz nicht kalibriert ist — Empfehlung: erst nach Beobachtung der Risk-Scores in Production aktivieren.

Wo Steuerung läuft

intent → grant → issue → redeem → checkout
   ↑       ↑       ↑       ↑          ↑
  policy + risk an jedem Checkpoint ausgewertet
Jede Auswertung schreibt eine Row in 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

Wenn enforcementLevel: "approve" oder Risk-Action review, geht der Intent in pending_approval. Genehmigung via:
curl -X POST https://api.getovra.com/intents/int_.../approve \
  -H "Authorization: Bearer $OVRA_API_KEY"
Oder POST /intents/:id/deny mit optionalem reason.

Schnellbeispiel — Policy eines Agents lesen

curl https://api.getovra.com/policies?agentId=ag_... \
  -H "Authorization: Bearer $OVRA_API_KEY"
Oder via MCP — Agents können ihre Policy lesen aber nie modifizieren:
ovra_policy { action: "get", agentId: "ag_..." }

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

SurfaceCapability
RESTGET/POST/PATCH /policies, GET /risk/violations, PATCH /risk/config
SDKpolicies.*
MCPovra_policy (read-only by design)
Dashboard/dashboard/policies, /dashboard/risk, /dashboard/agents/:id

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.