{"data":{"slug":"data-privacy-stack-presidio","name":"presidio","tagline":"An open-source framework for detecting, redacting, masking, and anonymizing sensitive data (PII) across text, images, and structured data. Supports NLP, pattern matching, and customizable pipelines.","github_url":"https://github.com/data-privacy-stack/presidio","owner":"data-privacy-stack","repo":"presidio","owner_avatar_url":"https://avatars.githubusercontent.com/u/275623515?v=4","primary_language":"Python","stars":10005,"forks":1202,"topics":["anonymization","data-anonymization","data-masking","data-obfuscation","data-privacy","data-redaction","de-identification","guardrails","image-redactor","named-entity-recognition","nlp","personally-identifiable-information","phi","pii","pii-detection","privacy","python","sensitive-data","spacy","transformers"],"archived":false,"github_pushed_at":"2026-07-15T09:20:59+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/data-privacy-stack-presidio","markdown_url":"https://www.graphcanon.com/tools/data-privacy-stack-presidio.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/data-privacy-stack-presidio","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=data-privacy-stack-presidio","description":"An open-source framework for detecting, redacting, masking, and anonymizing sensitive data (PII) across text, images, and structured data. Supports NLP, pattern matching, and customizable pipelines.","homepage_url":"https://presidio.dataprivacystack.org","license":"MIT","open_issues":82,"watchers":91,"ai_summary":null,"readme_excerpt":"# Presidio - Data Protection and De-identification SDK\n## :mega: Presidio is moving to a new home! [Read more here](docs/project_transition.md) :mega:\n**Context aware, pluggable and customizable PII de-identification service for text and images.**\n\n---\n\n\n\n\n\n\n\n\n| Component | Downloads | Coverage |\n|-----------|-----------|----------|\n| Presidio Analyzer |  |  |\n| Presidio Anonymizer |  |  |\n| Presidio Image-Redactor |  |  |\n| Presidio Structured |  |  |\n## What is Presidio\n\nPresidio _(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.\n\n\n\n---\n\n### :blue_book: [Full documentation](https://data-privacy-stack.github.io/presidio)\n\n### :mega: [Project transition update](docs/project_transition.md)\n\n### :question: [Frequently Asked Questions](docs/faq.md)\n\n### :thought_balloon: [Demo](https://huggingface.co/spaces/presidio/presidio_demo)\n\n### :flight_departure: [Examples](https://data-privacy-stack.github.io/presidio/samples/)\n\n---\n\n\n### Goals\n\n- Allow organizations to preserve privacy in a simpler way by democratizing de-identification technologies and introducing transparency in decisions.\n- Embrace extensibility and customizability to a specific business need.\n- Facilitate both fully automated and semi-automated PII de-identification flows on multiple platforms.\n\n### Main features\n\n1. **Predefined** or **custom PII recognizers** leveraging _Named Entity Recognition_, _regular expressions_, _rule based logic_ and _checksum_ with relevant context in multiple languages.\n2. Options for connecting to external PII detection models.\n3. Multiple usage options, **from Python or PySpark workloads through Docker to Kubernetes**.\n4. **Customizability** in PII identification and de-identification.\n5. Module for **redacting PII text in images** (standard image types and DICOM medical images).\n\n: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.\n\n## Installing Presidio\n\n1. [Using pip](https://data-privacy-stack.github.io/presidio/installation/#using-pip)\n2. [Using Docker](https://data-privacy-stack.github.io/presidio/installation/#using-docker)\n3. [From source](https://data-privacy-stack.github.io/presidio/installation/#install-from-source)\n4. [Migrating from V1 to V2](./docs/presidio_V2.md)\n\n## Running Presidio\n\n1. [Getting started](https://data-privacy-stack.github.io/presidio/getting_started)\n2. [Setting up a development environment](https://data-privacy-stack.github.io/presidio/development)\n3. [PII de-identification in text](https://data-privacy-stack.github.io/presidio/text_anonymization)\n4. [PII de-identification in images](https://data-privacy-stack.github.io/presidio/image-redactor)\n5. [Usage samples and example deployments](https://data-privacy-stack.github.io/presidio/samples)\n\n---\n\n## Support\n\n- Before you submit an issue, please go over the [documentation](https://data-privacy-stack.github.io/presidio/).\n- For general discussions, please use the [GitHub repo's discussion board](https://github.com/data-privacy-stack/presidio/discussions).\n- If you have a usage question, found a bug or have a suggestion for improvement, please file a [GitHub issue](https://github.com/data-privacy-stack/presidio/issues).\n- For other matters, please email [presidio@dataprivacystack.org](mailto:presidio@dataprivacystack.org).\n\n## Contributing\n\nFor details on contributing to this repository, see the [contributing guide](CONTRIBUTING.md).\n\nThis project has adopted the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md).\n\n## Contribu","github_created_at":"2018-05-04T11:08:58+00:00","created_at":"2026-07-15T10:42:02.234586+00:00","updated_at":"2026-07-15T10:42:05.141432+00:00","categories":[{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"},{"slug":"model-training","name":"Model Training","url":"https://www.graphcanon.com/categories/model-training","markdown_url":"https://www.graphcanon.com/categories/model-training.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/model-training"}],"tags":[{"slug":"anonymization","name":"anonymization"},{"slug":"data-anonymization","name":"data-anonymization"},{"slug":"data-masking","name":"data-masking"},{"slug":"data-obfuscation","name":"data-obfuscation"},{"slug":"data-privacy","name":"data-privacy"},{"slug":"data-redaction","name":"data-redaction"},{"slug":"de-identification","name":"de-identification"},{"slug":"guardrails","name":"guardrails"}],"trust":{"provenance":{"is_fork":false,"github_id":132129752,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-15T10:42:03.269Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":1,"days_since_push":0,"last_release_at":"2026-06-28T16:21:00Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-15T10:42:03.696Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-15T10:42:03.036Z"},"deploy":{"source":"dockerfile:docker-compose.yml","self_host":true,"observed_at":"2026-07-15T10:42:03.036Z","managed_saas":false},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-07-15T10:42:03.036Z"},"has_docker":{"value":true,"source":"dockerfile:docker-compose.yml","observed_at":"2026-07-15T10:42:03.036Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-07-15T10:42:03.036Z"}}}}