Skip to main content

Export workload compliance evidence

Tasks

Export one workload's compliance evidence as a JSON file for an audit. The file holds the workload's governance scorecard and the evidence behind it, and maps each item to EU AI Act and OWASP Top 10 for Agentic Applications controls.

Self-managed installations only

Workload Trust is available only in private, self-managed AIControls installations, on premises or in a cloud cluster that you run. It needs a dedicated cluster that you run, with Kyverno, Kyverno Runtime, and cluster OIDC and RBAC access in place. Nirmata-hosted (SaaS) workspaces don't include it. See Feature availability.

Before you begin​

  • Your AIControls control plane runs on self-hosted Kubernetes with Workload Protection running. The workload belongs to the cluster AIControls runs in; a workload in another cluster has no evidence to export.
  • You're signed in as an administrator or a viewer. Developer tokens can't export evidence.

Export the evidence​

  1. Open Inventory → Workloads and select a workload, then select Open full details.

  2. Open the Posture tab. The Governance scorecard card shows the four conditions and the evidence behind each one.

  3. Select Export evidence. Your browser downloads a file named compliance-evidence-<namespace>-<kind>-<name>-<time>.json.

You can also call the API directly with an admin or viewer token:

curl -H "Authorization: Bearer $TOKEN" \
"https://<your-aicontrols-host>/api/v1/workload-trust/<namespace>/<kind>/<name>/compliance-evidence" \
-o evidence.json

Read the file​

The file is one JSON document:

FieldWhat it holds
schemaaicontrols.nirmata.io/governance-evidence/v1.
generatedAtWhen AIControls built the file.
workloadThe cluster, namespace, kind, and name.
disclaimerThe file is evidence for review, not a certification.
scorecardThe four governance conditions, each with its state, reason, and evidence.
itemsOne item per piece of evidence: the four conditions, the deployment risk band with its rule and reasons, the Pod Security level and its failing checks, the RBAC privilege, the intent mismatch, and the Kyverno results for each policy category. Each item has a state, a summary, bounded details, the sources it cites, observedAt, and the controls it maps to. When no source reported an observation time, observedAt is the export's generatedAt and observedAtIsGeneratedAt is true.
frameworksFor the EU AI Act and the OWASP Top 10 for Agentic Applications, each control and the items that are evidence for it.
truncatedtrue when a size bound dropped details or categories.

An item whose state is not-evaluated means its source didn't answer. It is not evidence of compliance. The file has no score, and exporting it changes nothing in AIControls.

The file is bounded: each item keeps at most 16 details of at most 512 characters each, and the Kyverno posture keeps at most 24 categories.

How items map to controls​

ItemEU AI ActOWASP Top 10 for Agentic Applications
Traffic goes through the proxyArt. 13, Art. 14ASI02, ASI10
Protocols are restrictedArt. 15ASI02, ASI07
File access and execution are controlledArt. 15ASI05
Credentials are securedArt. 15ASI03
Deployment risk bandArt. 9—
Pod Security levelArt. 15ASI05
RBAC privilegeArt. 15ASI03
Intent mismatchArt. 9ASI03
Kyverno postureArt. 9, Art. 15—

See also​