$npx skillfedfor your agent

presidio-analyzer

Presidio Analyzer package

Worth itPyPI SecurityReleased Jul 20266.8M downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — presidio_analyzer-2.2.364-py3-none-any.whl
v2.2.364 · released 2026-07-22 · Python <3.15,>=3.10 · 8 runtime deps: click, numpy, phonenumbers, pydantic, pyyaml, regex, spacy, tldextract

Yes. Presidio Analyzer is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and offers low-friction installation. It solves a concrete privacy problem with both out-of-the-box recognizers and extensibility for custom needs. The choice between pattern-based and LLM-based detection gives flexibility for different accuracy and privacy trade-offs.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires spaCy NLP model to be downloaded; the AnalyzerEngine loads it by default on first use.
  • For GPU acceleration on Linux with NVIDIA, cupy-cuda12x or matching CUDA version must be installed separately.
  • Low friction installation with a wheel distribution.

License · maintenance · safety

MIT (permissive) — MIT license (permissive) allows free use, modification, and distribution with minimal restrictions, making it suitable for commercial and open-source projects.

last release 2026-07-22 (23 days) · last repo commit 2026-08-11 · 10,483 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 6,771,284 downloads/mo, #1,852 on PyPI

Verify before relying

pip install presidio-analyzer

from presidio_analyzer import AnalyzerEngine

analyzer = AnalyzerEngine()
results = analyzer.analyze(
    text="My phone number is 212-555-5555",
    entities=["PHONE_NUMBER"],
    language='en'
)
print(results)
  • Whether predefined recognizers cover all common PII entity types or if custom recognizers are required for specific use cases.
  • Performance characteristics (latency, throughput) for large-scale text analysis.
  • Whether LangExtract recognizers (Ollama, Azure OpenAI) require additional setup beyond the base install.
Same gist for agents: .md · .json

What it is and what it does

Presidio Analyzer is a Python service that scans unstructured text to find and identify personally identifiable information (PII) such as phone numbers, email addresses, and other sensitive data. It comes with a set of predefined recognizers that use regex, spaCy-based named entity recognition, and other detection logic to identify PII entities. The package can be extended with custom recognizers for domain-specific or specialized PII types.

The analyzer supports both traditional pattern-based detection and modern language model-based approaches. For LLM-based detection, it integrates with Ollama (for local, privacy-preserving deployments) and Azure OpenAI (for cloud-based detection). The core engine loads a spaCy NLP model by default and orchestrates multiple recognizers to produce a comprehensive analysis of detected entities in a given text.

Use it for

  • Scan customer support tickets or chat logs to identify and redact PII before storage or sharing.
  • Validate data pipelines to ensure sensitive information is not leaked in logs or exported datasets.
  • Build privacy-compliance workflows that detect PII in documents before they are processed or archived.
  • Extend with custom recognizers to detect domain-specific sensitive data (e.g., medical record numbers, financial account identifiers).
  • Deploy locally via Ollama for on-premise PII detection without sending text to external APIs.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

Presidio Analyzer is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and offers low-friction installation. It solves a concrete privacy problem with both out-of-the-box recognizers and extensibility for custom needs. The choice between pattern-based and LLM-based detection gives flexibility for different accuracy and privacy trade-offs.

Install

presidio-analyzer on PyPI

Before you install

Low friction installation with a wheel distribution. Active maintenance with a recent release (23 days old) and strong repository activity (10483 stars). Supports modern Python versions (3.10–3.14).

Requires spaCy NLP model to be downloaded; the AnalyzerEngine loads it by default on first use. For GPU acceleration on Linux with NVIDIA, cupy-cuda12x or matching CUDA version must be installed separately.

License in practice

MIT license (permissive) allows free use, modification, and distribution with minimal restrictions, making it suitable for commercial and open-source projects.

Quickstart

pip install presidio-analyzer

from presidio_analyzer import AnalyzerEngine

analyzer = AnalyzerEngine()
results = analyzer.analyze(
    text="My phone number is 212-555-5555",
    entities=["PHONE_NUMBER"],
    language='en'
)
print(results)

Verify before relying

  • Whether predefined recognizers cover all common PII entity types or if custom recognizers are required for specific use cases.
  • Performance characteristics (latency, throughput) for large-scale text analysis.
  • Whether LangExtract recognizers (Ollama, Azure OpenAI) require additional setup beyond the base install.

Package facts

LicenseMIT permissive
Python supportSupports the current Python release <3.15,>=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
8 packages
clicknumpyphonenumberspydanticpyyamlregexspacytldextract
MaintenanceActively maintained 23 days since the last release
Last repo commit
First released
Downloads6,771,284 / month, #1,852 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Evidence: presidio_analyzer-2.2.364-py3-none-any.whl

Tags

Capabilities
PII detection in textpersonally identifiable information recognitionnamed entity recognition NERdata privacy scanningsensitive data detectionPII analyzertext privacy masking
Topics
pii-detectionprivacy-compliancenlp
PyPI keywords
presidio_analyzer

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 › “PII detection in text”

Give your agent the search over MCP, or paste the wish link into any chat.

More Security packages

SecretStorage With conditions
PyPI · Python Modules · released Nov 2025

Provides Python bindings to the FreeDesktop.org Secret Service API for securely storing and retrieving passwords and secrets through GNOME Keyring, KWallet, or KeePassXC.

BSD-3-Clausepure Python · 3.10+aging
226.9Mdownloads / mo
msal Worth it
PyPI · Security · released May 2026

MSAL for Python handles OAuth2 and OpenID Connect authentication with Microsoft identity services, managing token acquisition, caching, and refresh for applications integrating with Microsoft Entra ID, Microsoft Accounts, and Azure AD B2C.

MITpure Python · 3.9+
223.0Mdownloads / mo
joserfc Worth it
PyPI · Security · released Jul 2026

joserfc implements JOSE standards (JWS, JWE, JWK, JWT, and related RFCs) for signing, encrypting, and managing JSON-based cryptographic tokens in Python.

BSD-3-Clausepure Python · 3.10+
155.5Mdownloads / mo
Authlib Worth it
PyPI · Security · released May 2026

Authlib provides a complete implementation of OAuth 1.0, OAuth 2.0, and OpenID Connect 1.0 for building both authentication clients and servers, with built-in support for JWS, JWK, JWA, and JWT standards.

BSD-3-Clausepure Python · 3.10+
155.1Mdownloads / mo
argon2-cffi-bindings With conditions
PyPI · Python Modules · released Jul 2025

Provides low-level CFFI bindings to the official Argon2 password hashing algorithm for use by libraries and applications that need direct access to Argon2 without higher-level abstractions.

MITcompiled wheel · 3.9+
74.2Mdownloads / mo
adal Skip
PyPI · Security · released Apr 2021

ADAL for Python authenticates applications with Azure Active Directory to obtain tokens for accessing Azure AD-protected resources.

Install only if maintaining existing code that already depends on it, and plan a migration.

MITpure Pythonabandoned
44.5Mdownloads / mo

See also presidio-anonymizer · presidio-image-redactor · argus-redact · scrubadub · recognizers-text-choice · openmed · recognizers-text-number · recognizers-text · gliner · recognizers-text-date-time