# What is row-level security? Definition and Examples | Silicon

URL: https://meetsilicon.com/glossary/row-level-security/

> Row-level security restricts which rows of data a user can see, based on attributes such as their region, team or customer account.

In a well-governed setup the rule is defined once and applied to every query, including dashboards, exports, embedded views and AI answers.
## How it works
Each user carries attributes, such as region = EMEA or customer_id = 42. A rule on a table or model says which attribute filters which column, and the query engine adds that filter to every query the user runs. Column-level security works the same way for whole columns, such as hiding salary or personal data.
## Where it is enforced
Rules can live in the warehouse (Snowflake row access policies, BigQuery row-level security), in the semantic layer, or in the BI tool. Enforcing them in one place that every query passes through makes them easier to audit.
## How Silicon handles it
Silicon applies row- and column-level permissions to every query, including dashboards, exports, embedded views and AI analyst answers, because the AI runs each query as the person asking.
FAQ
## Row-level security questions
### Does row-level security slow queries down? +
Usually only slightly, since it adds a filter. Performance depends on whether the filtered columns are indexed or clustered.
### Does row-level security apply to AI assistants? +
Only if the assistant queries through the same layer that enforces the rules. An assistant with its own warehouse credentials can bypass them.
## Related
- Embedded analytics ->
## Tell us where your data lives today.
Book 30 minutes with the founder. Tell us where your data is today, and see Silicon running on sample data.
Talk to Sujay
30-minute call with the founder
