Security overview
- Tenant isolation. Every customer gets their own separate database. The lookup that maps a workspace to its database is designed to fail closed: an unknown or suspended workspace is refused rather than falling back to another customer’s data.
- Enforced HTTPS. HTTP Strict Transport Security is sent with a one-year lifetime covering workspace subdomains, which instructs browsers to refuse a plain HTTP connection before it is made.
- Brute-force protection. Sign-in attempts are rate limited per IP address, and repeated failures are locked out for a cooling-off period.
- Session hardening. Session cookies are HTTP-only, secure and SameSite-restricted, and the session identifier is regenerated on sign-in, which closes off session fixation.
- Browser-level protections. Clickjacking, MIME-sniffing, injected base tags and off-site form posting are blocked by response headers applied across authenticated platform routes, not only on static files.
- Forged-header defence. The IP address written to the audit trail starts from the connection itself, which the server sets and a client cannot forge. A proxy header is read only when the connection arrives from a recognised Cloudflare range; the
X-Forwarded-Forheader is not used, because any client can send one.