All notable changes to pii-radar are documented here. Format follows Keep a Changelog. This project adheres to Semantic Versioning.
- Azure Blob Storage Stream Redactor: Added
AzureBlobStreamRedactor(src/pii_radar/integrations/azure.py) for real-time PII scanning and masking of CSV/JSON blobs in Azure Storage containers - Azure Event Hubs Redaction Handler: Added
AzureEventHubHandler(src/pii_radar/integrations/azure.py) for low-latency PII redaction on streaming telemetry event batches - Optional Dependency Extras: Added
pip install pii-radar[azure]andpip install pii-radar[all] - Test Suite: Added
test_azure_integration.pyunit test suite
- IPv6 Regex Detection: Added 128-bit IPv6 address pattern matching (
_IPV6_PATTERN) - Optional Parquet Extra: Made
pyarrowoptional (pip install pii-radar[parquet]) for lighter base installs - Test Coverage Validation: Validated
test_negative_cases.pyand IPv6 detection in unit test suite
- Luhn Mod-10 Algorithm Checksum: Validates credit card numbers to eliminate 16-digit account/order false positives
- IPv4 Octet Range Validation: Verifies 0-255 octet bounds and rejects version strings
- DOB Column Heuristics: Contextual matching on column headers (
dob,birth,birthday,bday) --sample N/-s NFlag: Limits row scanning for rapid audit sampling on massive filestests/test_negative_cases.py: Comprehensive false-positive unit test suiteexamples/benchmark.py: Performance benchmarking script- Windows Runner: Added
windows-latestto GitHub Actions CI matrix
- PyPI release via OIDC Pending Publisher
- PyPI Trusted Publisher integration via OpenID Connect (OIDC)
- Dynamic Console instantiation for headless CliRunner output compatibility
- Pytest pythonpath options in pyproject.toml
- Parquet file support (
.parquet,.pq) via PyArrow --fail-on-detectflag for CI/CD pipeline integration- Confidence scoring displayed per detection in terminal table
- Folder scanning with recursive file discovery (
scan directory/) - JSON output mode (
--output json) for programmatic consumption
- False positive reduction in phone number detection for zip codes
- Encoding errors on Windows for UTF-16 encoded CSV files
- Rich terminal output redesigned with panel summary + detailed table
- Improved SSN regex to reject invalid ranges (000-xx, 666-xx)
- Initial release of
pii-radar - CLI command:
pii-radar scan <file> - PII detectors: EMAIL, PHONE, SSN, CREDIT_CARD, IP_ADDRESS, DATE_OF_BIRTH
- CSV and JSON file reader support
--output table/jsonflag--min-confidencethreshold filtering--reportflag to save matches to CSV--redactflag to create a sanitized CSV copy- GitHub Actions CI across Python 3.9–3.12
- Pre-commit hooks: black, flake8, bandit