Define the contract
Describe the app intent, actors, sensitive data, allowed actions, approvals, denied paths, brokers, and audit needs.
How it works
Axiom starts before implementation. A human defines the intended behavior and boundaries. Axiom validates and simulates those rules, then generates policy evaluators, approval checks, audit contracts, route skeletons, guards, and tests that developers can wire into ordinary code.
Describe the app intent, actors, sensitive data, allowed actions, approvals, denied paths, brokers, and audit needs.
Create policy evaluators, approval checks, broker guards, route skeletons, audit contracts, and tests.
Axiom checks that risky capabilities declare the needed policy, approval, broker, disclosure, and audit obligations.
Run deterministic examples to see when an action should be allowed, denied, or require approval.
The LLM can draft an action, but generated policy code should decide allow, deny, or approval before execution.
Axiom is useful because the same decision can be understood by a product owner, a security reviewer, and a developer. The public layer talks about access, approval, denied actions, and evidence. The developer layer turns those into capabilities, policies, generated checks, route gates, and tests.
capability send_customer_message
policy:
allow if user_requested_message
and destination_is_customer_thread
require_approval if message_contains_sensitive_data
deny if destination_is_external_export
audit:
policy_decision
approval_status
The goal is not to replace every security tool, and it is not to make a model obedient through longer prompts. The goal is to make the most important agent-facing boundaries visible, generated, testable, and wired into the app.
Which records, APIs, services, and destinations the app or agent-assisted workflow can touch.
Which actions need human review, and which actions should never be implemented.
What decisions, approvals, policy outcomes, and review signals should be captured.