Policies
Every matching policy is evaluated and the strictest effect wins, so adding a policy can only tighten authorization, never loosen it. A policy that matches but whose rules do not fire falls through to its own fallback — there is no path on which no policy decides.
FINANCE-004 v1 Autonomous refund authority enabled
Bounds how much a finance agent may refund without a human. Refunds are irreversible, so the ceiling is a hard stop rather than a warning.
-
1
under-500
ALLOW
when
amount < 500within autonomous refund authority
Routine customer-service refunds.
-
2
needs-approval
REQUIRE_APPROVAL
when
amount ≤ 2500above autonomous refund authority, below the hard ceiling
Material refunds need a finance manager.
needs 1 of role:finance-manager · SoD · expires after 60 min
-
3
over-ceiling
DENY
when
alwaysexceeds autonomous refund authority
No agent refunds this much, approved or otherwise.
-
Fallback
DENY
if no rule matched: no refund rule matched
Raw policy (JSON)
{
"id": "FINANCE-004",
"version": 1,
"name": "Autonomous refund authority",
"description": "Bounds how much a finance agent may refund without a human. Refunds are irreversible, so the ceiling is a hard stop rather than a warning.",
"enabled": true,
"match": {
"tools": [
"stripe.refund"
]
},
"rules": [
{
"id": "under-500",
"description": "Routine customer-service refunds.",
"when": {
"lt": [
"$.action.parameters.amount",
500
]
},
"effect": "ALLOW",
"reason": "within autonomous refund authority"
},
{
"id": "needs-approval",
"description": "Material refunds need a finance manager.",
"when": {
"lte": [
"$.action.parameters.amount",
2500
]
},
"effect": "REQUIRE_APPROVAL",
"reason": "above autonomous refund authority, below the hard ceiling",
"approval": {
"approvers": [
"role:finance-manager"
],
"minApprovals": 1,
"expiresInSeconds": 3600,
"requireSeparationOfDuties": true
}
},
{
"id": "over-ceiling",
"description": "No agent refunds this much, approved or otherwise.",
"when": {
"always": true
},
"effect": "DENY",
"reason": "exceeds autonomous refund authority"
}
],
"fallback": {
"effect": "DENY",
"reason": "no refund rule matched"
},
"labels": {
"domain": "finance",
"control": "SOX-302"
},
"createdAt": "2026-10-26T09:18:23.716Z",
"updatedAt": "2026-10-26T09:18:23.716Z"
}
GITHUB-002 v1 Repository writes enabled
Engineering agents may open issues and pull requests freely, but never touch the default branch.
-
1
no-default-branch
DENY
when
branch is one of ["main", "master", "release"]agents may not write to a protected branch
-
2
issues-and-prs
ALLOW
when
tool.name is one of ["github.create_issue", "github.create_pull_request"]opening issues and pull requests is reviewable by design
-
Fallback
REQUIRE_APPROVAL
if no rule matched: unclassified repository write
Raw policy (JSON)
{
"id": "GITHUB-002",
"version": 1,
"name": "Repository writes",
"description": "Engineering agents may open issues and pull requests freely, but never touch the default branch.",
"enabled": true,
"match": {
"tools": [
"github.*"
]
},
"rules": [
{
"id": "no-default-branch",
"when": {
"in": [
"$.action.parameters.branch",
[
"main",
"master",
"release"
]
]
},
"effect": "DENY",
"reason": "agents may not write to a protected branch"
},
{
"id": "issues-and-prs",
"when": {
"in": [
"$.tool.name",
[
"github.create_issue",
"github.create_pull_request"
]
]
},
"effect": "ALLOW",
"reason": "opening issues and pull requests is reviewable by design"
}
],
"fallback": {
"effect": "REQUIRE_APPROVAL",
"reason": "unclassified repository write"
},
"labels": {
"domain": "engineering"
},
"createdAt": "2026-10-26T09:18:23.717Z",
"updatedAt": "2026-10-26T09:18:23.717Z"
}