---
title: "TEE attestation proof (public)"
method: GET
path: "/v1/shroud/attestation"
tags: ["Shroud"]
---

# TEE attestation proof (public)

`GET /v1/shroud/attestation`

## Request

- Base URL: `https://shroud.1claw.xyz`
- URL: `https://shroud.1claw.xyz/v1/shroud/attestation`
- Auth: none required

Public endpoint returning the TEE attestation proof for Shroud.
Returns the GCE Confidential VM identity token and image hash so
customers can verify Shroud is running inside a Confidential VM
before signing contracts. Served from shroud.1claw.xyz.

## Response `200`

Attestation proof

- ShroudAttestationResponse
  - `attested` boolean, required: Whether at least an identity token was obtained (true for identity, confidential, or sev_snp levels). Backward-compatible boolean; prefer attestation_level for granularity.
  - `attestation_level` 'none' | 'identity' | 'confidential' | 'sev_snp', required: Granularity of TEE attestation achieved. `none` = dev/non-GCE; `identity` = GCE metadata JWT only; `confidential` = CC claims present; `sev_snp` = full SEV-SNP measurement verified against image digest.
  - `image_hash` string, required: Confidential VM image hash (compare against published Docker digest)
  - `identity_token` string, required: GCE metadata identity JWT (verify against Google public keys)
  - `confidential_claims` ConfidentialClaims, nullable
    - `secboot` boolean: Whether secure boot was enabled
    - `hwmodel` string: Hardware model string (e.g. GCP_AMD_SEV)
    - `instance_confidentiality` string: Instance confidentiality level from google.compute_engine
    - `sw_name` string: Software name claim (swname or sw_name)
  - `verification` object, required
    - `steps` string[]
    - `google_certs_url` string, uri
    - `expected_audience` string

---

[API](https://skmtc.dev/1claw/apis/1claw-api.md) · [All operations](https://skmtc.dev/1claw/apis/1claw-api/llms.txt) · [OpenAPI document](https://skmtc.dev/1claw/apis/1claw-api/revisions/5fa0918f3b41?raw)
