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
Related docs