Security
Flows was designed from day one with multi-tenant isolation at the schema level, encryption at rest and in transit, and a proven identity layer. This page explains how it works in plain English.
Last updated: June 2026
Every workspace lives in its own PostgreSQL schema (data_<slug>). One customer's data never shares a table with another's: queries use SET LOCAL search_path on every request, which makes it technically impossible for one workspace to read rows from another. Shared metadata (plans, billing) lives in a separate schema.
TLS 1.2+ for all traffic to the application. The PostgreSQL database applies AES-256 encryption at rest. Uploaded files (Excel, attachments) are stored in Cloudflare R2 with server-side encryption.
Automated backups every 24 hours, with 7-day retention on the Free plan and 30-day retention on paid plans. Backups are tested regularly. Recovery time objective (RTO) is under 4 hours for major incidents.
We use Better Auth with email/password and Google OAuth. Passwords are stored with bcrypt hashes; we never have access to plaintext. Roles (owner, admin, editor, viewer) are enforced on every request, not just in the UI. API keys (Bearer tokens) inherit the role of the user who created them and can be revoked instantly.
Every operation that changes data or schema is recorded in an immutable log with who, when, from where, and the exact diff. The workspace owner can query this log from Settings → Audit.
We follow the principles of GDPR (European Union), LGPD (Brazil), and LFPDPPP (Mexico). If you need a formal data processing agreement (DPA), we can sign one. Data is processed in AWS us-east-1 and eu-west-1 regions.
If you found a vulnerability, email security@rnflows.com with the technical detail. We respond in under 48 hours and commit to not pursue legal action against researchers following responsible disclosure.
Report a vulnerabilityCreate your workspace in minutes. No credit card, nothing to install.