Skip to content

Column Security

Not all columns in a dataset are equally sensitive. A sales table might have revenue figures everyone can see, customer names only managers should access, and Social Security numbers that should be hidden from almost everyone. Column security lets you share the table while protecting specific fields.

The column is completely invisible. Users don’t see it in results, can’t reference it in queries, and won’t even know it exists. The AI assistant also can’t see hidden columns — they’re excluded from its context entirely.

Use this for: Columns that users have no reason to know about — internal IDs, raw PII fields, or data reserved for specific roles.

The column is visible, but its values are obfuscated. Users know the column exists and can reference it in queries, but they see masked values instead of the originals.

Querri supports six mask types:

MaskWhat it doesExample inputExample output
last4Shows only the last 4 characters555-12-3456***3456
domainShows only the email domainjane@acme.com***@acme.com
hashReplaces with a consistent hashJane Smitha1b2c3d4
redactReplaces entirelyConfidential[REDACTED]
first_initialShows only the first characterJane SmithJ***
year_onlyShows only the year from a date1990-03-151990

Use this for: Columns where users need to know data exists but shouldn’t see the raw values — email addresses, phone numbers, dates of birth.

The column can only be used in aggregate functions — sums, averages, counts, minimums, and maximums. Individual row values are not shown. The AI assistant can reference these columns but only sees aggregated results.

Use this for: Columns like individual salaries, transaction amounts, or performance scores where the aggregate is useful but individual values are sensitive.

When a user has multiple policies with column restrictions, the restrictions stack:

  • If any policy hides a column, it’s hidden
  • If any policy masks a column, it’s masked (the most restrictive mask wins)
  • If any policy marks a column as aggregate-only, individual values are blocked

This means adding more policies never loosens access — it can only tighten it.

Column restrictions are enforced on all AI-generated queries:

  • Hidden columns are excluded from the AI’s schema context. It can’t reference, query, or suggest analysis on columns it doesn’t know exist.
  • Masked columns are visible in the schema, so the AI can write correct queries — but results return masked values.
  • Aggregate-only columns are available for aggregate queries. The AI can calculate averages and totals but can’t retrieve individual values.