This checklist covers the essential requirements for deploying Atlas in production environments.
Proxy security
All proxy security items are critical for preventing attacks and must be implemented before production deployment.
Policy configuration
Production deployments must use strict TCB status requirements and full runtime verification. Never use development policies in production.
TCB status requirements
TCB status values
| Status | Production use | Notes |
|---|
UpToDate | ✅ Always use | Platform is fully patched |
SWHardeningNeeded | ⚠️ Use with caution | Verify software implements required mitigations |
ConfigurationNeeded | ⚠️ Use with caution | Verify threat model tolerates configuration risk |
OutOfDate | ⚠️ Use with grace period | Only if combined with grace_period for patch cycles |
Revoked | ❌ Never use | Processor or signing keys are compromised |
See the Intel DCAP Appraisal Engine Developer Guide for more details.
Runtime verification
Example production policy
use atlas_rs::{Policy, DstackTdxPolicy, ExpectedBootchain};
use serde_json::json;
let policy = Policy::DstackTdx(DstackTdxPolicy {
expected_bootchain: Some(ExpectedBootchain {
mrtd: "b24d3b24e9e3c16012376b52362ca09856c4adecb709d5fac33addf1c47e193da075b125b6c364115771390a5461e217".into(),
rtmr0: "24c15e08c07aa01c531cbd7e8ba28f8cb62e78f6171bf6a8e0800714a65dd5efd3a06bf0cf5433c02bbfac839434b418".into(),
rtmr1: "6e1afb7464ed0b941e8f5bf5b725cf1df9425e8105e3348dca52502f27c453f3018a28b90749cf05199d5a17820101a7".into(),
rtmr2: "89e73cedf48f976ffebe8ac1129790ff59a0f52d54d969cb73455b1a79793f1dc16edc3b1fccc0fd65ea5905774bbd57".into(),
}),
os_image_hash: Some("86b181377635db21c415f9ece8cc8505f7d4936ad3be7043969005a8c4690c1a".into()),
app_compose: Some(json!({
"runner": "docker-compose",
"docker_compose_file": "version: '3'\nservices:\n vllm:\n image: vllm/vllm-openai:latest\n ..."
})),
allowed_tcb_status: vec!["UpToDate".into()],
grace_period: Some(30 * 24 * 60 * 60), // 30 days
..Default::default()
});
Computing bootchain measurements
Bootchain measurements depend on your hardware configuration (CPU count, memory, GPUs, etc.). You must compute measurements for your specific deployment.
Measurements vary based on:
- CPU count
- Memory size
- PCI hole size
- Number of GPUs
- Number of NVSwitches
- Hotplug configuration
- QEMU version
See the Dstack documentation for instructions on computing bootchain measurements using the dstack-mr tool.
Deployment architecture
Recommended setup
┌──────────────┐ HTTPS ┌──────────────┐ WSS ┌──────────────┐
│ Browser │ ──────────────► │ Reverse │ ─────────► │ Atlas │
│ │ │ Proxy │ │ Proxy │
└──────────────┘ │ (nginx/ │ │ │
│ caddy) │ └──────┬───────┘
└──────────────┘ │ TCP
│
┌───────▼────────┐
│ TEE Server │
│ │
└────────────────┘
Infrastructure checklist
Operational security
Secret management
Never commit secrets to version control. Use environment variables or secret management systems.
Incident response
Testing
See also