
Row level security now available
Nov 17, 2025
Robert Cooper
Row level security is now available in Basedash
Today we’re launching Row level security (RLS) for Postgres in Basedash. RLS lets you control exactly which rows each person can access, so every chart, chat, report, and database table only shows data a user is authorized to see.
See our docs for full details on how it works and how to set it up: https://docs.basedash.com/features/row-level-security
Why this matters
Protect tenant data in multi-tenant apps without duplicating databases
Scope internal access by team or role to the rows they need
Keep existing applications working as-is while adding policy-driven security for Basedash usage
How it works
When someone in your Basedash workspace runs a query, we set a Postgres session variable called basedash.groups that contains all of that user’s group memberships. You can therefore setup Postgres RLS policies referencing this variable to filter rows automatically.
High level flow:
Assign users to groups in Basedash
Enable RLS on your Postgres tables
Create policies that check
basedash.groupsQueries from Basedash return rows that match the user’s groups[1]
A simple policy example
Suppose your orders table includes a department column. You can enable RLS and create a SELECT policy like this:
This allows normal access when basedash.groups isn’t set (existing apps continue to work), and filtered access for Basedash queries.
Multiple group memberships are supported automatically with the comma-separated approach.
Works across Basedash
Chat: Any SQL queries ran by the AI agent respects your RLS policies
Reports: Scheduled runs use the report creator’s groups
Slack: The Slackbot applies RLS when it can match a Slack user to a Basedash user
Basedash Warehouse support
If you use Basedash Warehouse, you can create policies with your warehouse credentials. Just make sure that when you enable RLS on a table, you use FORCE ROW LEVEL SECURITY and add permissive policies to keep syncs working for INSERT, UPDATE, and DELETE.
Getting started
In Basedash, open your data source settings and review available groups under “Row level security.”
Enable RLS on a table in Postgres (
ALTER TABLE "TableName" FORCE ROW LEVEL SECURITY)Add policies that reference
current_setting('basedash.groups', true).Now your users can create chats, charts, and reports with access dictated by their Row level security policies/permissions.
Try it today
RLS is available now for Postgres data sources in Basedash (including the Basedash warehouse). Secure access at the row level, keep teams productive, and ship multi-tenant experiences with confidence.
If you need RLS for another database, reach out to us at support@basedash.com.
