{
  "policy_id": "default-action-tiers",
  "note": "These verdicts are produced live by the same function that answers POST /v1/check. Paying buys the same evaluation over YOUR policy and YOUR action.",
  "examples": [
    {
      "label": "read-only action",
      "request": {
        "action": "docs.read",
        "params": {
          "path": "/README"
        }
      },
      "verdict": {
        "decision": "allow",
        "matched_rule": "read-anything",
        "tier": 0,
        "tier_label": "read-only",
        "rationale": "Reads are tier 0: no side effects.",
        "policy_version": "0.1",
        "default_applied": false
      }
    },
    {
      "label": "small payment",
      "request": {
        "action": "payments.send",
        "params": {
          "amount_usd": 20
        }
      },
      "verdict": {
        "decision": "require_approval",
        "matched_rule": "small-payments-need-approval",
        "tier": 2,
        "tier_label": "hard to reverse — human approval",
        "rationale": "Any outbound payment is at least tier 2; small ones may be approved quickly.",
        "policy_version": "0.1",
        "default_applied": false
      }
    },
    {
      "label": "large payment",
      "request": {
        "action": "payments.send",
        "params": {
          "amount_usd": 500
        }
      },
      "verdict": {
        "decision": "deny",
        "matched_rule": "large-payments-forbidden",
        "tier": 3,
        "tier_label": "forbidden for agents",
        "rationale": "Payments over $50 are outside agent authority entirely.",
        "policy_version": "0.1",
        "default_applied": false
      }
    },
    {
      "label": "deletion",
      "request": {
        "action": "storage.delete",
        "params": {
          "key": "prod/db"
        }
      },
      "verdict": {
        "decision": "deny",
        "matched_rule": "no-deletes",
        "tier": 3,
        "tier_label": "forbidden for agents",
        "rationale": "Agents never delete data.",
        "policy_version": "0.1",
        "default_applied": false
      }
    },
    {
      "label": "first contact message",
      "request": {
        "action": "messages.send",
        "params": {
          "prior_contact": false
        }
      },
      "verdict": {
        "decision": "require_approval",
        "matched_rule": "outbound-messages-first-contact",
        "tier": 2,
        "tier_label": "hard to reverse — human approval",
        "rationale": "First contact with a new party is new-in-kind: stage for human approval.",
        "policy_version": "0.1",
        "default_applied": false
      }
    },
    {
      "label": "unmatched action (default applies)",
      "request": {
        "action": "something.novel"
      },
      "verdict": {
        "decision": "deny",
        "matched_rule": null,
        "tier": null,
        "tier_label": null,
        "rationale": "No rule matched; policy default is \"deny\".",
        "policy_version": "0.1",
        "default_applied": true
      }
    }
  ],
  "bring_your_own_policy": {
    "note": "Send any policy document inline as \"policy\" — you are not limited to ours, and nothing about your policy is stored.",
    "policy": {
      "version": "1.0",
      "name": "your-policy",
      "default": "require_approval",
      "tiers": {
        "0": {
          "decision": "allow",
          "label": "safe"
        },
        "3": {
          "decision": "deny",
          "label": "never"
        }
      },
      "rules": [
        {
          "id": "your-reads-are-fine",
          "match": {
            "action": "db.read"
          },
          "tier": 0,
          "rationale": "Your rule, your wording."
        },
        {
          "id": "never-touch-prod",
          "match": {
            "action": "prod.**"
          },
          "tier": 3,
          "rationale": "Your call, enforced identically."
        }
      ]
    },
    "results": [
      {
        "request": {
          "action": "db.read"
        },
        "verdict": {
          "decision": "allow",
          "matched_rule": "your-reads-are-fine",
          "tier": 0,
          "tier_label": "safe",
          "rationale": "Your rule, your wording.",
          "policy_version": "1.0",
          "default_applied": false
        }
      },
      {
        "request": {
          "action": "prod.deploy"
        },
        "verdict": {
          "decision": "deny",
          "matched_rule": "never-touch-prod",
          "tier": 3,
          "tier_label": "never",
          "rationale": "Your call, enforced identically.",
          "policy_version": "1.0",
          "default_applied": false
        }
      },
      {
        "request": {
          "action": "anything.else"
        },
        "verdict": {
          "decision": "require_approval",
          "matched_rule": null,
          "tier": null,
          "tier_label": null,
          "rationale": "No rule matched; policy default is \"require_approval\".",
          "policy_version": "1.0",
          "default_applied": true
        }
      }
    ]
  },
  "try_it": {
    "endpoint": "POST /v1/check",
    "body": {
      "policy_id": "default-action-tiers",
      "request": {
        "action": "payments.send",
        "params": {
          "amount_usd": 20
        }
      }
    },
    "price_usd": "0.005",
    "protocol": "x402 (USDC on Base)"
  },
  "for_humans": {
    "note": "Writing these policies by hand is the slow part. The templates and the full governance pack are at the checkout below.",
    "checkouts": "GET /v1/checkouts"
  }
}