Skip to main content

Security Model

The RickyData platform runs on AMD SEV-SNP Confidential VMs with 10 defense-in-depth layers. Every security claim is independently verifiable — you never need to trust the gateway itself.

Live verification: rickydata.org/security — interactive page that calls real gateway endpoints and shows raw proof payloads.

Defense-in-depth layers

LayerTechnologyWhat it protects
1. HardwareAMD SEV-SNPMemory encryption — hypervisor cannot read VM RAM
2. Code identitySHA-256 hash pinningProves exactly which code version is running
3. Build provenanceSigned CI/CD metadataLinks deployed image to specific GitHub commit
4. SecretsvTPM PCR-bound keysPlatform secrets sealed to hardware
5. Wallet isolationAES-256-GCM + HKDFEach user's secrets encrypted with wallet-derived keys
6. AuthenticationWallet tokens + ES256Cryptographic proof of wallet ownership
7. SandboxRust sandboxd + Docker + gVisorMCP servers run in isolated per-session containers
8. Paymentsx402 conditional settlementCharge only on success, EIP-712 signed
9. Output protectionSecret redactionSecrets never appear in logs or responses
10. Release guardAttestation-gatedSecrets blocked if attestation is degraded

Trust chain layers

Both gateways run inside AMD SEV-SNP Confidential VMs on Google Cloud:

  • All VM memory is encrypted — the cloud hypervisor cannot read it
  • Memory tampering is detected by the CPU
  • Attestation reports are signed by a key burned into the AMD chip at the factory
# Verify AMD attestation
curl -s https://mcp.rickydata.org/api/attestation/report > report.json
curl -s https://kdsintf.amd.com/vlek/v1/Milan/cert_chain -o amd_chain.pem
jq -r '.certificates.vcek' report.json > vcek.pem
openssl verify -CAfile amd_chain.pem vcek.pem
# Expected: vcek.pem: OK

Trust chain visualization

AMD Factory (Root of Trust)
|
v
VCEK Certificate (burned into CPU chip)
|
v
AMD SEV-SNP Attestation Report
| (signs REPORT_DATA containing code hash + JWKS key hash)
v
Gateway Code Hash (SHA-256 over dist/**/*.js)
| - matches PUBLISHED_CODE_HASH from CI/CD
| - embedded in every execution proof
v
Build Provenance (GitHub Actions + attestation bundle)
v
Rust Trust Plane (sandboxd + trust-plane helper hashes)
| - sandbox lifecycle, secret-release posture, proof canonicalization
v
vTPM PCR-Bound Secrets (sha256:0,1,2,3,4,5,7)
| handle 0x81000099, only this TEE can unseal
v
Per-Wallet Encrypted Vault (AES-256-GCM + HKDF)
v
Execution Proof Signatures (Ed25519 / HMAC-SHA256)
v
Verified Tool Call Result

Quick verification commands

# Full TEE status
curl -s https://mcp.rickydata.org/api/attestation | jq '{teeEnabled, platform}'

# Agent Gateway security posture
curl -s https://agents.rickydata.org/health | jq '.securityPosture'

# Cross-gateway trust
curl -s https://mcp.rickydata.org/health | jq '.crossGatewayTrust'

# Build provenance + trust-plane helper hashes
curl -s https://mcp.rickydata.org/api/attestation/provenance | \
jq '{source, image, securityKernel, trustPlane}'

# Offline verification
curl -s https://mcp.rickydata.org/api/attestation/bundle | \
jq -r '.offlineVerification.script' > verify.sh && bash verify.sh

Next steps