Frameworks made agents powerful. Observability told you what they did. Nobody mapped who answers when an agent acts — until now. OpenAgentOntology reads your agent's code, policies, and specs (never executing them) and emits a signed ontology that maps every action to the control that governs it. One scan. Every framework. One receipt.
A typed, signed map of every action an AI agent can take — and the governance control that answers for each one. This is the first one.
You know Compliance as Code — OPA, Chef InSpec, HashiCorp Sentinel, Checkov — proving your cloud config meets the rule. This is the same rigor for the thing the cloud now runs: autonomous agents. New surface, same proof.
The org chart for your non-human workforce. The safety data sheet for autonomous software. The building inspection — not the smoke-detector log that fires after the breach.
Frameworks make agents powerful. Observability tells you what they did. The Agent Ontology tells you who answers.
Grounded in a live NICE × MITRE ATT&CK × O*NET control crosswalk, so every governed action also carries the ATT&CK technique your SOC already hunts. The map isn't guessed; it's retrieved.
| ID | Type | Name | Provenance |
|---|
| Source | Relationship | Target |
|---|
| Action | Matched Via | Framework Mappings | To Assert |
|---|
Every action drops through three layers in order. The first that matches wins — and the layer it matched on becomes the confidence you can trust. Hardening an agent means pushing every action up to Layer 1.
The action declares a reason: that's a canonical deny key. Exact match. Full-confidence, auditable mappings.
No declared reason. The label matches a strong verb, so controls are emitted but INFERRED — a guess you must confirm.
No reason, no verb. The action is UNGOVERNED. Empty mappings. Fix these first.
A human Forward Deployed Engineer scans your agent, finds the ungoverned actions, writes the policy gates, proves the tier moved, and hands off a report. AgentFDE does it autonomously — scan → triage → generate the governance → re-score → notarize → hand off. Deploy it against any agent, workflow, or policy set to make onboarding a single command.
It never runs your code. The generated manifest scans SOVEREIGN 96 on its own — real governance, not a stub. And AgentFDE itself is a governed agent (SOVEREIGN 94): the tool governs the tool that does the governing.
OAO reads your agent's code, policies, and API specs — never executing them — and outputs a signed ontology that maps every action to the governance control that answers for it. One scan. Every framework. One receipt.
If your agent can wire money, deploy code, or export data, someone is liable when it misbehaves. OAO tells you which controls cover each action, which are only inferred (need human confirmation), and which are completely ungoverned (fix first). Toggle before/after above: declaring a canonical reason on every action moves the same agent from 41 to 93.
Run the scan, read the trust profile, and declare a canonical reason on every ungoverned or inferred action.
.rego as input, and an action behind an OPA gate with a canonical deny reason scores
ASSERTED. OAO doesn't enforce anything; it tells you where enforcement is missing.send_* → egress
controls) is tagged INFERRED so you confirm it; only an exact, declared canonical reason becomes
ASSERTED. The badge counts asserted controls only, and the tool never constructs a framework id
it can't source. Honest by construction.evidence_hash mismatch. You cannot change the
score without breaking the receipt — that's the difference between a log and a receipt.