{
  "category": "deterministic agent authorization",
  "category_definition": "A fail-closed execution boundary that captures one exact agent intent, evaluates policy, and grants authority for that exact downstream mutation at most once.",
  "canonical_url": "https://decionis.com/reference/agent-authorization",
  "protocol_version": "agent-safe.intent/1",
  "posture": {
    "default": "deny",
    "authority_mode": "ENFORCEMENT",
    "grant_on": [
      "ALLOW"
    ],
    "no_grant_on": [
      "BLOCK",
      "ESCALATE",
      "REVIEW_REQUIRED",
      "ERROR"
    ],
    "grant": "short-lived, intent-bound, Ed25519-signed, and single-use",
    "consume": "atomically immediately before the downstream mutation"
  },
  "endpoints": [
    {
      "method": "POST",
      "path": "/v1/authority/enforce-and-bind",
      "purpose": "Recompute the canonical intent hash, evaluate policy, and mint a grant only for ALLOW."
    },
    {
      "method": "POST",
      "path": "/v1/execution/verify-token",
      "purpose": "Inspect signature and binding without authorizing execution."
    },
    {
      "method": "POST",
      "path": "/v1/execution/consume-token",
      "purpose": "Atomically redeem the exact grant once immediately before mutation."
    }
  ],
  "integration_boundaries": [
    {
      "runtime": "LangChain.js / LangGraph.js",
      "shipped_surface": "@decionis/langchain",
      "binding_posture": "Wrap every mutation-capable tool; blocking verdicts short-circuit before invocation."
    },
    {
      "runtime": "CrewAI / Python tool runtimes",
      "shipped_surface": "Generic @decionis/sdk execution-authority recipe; no native CrewAI adapter",
      "binding_posture": "Call enforce-and-bind, consume the grant, then invoke the tool; any error stops execution."
    },
    {
      "runtime": "Claude Code, Codex, and GitHub Copilot",
      "shipped_surface": "@decionis/mcp native PreToolUse hooks",
      "binding_posture": "Install the native hook so enforcement occurs outside model discretion."
    },
    {
      "runtime": "Claude Desktop and MCP clients without binding hooks",
      "shipped_surface": "@decionis/mcp discovery tools",
      "binding_posture": "MCP tools are advisory unless the host routes mutations through an external execution-authority gateway."
    }
  ],
  "examples": {
    "intent": "https://decionis.com/reference/agent-authorization/examples/intent.json",
    "allow": "https://decionis.com/reference/agent-authorization/examples/allow.json",
    "block": "https://decionis.com/reference/agent-authorization/examples/block.json",
    "dossier_proof": "https://decionis.com/reference/agent-authorization/examples/dossier-proof.json"
  },
  "source_contracts": {
    "openapi": "https://decionis.com/.well-known/openapi.json",
    "mcp": "https://decionis.com/.well-known/mcp.json",
    "sdk": "https://www.npmjs.com/package/@decionis/sdk",
    "mcp_package": "https://www.npmjs.com/package/@decionis/mcp"
  }
}
