SDSA
What it is
SDSA is a free, open-source, self-hostable web app for sanitizing tabular data before it leaves a trusted environment. It accepts CSV, delimited TXT, single-table SQL INSERT dumps, JSON records, and XML records through a browser interface or REST API. A headless command-line pipeline supports CI/CD and data workflows. SDSA infers schemas and detects likely sensitive fields such as email, phone, card number, government ID, date of birth, name, and address. Transformations include masking, HMAC hashing, tokenization, redaction, dropping, numeric binning, date or string truncation, and bounded Laplace noise. Users can enforce k-anonymity for selected quasi-identifiers and measure or enforce l-diversity for sensitive cleartext attributes. The app exports sanitized CSV data with JSON and Markdown privacy reports containing utility summaries. Sessions use in-memory storage with a 30-minute default lifetime. Production deployment uses one process unless shared storage replaces that session design.
For and against
For
- Free AGPL-3.0 open source
- Multiple tabular input formats
- Browser, REST, and CLI access
- Many sanitization transformations
- k-anonymity and l-diversity controls
Against
- No dataset-level differential privacy
- Auxiliary-data linkage attacks may remain possible
- In-memory sessions default to 30 minutes
- Multiple workers can break upload flow
The verdict
SDSA provides broad tabular sanitization controls with browser, API, and pipeline interfaces. Its privacy limitations and single-process session requirement should shape deployment and review policies.
Who it suits
SDSA suits enterprise data-sharing workflows such as testing, QA, analytics, and external processing that require reviewable privacy reports. It fits teams able to self-host and manage deployment constraints.
On the record
- Data handling
- Uploaded data, parsed dataframes, HMAC keys, and generated outputs stay in process memory and expire after the configured session TTL, which defaults to 30 minutes.github.com · read 9 Oct 2026
- Deployment
- The maker documents installation as a Python package or Docker deployment, including a production Docker Compose profile with nginx TLS termination.github.com · read 9 Oct 2026
- Deployment constraint
- Deployments should run one SDSA application process unless the in-memory session store is replaced with shared storage, because multiple workers or replicas break the upload-to-download flow.github.com · read 8 Oct 2026
- Deployment limit
- The maker says to run one SDSA application process per deployment while sessions use in-memory storage, because multiple workers or replicas can break the upload-to-download flow.github.com · read 9 Oct 2026
- Deployment security
- The production Compose profile uses nginx for TLS termination, upload limits, security headers, and basic rate limits.github.com · read 8 Oct 2026
- Input formats
- It accepts CSV, delimited TXT, single-table SQL INSERT dumps, JSON records, and XML records through its browser UI or REST API.github.com · read 9 Oct 2026
- Intended users
- The maker describes SDSA for enterprise data-sharing workflows such as testing, QA, analytics, and external processing, with explicit policies and reviewable reports.github.com · read 9 Oct 2026
- Interfaces
- Users can process data through a browser UI, REST API, or headless command-line pipeline for CI/CD and data pipelines.github.com · read 8 Oct 2026
- License
- The repository states SDSA is licensed under AGPL-3.0.github.com · read 9 Oct 2026
- PII detection
- It infers schema and detects likely sensitive fields such as email, phone, card number, government ID, date of birth, name, and address.github.com · read 8 Oct 2026
- Privacy controls
- SDSA enforces k-anonymity over operator-selected quasi-identifiers and can measure or enforce l-diversity for sensitive cleartext attributes.github.com · read 9 Oct 2026
- Privacy limitation
- SDSA does not claim dataset-level (epsilon, delta) differential privacy and says auxiliary-data linkage attacks may still succeed.github.com · read 9 Oct 2026
- Purpose
- SDSA is a self-hostable web app for sanitizing tabular data before it leaves a trusted environment.github.com · read 8 Oct 2026
- Reports
- Each processed release includes sanitized data and JSON and Markdown privacy reports with before-and-after utility summaries.github.com · read 9 Oct 2026
- Security limits
- SDSA says it does not provide dataset-level differential privacy or guarantee that auxiliary-data linkage attacks are impossible.github.com · read 8 Oct 2026
- Supported data
- It accepts CSV, delimited TXT, single-table SQL INSERT dumps, JSON records, and XML records.github.com · read 8 Oct 2026
- Transformations
- Available field actions include masking, HMAC hashing, tokenization, redaction, dropping, numeric binning, date or string truncation, and bounded Laplace noise.github.com · read 9 Oct 2026
- What it does
- SDSA is a self-hostable web app for sanitizing tabular data before it leaves a trusted environment, with privacy reports.github.com · read 9 Oct 2026