DATABASE REVIEW / SUPABASE

Supabase security audit for RLS and data access.

Check Supabase RLS policies, roles, functions and Storage with different users. Get agreed fixes and test cases to repeat after database changes.

Discuss your project

Enabling RLS doesn’t tell you whether the permissions are right. We check which data each user can read or change, including through functions, views and server code.

Write down who may do what

We list resources and the operations allowed for visitors, users, team members and administrators. Those rules let us compare the intended permissions with the actual behaviour.

  • Individual ownership and workspace membership
  • Role changes, invitations and account lifecycle
  • Background jobs and administrative operations

Review policies and other data access

We check grants, RLS, views and exposed functions. We distinguish publishable keys from privileged credentials and check where they’re used. Storage and backend access are included where relevant.

Test accounts with different permissions

We use agreed test accounts and data to verify that allowed operations succeed and prohibited ones are blocked. After a policy change, we repeat the affected cases.

Document checks for future releases

A new table or function can change data access. We leave cases to repeat after migrations, including query checks where policies might affect performance.

Before we start

Is enabling RLS enough to protect my data?

Enabling RLS does not establish that the policies match your product rules. We also check roles, allowed operations and access through functions and server code, using agreed test accounts.

Should I send you the service role key?

Not in the contact form or the first message. We agree on the scope and access first. Any credentials needed for the work are handled through an agreed process with limited privileges.

Updated

GET IN TOUCH

It works.
Let’s see if it’s ready for the real world.

Bugs, security, databases, performance, architecture and scalability: find what could become a problem before your users do.

A short description and a link to the product, if you have one, are enough to get started.