Freedom251 › Data Masking Software
SDSA

What SDSA is
SDSA is a 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. SDSA infers a schema and detects fields that may contain personal or sensitive information, including email, phone, card number, government ID, date of birth, name, and address. You can transform fields through masking, HMAC hashing, tokenization, redaction, dropping, numeric binning, date or string truncation, and bounded Laplace noise. For privacy controls, it can enforce k-anonymity over selected quasi-identifiers and measure or enforce l-diversity for sensitive cleartext attributes. Outputs include sanitized CSV and JSON and Markdown privacy reports with before-and-after utility summaries. A headless command-line pipeline supports CI/CD and data pipelines. SDSA is free and open source under the AGPL-3.0 license, with Python package and Docker installation options, including a production Compose profile. Uploaded data and generated outputs are kept in an in-memory session store for a default 30 minutes. SDSA does not provide dataset-level differential privacy, and auxiliary-data linkage attacks may still succeed.
Who it suits
SDSA suits teams that need to sanitize tabular data before sharing it for testing, QA, analytics, or external processing. Its browser, API, and command-line interfaces support both manual work and automated data pipelines, with privacy reports for review.
What it does well
- Accepts CSV, delimited TXT, SQL INSERT, JSON, and XML records.
- Provides browser, REST API, and headless command-line interfaces.
- Offers masking, hashing, tokenization, redaction, and other transformations.
- Can enforce k-anonymity and measure or enforce l-diversity.
- Exports sanitized CSV with JSON and Markdown privacy reports.
- Free and open source under AGPL-3.0.
What to know first
- Does not provide dataset-level differential privacy.
- Auxiliary-data linkage attacks may still succeed.
- In-memory sessions have a 30-minute default lifetime.
- Multiple workers or replicas can break upload-to-download flow with in-memory sessions.
Limits
Uploaded data and generated outputs remain in an in-memory session store for a default 30 minutes. While that storage is in use, deployments should run one application process because multiple workers or replicas can break the upload-to-download flow.
Getting started
- Open the SDSA website on GitHub.
- Install SDSA as a Python package or deploy it with Docker.
- For production Docker deployment, use the documented Compose profile with nginx.
- Run one application process while sessions use in-memory storage.
- Process records through the browser UI, REST API, or headless command-line pipeline.
Verdict
Choose SDSA if you need a self-hosted tool for sanitizing structured records, with browser, API, and command-line workflows plus reviewable privacy reports. Look elsewhere if your requirement is dataset-level differential privacy or protection that rules out auxiliary-data linkage attacks.
Questions
How much does SDSA cost?
SDSA is free and open source.
What license does SDSA use?
SDSA is licensed under AGPL-3.0.
What data formats can it process?
It accepts CSV, delimited TXT, single-table SQL INSERT dumps, JSON records, and XML records.
How can I use SDSA?
It provides a browser UI, REST API, and headless command-line pipeline. The maker documents Python package and Docker deployment.
Does SDSA provide differential privacy?
It does not provide dataset-level differential privacy. The maker also says auxiliary-data linkage attacks may still succeed.
How long are session files kept?
Uploaded data and generated outputs are stored in memory for a default 30 minutes.
Facts from SDSA's own pages
- 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, 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, 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, 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, 9 Oct 2026
- Deployment security
- The production Compose profile uses nginx for TLS termination, upload limits, security headers, and basic rate limits. · github.com, 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, 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, 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, 8 Oct 2026
- License
- The repository states SDSA is licensed under AGPL-3.0. · github.com, 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, 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, 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, 9 Oct 2026
- Purpose
- SDSA is a self-hostable web app for sanitizing tabular data before it leaves a trusted environment. · github.com, 8 Oct 2026
- Reports
- Each processed release includes sanitized data and JSON and Markdown privacy reports with before-and-after utility summaries. · github.com, 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, 8 Oct 2026
- Supported data
- It accepts CSV, delimited TXT, single-table SQL INSERT dumps, JSON records, and XML records. · github.com, 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, 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, 9 Oct 2026
- Workflow integrations
- SDSA provides a REST API and a headless command-line pipeline for CI/CD and data pipelines. · github.com, 9 Oct 2026
Where SDSA stands on Freedom251
- Data Masking Software#19 of 26