scrubadub
Clean personally identifiable information from dirty dirty text.
Decision gist · record as of 2026-08-14
Yes, with conditions. Scrubadub is stable, permissively licensed, and has no known security vulnerabilities, making it suitable for production use in established data anonymization workflows. However, maintenance is dormant, so if you need active bug fixes or feature development, evaluate whether the package's current detector coverage meets your needs. For standard use cases (email, phone, credit card, SSN redaction), it remains a solid choice.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.6 or later; Python 2.7 and 3.5 are not supported in this version.
- Low install friction with a pure-Python wheel distribution.
- Maintenance is dormant—last release was in 2023—but the package is marked Production/Stable and has seen no security vulnerabilities.
License · maintenance · safety
MIT (permissive) — Licensed under MIT (permissive), allowing use in commercial and private projects with minimal restrictions. No license-related barriers to adoption.
last release 2023-09-01 (1078 days) · last repo commit 2023-09-01 · 432 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 2,470,289 downloads/mo, #3,049 on PyPI
Alternatives
Verify before relying
pip install scrubadub
import scrubadub
text = "Contact me at example@example.com or call"
print(scrubadub.clean(text))- Accuracy and recall rates for each detector type across different text formats and languages.
- Performance characteristics when processing large documents or high-volume text streams.
- How well address detection works for non-US/GB/CA regions and whether optional extensions are necessary for production use.
- Whether the dormant maintenance status affects compatibility with recent Python 3.x releases.
What it is and what it does
Scrubadub is a text anonymization library that identifies and replaces sensitive personal information in unstructured text. It ships with built-in detectors for common PII categories—names, emails, phone numbers, credit card numbers, dates of birth, social security numbers, and others—and replaces matches with standardized placeholders like {{EMAIL}} or {{PHONE}}. The library is highly configurable, allowing you to enable or disable specific detectors, customize replacement strategies, and adapt behavior for different languages and regions through optional extensions.
The package depends on several NLP and data-parsing libraries (textblob, phonenumbers, python-stdnum, dateparser, scikit-learn, faker, catalogue, and typing-extensions) to perform pattern matching and validation across its detector suite. It is intended for workflows where you need to prepare datasets for sharing, testing, or analysis while protecting individual privacy—common in data science, compliance, and software testing contexts.
Use it for
- Prepare real customer datasets for sharing with external teams or for use in testing environments without exposing actual PII.
- Anonymize support tickets, chat logs, or user feedback before storing them in non-secure systems or using them for model training.
- Redact sensitive information from documents before publishing case studies, examples, or internal documentation.
- Generate synthetic test data by scrubbing production logs and then using faker to regenerate realistic but non-real personal details.
- Audit and clean data pipelines to ensure PII is not accidentally leaked in logs, error messages, or intermediate outputs.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
Scrubadub is stable, permissively licensed, and has no known security vulnerabilities, making it suitable for production use in established data anonymization workflows. However, maintenance is dormant, so if you need active bug fixes or feature development, evaluate whether the package's current detector coverage meets your needs. For standard use cases (email, phone, credit card, SSN redaction), it remains a solid choice.
Install
scrubadub on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Maintenance is dormant—last release was in 2023—but the package is marked Production/Stable and has seen no security vulnerabilities. Suitable for established use cases where active development is not required.
Requires Python 3.6 or later; Python 2.7 and 3.5 are not supported in this version.
License in practice
Licensed under MIT (permissive), allowing use in commercial and private projects with minimal restrictions. No license-related barriers to adoption.
Quickstart
pip install scrubadub
import scrubadub
text = "Contact me at example@example.com or call"
print(scrubadub.clean(text))
Verify before relying
- Accuracy and recall rates for each detector type across different text formats and languages.
- Performance characteristics when processing large documents or high-volume text streams.
- How well address detection works for non-US/GB/CA regions and whether optional extensions are necessary for production use.
- Whether the dormant maintenance status affects compatibility with recent Python 3.x releases.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 8 packagestextblobphonenumberspython-stdnumdateparsercataloguescikit-learntyping-extensionsfaker |
| Maintenance | Dormant 1,078 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,470,289 / month, #3,049 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/Engineering :: Information AnalysisTopic :: Software Development :: LibrariesTopic :: Text ProcessingTopic :: Utilities |
Evidence: scrubadub-2.0.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “remove personally identifiable information”
- scrubadubDetects and replaces personally identifiable information (names,…
- presidio-analyzerDetects personally identifiable information (PII) entities in text…
- acryl-datahub-classifyPredicts sensitive data types (infotypes) in database columns by…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also argus-redact · presidio-image-redactor · presidio-analyzer · sherlock-project · presidio-anonymizer · reqif · openmed · commonregex · pyap · pyap2