Celiq
v0.12Open app โ†—
Docs/Security/Data Gates

Data Gates

Field-level security in Celiq. Mark sensitive fields in CML and grant or deny access by role.

LuminaryWeaverSecurityUpdated May 2026 ยท 6 min read
โœฆ
In this section
Part of Celiq's semantic layer platform. Connect your warehouse, model your data once, query it everywhere.

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

  1. Mark the field in CML โ€” inside a node file in Forge, add a data_gate property to any dimension or measure.
  2. Grant or deny per role โ€” a Luminary opens the Admin Console and configures which roles can access the gated field.
  3. 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.
๐Ÿ“ธ Screenshot: Restricted badge in the Discover field picker โ€” a lock icon next to a field name that the current user cannot query

Defining a Data Gate in CML

Add the data_gate property to any dimension or measure in a node file:

yaml
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_access
  • pii_access and financial_access are 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

  1. Open Admin Console โ€” A Luminary opens Admin Console โ†’ Data Gates.
  2. Find the gate by name โ€” Locate the gate (e.g. pii_access) and click Manage access.
  3. Toggle access per role โ€” For each role, toggle access on or off. Click Save.

Effect on each role in Discover

RoleGrantedDiscover effect
LuminaryAlwaysVisible and queryable
WeaverConfigurableVisible and queryable (if granted)
TracerConfigurableField visible with a ๐Ÿ”’ Restricted badge (if denied)
LensConfigurableField hidden entirely (if denied)
Visible and queryable โ€” the field appears in the field picker and can be added to a Reveal. Restricted badge โ€” the field appears in the field picker with a lock icon and the label "Restricted". The user can see the field exists but cannot add it to a Reveal or use it in a filter. This is intentional: it lets Tracers understand the data model without exposing the data. Hidden entirely โ€” the field does not appear in the field picker at all. Lens users have no indication the field exists.

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 GatesData Keys
ControlsWhich fields a user can seeWhich rows a user can see
Defined onA specific field (dimension or measure)A node, filtering on one dimension
Assigned byRoleUser or role
Default when unassignedDenied (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.