How we protect our customers' instances and data. These measures are part of the data processing agreement.
Separation
- One instance per customer: its own Kubernetes namespace, database, storage and address. Network rules let only the ingress and the operations console reach an instance, and an instance can reach neither other instances nor private networks.
- Separation between people: a person's files, memories and conversations are visible only to them, unless they share them.
Hosting
- Run at Infomaniak in Switzerland, on managed Kubernetes infrastructure.
- Backups in Infomaniak's object storage in Switzerland.
- Container images from a private registry of our own, which scans them for vulnerabilities on upload.
Encryption
- All connections are encrypted with TLS.
- Instance keys and passwords are stored encrypted in Git (SOPS with age); the operations console can write them but not read them.
- The instance stores credentials of connected accounts encrypted with AES-256-GCM.
- We store passwords only as hashes.
Human control
- Approvals: ALVIREQ carries out consequential steps (sending, writing, deleting, scheduling) only after a person approves them. Unattended runs refuse such steps and log why.
- Untrusted content: web pages, emails and documents are treated as data, not as instructions.
- Audit log: tool calls, approvals, sign-ins and administrative changes are recorded.
Operations
- Changes to operations go through Git and are applied automatically (GitOps); nothing is changed on the cluster by hand.
- Only HALVIC staff with central sign-in can access the operations console. The console doesn't read instance content.
- Code execution and the shell are not available on the cluster.
Sign-in
Sign-in with a password (protected against repeated failed attempts) or with the customer's Google or Microsoft work accounts. Two-factor sign-in is in progress.
Reports
Report security vulnerabilities to hello@halvic.ch. The German version of this page is binding.