Trust

Don’t trust. Verify.

Alice’s Private Cloud runs on Venice’s confidential-compute infrastructure: your messages are encrypted on your device and only decrypted inside confidential hardware that the app tries to verify. Here’s exactly what happens, what each party can see, and, honestly, what’s proven today and what isn’t yet.

Today the reachable assurance level is attested-unpinned. We deliberately do not display “E2EE verified”, see the status below for why.

What “private” means

Your message is encrypted on your device before it leaves. It travels as ciphertext through Alice’s proxy and Venice’s infrastructure, and is only decrypted inside a hardware enclave (Intel TDX) that Alice tries to verify. The reply comes back encrypted and is decrypted on your device. Prefer nothing to leave at all? Run Alice fully Local.

What each party can see

Leaves your deviceThe model id, ordinary network metadata (IP, timing, sizes), and your prompts and replies, only as ciphertext.
Alice’s proxy (Cloudflare)Ciphertext, the model id, sizes and timing, and the Venice key it attaches. It cannot decrypt, it holds no key of yours, and never logs message bodies.
Venice, outside the enclaveCiphertext and metadata, never your plaintext.
Phala / PCCSOnly the public attestation collateral (certificates, TCB info). No prompt, no reply.
The enclave (Intel TDX)The plaintext, the one place decryption happens. Attestation is our evidence about what runs there.

Fail-closed, no silent fallback

For Private Cloud, every one of these is a refusal, never a fallback to a non-encrypted model:

missing attestationDCAP unavailablePCCS unavailablerefused TCB statuswrong or replayed noncekey not bounddebug enabledunknown measurementGPU attestation required but unverifieddecryption or authentication failureunexpected plaintext chunk

You see a clear message, “Private Cloud verification failed. No message was sent.” Local and Custom AI keep working.

Status, what’s verified, what isn’t

We won’t claim more than we can prove. This is the honest state today.

Encryption (AES-256-GCM · ECDH · HKDF)Implemented + verified, round-trips against production
Streaming decrypt, fail-closed, no plaintext shownImplemented + verified
Fresh nonce per send · anti-replayImplemented + verified
DCAP quote verification (signature + TCB)Implemented, a live attestation returned “UpToDate”
Strict TCB policy + debug-mode rejectionImplemented + verified
Key ↔ attestation bindingImplemented + verified; deployed version awaits Venice confirmation
Measurement pinning mechanismImplemented + verified
Measurement reference valuesExternally blocked, needs Venice / dstack governance data
NVIDIA GPU attestationPending, not implemented; fails closed when required

Not ready to display “E2EE verified”: measurement pinning isn’t active (no reference values yet) and GPU attestation is unimplemented, so the reachable assurance is attested-unpinned.

Limits and remaining assumptions

The source code is public under the AGPL, so anyone can check these claims independently: read the code.