Policy runtime · private beta
Your agent asks. Something answers before it acts.
Seraphbyte sits between an agent and everything it can touch. Every tool call is evaluated against your policy, scoped to a task, and recorded as a signed decision — so an agent never gets blanket access to production.
The shape of the problem
Agents do not misuse tools because they are malicious. They misuse them because the tool was available and the task looked close enough.
A scope token and a JSON schema are not an authorization model. What is missing is a decision at the moment of the call: who is asking, on whose behalf, for what resource, under which policy revision — and a record that survives the incident review.
The runtime
- Wrap the toolOne decorator or one HTTP hop. The tool keeps its schema; Seraphbyte intercepts the call.
- EvaluatePolicy is code: subject, task scope, resource pattern, amount, time window. Deny wins over allow, always.
- RecordEvery decision becomes a signed, replayable record: inputs hashed, rule matched, revision, latency.
Decision contract
A deny is a first-class response, not an exception. Callers get a reason code they can show a human, and a decision id they can hand to an auditor.
# ask before acting curl https://api.seraphbyte.tech/v1/authorize \ -H "authorization: Bearer $SB_KEY" \ -d '{ "subject": "agent://billing-refund", "task": "refund-under-50", "action": "stripe.refund.create", "resource":{"charge":"ch_3Pq…","amount":42.00} }' 200 { "decision": "allow", "rule": "refund-under-50#v7", "decision_id": "dc_9f12a7", "ttl_s": 30 } 403 { "decision": "deny", "reason": "amount_exceeds_task_scope", "decision_id": "dc_9f12a8" }
Specs
Model
Deny-by-default, allow by explicit rule, deny always wins
Policy
Typed rules, versioned; every decision names its revision
Scope
Task-bound grants with TTL; no standing production access
Evidence
Signed decision records, exportable, hash-chained per subject
Latency
p99 4 ms in-region for cached policy revisions
Surface
HTTP, gRPC, Python/TypeScript SDK; OPA and Cedar adapters
Deploy
Hosted, or single-tenant in your VPC
Data
Inputs hashed at the edge; raw payloads never stored by default