presidio README

The project's README from github.com/data-privacy-stack/presidio. As one markdown file: README.md.

Presidio - Data Protection and De-identification SDK

:mega: Presidio is moving to a new home! Read more here :mega:

Context aware, pluggable and customizable PII de-identification service for text and images.


Build Status MIT license Release OpenSSF Best Practices PyPI pyversions Discord

Component Downloads Coverage
Presidio Analyzer Pypi Downloads Coverage
Presidio Anonymizer Pypi Downloads Coverage
Presidio Image-Redactor Pypi Downloads Coverage
Presidio Structured Pypi Downloads Coverage

What is Presidio

Presidio (Origin from Latin praesidium ‘protection, garrison’) helps to ensure sensitive data is properly managed and governed. It provides fast identification and anonymization modules for private entities in text such as credit card numbers, names, locations, social security numbers, bitcoin wallets, US phone numbers, financial data and more.

Presidio demo gif


:blue_book: Full documentation

:mega: Project transition update

:question: Frequently Asked Questions

:thought_balloon: Demo

:flight_departure: Examples


Goals

Main features

  1. Predefined or custom PII recognizers leveraging Named Entity Recognition, regular expressions, rule based logic and checksum with relevant context in multiple languages.
  2. Options for connecting to external PII detection models.
  3. Multiple usage options, from Python or PySpark workloads through Docker to Kubernetes.
  4. Customizability in PII identification and de-identification.
  5. Module for redacting PII text in images (standard image types and DICOM medical images).

:warning: Presidio can help identify sensitive/PII data in un/structured text. However, because it is using automated detection mechanisms, there is no guarantee that Presidio will find all sensitive information. Consequently, additional systems and protections should be employed.

Installing Presidio

  1. Using pip
  2. Using Docker
  3. From source
  4. Migrating from V1 to V2

Running Presidio

  1. Getting started
  2. Setting up a development environment
  3. PII de-identification in text
  4. PII de-identification in images
  5. Usage samples and example deployments

Support

Contributing

For details on contributing to this repository, see the contributing guide.

This project has adopted the Contributor Covenant Code of Conduct.

Contributors

presidio (data-privacy-stack/presidio)

Searching Database…

11.4K ·GitHub
What is this?An open-source framework (SDK) that detects, redacts, masks and anonymizes sensitive data (PII) — names, credit card numbers, SSNs, phone numbers — in text, images and structured data.
Is Presidio a library I import into my code, or a service I deploy?Both: it ships as Python packages you import in your own code, and the same components can also run as Docker containers or on Kubernetes.
How do I add it to my project?Install the Python packages with pip, run the provided Docker images, or build from source; the docs include a Getting started guide for both text and image de-identification.
Do I need to bring my own ML models, or is detection ready out of the box?Detection is powered by predefined or custom recognizers: NER (spaCy, Transformers), regular expressions, rule-based logic and checksums. External PII detection models can also be connected.
Can I rely on it to catch every piece of sensitive data?No — it relies on automated detection, so there is no guarantee it will find all sensitive information; the authors recommend employing additional systems and protections alongside it.
What can it detect out of the box?Predefined recognizers cover names, locations, credit card numbers, social security numbers, US phone numbers, bitcoin wallets, financial data and more; custom recognizers can be added for domain-specific entities.
Which components does the project consist of?Four modules: Analyzer (finds PII), Anonymizer (redacts or masks it in text), Image Redactor (for standard images and DICOM medical images) and Presidio Structured (for structured data).
Does it work with languages other than English?Yes — recognizers leverage NER, regex and rule-based logic with relevant context in multiple languages, so detection is not limited to English.
What does the name Presidio mean?It comes from the Latin praesidium, meaning protection or garrison — a nod to its goal of guarding sensitive data.
Size
332 MB
Stars
11.4K
Age
8y
Commits · 90 Days