Column-Level Security (CLS)
Use this page to understand how Column-Level Security works and what inputs you need to define a CLS policy.
Plan support
Data Security is available in Enterprise Cloud and Enterprise Plus plans. Existing Business plan customers keep access.
Column-Level Security ensures that users only see the columns they are authorized to view. This protects sensitive attributes (e.g., PII, salaries, costs) while still allowing broader analysis on non-sensitive fields.
How CLS Works

CLS makes the same query return different columns for different users, based on their identity and assigned permissions.
What you define
- Applied models and columns: The models and specific columns the policy covers. All selected columns are protected by this policy.
- Access rule: Compares a single session property to a value using a selected operator. If the rule is not satisfied, the selected columns are inaccessible and any query referencing them will fail with a permission error.
- Session property: The property used by the access rule (e.g.,
country). It can be Required or Optional (Optional requires a default value).
What happens at runtime
- A user asks a question or generates a chart in Wren AI.
- Wren AI collects the user’s session properties.
- Wren AI evaluates the CLS access rule for each protected column.
- If the rule is not satisfied, access to those columns is denied and queries referencing them fail with a "Restricted by policy" error.