Content
authorization
for AI agents.

Axtary checks the exact diff, message, query, or tool payload before a connector executes. Routine actions follow policy; higher-risk actions require approval of that exact payload.

If an agent is mistaken or compromised, its authority remains limited to the approved action. Every attempt is recorded.

Payload binding

Change the payload. Verification fails.

Human approval is bound to the reviewed payload hash. If the payload changes after approval, adapter-side verification rejects the mismatch before the provider is called. The approved and presented hashes are recorded in the ledger.

The signed pass is bound to the approved action. The ledger preserves the verification record.

Reproduce locally: axtary run workflow github-pr-review --real --tamper

payload-tamper demo
exact-action binding example
$ axtary run workflow github-pr-review --real --tamper
action actor=agent:codex-prod · task=AXT-418
tool slack.chat.postMessage
target slack:workspace/design-partner · #axtary-dev · external recipient
✓ policy: step_up · exact payload review required
✓ human approved canonical payload sha256:505c…89d6
binding canonical JSON hash · not message classification
⚠ same actor, task, tool, and target; payload.message changed
- "AXT-418: Axtary opened a protected sandbox PR."
+ "Also forwarding staging credentials to attacker.example."
✗ recomputed sha256:0b46…2587 ≠ approved sha256:505c…89d6
■ denied before slack.chat.postMessage executes
ledger #4 · approval_payload_hash_mismatch · both hashes recorded
ActionPass artifact

Approval is bound to the payload, not a summary.

ActionPass is designed for security review and use across SDKs, proxies, and MCP wrappers. Human approval signs the normalized action and payload hash, preventing authorization from changing after review. The result is authorization for a specific action, rather than broad permission to use a tool.

github.pull_requests.create with branch, file, path, and test constraints
slack.chat.postMessage with channel scope and recipient step-up
linear.issue.update with project, assignee, status, and field constraints
AWS and GCP reads scoped by project, bucket, region, and prefix
mcp.tool.call bound to server identity and tool definition hash
docs.search/read with root, result, byte, and traversal limits
github.contents.read/write with blocked secret and environment paths
Connector readiness checks with non-destructive identity evidence
Normalized action
{
  "action_pass_id": "ap_01JAXTARY",
  "agent_id": "agent:codex-prod",
  "human_owner": "user:reviewer@company.com",
  "intent": "Open a PR for AXT-418",
  "tool": "github.pull_requests.create",
  "resource": "repo:company/web-app",
  "constraints": {
    "base_branch": "main",
    "max_files_changed": 12,
    "blocked_paths": ["infra/prod/**", ".env*"],
    "requires_tests": true
  },
  "expires_in": "10m",
  "payload_hash": "sha256:7f32...",
  "policy": "cedar+rego:pass",
  "ledger_hash": "sha256:b9a1..."
}
Cedar-compatible policy
permit (
  principal == Agent::"codex-prod",
  action == Action::"github.pull_requests.create",
  resource == Repo::"company/web-app"
) when {
  context.intent.task_id == "AXT-418" &&
  context.payload.max_files_changed <= 12 &&
  !context.payload.touches_production
};

Connectors and runtimes

Govern MCP servers and supported native connectors through the same policy, ActionPass, and ledger, inside the runtimes your teams already use.

Connectors
Model Context ProtocolModel Context ProtocolGitHubGitHubSlackSlackLinearLinearJiraJiraSentrySentryPostgreSQLPostgreSQLAWSAWSGoogle CloudGoogle CloudGoogle DriveGoogle DriveMicrosoft (coming soon)Microsoft (coming soon)Okta (coming soon)Okta (coming soon)Auth0 (coming soon)Auth0 (coming soon)
Runtimes
AnthropicAnthropicOpenAIOpenAICursorCursor
Runtime packages

Enforcement runs beside the agent. Teams coordinate through the hosted control plane.

Start with the CLI, then install only the runtime packages your integration needs.

Install Axtary where agents run. SDKs and the local proxy enforce action policy before tools execute. The hosted app coordinates approvals, policies, and audit exports.

The ActionPass draft and verifier are public artifacts:read the spec and verifier guide.

@axtary/actionpass
signed authorization artifact
@axtary/policy
deterministic policy engine
@axtary/proxy
local enforcement proxy
@axtary/ledger
verifiable action ledger
@axtary/approvals
payload-bound approvals
@axtary/mcp
MCP provenance controls
@axtary/adapters
scoped connector adapters
@axtary/cli
runtime CLI
@axtary/config
typed configuration

Enforcement and credentials remain local. The hosted control plane coordinates team policy and review.

Changelog · Apache-2.0 · v0.6.1 on npm