DATA OPS

Classify New Snowflake Columns for PII on Schema Change

Watches for newly added columns across Snowflake schemas, runs an LLM classifier on column names plus sampled values to flag likely PII, and posts a triage summary to Slack.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps7
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerScheduled scan interval
  • ActionQuery Snowflake INFORMATION_SCHEMA.COLUMNSSnowflakeSnowflake
  • LogicDiff against prior snapshot to isolate new columns
  • ActionSample values for each new columnSnowflakeSnowflake
  • ActionClassify columns for PII with OpenAIOpenAI
  • LogicFilter to columns above confidence threshold
  • OutputPost triage summary to SlackSlack

What it does

Every time the scan runs, it diffs the current Snowflake column inventory against the last known snapshot. Any column that appeared since the last run is sampled, classified for personally identifiable information (email, SSN, phone, address, full name, payment data), and the suspected-PII columns are summarized in a single Slack message so a data steward can confirm or dismiss.

When to use it

Use it when engineers ship migrations faster than governance can review them and untagged PII keeps slipping into warehouse tables. It catches drift at the moment a column lands, before it propagates into downstream marts or exports.

How it works

  1. 1A scheduled trigger fires the scan (e.g. hourly).
  2. 2Query `INFORMATION_SCHEMA.COLUMNS` in Snowflake for the full current column list and diff against the prior snapshot to isolate brand-new columns.
  3. 3For each new column, sample a handful of non-null values from the table.
  4. 4An OpenAI classifier scores each column name plus its sample for PII type and confidence.
  5. 5A logic step keeps only columns above the confidence threshold.
  6. 6Post a grouped triage summary (table, column, PII type, confidence) to the data-governance Slack channel.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect SnowflakeWarehouses, queries, shares.
  2. 2
    Connect OpenAIModels, embeddings, files.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.