feat(datagrid): mask sensitive columns in the results grid - #587
Open
iamthenuggetman wants to merge 2 commits into
Open
feat(datagrid): mask sensitive columns in the results grid#587iamthenuggetman wants to merge 2 commits into
iamthenuggetman wants to merge 2 commits into
Conversation
added 2 commits
August 1, 2026 11:34
Columns whose name matches a sensitive pattern (password, email, token, …) render as a placeholder instead of the real value. A header eye toggle reveals a whole column; a per-cell eye reveals just that cell. Masked cells cannot be edited until revealed, and reveal state resets when the result data changes. Masking is display-only: copy and export keep the real values — write-path anonymization is tracked separately in TabularisDB#483. Adds a Settings → Privacy tab with an on/off toggle, editable name patterns, and per-connection include/exclude overrides (table.column, exclude wins over include and patterns). Closes TabularisDB#485
# Conflicts: # src/components/ui/DataGrid.tsx # src/components/ui/DataGridRow.tsx # tests/components/ui/DataGrid.test.tsx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #485
What
Columns whose name matches a sensitive pattern (password, email, token, ssn, …) now render as a
••••••placeholder in the results grid instead of the real value.Masking is display-only: copy (⌘/Ctrl+C, context menu) and export keep the real values, as requested in the issue. Write-path anonymization for exports is tracked separately in #483.
Settings
New Settings → Privacy tab:
table.columnentries —excludewins overinclude, which wins over name patternsImplementation
src/utils/columnMasking.ts— pattern/overrides matching logicDataGrid.tsx/DataGridRow.tsx— masked rendering + reveal togglesSettingsContext.ts—columnMaskingEnabled/columnMaskingPatterns/columnMaskingOverridessettingsPrivacyTab.tsx+ tab registration inSettings.tsxTests
tests/utils/columnMasking.test.ts)tsc -band eslint clean