Security

Data Isolation

Every organization’s data is fully isolated. ReviewTower uses row-level security so that no organization can ever access another’s reviews, apps, or credentials.

Row-level security (RLS)

ReviewTower’s database (powered by Supabase / PostgreSQL) enforces row-level security policies on every table that contains user data. These policies are evaluated at the database layer — not the application layer — meaning even a bug in application code cannot expose another organization’s data in an API response.

Every row in a data table is tagged with an org_id column. RLS policies automatically filter all queries so a session belonging to Organization A can never read or write rows owned by Organization B.

Multi-tenant architecture

All organizations share the same database infrastructure, but the RLS layer ensures complete logical isolation. This approach is battle-tested and is the same model used by many enterprise SaaS products built on PostgreSQL.

Authentication

Sessions are issued by Supabase Auth (JWT-based). The JWT contains the user’s ID, which is verified on every request. API routes additionally verify org membership before performing any data operation.

Data deletion

If you delete your organization, all associated data — apps, reviews, credentials, and members — is permanently deleted from the database. This action cannot be undone.
Data Isolation · ReviewTower Docs — ReviewTower