metabase / metabase/metabase

Native Data Masking

Open
#73,239 0 comments 0 reactions 0 assignees View on GitHub
.Auto triaged .Backend Administration/Permissions SECURITY Type:New Feature
Dominant language
Clojure
Stars
49.3k
Forks
6.8k
Avg merge
1d 13h
Merged PRs (30d)
653

Description

Metabase currently has no native way to enforce field-level masking automatically when reports are delivered via email subscriptions or exported, while simultaneously allowing authorized users to view unmasked data in-app. This is a blocker for customers operating under GDPR or similar data privacy regulations.

Authorized users must be able to view data in its original, unmasked form within Metabase.
When a report is shared via email (real-time or scheduled subscription), specific fields must be automatically masked according to a global masking policy — with no per-report configuration required.
The masking policy should be configurable globally by an admin (e.g., "always mask columns tagged as PII in email output") without requiring modifications at the database or individual report level.

A global masking policy configuration in Metabase Admin settings that allows admins to define:

Which fields or column types are considered sensitive (e.g., tagged as PII)
Which delivery contexts trigger masking (e.g., email subscriptions, CSV exports)
What masking format to apply (e.g., partial mask, hash, redaction)

This would operate independently of how individual questions or dashboards are built, ensuring consistent enforcement across all outbound report delivery.

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or entry points. Start by locating Metabase Admin settings and the email-subscription and CSV-export flows; done means global masking rules apply in those outbound contexts while authorized in-app users still see unmasked data.

Written by the indexing model from the issue text.

Assessment

Domain
security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.