Commit Graph

1487 Commits

Author SHA1 Message Date
Sharon Hart
1dc24c7f6e Delete presidio-analyzer/Pipfile 2026-04-12 12:08:46 +03:00
dependabot[bot]
69cf95deaa build(deps): bump python in /presidio-anonymizer (#1966)
Bumps python from `5e59aae` to `bc389f7`.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.14-slim
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-04-12 11:47:26 +03:00
dependabot[bot]
ad754c0976 build(deps): bump python in /presidio-image-redactor (#1967)
Bumps python from 3.13-slim to 3.13.13-slim.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.13.13-slim
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-04-12 11:27:16 +03:00
dependabot[bot]
7f1abc51b1 build(deps): bump python in /presidio-analyzer (#1968)
Bumps python from `5072b08` to `804ddf3`.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.12-windowsservercore
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-12 10:51:10 +03:00
Copilot
b4039f8b1e chore: harden supply-chain security — dependabot.yml controls and pyproject.toml defensive version ranges (#1965)
* Initial plan

* chore: harden dependabot.yml with supply-chain security controls (increase strategy, cooldown, groups)

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/205624c5-02cd-469b-a4f6-75bf9ca5e575

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* chore: DRY dependabot.yml pip entries using YAML anchor

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/e2ba4071-50a0-44a7-94cf-39bf715ed718

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* fix: expand YAML anchors to explicit pip entries for Dependabot compatibility

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/fb46fdb0-3b78-4f9e-9a37-26dbe36df88a

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* chore: apply defensive version ranges to all pyproject.toml dependencies

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/748a373d-e3f8-409f-81c9-a7331e61ed5f

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* fix: correct version upper bounds that excluded current PyPI releases

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/1817f8c8-9080-41f9-8d2c-2273af256eee

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-04-12 10:32:40 +03:00
Sharon Hart
d91fa98631 Slim NLP Engine (#1916)
* test slim nlp

* add slim_nlp.yaml

* use blank spacy model for tokenization

* spacy generic tokenizer

* Update nlp_engine_provider.py

---------

Co-authored-by: Omri Mendels <omri374@users.noreply.github.com>
2026-04-12 09:12:42 +03:00
Kennion Black
828af745eb Update IP recognizer regexes (#1941)
* Add regex checks for incomplete IP variants

* Fix test boundaries

* Fix embedded regex lookarounds

* Fix regex name

* Fix edge case with std::cout

* Apply text check to lookahead as well

* Tweak tests

* Update lookbacks for IPv4 patterns and strengthen lookahead for IPv6

* Add colon to word boundary on IPv6 unspecified

* Account for esoteric IP formats

* Add missing IP format from RFC 4291

* Add CIDR format handling

* Add explicit test for no zone suffix in IPv4
2026-04-12 08:10:12 +03:00
dependabot[bot]
800a687848 build(deps): bump python in /presidio-analyzer (#1938)
Bumps python from `f3fa41d` to `5072b08`.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.12-windowsservercore
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-04-09 13:59:42 +03:00
dependabot[bot]
dd29a5fa72 build(deps): bump python in /presidio-anonymizer (#1937)
Bumps python from `fb83750` to `5e59aae`.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.14-slim
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-04-09 10:25:03 +03:00
Kennion Black
060e66928e Add Canadian SIN recognizer (#1934) 2026-04-09 10:10:16 +03:00
dependabot[bot]
a3467496a7 build(deps): bump python in /presidio-image-redactor (#1936)
Bumps python from `f50f56f` to `f1927c7`.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.13-slim
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-04-08 18:59:51 +03:00
dependabot[bot]
9d54ab39be build(deps): bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 (#1935)
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.13.0 to 1.14.0.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](ed0c53931b...cef221092e)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-version: 1.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-08 17:37:25 +03:00
dependabot[bot]
fa4fcf243c fix: revert presidio-analyzer Dockerfiles to Python 3.12 and configure dependabot to allow only patch and digest updates (#1928)
* build(deps): bump python in /presidio-analyzer

Bumps python from 3.12-windowsservercore to 3.15.0a7-windowsservercore.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.15.0a7-windowsservercore
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: expand Python version constraint to support 3.14 and 3.15

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/5a59bae5-3f40-41e0-8964-6ebf92ad4e6c

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* revert: restore Python 3.12 in Dockerfiles and configure dependabot to ignore Python 3.13+ upgrades

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/68f79647-01c0-46a8-b50e-e688b0d196b0

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* fix: use update-types instead of hardcoded version to block major/minor Python bumps in dependabot

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/65489aba-75a7-4786-8f28-dfa6d1266ab1

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
Co-authored-by: Omri Mendels <omri374@users.noreply.github.com>
2026-04-07 21:27:07 +03:00
Sabari07
72d7b2034c Fix conf files handling in Docker + Stanza model accessibility issues (#1930) 2026-04-06 08:41:56 +03:00
Emil Brolin
d0e8122457 Prepared for PR (#1918)
Co-authored-by: Brolin Emil <emil.brolin@bolagsverket.se>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-04-04 10:54:09 +03:00
dependabot[bot]
42bfb19d69 build(deps): bump python in /presidio-anonymizer (#1927)
Bumps python from 3.13-windowsservercore to 3.15.0a7-windowsservercore.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.15.0a7-windowsservercore
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-02 12:46:38 +03:00
Copilot
256dfe09d6 Publish sdist alongside wheels to PyPI (#1924)
* Initial plan

* Release sdist alongside wheels in PyPI publish step

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/e4b59c35-4921-4013-9b15-cd8d90d16fd6

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
2026-03-31 13:06:20 +03:00
Emil Brolin
eb8df01ae3 Swedish personal ID code pattern recognizer (#1912)
* Recognizer working

* Added tests for Swedish Personnummer Recognizer

* Preparing for PR

* Prepared for Pull Request

* Removed local changes in .gitignore

* Corrected accidentially removed ThTninRecognizer in default_recognizers.yaml

* Removed whitelisting

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix indentation in default_recognizers.yaml

* Update presidio-analyzer/presidio_analyzer/predefined_recognizers/country_specific/sweden/se_personnummer_recognizer.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update presidio-analyzer/presidio_analyzer/predefined_recognizers/country_specific/sweden/se_personnummer_recognizer.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update presidio-analyzer/presidio_analyzer/predefined_recognizers/country_specific/sweden/se_personnummer_recognizer.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update CHANGELOG.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Brolin Emil <emil.brolin@bolagsverket.se>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-30 15:35:55 +03:00
Copilot
aed1e5947f fix(ci): guard coverage PR comment step against non-PR contexts (#1921)
Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/6d5867f9-157e-432e-8479-5987a01154b9

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
2026-03-29 14:06:04 +03:00
dependabot[bot]
414580134e build(deps): bump github/codeql-action from 4.34.1 to 4.35.1 (#1920)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.34.1 to 4.35.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](3869755554...c10b8064de)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-29 11:56:27 +03:00
Ron Shakutai
1567e5d892 Fix: config path resolution for PyPI installs (langextract recognizer) (#1917)
* init commit

* test: add tests for resolve_config_path handling PyPI install

* dev mode supposed to be broken

* feat: enhance resolve_config_path to support package conf directory
2026-03-23 11:48:48 +02:00
Sharon Hart
9a6cfb42ac Revert "test slim nlp"
This reverts commit 0d00f9d962.
2026-03-22 14:12:21 +02:00
Sharon Hart
0d00f9d962 test slim nlp 2026-03-22 14:10:08 +02:00
dependabot[bot]
5a1d8c47a3 build(deps): bump actions/cache from 5.0.3 to 5.0.4 (#1913)
Bumps [actions/cache](https://github.com/actions/cache) from 5.0.3 to 5.0.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](cdf6c1fa76...668228422a)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 5.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-03-22 12:06:34 +02:00
dependabot[bot]
e3177ddd7d build(deps): bump github/codeql-action from 4.32.6 to 4.34.1 (#1914)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.32.6 to 4.34.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](0d579ffd05...3869755554)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.34.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-03-22 11:41:39 +02:00
dependabot[bot]
954d5f72a3 build(deps): bump azure/login from 2.3.0 to 3.0.0 (#1915)
Bumps [azure/login](https://github.com/azure/login) from 2.3.0 to 3.0.0.
- [Release notes](https://github.com/azure/login/releases)
- [Commits](a457da9ea1...532459ea53)

---
updated-dependencies:
- dependency-name: azure/login
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-22 11:11:15 +02:00
Michael van den Berg
98f79b9c64 feat(analyzer): add German PII recognizers (DE_*) (#1909)
* feat(analyzer): add German PII recognizers (DE_*)

Adds 9 new predefined recognizers for German personally identifiable
information, all disabled by default (enabled: false) and scoped to
supported_language: de.

Recognizers with checksum validation:
- DE_TAX_ID: Steueridentifikationsnummer (§§ 139a-e AO)
  ISO 7064 Mod 11,10 checksum (Bundeszentralamt für Steuern)
- DE_SOCIAL_SECURITY: Rentenversicherungsnummer / RVNR (§ 147 SGB VI)
  Deutsche Rentenversicherung Bund checksum algorithm
- DE_HEALTH_INSURANCE: Krankenversicherungsnummer KVNR (§ 290 SGB V)
  GKV-Spitzenverband checksum; DSGVO Art. 9 (health data)

Pattern-based recognizers:
- DE_TAX_NUMBER: Steuernummer (§ 139a AO) – ELSTER 13-digit and
  state-specific slash-separated formats
- DE_PASSPORT: Reisepassnummer (PassG § 4, ICAO Doc 9303)
- DE_ID_CARD: Personalausweisnummer (PAuswG) – nPA and legacy format
- DE_KFZ: KFZ-Kennzeichen (FZV § 8, ECJ C-582/14)
- DE_HANDELSREGISTER: Handelsregisternummer HRA/HRB (§§ 9, 14 HGB)
- DE_PLZ: Postleitzahl (DSGVO Art. 4 Nr. 1) – very low base confidence
  (0.05), context words required for actionable results

Also updates:
- predefined_recognizers/__init__.py: imports and __all__
- conf/default_recognizers.yaml: all 9 recognizers registered
- docs/supported_entities.md: new Germany section
- CHANGELOG.md: entry under [unreleased]

133 new tests pass (9 test files, one per recognizer).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: enforce LF line endings for shell scripts in containers

Added .gitattributes to force LF for *.sh files.
CRLF endings in entrypoint.sh caused 'no such file or directory'
when running the presidio-analyzer Docker container on Linux.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(config): enable German recognizers and add 'de' language support

Enabled all 9 DE_* recognizers in default_recognizers.yaml and added
'de' to supported_languages so they are loaded and visible to clients
(e.g. LiteLLM) without requiring ad-hoc configuration.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(config): add 'de' to analyzer engine supported_languages

The registry and engine supported_languages must match.
Missing 'de' in default_analyzer.yaml caused a startup crash.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* revert(config): restore default enabled=false and single-language defaults

Reverts the deployment-specific changes made for local testing:
- German recognizers back to enabled=false (upstream contribution convention)
- supported_languages back to [en] only in both config files

Users who want German PII detection should enable the DE_* recognizers
explicitly in their own deployment configuration.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* style: fix ruff linting issues in German recognizers

- D205: add blank line between summary and description (de_health_insurance_recognizer)
- E501: shorten long lines in de_health_insurance_recognizer, de_kfz_recognizer,
        de_social_security_recognizer, de_tax_id_recognizer
- D214/D406: fix Examples section formatting in de_kfz_recognizer (auto-fixed)

All 133 tests still pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(config): enable German language support and fix DE recognizer patterns

Enable German (de) as a supported language alongside English:
- default_analyzer.yaml: add 'de' to supported_languages
- default_recognizers.yaml: add 'de' to supported_languages, enable all
  nine German PII recognizers (DeTaxIdRecognizer, DeTaxNumberRecognizer,
  DePassportRecognizer, DeIdCardRecognizer, DeSocialSecurityRecognizer,
  DeHealthInsuranceRecognizer, DeKfzRecognizer, DeHandelsregisterRecognizer,
  DePlzRecognizer)
- spacy_en_de.yaml: add dedicated en+de NLP config (en_core_web_lg +
  de_core_news_md) for deployments that only need English and German

Fix DeKfzRecognizer:
- Replace \b word-boundary anchors with (?<![\w-]) / (?!\w) lookarounds
  to prevent false matches starting mid-plate after a hyphen separator
  (e.g. 'M-AB 123' was matching as 'AB 123' instead of 'M-AB 123')
- Add two missing patterns for the common Bindestrich+Leerzeichen format
  '[District]-[Letters] [Digits]' (e.g. M-AB 123, HH-XY 999)

Fix DeTaxNumberRecognizer:
- Replace \b anchors with (?<!\w) / (?!\w) lookarounds on slash-format
  patterns to prevent boundary bleed into surrounding words
- Raise Bayern/BW (3/3/5) pattern confidence from 0.3 to 0.4

NOTE: After this PR is merged a corresponding update to the LiteLLM
Presidio guardrail configuration is needed to map the newly active
German entity types (DE_KFZ, DE_TAX_ID, DE_TAX_NUMBER, DE_ID_CARD,
DE_PASSPORT, DE_SOCIAL_SECURITY, DE_HEALTH_INSURANCE,
DE_HANDELSREGISTER, DE_PLZ) to the desired masking actions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(config): restore English-only defaults and fix import ordering

- Remove 'de' from supported_languages in default_analyzer.yaml and
  default_recognizers.yaml so defaults remain ["en"] as tests expect
- Add enabled: false to all German recognizers in default_recognizers.yaml
  (opt-in instead of opt-out, consistent with other disabled recognizers)
- Move Germany imports to correct alphabetical position in __init__.py
  (after Finland, before India) to fix ruff I001 import-ordering error

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(de-recognizers): address Copilot review feedback on German recognizers

- de_id_card_recognizer: fix docstring example T220001292 (10 chars) -> T22000129 (9 chars)
- de_plz_recognizer: tighten regex to exclude boundary values 01000 and 99999
  via negative lookahead; update docstring accordingly
- test_de_plz_recognizer: add negative test cases for 01000 and 99999
- de_social_security_recognizer: fix day regex [4-7]\d (40-79) -> 5[1-9]|[67]\d
  so supplemental range is correctly 51-81 per spec, not 41-81
- de_tax_number_recognizer: remove undocumented 10-digit plain format from
  docstring (no corresponding pattern exists)
- de_passport_recognizer: remove unused _ICAO_CHARS constant; fix docstring
  example F204004812 (10 chars) -> F20400481 (9 chars)
- de_health_insurance_recognizer: fix docstring example A123456780 (invalid
  checksum) -> A123456787 (valid checksum)
- de_tax_id_recognizer: remove invalid example 02476291358 (leading zero);
  remove unimplemented digit-frequency constraint from docstring

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(de-recognizers): add DE_LANR, DE_BSNR, DE_VAT_ID, DE_FUEHRERSCHEIN recognizers

Adds four new German PII recognizers with tests:

- DE_LANR (Lebenslange Arztnummer): 9-digit physician number with KBV
  check digit validation (weights [4,9,2,10,5,3], cross-sum, mod 10).
  Legal basis: § 75 Abs. 7 SGB V.

- DE_BSNR (Betriebsstättennummer): 9-digit practice/site-of-care number,
  no public checksum, relies on context words for high-confidence matches.
  Legal basis: § 75 Abs. 7 SGB V.

- DE_VAT_ID (Umsatzsteuer-Identifikationsnummer): fixed-prefix pattern
  "DE" + 9 digits per § 27a UStG / BZSt format.

- DE_FUEHRERSCHEIN (Führerscheinnummer): post-2013 EU-harmonized format
  [A-Z]{2}\d{8}[A-Z0-9] (11 chars) per FeV Anlage 8 / EU Directive
  2006/126/EC. No checksum (KBA algorithm not published). Pre-2013
  card formats are explicitly out of scope.

Also moves spacy_en_de.yaml from presidio_analyzer/conf/ to
docs/recipes/german-language-support/ per reviewer feedback, and
reverts the docker-compose.yml NLP_CONF_FILE build arg.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(recipes): align german-language-support README with recipe template

Rewrites the README to follow the template.md structure: Overview,
Quick Start, Approach (with entity/checksum table), Results (TBD
pending formal evaluation), Key Findings, and Tips sections.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-03-19 20:25:22 +02:00
Sharon Hart
2450561bc7 Add clarity cookie consent to docs site (#1908)
* Add clarity cookie consent to docs site

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2.2.362
2026-03-16 17:24:32 +02:00
Copilot
97ffb3a79d Release 2.2.362 / 0.0.58 (#1907)
* Initial plan

* Update CHANGELOG.md unreleased section with unified dependabot entry

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Bump versions to 2.2.362 / 0.0.58 and update CHANGELOG

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Revert CHANGELOG.md to [unreleased] as requested

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Promote [unreleased] to [2.2.362] keeping individual entry descriptions

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Update presidio PyPI meta-package changelog entry with attribution

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Update CHANGELOG.md version comparison links for 2.2.362

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
2026-03-15 14:24:59 +02:00
Copilot
9ef83c3a58 Add configurable timeouts to regex execution (default 60 seconds) (#1904)
* Initial plan

* Add 60-second timeouts to regex operations to prevent ReDoS

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Narrow TimeoutError scope to regex calls only; add exc_info to warnings

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Revert pattern_recognizer.py logic changes; keep original structure with timeout only

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Revert iban_recognizer.py to original lazy iterator structure; add exc_info=True to warnings

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Add IBAN recognizer timeout and empty-match tests to fix CI coverage failure

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Allow REGEX_TIMEOUT_SECONDS to be overridden via environment variable

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-03-15 12:37:24 +02:00
Copilot
6111d1684d docs: clarify Presidio's no-auth-by-design stance in README (#1903)
* Initial plan

* Add authentication and authorization note to main README

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Add auth note to faq.md deployment section; replace lock with warning in README

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Remove auth/authorization note from main README

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
2026-03-12 11:26:17 +02:00
dependabot[bot]
8d3d783f9c build(deps): bump github/codeql-action from 4.32.4 to 4.32.6 (#1895)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.32.4 to 4.32.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](89a39a4e59...0d579ffd05)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.32.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-03-09 13:43:23 +02:00
dependabot[bot]
501d575f2d build(deps): bump actions/setup-dotnet from 5.1.0 to 5.2.0 (#1896)
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](baa11fbfe1...c2fa09f4bd)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-version: 5.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-03-09 13:13:31 +02:00
dependabot[bot]
de5442307d build(deps): bump docker/setup-buildx-action from 3.12.0 to 4.0.0 (#1897)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.12.0 to 4.0.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](8d2750c68a...4d04d5d948)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-03-09 12:29:12 +02:00
dependabot[bot]
289ff5102c build(deps): bump actions/dependency-review-action from 4.8.3 to 4.9.0 (#1898)
Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 4.8.3 to 4.9.0.
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](05fe457637...2031cfc080)

---
updated-dependencies:
- dependency-name: actions/dependency-review-action
  dependency-version: 4.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-03-09 12:11:59 +02:00
Br1an
2e55ed1134 fix(analyzer): remove erroneous anchor in Italian driver license regex (#1899)
The regex for U1-format Italian driver licenses had an erroneous ^ anchor
that prevented matching when the license number was not at the start of
the string. This fix removes the anchor so licenses like U1K711J11M are
correctly recognized regardless of position in text.

Co-authored-by: root <root@C20251020184286.local>
2026-03-09 11:12:44 +02:00
Sense_wang
91b903a6cf fix: replace 1 bare except clauses with except Exception (#1881)
Co-authored-by: Omri Mendels <omri374@users.noreply.github.com>
2026-03-03 18:22:28 +02:00
Copilot
e4bca52a53 Add ONNX Runtime backend support to GLiNERRecognizer with extensible parameter passing (#1884)
* Initial plan

* Add ONNX Runtime backend support to GLiNERRecognizer

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Refactor ONNX tests to use parameterized testing

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Improve documentation and add edge case test for ONNX parameters

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Add model_kwargs support and update GLiNER documentation

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-03-02 21:54:12 +02:00
dependabot[bot]
2e83046c83 Bump python from 3de9a8d to f50f56f in /presidio-image-redactor (#1885)
Bumps python from `3de9a8d` to `f50f56f`.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.13-slim
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-03-02 21:25:44 +02:00
Copilot
e381c830fa Add presidio meta-package: bundles analyzer + anonymizer (#1889)
* Initial plan

* Add presidio meta-package for PyPI release

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Update presidio/README.md to clarify meta-package role and credit papercloudtech/presidio

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Add CHANGELOG entry for presidio meta-package crediting papercloudtech/presidio

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Add presidio-anonymizer dependency and credit Sakthi Santhosh Anumand and Harsha Vardhan

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Credit Sakthi Santhosh Anumand and Harsha Vardhan, add presidio-anonymizer dependency and update tests

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Remove presidio/tests/ directory (smoke tests not needed in repo)

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Remove dev dependencies and coverage config from presidio/pyproject.toml (no tests to run)

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Trigger CI re-run (ARM64 runner was killed by shutdown signal, not a code issue)

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
2026-03-02 18:12:52 +02:00
Tolulope Jegede
08b94d8158 feat: Add UK passport and vehicle registration recognizers (#1862)
* feat: Add UK passport and vehicle registration recognizers

Add two new UK-specific recognizers:
- UK_PASSPORT: detects 2-letter + 7-digit passport numbers (2015+ format)
- UK_VEHICLE_REGISTRATION: detects current (2001+), prefix (1983-2001),
  and suffix (1963-1983) number plate formats with age identifier validation

* style: fix ruff formatting in UK recognizer tests

---------

Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-03-02 16:32:36 +02:00
dependabot[bot]
af738d74ff Bump python from 3de9a8d to f50f56f in /presidio-anonymizer (#1886)
Bumps python from `3de9a8d` to `f50f56f`.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.13-windowsservercore
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-03-02 16:14:15 +02:00
dependabot[bot]
e87e24302d Bump python from 9e01bf1 to f3fa41d in /presidio-analyzer (#1887)
Bumps python from `9e01bf1` to `f3fa41d`.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.12-windowsservercore
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 16:00:58 +02:00
dependabot[bot]
53e9e520a2 Bump actions/setup-dotnet from 4.0.1 to 5.1.0 (#1870)
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 4.0.1 to 5.1.0.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](6bd8b7f777...baa11fbfe1)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-version: 5.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-25 16:48:08 +02:00
dependabot[bot]
530e0ef094 Bump actions/checkout from 4.2.2 to 6.0.2 (#1871)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 6.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](11bd71901b...de0fac2e45)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-02-25 14:48:57 +02:00
dependabot[bot]
2e2ca71060 Bump actions/cache from 4.2.0 to 5.0.3 (#1872)
Bumps [actions/cache](https://github.com/actions/cache) from 4.2.0 to 5.0.3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](1bd1e32a3b...cdf6c1fa76)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 5.0.3
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-02-25 12:17:20 +02:00
dependabot[bot]
5b1bb78422 Bump docker/setup-buildx-action from 3.7.1 to 3.12.0 (#1873)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.7.1 to 3.12.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](c47758b77c...8d2750c68a)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 3.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-02-25 09:18:47 +02:00
dependabot[bot]
d425ecb2ad Bump azure/login from 2.1.1 to 2.3.0 (#1874)
Bumps [azure/login](https://github.com/azure/login) from 2.1.1 to 2.3.0.
- [Release notes](https://github.com/azure/login/releases)
- [Commits](6c251865b4...a457da9ea1)

---
updated-dependencies:
- dependency-name: azure/login
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-02-24 13:40:33 +02:00
dependabot[bot]
d9808f69ae Bump actions/github-script from 7.0.1 to 8.0.0 (#1875)
Bumps [actions/github-script](https://github.com/actions/github-script) from 7.0.1 to 8.0.0.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](60a0d83039...ed597411d8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-02-24 11:54:55 +02:00
dependabot[bot]
ff25ae010e Bump microsoft/security-devops-action from 1.11.0 to 1.12.0 (#1876)
Bumps [microsoft/security-devops-action](https://github.com/microsoft/security-devops-action) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/microsoft/security-devops-action/releases)
- [Commits](cc007d0202...08976cb623)

---
updated-dependencies:
- dependency-name: microsoft/security-devops-action
  dependency-version: 1.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-02-24 11:39:49 +02:00