Supply a fresh value
Generate a fresh, unpredictable value from a cryptographically secure source, at least 32 bytes, and never reuse one. Replay protection is caller-driven, so this is what makes the freshness gates meaningful. See the report-data binding.
Fetch the attestation
Request the attestation backing a Confidential call, passing the value from step 1. What comes back is a signed statement plus the raw hardware evidence.
Run the independent checks
Do not take a
verified flag at face value. Re-check these in your own code:- The response arrived cleanly and is the attestation you asked for.
- A model is named and the result reports the Confidential level as available.
- The echoed value matches the one you sent. If it does not, stop: the proof is not bound to your request.
- The raw evidence is present and non-empty.
- The proof metadata is present: a proof-format label, a signing algorithm, and the model public key.
- The baseline verification passed.
Complete the hardware verification
Steps 1 through 3 give you a baseline-verified result. For full assurance, verify the raw hardware evidence yourself: validate the hardware quote and any accelerator evidence it contains, walk the certificate chains up to the vendor certificates, and check them against current revocation and trust policy. See the scope limit on the seven-gate baseline.
Related Resources
The Seven-Gate Baseline
What the baseline covers, and what it does not.
Report-Data Binding
Why step 1 comes first.
Per-Provider Attestation
Why evidence can differ by backend.

