Verify Your Connection Is 100% Private in Under 3 Minutes
Your TEE connection is end-to-end encrypted. Here’s how to prove it yourself with simple commands that anyone can run. This guide covers network privacy verification. For application code verification, check your app’s attestation docs. For security concepts, see Network Security Architecture.Choose Your Verification Path
Domain Type | Verification Time | Trust Model |
---|---|---|
Phala Cloud (*.phala.network ) | 30 seconds | Trust Phala’s TEE infrastructure |
Custom Domain | 3 minutes | Zero-trust cryptographic proof |
Phala Cloud Domains - 30 Second Verification
Phala Cloud domains use TEE-protected gateways. Run these three commands to verify your security.Step 1: Check Certificate Authority
Step 2: Verify Domain Protection
1
or higher. Zero means CAA protection is missing.
Step 3: Confirm Your Certificate
issuer=CN=R3, O=Let's Encrypt, C=US
or similar Let’s Encrypt issuer.
What you’re trusting: Phala’s gateway TEEs are genuine and monitoring works. For zero-trust verification, use custom domains.
Custom Domains - Zero-Trust Verification
Custom domains provide cryptographic proof that only your TEE controls the certificate. No middlemen, no trust required.What You’ll Verify
Your TEE publishes cryptographic evidence athttps://your-domain.com/evidences/
that proves:
- The TLS certificate is controlled exclusively by this TEE
- Intel TDX hardware backs the attestation
- No one else can issue certificates for this domain
Prerequisites
Before starting, you’ll need:- Your domain name (e.g.,
your-domain.com
) curl
,jq
,openssl
, anddig
commands installed- 3 minutes to complete all verifications
Simple 3-Step Verification
Example: We’ll usecustom-domain-demo.phala.systems
- just replace with your domain.
Step 1: Get the Evidence Files
Your TEE publishes 4 files that prove it controls the certificate:Step 2: Verify the Certificate Matches
Check that the evidence matches what’s actually being served:Step 3: Check Domain Protection and Timeline
Make sure only this TEE can get certificates for your domain:- Already expired (check the “to” date)
- Issued by the same ACME account (meaning they were from a previous TEE deployment)
Understanding the Results
When all verifications pass, you’ve proven: ✅ Exclusive TEE Control: Only this specific TEE instance has the private key for your TLS certificate ✅ Hardware-Backed Security: Intel TDX hardware cryptographically signed the evidence, proving it’s a genuine TEE ✅ Domain Protection: CAA DNS records prevent anyone else (even with domain access) from issuing certificates ✅ Complete Chain of Trust: Every link from TDX hardware → evidence files → certificate → your connection is verifiedEvidence Files Reference
.png?fit=max&auto=format&n=SL70DQG4j6gvtN02&q=85&s=cf0377007903ff70f2828c1cb28077ae)
/evidences/
work together:
File | Contains | Proves |
---|---|---|
quote.json | TDX attestation with embedded hash | Hardware generated the evidence |
sha256sum.txt | SHA256 of cert.pem + acme-account.json | Links certificate to ACME account |
cert.pem | Current TLS certificate | What’s being served to clients |
acme-account.json | ACME account URI | Which account controls certificates |
Troubleshooting
“Files not found at /evidences/”: Ensure your domain uses custom domain setup withSET_CAA=true
“Certificate doesn’t match”: The TEE may have renewed the certificate. Re-download evidence files.
“Hash not in quote”: Verify you’re checking a production TEE deployment, not a test instance.
“CAA record missing”: The domain owner needs to set CAA records pointing to the TEE’s ACME account.
Going Deeper: Application Trust
While you’ve verified the network connection is secure, the TLS private key is only as trustworthy as the code handling it. The key management software (dstack-ingress) runs inside the TEE and is open-source auditable code. To verify the exact code handling your keys matches what’s deployed, check the compose-hash in the TEE’s event log against the published source code. This ensures no malicious code can access or leak your private keys. Learn more: Application Attestation DocumentationComplete Security Checklist
Network Security (covered above):
- ✅ Evidence files verify TEE control
- ✅ TDX attestation proves hardware backing
- ✅ CAA records prevent unauthorized certificates
- ✅ Certificate timeline shows no pre-deployment threats
- ⚠️ Application code trust - Verify compose-hash matches source code
- ⚠️ Certificate timeline - Ensure no valid pre-CAA certificates exist
- ⚠️ Continuous monitoring - Watch CT logs for unexpected certificates
Next Steps
For monitoring: Set up alerts on crt.sh to detect any unexpected certificate issuance. For developers: Enable CAA records withSET_CAA=true
in your deployment configuration.
For security teams: Audit the dstack-ingress source code to verify key handling.