Data Gates
Field-level security in Celiq. Mark sensitive fields in CML and grant or deny access by role.
Data Gates are Celiq's field-level security system. They let you control which users or roles can see and query specific fields โ useful for protecting PII, sensitive financial data, or any column that should not be universally accessible.
You define a Data Gate once in your semantic model, then grant or deny access by role. Celiq enforces the gate automatically on every Reveal, Scene, and Mosaic tile.
How Data Gates work
- Mark the field in CML โ inside a node file in Forge, add a
data_gateproperty to any dimension or measure. - Grant or deny per role โ a Luminary opens the Admin Console and configures which roles can access the gated field.
- Celiq enforces it in Discover โ users who have access see the field and can query it. Users without access see a restricted indicator or the field is hidden entirely.
Defining a Data Gate in CML
Add the data_gate property to any dimension or measure in a node file:
node: customers
sql_table: analytics.customers
dimension: customer_id
type: string
sql: ${TABLE}.customer_id
dimension: email
type: string
sql: ${TABLE}.email
data_gate: pii_access
description: "Customer email address โ gated as PII"
dimension: full_name
type: string
sql: ${TABLE}.full_name
data_gate: pii_access
measure: lifetime_value
type: sum
sql: ${TABLE}.ltv
data_gate: financial_accesspii_accessandfinancial_accessare gate names. You can use any string. The same gate name can appear on multiple fields โ all fields with the same gate name are controlled together in Admin Console.- A single field can have only one Data Gate.
Granting and denying access by role
- Open Admin Console โ A Luminary opens Admin Console โ Data Gates.
- Find the gate by name โ Locate the gate (e.g.
pii_access) and click Manage access. - Toggle access per role โ For each role, toggle access on or off. Click Save.
Effect on each role in Discover
| Role | Granted | Discover effect |
|---|---|---|
| Luminary | Always | Visible and queryable |
| Weaver | Configurable | Visible and queryable (if granted) |
| Tracer | Configurable | Field visible with a ๐ Restricted badge (if denied) |
| Lens | Configurable | Field hidden entirely (if denied) |
Applying a Data Gate to a measure
Data Gates work on measures as well as dimensions. If a measure is gated and a user without access includes it in a Reveal, the query is blocked and an error message explains that the field is not available for their role.
Data Gates vs. Data Keys
| Data Gates | Data Keys | |
|---|---|---|
| Controls | Which fields a user can see | Which rows a user can see |
| Defined on | A specific field (dimension or measure) | A node, filtering on one dimension |
| Assigned by | Role | User or role |
| Default when unassigned | Denied (fail-closed) | No rows (fail-closed) |
You can combine Data Gates and Data Keys on the same node. Celiq applies both independently โ a user must satisfy the row filter (Data Key) and have field-level access (Data Gate) to see a value.
Frequently asked questions
Can I grant access to individual users rather than roles?Not directly. Data Gates are role-based. To grant access to a single user, assign that user a role that has the gate granted, or ask your Luminary to create a dedicated role for that person.
Does a Data Gate apply in scheduled deliveries?Yes. When Celiq runs a scheduled Scene or Mosaic delivery, it applies the permissions of the user who set up the schedule. If that user's role does not have access to a gated field, the field is excluded from the delivery.
What if a Weaver puts a gated field into a Scene and then shares it with a Tracer?The Tracer can open the Scene, but when the query runs, the gated field shows the Restricted badge in the results. The Tracer does not see the underlying data.
Can I use a Data Gate on a join field?Yes. If you gate a field that is also used as a join key, users without access cannot join on it from Discover. The join is still available in the semantic model for internal use.