Developers · AAES Govern · CLI

Audit offline.
Plan locally.

aaesctl is the AAES Govern operator CLI, with an offline path for auditors. aaescp is a separate, local control-plane CLI. AAES runs on your infrastructure.

This page describes AAES Govern’s controls. AAES Operate has private-work permissions, operational reviews and recorded-spend limits; it does not include Govern. About AAES Govern

Follow the offline-verification walkthrough. Use the public synthetic sample and its specified edit alongside the commands below.

Verify a retained export offline

Recording transcript: Verify a retained export offline

00:00:00 — You can check a retained AAES export without contacting an AAES service. This demonstration uses the public synthetic sample pack and the public aaesverify version zero point two point zero binary. It is a separate sample, not an export of the invoice workflow shown in the other videos.

00:00:21 — Run the verifier with the sample export and its demonstration public key. The command executes locally. The untouched sample returns PASS. Review the individual checks in the output; this is an integrity result against the supplied key, not an assurance verdict.

00:00:40 — Now verify a copy in which one byte of the first record-hash commitment has been changed. The same verifier returns FAIL. The chain and Merkle-root checks identify the integrity mismatch. The original sample remains unchanged.

00:00:57 — For your own records, authenticate the public key through a separately trusted channel and retain it with the export. Verification does not prove event truth, complete capture, or the origin of a key supplied alongside the file. The public verifier checks the export; detailed stored-record fields require their separate binding check.

00:01:20 — AAES. Autonomy. With Accountability. Visit us at aaes.ai.

How to get the CLIs

Request an evaluation. We send a package with aaesctl andaaescp, plus release-verification public keys and setup instructions. Supported platform packages are supplied by request under their software license or written evaluation authorization. The separate Apache-2.0 aaesverify release is available on the verification page. Any supplied test credentials or keypairs are identified as synthetic and must not be used for production; deployment signing keys are generated under your control (aaesctl keygen). A deployment bundle includes the same operator tools. Remaining setup notes ship with the package.

Start with the audit export

The public Apache-2.0 aaesverify v0.2.0 source and release binaries verify current aaes.export/v2 exports, including the public sample.

Verify

Verify the export against its public key, using trust material you hold or authenticate separately. A key supplied only alongside an export does not establish provenance by itself. Verification checks the exported sealed bytes, signatures, and chain links; it does not prove the truth of recorded claims, completeness of capture, policy correctness, enforcement effectiveness, or regulatory compliance.

aaesverify --export <export.jsonl> --pubkey <key.pub>

This checks record integrity. To require independent attestation, supply separately obtained witness keys or timestamp trust roots and add --require-independent. Neither an external witness nor a timestamp authority is connected in the default deployment.

aaesverify --export <export.jsonl> --pubkey <key.pub> \
  --witness-trust <trusted-witnesses.json> --require-independent

The witness-trust file maps trusted witness IDs to their public keys obtained separately from the export. With --require-independent, verification additionally requires supported witness or timestamp evidence validated against that separately obtained trust material. The evidence concerns the signed head within the witness or timestamp service's scope; it does not independently verify the underlying actions.

For an export made before its first anchor interval, the current verifier accepts a signed head.pre_anchor commitment. An older or rotated-key export with only an unsigned header flag requires a deliberate --allow-pre-anchor opt-in. That option accepts the stated absence of anchors; it does not add independent attestation.

The following proof and inspection commands belong to the separately licensed aaesctl operator CLI.

Bind the stored records to the export

The public aaesverify CLI checks the export's hashes, signatures, and the fields included in the export. The evidence pack also contains a companion file (aaes.records/v1) with the stored authorization, scope, and approver fields. To check that these records match the hashes in the export, use the separately licensed operator tool:

aaesctl evidence verify --pack <pack-directory> --pubkey <key.pub>

This checks that each companion record matches its record_hash, as well as verifying the export. It does not prove that an event happened or that an approval was correct.

Prove

Produce the verifier's proof material for sequence 42 in this export. The output concerns the record's cryptographic relationship to the exported structure; it is not proof that the recorded action occurred, succeeded, or complied with law. Verify the resulting proof against the appropriate authenticated trust material using the release's documented procedure.

aaesctl prove --export <export.jsonl> --seq 42

Inspect

Inspect the export offline.

aaesctl inspect --export <export.jsonl>

Replace <export.jsonl> and <key.pub>with the files from your evaluation install.

Operator command groups

Use aaesctl for operator workflows. The table is a command index, not a set of complete invocations. A pipe separates available subcommands.

aaesctl command surface
GroupCommands
Capabilities, resources, and bundlesaaesctl capability add | list
aaesctl resource add | list
aaesctl bundle sign | verify | show
Identityaaesctl identity import | review | show
Grantsaaesctl grant request | approve | review | list | revoke
Freezeaaesctl freeze engage | lift | status
Secretsaaesctl secret put | list | keygen
Provisioning and surfacesaaesctl provision plan | apply | revoke | inspect | list | show
aaesctl surface add | list | show | plan | apply | revoke | inspect | budget
Retentionaaesctl retention plan | apply
Simulationaaesctl simulate
Lifecycleaaesctl lifecycle onboard | offboard
Coverage and reportingaaesctl coverage
aaesctl report
Demosaaesctl demo
aaesctl demo-platform
Packs, imports, and inventoryaaesctl pack list | show | install
aaesctl import openapi | kong | mcp
aaesctl inventory aws | azure | gcp | okta | entra
Evidence packs and mappingsaaesctl evidence pack | verify | map | correlate
Utilities and storageaaesctl keygen
aaesctl version
aaesctl store migrate

Coverage is an AAES-defined accounting measure over the configured and captured population described by the report. It is not a measure of all enterprise agent activity, proof that bypasses are absent, or an assessment of control effectiveness or compliance. Reports state their population, the denominator each percentage is computed over, the exclusions, and the observation or enforcement rules.

Inventory and adapter checks in an evaluation use local or synthetic vendor-format sources. A live vendor tenant is a design partnership.

aaescp: a local planner

aaescp never calls a cluster or the network. Its tenant commands and planning operate locally with a registry file. An aaescp plan is a local planning result.

Inspect the local tenant registry

aaescp tenant list --registry <registry.json>

The tenant command group supports add, list,show, activate, suspend, andoffboard, with --registry <registry.json>.

Plan for a tenant

aaescp plan --registry <registry.json> --tenant acme

Here, --tenant acme selects a tenant for local planning. This is distinct from daemon API authentication, where the caller's bearer credential resolves the tenant.

Multi-call binary

Both CLIs are also available through aaes. Put the CLI name before its command.

aaes aaesctl inspect --export <export.jsonl>
aaes aaescp plan --registry <registry.json> --tenant acme

Integrating an agent?

Use the daemon API,MCP facade, orSDKs for agent integration. Remaining integration notes ship with the evaluation package.

Request an evaluation, return to the developer overview, or contact hello@aaes.ai.