concepts

The trust model explained.

the problem

How do you know the server is running the code you expect?

the solution

Hardware attestation + GitHub as trust anchor.

what is TDX

Intel Trust Domain Extensions. Creates isolated VMs with:

the TDX quote

When a TD requests attestation, the CPU generates a quote:

┌─────────────────────────────────────┐
│           TDX QUOTE                 │
├─────────────────────────────────────┤
│ RTMR0: firmware measurement         │
│ RTMR1: kernel measurement           │
│ RTMR2: application measurement      │
│ RTMR3: runtime data                 │
├─────────────────────────────────────┤
│ Report Data: custom payload         │
├─────────────────────────────────────┤
│ Signature: Intel CPU attestation    │
└─────────────────────────────────────┘

Signed by the CPU itself. Verifiable via Intel DCAP.

github as trust anchor

Your Repo                    TDX Host
    │                            │
    │ docker-compose ───────────>│
    │                            │ deploy
    │                            │ generate quote
    │                            │
    │<────── attestation.json ───│
    │  (published as release)    │
    │                            │
    ▼                            │
 Client SDK                      │
    │ fetch release              │
    │ verify quote               │
    │ connect ──────────────────>│

Why GitHub?

what you trust

what you don’t trust

sealed vs unsealed

Sealed (production)

Unsealed (development)

verification flow

When you call connect("owner/repo"):

  1. Fetch latest release from GitHub
  2. Extract TDX quote
  3. Verify signature via Intel DCAP
  4. Validate RTMR measurements
  5. Check sealed flag
  6. Return verified client
from easyenclave import connect, VerificationError

try:
    client = connect("owner/repo")
except VerificationError as e:
    print(f"attestation failed: {e}")

next