How RenewalOS protects your data.
Every table is protected by row-level security in the database. A signed-in user can only read or change rows that belong to a workspace they are a member of.
Owner, admin, member and viewer permissions are checked by the database, so a hidden button is never the only thing standing between a viewer and an edit.
Seat and record limits are enforced by database rules, and a workspace's plan can only change after a verified payment event from Stripe.
Attachments live in a private bucket and are shared only through short-lived signed links.
Card details are handled entirely by Stripe. Webhooks are verified by signature and processed once.
Passwords are handled by Supabase Auth. Sign-in and sign-up are rate limited, CSV exports neutralize spreadsheet formulas, and all pages are served over HTTPS.
To report a vulnerability, email the address listed on your account's support page.