Fetch with a Fresh Challenge
Structural Checks
- Status
200andobjectequal toattestation. attestation_availableistrueandevidenceis non-empty.nonceequals the challenge you sent.proof_format,signing_algo, andmodel_public_keyare present.
Cryptographic Checks
Run these against the rawevidence bytes. They are what gives assurance. Today’s backends run Intel TDX with NVIDIA GPUs, and proof_format names the exact layout.
- The Intel TDX quote. Validate it with Intel’s DCAP quote-verification library: certificate chain, collateral, revocation and TCB status, measurements. Confirm your challenge appears in the quote’s
report_data. - The NVIDIA GPU evidence, where present. Validate it with the NVIDIA Remote Attestation Service (NRAS) at
https://nras.attestation.nvidia.com/v3/attest/gpu. - The bindings. Confirm the model identity, the signing key, and, where the backend commits to it, the model public key in the evidence match the top-level fields and the model you asked for.
verified is always false, and the signing fields are as observed from the backend. They exist so a client can build an encryption context.
The Broker Boundary
Verification needs a platform-specific quote library and a measurement policy only the caller can own. Keeping it on the client removes a party you would otherwise have to trust and keeps the evidence unaltered between the backend and you.Response Signatures
After verifying attestation, an Encrypted API client can request Response Evidence on supported nonstreaming calls. The returned original body bytes and signature proof let your client check whether the response is bound to the verified signing identity. Nito leavesverified as false; this requires a separate client-side signature check.

