Skip to content
PERMISSION/PROTOCOL

How Permission Protocol Works.

Three steps to enforce human or policy authority before your AI system acts.

Step 1

Wrap your action

Add `authorize()` or `@require_approval` around production workflow actions that need explicit approval.

const receipt = await authorize({
  action: "deploy",
  resource: "billing-service"
});

Step 2

Get approval

Permission Protocol creates a review request and waits for a human or configured policy decision.

review_url = pp.request.approval_link
status = await pp.wait_for_decision()

Step 3

Receive your receipt

Approved actions get a signed receipt proving who authorized what, when, and under which policy.

if receipt.verified:
    deploy(receipt)
    audit.log(receipt.id)

Full lifecycle.

From attempted action to verified execution, the gate stays closed until authority is proven.

PR Created↓Permission Protocol↓Decision
BlockedApproved
01

Agent acts

The model attempts a deploy, merge, infrastructure change, or other production workflow action.

02

Gate intercepts

The gate turns the action into an authorization request before the protected workflow continues.

03

Request created

Permission Protocol records the action, actor, policy, and review URL.

04

Human reviews

An approver or policy engine blocks or approves the request.

BlockedApproved
05

Receipt issued

Approved requests get a signed authorization receipt for verification and audit.

06

Action proceeds

The system verifies the receipt and only then executes the original action.

The Receipt.

Every approved action produces receipt-backed proof that can be inspected by humans and checked by the Permission Protocol required check.

✓ ACTION AUTHORIZED

Example

Production SQL Migration → prod-db

migration: drop users.email from production schema

Agent
cursor-agent
Signer of record
Alice Rivera
On behalf of
Dana Cho
Policy
prod-sql-migration-v1
Timestamp
2026-08-21 21:33:56 UTC
SignatureVerifying…

Checking the Ed25519 signature against the published public key.

Issuerpermissionprotocol.com
Keypp-demo-site-1

Fictional scenario and people. The signature is real: verify it yourself.

Receipt anatomy

Action
production_sql_migration -> prod-db
Agent
cursor-agent
Signer of record
Alice Rivera
On behalf of
Dana Cho
Policy
prod-sql-migration-v1
Timestamp
2026-08-21 21:33:56 UTC
Signature
Ed25519 over the canonical payload
See a live receipt

Infrastructure stack.

Identity tells you who requested access. Authority tells you who approved the action.

Layer

System

What It Proves

Identity

OAuth / Okta

Who is making the request

Encryption

TLS

Communication can be trusted

Payments

Stripe

Money can move securely

Observability

Datadog

What happened in the system

Authority

Permission Protocol

Who authorized the action

Ready to add authority?

Ship with an explicit approval gate before agents can merge, deploy, or spend.

Start with the quickstart if you want code first. Talk to us if you need org-wide enforcement, approvals, and auditability.