AI Bill of Materials
Export a complete, machine-readable manifest of every dependency an AI agent relies on — models, prompts, training data, tools, services, datasets, and the policy controls applied to it — in industry-standard CycloneDX or SPDX format.
This is the artifact regulators are starting to require. Rivaro generates it on demand from the data the platform already has.
Where to find it in the app
Dashboard → Agent Registry → click an agent → ⋮ Actions menu → Export AIBOM.
You'll be prompted to pick a format:
- CycloneDX (JSON, OWASP CycloneDX 1.5+ with AI/ML extensions)
- SPDX 3.0 (JSON, SPDX 3.0 with the AI profile)
The file downloads immediately as aibom-<agent-name>.cdx.json or aibom-<agent-name>.spdx.json.
Other related exports live on the same ⋮ menu: Export Agent on a Page (single-page agent summary), Export DID (W3C DID document).
Fleet-wide export across every registered agent is available through the API — useful if you run it nightly into an SBOM tooling pipeline.
Why AI BOM matters
The AI BOM is to AI systems what SBOM (Software Bill of Materials) is to traditional software: a structured manifest of every component, dataset, and dependency the system uses. Regulators and customers increasingly require it for:
- EU AI Act — high-risk system technical documentation (Annex IV)
- NIST AI RMF — transparency and traceability (GOVERN, MAP)
- ISO 42001 — Annex B documentation requirements
- US Executive Order 14110 — model card and BOM requirements for critical systems
- Customer due diligence — Fortune 500 procurement and vendor risk teams asking "what's in your agent?"
Without an AI BOM you're hand-assembling spreadsheets every audit. With Rivaro you click a button.
What's in a Rivaro AI BOM
Each AI BOM is per-agent and includes:
| Component class | Details |
|---|---|
| Models | All models the agent has used (GPT-4, Claude 3.5, etc.) — provider, version, last-observed timestamp |
| Prompts | System prompts the agent has run with — fingerprinted, version-tracked, usage-counted |
| Tools | External APIs, MCP tools, and services the agent has called — endpoints, ownership, last-used timestamp |
| Data sources | Vector stores, databases, document repositories the agent has read from |
| Training data | If governed by a training-data connector, the connector source and policies |
| Dependencies | Shadow dependencies discovered via agent dependency tracking |
| Identity & ownership | Agent identity, identity strength, owner, business unit, environment |
| Policy controls | Policy templates, custom rules, output checks, and notification channels applied to this agent |
| Governance metadata | Trust score, violation history, governance status, last review date |
| Compliance lineage | Which compliance frameworks have detection coverage on this agent's traffic |
All of this data is already in Rivaro because the agent runs through the proxy. The export simply serializes it into the standard format.
Supported formats
| Format | Spec | Best for |
|---|---|---|
| CycloneDX | OWASP CycloneDX 1.5+ with AI/ML extensions | SBOM tooling pipelines, OWASP Dependency-Track, vendor risk platforms |
| SPDX | SPDX 3.0 with the AI profile | Linux Foundation tooling, license compliance workflows |
Both formats include the full Rivaro-specific BOM data; the difference is the serialization shape and the field naming conventions. Pick the one your downstream tooling supports.
Example: CycloneDX output (truncated)
The export produces a JSON document like this:
{
"bomFormat": "CycloneDX",
"specVersion": "1.5",
"serialNumber": "urn:uuid:...",
"version": 1,
"metadata": {
"timestamp": "2026-05-23T18:00:00Z",
"component": {
"type": "machine-learning-model",
"bom-ref": "agent:ag_a1b2c3d4...",
"name": "billing-agent",
"description": "Processes customer refunds and invoices",
"properties": [
{ "name": "rivaro:agent.environment", "value": "PRODUCTION" },
{ "name": "rivaro:agent.owner", "value": "[email protected]" },
{ "name": "rivaro:agent.trust_score", "value": "78" },
{ "name": "rivaro:agent.identity_strength", "value": "VERIFIED" }
]
}
},
"components": [
{
"type": "machine-learning-model",
"name": "gpt-4-turbo",
"version": "2024-04-09",
"supplier": { "name": "OpenAI" }
},
{
"type": "service",
"name": "stripe-payments",
"description": "Stripe MCP gateway"
}
],
"dependencies": [ ... ]
}
CycloneDX BOMs validate against the official 1.5 schema and are accepted by every major SBOM/AIBOM tooling vendor that supports the AI/ML extensions.
Using AI BOMs in practice
Vendor due diligence
When a customer asks "what's in your agent?" — generate the CycloneDX, sign it (most BOM tools support SHA-256 + GPG/cosign), and attach it to your security questionnaire. Re-export quarterly so the BOM reflects current state.
Pre-deployment review
Before promoting an agent to production, export its AI BOM and diff against the previously-approved version. Any new dependency (new model, new tool, new data source) requires a security review. This is much cheaper than catching the change in production.
Compliance attestation
For ISO 42001, EU AI Act, or NIST AI RMF audits, generate the BOM for every governed agent and bundle them into your evidence package. Pair with the ISO 42001 Evidence Package for a complete attestation packet.
Continuous monitoring
Most SBOM/AIBOM tools (Dependency-Track, OWASP DT-AI, etc.) accept periodic uploads and alert on new dependencies, deprecated models, or security advisories. Use the fleet-wide export API to push the latest BOM into your tooling on a nightly job.
Related exports
The agent ⋮ menu has two other per-agent compliance exports useful alongside AI BOM:
- Agent on a Page — single-page agent summary (PDF or JSON) intended for share-out to auditors or stakeholders
- DID document — W3C Decentralized Identifier document for the agent; see Agent DID
Next steps
- Agent Management — Where AI BOM dependencies come from
- Agent DID — The agent identity component referenced in the BOM
- Compliance Reporting — Pair AI BOM with framework evidence packages
- Document Toolkit — Conformance receipts can be attached to BOM entries