Permission rules for AI agents. One call before they act.

Check what a domain allows before your agent acts. Get back allowed, denied, or escalate — fast, deterministic, no model in the loop.

pip install openterms-py
import openterms
result = openterms.check("github.com", "read_content")
# → { "result": { "value": true, "confidence": "high" }, "permission": "allowed" }
GET /api/v1/check?domain=github.com&action=read_content
{
  "result": { "value": true, "confidence": "high" },
  "permission": "allowed"
}

511 services indexed. Open standard, free SDK, no lock-in.

The seven permissions

The decision model

Check result What it means Agent action
allowed The service permits this action under the stated conditions. Proceed.
denied The service explicitly forbids this action. Block, log, and escalate to the human for review.
not_specified The domain has not published an openterms.json, or this action is not declared. Fail-closed: treat as denied unless your policy says otherwise.

Fail-closed rule: If a domain hasn't published, or the answer is unknown, treat it as not-permitted unless your policy says otherwise. The cost of a false positive (blocking a permissible action) is lower than the cost of a false negative (permitting a forbidden one).

Publish your own permissions in 30 seconds

Enter your domain. Generate reads your Terms of Service and Privacy Policy and produces a ready-to-deploy openterms.json — validated against the schema, ready to drop at /.well-known/openterms.json.

Generate yours →

Every agent that checks makes publishing worth more. Every domain that publishes makes checking worth more.

The registry

511 services already indexed — browse what's known, with confidence stated plainly.

53
OTA-verified entries

Production

Suitable for production agent deployments — alongside entries validated by the service owner or your own organization.

458
Machine-generated entries

Discovery & test

Useful for discovery, testing, and workflow design. Validate before relying on them in production agent deployments.

OTA = Open Terms Archive, an independent third-party record of legal documents. OTA-verified means OpenTerms-reviewed against public source material — not an endorsement, approval, or certification by the service owner.

Browse the registry →

SDKs and integrations

The Python SDK is the fastest path to integration. LangChain and CrewAI adapters handle the agent framework layer. Bulk download is available for offline or on-premise use.

pip install openterms-py
openterms-py LangChain adapter CrewAI adapter AutoGen — available browser-use — available

Bulk registry download available for offline indexing and on-premise use. Browse the registry →

Validate a file →

 

The format is open, the SDK is free, the lookup is one call.