For the complete documentation index, see llms.txt. This page is also available as Markdown.

secretvm-verify SDK

Our open-source attestation verification SDK for SecretVM and any confidential workload that exposes Intel TDX, AMD SEV-SNP, or NVIDIA GPU attestation evidence.

Available as a Node.js package and a Python package; both share the same verification semantics and on-disk cache format.


What it does

Given a SecretVM (or any TEE-backed VM) endpoint, the SDK performs a complete chain of verification from the silicon up to the running workload:

  1. CPU attestation β€” Verifies an Intel TDX quote or AMD SEV-SNP report against the manufacturer's root of trust (Intel SGX Root CA / AMD ARK), checks the certificate chain, the quote signature, TCB status, CRLs, and platform policy bits (e.g. debug_disabled).

  2. GPU attestation β€” Verifies NVIDIA GPU attestation evidence through NVIDIA's Remote Attestation Service (NRAS) and ties each GPU's nonce to the CPU quote.

  3. TLS binding β€” Confirms the CPU quote's report_data carries the SHA-256 fingerprint of the VM's TLS certificate, proving the quote was generated by the same machine serving that certificate.

  4. Workload binding β€” Replays the launch measurement (RTMR3 on TDX; GCTX launch digest on SEV-SNP) from the VM's running docker-compose.yaml and compares it to the value in the quote, proving that the attested image is in fact running that compose file.

  5. SecretVM identity β€” Looks up MRTD + RTMR0/1/2 (TDX) or family_id + image_id (SEV-SNP) in a registry of official SecretVM builds to identify which template and version produced the quote.

  6. Proof-of-cloud (optional) β€” POSTs the quote to SCRT Labs' attestation parser to obtain a second independent verdict that the quote originated on a SecretVM.

  7. On-chain agent resolution (optional) β€” Resolves an ERC-8004 agent registered on Ethereum, Base, Arbitrum, Polygon, or 14 other chains, fetches its declared TEE attestation endpoints, and runs all of the above.

If any link in the chain fails, the SDK surfaces a structured result with per-check booleans and human-readable error messages.


In this section

  • When to use it

  • Installation

  • Quick start

  • Verification checks

  • How verification works

  • Configuration

  • Trust model

  • CLI reference

  • Programmatic API

  • Troubleshooting

Last updated

Was this helpful?