Steps1234567
Step 1 of 7

Guided demo

AI acts. Keep the receipt.

Seven steps through the whole stack, in the order the evidence is made: an operator routes a call, Seal signs the record, a reviewer answers a fixed question, and you check the result on your own device. Every address bar below is a real surface, and every one of them opens right now with no account.

1Operator · ships the AI

Route one call through the gateway

Integration is a base URL swap. The gateway applies policy in the request path, before the call runs, then signs the decision that resulted. A blocked call is signed without ever reaching the provider. No SDK rewrite, no new vocabulary for the engineering team.

api.aqta.ai/v1/chat/completionsOpen live
client = OpenAI(
base_url="https://api.aqta.ai/v1",
api_key="aqta_...",
)
# every response now carries a signed receipt id

2Operator · ships the AI

Every decision leaves a signed receipt

Twelve fields, signed with Ed25519 at issuance. The receipt holds a hash of the request, never the prompt text, so the record cannot leak what it never keeps. ALLOWED, BLOCKED and SUPPRESSED outcomes are all signed.

app.aqta.ai/receipts/sampleOpen live
a1e84c02…1001SampleALLOWED
modelclaude-sonnet-4-6
policy_appliedaffordability_check_v2, budget_guard
request_hashf12e7eea6da842…f45e9a
signaturefA_RZCWVD-sM2aUcRX…YpSDh5DA
b2f95d13…1002SampleALLOWED
modelgpt-4o-mini
policy_appliedcredit_decision_policy_v3
request_hash1bdab23b647e63…80f157
signature255jXYTu4g4U2CVTDB…syQLhZDw
c3a06e24…1003SampleBLOCKED
modelgpt-4o
policy_appliedcredit_decision_policy_v3, pii_scan
request_hash593eeb8e00b972…9ab05a
signatureMurQuEHF_dcR___pQD…oPRGSWCQ

These three are sample-workspace receipts, signed with a labelled sample key. Production tenants see their own traffic here.

3Operator · ships the AI

Receipts land in a public register

Every receipt is entered in an append-only register under one signed head, the same construction that guards the web's certificate system. Remove or reorder an entry and the head stops matching. A missing entry is shown as missing, never as a pass.

app.aqta.ai/register/sampleOpen live
Signed tree headSample
tree_size4
entries4 / 4 receipts included
inclusionproof verified per leaf hash
head_signatureEd25519, published key

One honest limit, stated where it matters: a signature proves what was recorded, never that everything was. Seal cannot distinguish no event from an unobserved bypass, and the register says so instead of averaging it away.

4Reviewer · checks it independently

A docket puts one fixed question

When a decision is challenged, the operator does not hand over a dashboard. A docket fixes one question before the evidence is opened, so it cannot be adjusted to fit the answer, and attaches the signed receipts.

app.aqta.ai/review-packs/sampleOpen live
The fixed questionSample

“Did each of these decisions clear under the policy in force when it ran?”

question_hash · sha256, bound into what the reviewer signs

The reviewer needs no Aqta account. Their browser verifies every signature locally before they are asked to decide anything.

5Reviewer · checks it independently

A verdict, signed from a wallet

The reviewer records one of three verdicts. The signature binds the receipt hashes, the question hash, the decision and the timestamp, and is made by disclosing a wallet credential Aqta did not issue. Not enough to answer is a first-class outcome: early reviews should find real gaps.

review.aqta.aiOpen live

Picture the reviewer: a privacy lawyer, asked months later whether a decision cleared under the policy in force. They open the docket link, their browser verifies every signature, and only then do these three buttons exist for them:

AcceptedDeclinedNot enough to answer it

Three parties, three signatures: Seal signs the receipt, the wallet issuer signs the reviewer’s credential, the reviewer signs the verdict. No single party controls the complete evidence path. The receipt signing is production; this review flow is a prototype, and the page says so.

6You · in this browser

Break the seal

This is a live production receipt and a real signature check running in your browser. Nothing is posted to Aqta. Change one field and the signature dies; restore it and the record stands again.

app.aqta.ai/verifyOpen live
LIVE PRODUCTION RECEIPT · ATTESTATION-v1
outcomeALLOWED
modelclaude-sonnet-4-6
request_hash577f7a94d8985770f5e5…81586cf9
timestamp2026-08-13T01:27:11.840747+00:00
public_key9Y3Eiq6V8QjR…FdvWa4
signature65rPtNi4jeNe7D4ahoS5…TFeXmWBg

Signature verified against the published key, in this browser.

7You · on your own machine

Take it off our infrastructure

The verifier is open source on PyPI and npm, and the public key is published. The check works with Seal switched off, which is the point: the receipt stands on its own. And the records worth keeping live in public: the Refusal Ledger holds real production refusals, verifiable the same way.

terminal · your machine
# fetch the published key once
$ curl -sL https://app.aqta.ai/security/pubkey.txt > aqta.pub
# verify any receipt; the check itself makes no network call
$ npx aqta-verify-receipt receipt.json --key "$(cat aqta.pub)"
# or verify inside Claude Code: add the read-only connector, then ask it
$ claude mcp add --transport http seal https://app.aqta.ai/api/mcp

Verified

Signature valid against the published Seal key.

No accountNo API call in the checkNo Aqta server required

If Seal disappeared tomorrow, this receipt would still verify. Evidence that depends on its issuer staying online is not evidence; the exit code of that command is the whole contract.

What this guided demo skips

  • Sample receipts here are signed with a labelled sample key; production traffic is signed with the production key, whose rotation history is published.
  • A signature establishes that the signed record has not changed. It does not establish that the record matches the computation that actually ran, or that every decision was recorded.
  • Production tenants and their data sit behind access control and are not part of this public surface.

Now taking pilots: how a pilot works.