Security
This document explains how we protect your data with encryption: while it is stored (at rest) and while it moves between systems (in transit). It also covers how we manage encryption keys and how we keep each customer's data separate.
We run our application, database, and file storage on Railway, in data centers in the United States. Railway owns and operates the hardware that runs our services, and holds SOC 2 Type II and SOC 3 reports from an independent auditor.
| What is stored | How it is encrypted |
|---|---|
| Database (workspace data, email and meeting content, Company Brain records) | AES-256 disk encryption |
| Database backups and point-in-time recovery archives | AES-256 disk encryption |
| File storage, including meeting recordings | AES-256 encryption |
| Configuration secrets | AES-256, with an extra layer of envelope encryption |
| Google OAuth tokens and other integration credentials | AES-256 disk encryption, plus AES-256-GCM encryption in our application under keys that we manage |
| Sign-in sessions and API keys | We store only a one-way SHA-256 digest, never the value itself |
Railway manages the disk and storage encryption keys. We manage the keys for the application-level credential encryption.
| Connection | Protection |
|---|---|
| Your browser to our web app and API | HTTPS with TLS 1.2 or 1.3. Plain HTTP requests are redirected to HTTPS, and HTTP Strict Transport Security (HSTS) is on. |
| AI agents (for example Claude or ChatGPT) to our Company Brain MCP server | HTTPS with TLS 1.2 or 1.3 |
| Our services to our database | Encrypted private network (WireGuard). The database has no public network address. |
| Our services to the providers we use (Google, meeting capture, AI model providers, email delivery) | HTTPS |
| Providers to our services (webhooks) | HTTPS, and we verify each message's signature before we accept it |
| Meeting recording playback | Short-lived, signed HTTPS links |
Session cookies are marked Secure, HttpOnly, and SameSite=Lax, so browsers send them only over HTTPS and page scripts cannot read them.
Every customer record belongs to a workspace. The database enforces Row Level Security, so a request can read or change only the records of the workspace it is authorized for. Staff support access to a workspace uses audited, time-limited sessions.
We use a small set of established providers, such as Google, a meeting-capture provider, AI model providers, and an email delivery service. Data we send to them travels over HTTPS. We can share the list of providers and their published security reports on request.
For more detail, a completed security questionnaire, or our list of providers, contact us and we will reply directly.