Row-level security
Filtering rows by who is looking.
Row-level security decides which rows a person sees, rather than whether they can open the dashboard at all.
How it is set up
- Create a group inside the dashboard — "West team", "Acme Corp".
- Give the group rules: a field and a condition, such as region is West. Several rules on one group combine with AND.
- Add members — collaborators on the dashboard.
Anyone in a group sees only rows matching its rules. Belonging to two groups shows you the union of both.
Preview as a group
The owner can preview the dashboard as any group and see exactly what its members see, with a persistent banner so there is no doubt you are previewing.
This is not a convenience feature. A security rule nobody can verify is a security rule that will be misconfigured, and checking it any other way means asking a colleague to log in and describe their screen.
What is guaranteed
- The owner is never filtered.
- The filter cannot be escaped by a formula. A measure that deliberately widens its filter context still cannot see rows outside the viewer's groups — the row-security predicate is marked protected and survives.
- A group with no rules sees nothing, not everything. Failing closed is the only safe default.
- Public and link-restricted access is refused on a dashboard that has groups, because there is no identity to filter by.