OUR SECURITY COMMITMENT
Security you can build on.
The platform is built to protect the data you trust us with — at every layer, by default. Here's a plain-language look at how, with the specifics a security team looks for.
Practices at a glance
- TLS in transit
- AES-256-GCM at rest
- bcrypt password hashing
- PostgreSQL row-level security
- RBAC + scoped API keys
- Per-key rate limiting
- Append-only audit logging
- Anomaly detection & lockout
- SAST + dependency scanning
- SSRF protection
- Private networking
How we protect your data
Encryption at every layer
Traffic is encrypted in transit with TLS, and sensitive credentials and secrets are encrypted at rest with AES-256-GCM. Passwords are hashed with bcrypt, API keys are stored only as hashes, and encryption keys are managed separately from the data they protect.
Read the specifics →Isolation by design
The platform is multi-tenant by design. Every client's data is scoped at the application layer and enforced in the database with PostgreSQL row-level security (RLS), so one tenant can never reach another's data.
Read the specifics →Least-privilege access
Access follows the principle of least privilege: role-based access control (RBAC), narrowly scoped API keys, and per-action permissions. The most sensitive operations are restricted to trusted operators and excluded from broad grants.
Read the specifics →Programmatic access, governed
API and AI-agent (MCP) integrations authenticate with per-application keys — never shared logins. Each key is scoped to least privilege and a single tenant, rate-limited, and revocable at any time, and every request it makes is recorded with the acting identity.
Read the specifics →Monitoring & audit
Sensitive actions are written to an append-only audit trail with actor and source IP. Automated anomaly detection watches access patterns, brute-force attempts are throttled by rate limiting, and repeated failed sign-ins trigger account lockout.
Read the specifics →Vulnerability management
We run continuous software composition analysis (dependency scanning) and static application security testing (SAST) on our code, patch on a regular cadence, and stay on current, supported runtimes — so known issues are found and fixed early.
Read the specifics →Trusted infrastructure
Services run on major cloud providers and communicate over private networking, isolated from the public internet. Outbound requests are validated to prevent SSRF, and we're deliberate — and transparent — about the subprocessors that touch your data.
Read the specifics →Your data, your control
You decide what data lives on the platform. We honor deletion requests, apply defined retention limits to archived data, and never repurpose or sell what you store. Secrets are redacted from API responses and logs.
Read the specifics →Responsible disclosure
Security is a shared responsibility. If you believe you've found a vulnerability, we want to know — we acknowledge reports and respond promptly through a coordinated disclosure process.
Read the specifics →Secure by default — not as an afterthought.
Every new feature is measured against the same standard: protect tenant data, keep access least-privilege, and leave an audit trail. Security isn't a setting you have to turn on — it's how the platform is built.
Have a security question?
We're happy to walk through our practices in more detail, share documentation, or hear about a concern. A human reads every note.
This page describes our security posture at a high level for transparency; it is not a contractual commitment.