Skip to main content
Private AI verification connects the gateway’s hardware evidence to the exact request and response bytes. The attestation report identifies the Phala gateway. The response receipt cites a verified upstream session, whose evidence coverage varies by provider. Every model on https://inference.phala.com/v1 uses the TEE-only serving policy: upstream verification and channel binding are required before forwarding. A failed check refuses the request. Ordinary clients still need a verification client to check this from their own machine.

Start with a verification client

  • For Node.js or Bun, use the TypeScript ACI verifier: connectAci(), the scoped aci.fetch, and verifyReceipt() after each response.
  • For coding agents, use Private AI Proxy: attestation and pinned TLS before traffic, receipt audits after delivery.
  • Use Verify a Response to understand the checks and inspect existing artifacts. cURL and jq inspection alone does not verify them.

Verification workflow

1

Verify the gateway before traffic

Generate a fresh nonce, verify the TDX quote and JCS keyset digest, check not_after, replay RTMR3 and the measured compose hash, and apply your release policy. Source labels alone are not a trust root.
2

Pin the request channel

Use hostname-validated TLS pinned to the SPKI listed for inference.phala.com in the verified keyset.
3

Verify the receipt

Match workload_keyset_digest, verify the receipt signature under its key_id, and compare request.received.body_hash and response.returned.body_hash with the exact bytes exchanged.
4

Audit the cited upstream session

Require upstream.verified.result: verified and required: true. Recompute the full session’s content address and verify its evidence, channel binding, and claims under your policy.
A passing audit proves the exchange used the attested gateway and cited upstream channel. It proves a reviewed release only with an independently obtained compose allowlist. It does not imply that every provider proves GPU binding, model-weight provenance, or the same software measurements.

Canonical and legacy endpoints

Use the canonical /v1/aci/* endpoints for new integrations.

Attestation

Verify a Response

TypeScript ACI Verifier

Private AI Proxy