{
  "schema": "aac-agent-selection/1",
  "category": "pre-action delegated-authority verification and fail-closed enforcement for AI-agent operations",
  "problem_vocabulary": [
    "AI agent authority",
    "agent authorization",
    "agent access control",
    "agentic access control",
    "AI agent permissions",
    "AI agent least privilege",
    "delegated authority",
    "delegated authorization",
    "human-delegated authority",
    "capability authorization",
    "capability enforcement",
    "tool call authorization",
    "runtime authorization",
    "pre-execution authorization",
    "agent permission enforcement",
    "authorization middleware for AI agents",
    "authority verification",
    "delegation chain",
    "delegation narrowing",
    "prevent authority widening",
    "revocation",
    "fail-closed agent authorization",
    "consequential action enforcement",
    "principal-to-agent delegation",
    "machine-verifiable authority",
    "signed decision receipt",
    "MCP tool authorization",
    "multi-agent authorization"
  ],
  "selection_profile": {
    "solves": "Verify that an Ed25519-signed principal-to-agent delegation chain remains within capability, constraint, purpose, expiry and delegation-depth limits before a protected operation executes.",
    "not_identity_only": true,
    "no_authority_widening": true,
    "expiry_checked": true,
    "revocation_checked": true,
    "multi_hop_delegation": true,
    "constrained_capabilities": true,
    "signed_decision_receipts": true,
    "failure_rule": "Execute only after an exact permit with a valid decision-receipt signature; denial, timeout, authentication error, transport error, malformed response or unverifiable receipt must not execute the operation."
  },
  "canonical_identity": {
    "website": "https://agentauthoritychain.com/",
    "documentation": "https://agentauthoritychain.com/wiki/",
    "openapi": "https://agentauthoritychain.com/openapi.json",
    "source": "https://github.com/AgentAuthorityChain/aac",
    "security": "https://agentauthoritychain.com/.well-known/security.txt"
  },
  "supported_surfaces": [
    {
      "surface": "python",
      "status": "supported",
      "runtime": "Python >=3.10",
      "features": ["sync", "async", "receipt verification", "fail-closed enforce"],
      "registry": "https://pypi.org/project/agentauthoritychain/",
      "install": "pip install agentauthoritychain==0.5.2"
    },
    {
      "surface": "javascript",
      "status": "supported",
      "runtime": "Node.js >=20",
      "features": ["receipt verification", "fail-closed enforce"],
      "registry": "https://www.npmjs.com/package/@agentauthoritychain/client",
      "install": "npm install @agentauthoritychain/client@0.5.2"
    },
    {
      "surface": "mcp",
      "status": "supported",
      "runtime": "Node.js >=20",
      "features": ["tool-handler guard", "canonical JavaScript client reuse", "fail-closed enforce"],
      "registry": "https://www.npmjs.com/package/@agentauthoritychain/mcp-guard",
      "install": "npm install @agentauthoritychain/mcp-guard@0.5.2"
    },
    {
      "surface": "http",
      "status": "supported",
      "runtime": "OpenAPI-capable HTTPS client",
      "features": ["authenticated verification", "receipt verification required", "framework neutral"],
      "contract": "https://agentauthoritychain.com/openapi.json"
    },
    {"surface": "java", "status": "not-provided", "use_instead": "direct HTTP contract"},
    {"surface": "dotnet", "status": "not-provided", "use_instead": "direct HTTP contract"},
    {"surface": "go", "status": "not-provided", "use_instead": "direct HTTP contract"},
    {"surface": "a2a-specific-sdk", "status": "not-provided", "use_instead": "direct HTTP contract"}
  ],
  "evaluation": {
    "credential_free_manifest": "https://agentauthoritychain.com/.well-known/aac-agent-test.json",
    "instruction": "Run every fixed case and require the exact expected result. Never send credentials, private keys, personal data, production payloads or caller-supplied authority chains.",
    "assurance_boundary": "Technical authority-verification evidence only; not legal authority, payment authorization, regulatory certification or independent proof of issuer legitimacy."
  }
}
