Documentation

Docs for Fabric Verify

Fabric Verify (beta) is live. Each action your AI agent takes gets a short signed record. We add it to a public log. Anyone can check the proof with our free verifier, no account needed.

Beta

Hardware-attested model runs

Send a request to the open model we host (qwen2.5:3b). An observer in an Intel TDX trust domain of its own makes the call and returns a signed receipt. That machine runs only the model and the observer, on an OS image with no SSH, so nobody, including us, can log in to it. The receipt shows that a genuine trust domain matching our published measurements held the key that signed it. It also shows that the trust domain measured the model files before that key existed, and that this exact request and answer went to that model. Each run costs $0.05 of Fabric Verify credit, charged only on success.

# body: the exact chat request bytes, base64 (they must name qwen2.5:3b) $ curl -X POST https://api.augmentev.ai/v1/attested-execution/runs \ -H "Authorization: Bearer $FABRIC_CREDIT_KEY" -H "Content-Type: application/json" \ -d '{"task_id":"t1","run_id":"run-1","challenge":"<64 hex>","algorithm":"ML-DSA-87", "description":"what this run is for","input_b64":"<base64 request>"}' > receipt.json # check it offline with the published pins (no account needed) $ augmentev-verify attested-execution receipt.json --policy policy.json \ --expected run.json --collateral intel-collateral.json --at $(date +%s)

GET /v1/attested-execution/attestation shows the current boot's key attestation and the measured model. pins/README.txt shows how to build policy.json from our published pins. A receipt does not show which weights computed each token, anything about GPUs, or that the answer is correct. We can still deploy a different configuration to that machine, but it would change the published measurements, so receipts from it would fail your pinned policy.

Each run is also recorded in your log and sealed a few minutes later, at no extra cost. Fetch the run again with GET /v1/attested-execution/runs/{run_id}: once the x-fabric-log-status header says sealed, the receipt carries its log evidence, and the verifier also reports log inclusion. That record is signed by a key we hold (labelled hosted). pins/README.txt has the steps, including recording it with your own key instead.

New

Governance for your agents

Set a policy for your account, and the log applies it when your agents record actions. It can limit which keys may record and which kinds of action, require numbered records, and require an approval before chosen kinds of action. An approval is a record from an approver key you name. The log lets it cover one gated action, once, within the time you set. You can also halt one agent key, or your whole account, and resume it later. A refused record is not charged and not logged; the refusal is kept for your governance export. Everything here is free except the export.

# set a policy: payments need an approval from the cfo key, within 10 minutes $ curl -X PUT https://api.augmentev.ai/v1/governance/policy \ -H "Authorization: Bearer $FABRIC_CREDIT_KEY" -H "Content-Type: application/json" \ -d '{"format":"augmentev/fabric-governance-policy/v1", "approval":{"kinds":["payment"],"approver_kids":["cfo-key-1"],"max_age_secs":600}}' # record the payment, naming the approval record (its payload_sha256) $ curl -X POST https://api.augmentev.ai/v1/log/append ... \ -d '{"statement":{...},"sig_alg":"ed25519","sig":"...","public_key":"...", "governance":{"approval_record":"<payload_sha256 of the approval>"}}' # halt one agent key; resume it with /v1/governance/resume $ curl -X POST https://api.augmentev.ai/v1/governance/halt \ -H "Authorization: Bearer $FABRIC_CREDIT_KEY" -H "Content-Type: application/json" \ -d '{"scope":"agent","kid":"bot-key-1","reason_code":"review"}' # the signed governance export ($1), checked offline $ curl -X POST https://api.augmentev.ai/v1/governance/export \ -H "Authorization: Bearer $FABRIC_CREDIT_KEY" > export.json $ augmentev-verify governance-export export.json --pins fabric-log-v1.json

A refused record gets HTTP 403 with governance_refused, the rule and a reason code, for example approval_missing, approval_used or agent_halted.

Also free:

  • GET /v1/governance/policy and GET /v1/governance/state: the current policy and the halts in force.
  • GET /v1/governance/events?since=<RFC 3339 time>: a feed for your SIEM (one JSON object per line) of policy changes, halts, resumes, approvals and refusals. It is not signed; the export is the signed record.
  • GET /v1/log/tenant-head: the log's signed count of your account's records.

The export ($1, the audit-pack price) is signed by the log. It holds your policy versions, your halts, your approvals with the record that used each one, and your refusals. If your account has up to 1,000 records, it carries every proof, so the verifier can show that none is missing. It does not show that the service recorded every refusal, actions your agents never sent to the log, or that a policy or an approved action was right. The verifier also checks an account's or a key's full set of records, and bundles of linked agent events: see CLI.txt.

Proofs

What a proof shows

New to these terms? The glossary explains each one in plain language, including what they don't prove.

A proof shows a record was in the log, unchanged, by a certain time. It does not show the record's content is true. Records hold a fingerprint (hash) of the data, never the data.

Check it yourself

# offline, no account needed $ augmentev-verify log-proof proof.json --pins fabric-log-v1.json

Download the verifier and our public keys at augmentev.com/verify. The security page explains the limits.

For machines & auditors

Machine-readable files

Ready to start?

Try the public verifier. To send records, buy credit: your key appears right after payment.

Get started Contact us