Why verification matters
Confidential AI verification answers two questions:- Who served my request? The gateway attestation report proves the API was served by a specific workload running in a genuine TEE.
- What happened to my request? The signed receipt binds your request and response hashes to that attested workload and records whether the upstream model provider was verified.
Verification workflow
1
Fetch gateway attestation
Generate a fresh nonce and call
GET /v1/aci/attestation. Verify the TEE quote, keyset endorsement, freshness, and source provenance.2
Make an inference request
Call an OpenAI-compatible endpoint such as
POST /v1/chat/completions and capture the x-receipt-id header.3
Fetch the signed receipt
Call
GET /v1/aci/receipts/{id}. Confirm the receipt’s workload_id and workload_keyset_digest match the attestation report.4
Verify hashes and upstream status
Check request and response hashes, verify the receipt signature against the attested keyset, and read
upstream.verified.What a passing verification proves
- The gateway is a genuine TEE workload with a known identity.
- The receipt was signed by a key published in the attested gateway keyset.
- The response bytes you received match the response hash in the receipt.
- For a confidential response, the upstream provider was verified and the request channel was bound before forwarding.
Canonical and legacy endpoints
Use the canonical
/v1/aci/* endpoints for new integrations.
Verify Attestation
Understand the attestation report, nonce binding, gateway keyset, and source provenance.
Verify a Response
Verify a signed receipt, response hashes, and confidential upstream status.

