Agent actions.
Authorized
first.
Axtary gives every high-impact tool call a scoped ActionPass before an agent reaches GitHub, Slack, MCP, or production APIs.
Agents should not inherit the blast radius of your API keys.
The first wedge is coding-agent work across GitHub, Slack, Linear, docs, and MCP tools. Axtary runs beside the agent, checks the exact action payload, and only releases authority when policy allows it.
Not another agent framework. A permission artifact for the hot path.
ActionPass is portable enough for SDKs and proxies, strict enough for security review, and exact enough for human approvals that show the payload, not an agent-written summary.
{
"action_pass_id": "ap_01JAXTARY",
"agent_id": "agent:codex-prod",
"human_owner": "user:asrar@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..."
}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
};The product lives in the runtime. The web app coordinates it.
Install Axtary where agents already run. The SDKs and local proxy enforce action-level policy before tools execute, while the hosted app keeps approvals, policies, and audit exports in one place.
Every approval should carry the exact action it authorizes.
Axtary turns agent requests into reviewable, signed records: who owns the task, what tool is being called, what payload is allowed, which policy matched, and when the permission expires.