SECURITY OVERVIEW
Protected in layers, explained in plain language.
Identity, workspace data, bank connectivity, infrastructure, monitoring, and recovery are separated so no single control carries the whole burden.
MFA requiredEncrypted at rest and in transitTenant-isolatedMonitored on AWS
IDENTITYStrong sign-in controls
Amazon Cognito verifies email and enforces a minimum 14-character password with uppercase, lowercase, number, and symbol requirements. Authenticator-app MFA is mandatory. OAuth uses authorization code flow, PKCE, nonce, one-time state, and browser binding.
SESSIONSPasswords do not become sessions
After authentication, the app issues a random opaque session in a Secure, HttpOnly cookie. Only a one-way digest is stored server-side. Sessions expire and can be revoked.
WORKSPACESCustomers stay separated
The server selects the workspace for every request. PostgreSQL row-level security is forced for tenant tables, and the runtime role cannot bypass it. Permission checks run on the server.
INFRASTRUCTUREPrivate origins and encryption
Cloudflare, CloudFront, and AWS WAF protect the edge. Origins are private, direct API calls are rejected, and the database has no public access or inbound rules. KMS protects databases, secrets, tokens, and backups.
Security does not mean “zero risk.”
No online service can guarantee that unauthorized access, outages, data errors, or third-party incidents will never occur. These layered safeguards are designed to reduce likelihood and impact.
Report concerns to [email protected]. Never email passwords, MFA codes, full account numbers, or access tokens.