Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Feat]: Export data with column anonymization

Open
#483 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

  • #606 by @iamthenuggetman — closed without merging

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
typescript
Domain
database, security

Research direction

The proposal places anonymization in the streaming export pipeline, between the row stream and the CSV/JSON sinks, with configuration in the export dialog. Start by locating those entry points and reviewing the existing export flow; the issue does not name specific files or tests. Done means users can choose per-column rules and exported values are transformed consistently, including stable hashes across tables.

Written by the indexing model from the issue text.

Description

Prerequisites
  • I have written a descriptive issue title
  • I have searched existing issues to ensure the feature has not already been requested
🚀 Feature Proposal

Add an optional anonymization step to the file export: in the export dialog, let the user assign a per-column rule before writing the file. Proposed rules for a v1:

  • Null / fixed value — replace with NULL or ***
  • Partial masking — e.g. j***@***.com, keep first/last chars
  • Deterministic hash (pseudonymization) — HMAC with a per-export key: the same input always produces the same output, so joins on anonymized keys (e.g. user_id) still work across exported tables

Possible follow-ups: synthetic data (seeded faker for names/emails/addresses), generalization (birth date → year, zip → region), name-based heuristics to pre-suggest rules for columns like email, phone, name, ip.

Technically this fits nicely in the existing streaming export pipeline: a transform layer between the row stream and the CSV/JSON sinks, so it would work for all drivers (including plugins) with no driver changes. The database dump could adopt it later as a second step.

Motivation

Very common need: sharing production data with staging environments, external developers, support tickets or analytics without leaking personal data (GDPR / privacy). Today users have to post-process exports manually.

Note on wording: this should be presented as column anonymization / pseudonymization, not "GDPR compliance" — true anonymization under GDPR is a legal assessment (quasi-identifiers etc.) that no tool can guarantee by itself.

Example

Export dialog → "Anonymize columns" (optional) → per-column rule selector → file is written with transformed values, e.g. email → a3f9…@masked, name → ***, user_id → HMAC hash (stable across tables).


Happy to work on a PR if there's interest — opening this first to discuss scope and UX.

Dominant language
TypeScript
Stars
5.1k
Forks
335
Avg merge
1d 5h
Merged PRs (30d)
227

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from TabularisDB/tabularis

All issues in TabularisDB/tabularis

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.