Everything below is either running today or listed as missing. No badges we have not earned, no promises we cannot keep.
Where your data lives
All compute and all data run in EU datacenters.
Being in the EU is not the same as being out of reach of the US CLOUD Act: a US-parent company can be compelled to hand over data even when the server sits in Europe. We say which of our providers are in that situation instead of letting you find out during a DPA review.
1 of the 3 infrastructure providers has a US parent company (Backblaze), so the US CLOUD Act reaches it even though the servers are in Europe.
Encryption of secrets
Connection strings, environment variables, provider tokens and SMTP credentials are encrypted at rest with envelope encryption (a random data key per secret, wrapped by a dedicated master key — the KMS model). The master key is separate from the session secret and can be rotated without downtime: the previous key keeps decrypting during the rotation.
Backups you cannot delete
Database backups, object storage and our own control plane replicate to a separate provider (Backblaze B2) with Object Lock: every copy is retained for 30 days in compliance mode (since October 2026): nobody can delete or shorten that retention — not our servers, not our own administrator key, not even the storage provider. So neither credentials stolen from our infrastructure nor a mistake on our side can destroy the copies of the last 30 days — at most hide them, which our daily comparison of both sides would flag the same day.
Isolation between customers
Compute is not one pool. Customer apps, databases and managed WordPress run on separate fleets, and a workload never lands outside its own — it is a security boundary, not a capacity one. WordPress containers additionally run under gVisor (a userspace kernel), because they execute third-party PHP plugins. Apps can opt into gVisor too.
Audit log
Every security or configuration change — members and roles, API tokens, resource creation and deletion, deploys, domains, DNS, firewall, spending — is recorded with who did it (person or agent), from which IP and when, and can be exported to CSV.
Access and recovery
API tokens are stored hashed, carry per-action scopes, an expiry and a hard cost cap, and can be scoped to a single project. For disaster recovery, the control plane backup and the environment file are encrypted with a public key: the server can write them but cannot read them back — only the founder’s private key can. That breaks the circular dependency where losing the server means losing the keys to your own backups.