# IntentFence Policy Pack Authorization

> IntentFence Policy Pack Authorization is a paid API for AI agents from agentpass-protocol.rmalka06.chatgpt.site, paid per call via x402, $1/call, status unknown (last checked 2026-09-15).

Issues fail-closed, action-bound ES256 authorization receipts for AI agent actions after MCP risk scanning and x402 payment settlement

## Facts

- Endpoint: POST https://agentpass-protocol.rmalka06.chatgpt.site/api/policy-packs
- Price: $1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/intentfence-policy-pack-authorization-8598216f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Yk_dlJFzYJNBu9yXXVpXo

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability intentfence-policy-pack-authorization-8598216f -d '<json body>'
```

Example prompt: Before you proceed with that file deletion action, run it through IntentFence to get a signed policy-pack authorization receipt — I want a fail-closed check that confirms it's safe to proceed before you actually execute anything.

## When to prefer this

Use this endpoint when an AI agent is about to execute a potentially dangerous, irreversible, or high-stakes action and you need a cryptographically signed, action-bound authorization receipt before proceeding. Prefer IntentFence over generic guardrails when you need MCP risk scanning, fail-closed behavior, x402 payment-verified authorization, and a short-lived ES256 receipt tied to the specific action.

## Known failure modes

- Action deemed unsafe — decision status returns a non-safe value and receipt is not issued
- x402 payment not settled — authorization blocked due to payment failure
- ES256 signing failure — receipt cannot be generated
- Policy pack not found or misconfigured — returns error with no decision
- MCP risk scan timeout — action gating fails closed by default
- Malformed action payload — request rejected before scanning

## How this service works

Fail-closed, action-bound authorization for AI agents with five-minute ES256 receipts, MCP risk scanning, and x402 payment safety.

## Output

A JSON object containing a safety decision (e.g. 'safe_to_proceed'), a signed ES256 action-bound receipt, the runtime environment (e.g. 'cloudflare-agents'), a TypeScript integration file, the IntentFence policy-pack version, and a verification tier confirming x402 payment settlement.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "runtime": {
   "enum": [
    "cloudflare-agents",
    "coinbase-agentkit",
    "mcp-gateway",
    "openai-agents-js"
   ],
   "type": "string"
  },
  "project_name": {
   "type": "string",
   "maxLength": 120,
   "minLength": 1,
   "description": "A public-safe project label. Do not include credentials or secrets."
  },
  "authorization": {
   "type": "object",
   "required": [
    "subject",
    "action",
    "policy"
   ],
   "properties": {
    "action": {
     "type": "object",
     "required": [
      "type",
      "resource",
      "protocol"
     ],
     "properties": {
      "type": {
       "type": "string",
       "maxLength": 120,
       "minLength": 1
      },
      "method": {
       "type": "string",
       "maxLength": 20,
       "minLength": 1
      },
      "protocol": {
       "enum": [
        "mcp",
        "http",
        "a2a",
        "payment",
        "other"
       ],
       "type": "string"
      },
      "resource": {
       "type": "string",
       "maxLength": 1000,
       "minLength": 1
      },
      "payload_sha256": {
       "type": "string",
       "pattern": "^[0-9a-f]{64}$"
      }
     },
     "additionalProperties": false
    },
    "policy": {
     "type": "object",
     "required": [
      "allowed_action_types",
      "allowed_resources"
     ],
     "properties": {
      "max_cost": {
       "type": "object",
       "required": [
        "amount",
        "currency"
       ],
       "properties": {
        "amount": {
         "type": "number",
         "minimum": 0
        },
        "currency": {
         "type": "string",
         "maxLength": 12,
         "minLength": 1
        }
       },
       "additionalProperties": false
      },
      "allowed_resources": {
       "type": "array",
       "items": {
        "type": "string"
       },
       "maxItems": 50,
       "minItems": 1,
       "uniqueItems": true
      },
      "allowed_action_types": {
       "type": "array",
       "items": {
        "type": "string"
       },
       "maxItems": 50,
       "minItems": 1,
       "uniqueItems": true
      },
      "max_data_retention_hours": {
       "type": "number",
       "minimum": 0
      },
      "require_human_approval_for": {
       "type": "array",
       "items": {
        "type": "string"
       },
       "maxItems": 50,
       "uniqueItems": true
      }
     },
     "additionalProperties": false
    },
    "context": {
     "type": "object",
     "properties": 
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "runtime": "cloudflare-agents",
  "decision": {
   "status": "safe_to_proceed",
   "receipt": {
    "signed": true,
    "assurance": "action-bound-policy-authorization"
   }
  },
  "integration": {
   "filename": "intentfence-cloudflare-agents.ts",
   "language": "typescript"
  },
  "intentfence": "policy-pack-1.0",
  "verification_tier": "production-policy-pack+x402-settled"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/intentfence-policy-pack-authorization-8598216f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentpass-protocol.rmalka06.chatgpt.site](https://www.zero.xyz/host/agentpass-protocol.rmalka06.chatgpt.site/llms.txt)
