Row-level security in the database
Access rules live next to your data as PostgreSQL policies that use auth.uid(). The database enforces them, not the client.
Security
Access rules enforced by PostgreSQL, separate keys for separate powers, multi-factor sign-in and limits on every service.
Six pillars
Access rules live next to your data as PostgreSQL policies that use auth.uid(). The database enforces them, not the client.
A public key for your apps and a service role key for your servers. Sensitive operations, like raw SQL, are reserved to the service role.
TOTP multi-factor with recovery codes, sessions you can list and revoke, and captcha on sign-up.
Every plan has per-minute rate limits and monthly quotas, enforced by the platform on each service.
Enterprise projects run on dedicated PostgreSQL clusters, separate from other organizations.
Our infrastructure is hosted in Germany and Finland.
Further reading
What we have, and what we don’t yet, stated plainly.
The terms under which we process your data.
Follow the health of the platform and its services.
Technical details for your security and legal teams.
Questions
Have a security question?
Write to our security contact or read the Trust Center.