Encryption
Zero uses industry-standard encryption to protect work data at rest, in transit, and in memory.
Encryption Overview
| Data State | Algorithm | Implementation |
|---|---|---|
| At Rest | AES-256-XTS | LUKS2 / BitLocker |
| In Transit | ChaCha20-Poly1305 | WireGuard VPN |
| API/Web | AES-256-GCM | TLS 1.3 |
| Key Derivation | Argon2id | Memory-hard KDF |
Encryption at Rest
Linux (LUKS2)
Work profile data is stored in a LUKS2 encrypted container:
# Encryption parameters
Algorithm: aes-xts-plain64
Key Size: 512 bits (256-bit AES-XTS)
Hash: SHA-256
KDF: Argon2id (memory: 1GB, iterations: 4) Windows (BitLocker)
On Windows, work data uses BitLocker-encrypted VHD:
- XTS-AES-256 encryption
- TPM-backed key protection (when available)
- Recovery key escrowed to management console
Android
Android uses file-based encryption (FBE) with work profile keys:
- Per-file encryption keys
- Hardware-backed keystore
- Keys tied to user authentication
Encryption in Transit
WireGuard VPN
# WireGuard cryptographic primitives
Symmetric: ChaCha20-Poly1305
Key Exchange: Curve25519
Hash: BLAKE2s
MAC: Poly1305 All work profile network traffic is encrypted via WireGuard:
- Perfect forward secrecy
- Minimal attack surface
- Fast handshake (1-RTT)
TLS 1.3
Management API and web dashboard use TLS 1.3:
- Certificate pinning for agent connections
- HSTS enabled
- Strong cipher suites only
Key Management
Key Hierarchy
Master Key (Organization)
└── Device Key (per device)
└── Profile Key (work profile encryption)
└── File Keys (per-file encryption) Key Derivation
Keys are derived using Argon2id with secure parameters:
Memory: 1 GB
Iterations: 4
Parallelism: 4
Salt: 32 bytes (random)
Output: 32 bytes Key Storage
- Linux: Kernel keyring with user-session lifetime
- Windows: TPM-backed or DPAPI-protected
- Android: Hardware-backed Android Keystore
Key Rotation
Keys can be rotated without data re-encryption using LUKS key slots:
# Rotate encryption key
zero encryption rotate-key
# View key slots
zero encryption status Recovery
Recovery Keys
Recovery keys are escrowed to the management console:
- Split-key escrow (requires 2 admins)
- Audit logged access
- Time-limited retrieval
Lost Device Recovery
- Report device lost in management console
- Remote wipe triggered (encryption keys deleted)
- Data remains encrypted and unrecoverable
Compliance Standards
Zero encryption meets:
- FIPS 140-2: Level 1 validated cryptographic modules
- GDPR: Encryption as technical measure
- HIPAA: Encryption safeguards
- SOC 2: Type II certified