Loading...
A deterministic policy evaluation engine. One API call between your AI agent and the customer. Sub-millisecond latency. Zero external runtime dependencies.
See every commitment your AI agents make before it reaches the customer. Set monetary ceilings and approval thresholds per action type — no code changes needed.
One API endpoint, any language. JSON Schema contracts for type generation. Sub-millisecond overhead. No SDK lock-in, no agent framework dependency.
Cryptographically signed evidence for every evaluation. Zero PII stored. Fail-closed by design — system errors never produce false approvals.
JSON Schema (Draft-07) contracts are published for TypeScript, Python, Go, and Java code generation. Additive-only stability guarantee — fields are never removed or renamed.
{
"action_type": "credit_or_refund.issue",
"tenant_id": "acme_corp",
"actor_id": "agent-7b",
"target_id": "customer-4492",
"amount_cents": 15000,
"currency": "USD",
"reason": "Product arrived damaged",
"correlation_id": "conv-8812-msg-3",
"metadata": {
"original_transaction_id": "txn-9284"
}
}{
"verdict": "REQUIRE_APPROVAL",
"evidence_ref": "ev-8a3f2b91-c7e4-...",
"evidence_hash": "sha256:b94d1f2a3e5c...",
"reasons": [
"Amount $150.00 exceeds pre-authorized limit $75.00",
"30-day customer aggregate: $420.00"
],
"policy_version": "v1.3.0",
"evaluated_at": "2026-03-02T14:30:00Z",
"signed": true,
"intervention_plan": {
"action": "modify_and_retry",
"band": "amber",
"recommended_client_behavior": "MODIFY_AND_RETRY",
"safe_degrade_actions": [
"lower_amount"
],
"retry_guidance": {
"max_retries": 3,
"cooldown_seconds": 0,
"stop_condition": "action_allowed_or_max_retries_exhausted"
}
}
}Same input always produces the same verdict. The decision path is fully traceable through the signed evidence packet.
ALLOWAction is within all policy bounds. The agent proceeds without modification.
REQUIRE_APPROVALAction exceeds a soft limit. The intervention planner returns a concrete modification — reduce amount, adjust scope, or degrade gracefully — and the agent retries automatically.
BLOCKHard policy violation. The action is denied with a signed evidence packet documenting the exact rule that triggered the block.
Works with any agent framework, any language. The only requirement is an HTTP client.
Before your AI agent executes any commitment, POST the action details to /gateway/evaluate. One HTTP call, sub-millisecond response. No SDK or agent framework required.
The engine returns a deterministic verdict (ALLOW, REQUIRE_APPROVAL, or BLOCK), the policy rules that fired, and — for amber verdicts — a concrete intervention plan telling the agent how to modify and retry.
Your agent follows the intervention plan: proceed as-is, reduce the amount to fit within policy, or stop. The retry loop converges automatically — no human in the loop for routine actions.
Every evaluation produces a cryptographically signed evidence packet with a deterministic content hash. The chain is append-only and tamper-evident. Compliance-ready from day one.
Amber verdicts don't just say "no." They tell your agent exactly what to change. The agent modifies and retries — automatically, with no human in the loop.
The intervention_plan field returns machine-readable instructions: reduce amount, adjust scope, switch to draft mode. No free-form parsing needed.
The retry_guidance field specifies max retries and stop conditions. The loop converges to an approved action or stops cleanly — never infinite.
The safe_degrade_actions field lists exactly which modifications are safe: lower amount, reduce scope, require user confirmation. No guesswork.
Simple amount thresholds are easy to game. GreenLightz evaluates across multiple risk dimensions simultaneously — each one is a separate veto gate.
Per-action-type ceilings, pre-authorization limits, and daily caps. Different policies for different action types.
Per-agent, per-customer frequency tracking across configurable rolling windows. Catches agents making 5 refunds in one hour.
Rolling-window cumulative tracking. A $50 refund alone is fine — but $420 total from the same customer this month triggers escalation.
Stacking detection and precedent analysis. Catches when commitments are split across multiple small transactions to avoid ceilings.
Dimensions are configurable per tenant. Shadow dimensions let you observe new rules without affecting production verdicts.
Each tenant gets a YAML configuration file. Change the file, change the governance. No deployments, no code changes, no downtime.
max_amount_centsPer-action-type amount ceilings. Set different limits for refunds, discounts, and shipping commitments.
pre_authorized_limitAuto-approve threshold. Actions below this amount get instant GREEN — no human review needed.
approval_modeEscalation behavior: manual (human reviews all amber), pre_authorized (auto-approve under limit), or block (deny all).
enabled_dimensionsWhich governance dimensions are active: financial impact, policy compliance, behavioral patterns. Add or remove to tune.
webhook_url / webhook_secretApproval notification endpoint. Secrets use env-ref indirection — never inline in configuration.
policy_versionSemantic version tag for drift detection. The engine tracks which policy version produced each verdict.
The same refund request can get ALLOW under one tenant's policy and REQUIRE_APPROVAL under another's. Swap the YAML file — no code changes, no deployments, no downtime. Thresholds and operational configuration are tuned together during pilot onboarding.
30-minute live demo. We'll walk through the API, fire real evaluations, and show the evidence trail.
Book a Demo