Repository Analysis

data-privacy-stack/presidio

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.

35.6 Strong AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of data-privacy-stack/presidio, a Python project with 9,993 GitHub stars. SynthScan v2.0 examined 84,096 lines of code across 714 source files, recording 2305 pattern matches distributed across 20 syntactic categories. The overall adjusted score of 35.6 places this repository in the Strong AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

35.6
Adjusted Score
35.6
Raw Score
100%
Time Factor
2026-07-13
Last Push
10.0K
Stars
Python
Language
84.1K
Lines of Code
714
Files
2.3K
Pattern Hits
2026-07-14
Scan Date
0.13
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 95MEDIUM 143LOW 2067

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 2305 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers1426 hits · 1443 pts
SeverityFileLineSnippetContext
LOWpresidio-analyzer/install_nlp_models.py65def _install_models_from_nlp_config(nlp_configuration: dict) -> None:CODE
LOWpresidio-analyzer/install_nlp_models.py105def _install_transformers_spacy_models(model_name: Dict[str, str]) -> None:CODE
LOWpresidio-analyzer/app.py168def _exclude_attributes_from_dto(recognizer_result_list):CODE
LOWpresidio-analyzer/tests/test_us_bank_recognizer.py28def test_when_bank_in_text_then_all_us_banks_found(CODE
LOWpresidio-analyzer/tests/test_spacy_recognizer.py68def test_when_using_spacy_then_all_spacy_result_found(CODE
LOWpresidio-analyzer/tests/test_spacy_recognizer.py88def test_when_person_in_text_then_person_full_name_complex_found(CODE
LOWpresidio-analyzer/tests/test_spacy_recognizer.py105def test_analyze_no_nlp_artifacts():CODE
LOWpresidio-analyzer/tests/test_spacy_recognizer.py111def test_entity_not_returned_if_not_in_supported_entities(mock_nlp_artifacts):CODE
LOWpresidio-analyzer/tests/test_uk_nino_recognizer.py39def test_when_nino_in_text_then_all_uk_ninos_found(CODE
LOWpresidio-analyzer/tests/test_it_passport_recognizer.py26def test_when_passport_in_text_then_all_it_passports_found(CODE
LOWpresidio-analyzer/tests/test_spacy_nlp_engine.py26def test_process_batch_strings(spacy_nlp_engine):CODE
LOWpresidio-analyzer/tests/test_spacy_nlp_engine.py38def test_nlp_not_loaded_value_error():CODE
LOWpresidio-analyzer/tests/test_spacy_nlp_engine.py46def test_validate_model_params_missing_fields():CODE
LOWpresidio-analyzer/tests/test_spacy_nlp_engine.py57def test_default_configuration_correct():CODE
LOWpresidio-analyzer/tests/test_spacy_nlp_engine.py74def test_get_supported_entities_doesnt_include_ignored():CODE
LOWpresidio-analyzer/tests/test_spacy_nlp_engine.py91def test_batch_processing_with_as_tuples_returns_context(spacy_nlp_engine, texts, as_tuples):CODE
LOWpresidio-analyzer/tests/test_spacy_nlp_engine.py109def test_when_gpu_available_then_spacy_gpu_configured():CODE
LOWpresidio-analyzer/tests/test_spacy_nlp_engine.py124def test_when_gpu_configuration_fails_then_warning_logged():CODE
LOWpresidio-analyzer/tests/test_spacy_nlp_engine.py141def test_when_cpu_device_then_gpu_not_configured():CODE
LOWpresidio-analyzer/tests/test_au_tfn_recognizer.py33def test_when_all_tfns_then_succeed(CODE
LOWpresidio-analyzer/tests/test_language_validation.py6def test_configuration_validator_language_codes_no_exception():CODE
LOWpresidio-analyzer/tests/test_language_validation.py11def test_configuration_validator_language_codes_invalid():CODE
LOWpresidio-analyzer/tests/test_device_detector.py18 def test_when_env_var_set_to_cpu_then_uses_cpu(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py24 def test_when_env_var_set_to_cuda_then_uses_cuda(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py30 def test_when_env_var_set_to_specific_gpu_then_uses_it(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py40 def test_when_env_var_has_whitespace_then_trimmed(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py50 def test_when_env_var_empty_then_auto_detects(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py56 def test_when_env_var_not_set_then_auto_detects(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py65 def test_when_env_var_set_skips_auto_detection(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py77 def test_when_torch_import_fails_then_cpu_device(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py84 def test_when_cuda_not_available_then_cpu_device(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py99 def test_when_cuda_initialization_fails_then_fallback_to_cpu(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py115 def test_when_cuda_get_device_name_fails_then_fallback_to_cpu(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py132 def test_when_cuda_available_then_cuda_device(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py150 def test_when_cuda_available_then_uses_cuda_not_cpu(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py172 def test_when_get_device_then_returns_string(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py179 def test_when_multiple_instances_then_same_values(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py192 def test_when_spacy_engine_loads_then_uses_device_detector(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py203 def test_when_stanza_engine_initializes_then_sets_device(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py215 def test_when_gliner_recognizer_initializes_then_uses_correct_device(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py225 def test_when_stanza_engine_device_matches_device_detector(self):CODE
LOWpresidio-analyzer/tests/test_device_detector.py240 def test_when_creating_new_instance_then_device_consistent(self):CODE
LOW…o-analyzer/tests/test_de_handelsregister_recognizer.py50def test_when_all_de_handelsregister_numbers_then_succeed(CODE
LOW…io-analyzer/tests/test_kr_driver_license_recognizer.py46def test_when_all_driver_licenses_then_succeed(CODE
LOWpresidio-analyzer/tests/test_in_aadhaar_recognizer.py37def test_when_aadhaar_in_text_then_all_aadhaars_found(CODE
LOWpresidio-analyzer/tests/test_ip_recognizer.py58def test_when_all_ips_then_succeed(CODE
LOWpresidio-analyzer/tests/test_ip_recognizer.py229def test_when_multiple_ips_then_all_found(CODE
LOWpresidio-analyzer/tests/test_ip_recognizer.py265def test_when_non_ip_pattern_then_no_match(CODE
LOWpresidio-analyzer/tests/test_ip_recognizer.py303def test_when_ip_at_boundary_then_correct_span(CODE
LOWpresidio-analyzer/tests/test_ip_recognizer.py343def test_when_invalid_ip_then_no_match(CODE
LOWpresidio-analyzer/tests/test_ip_recognizer.py377def test_when_special_ip_variants_then_succeed(CODE
LOWpresidio-analyzer/tests/test_ip_recognizer.py426def test_when_cidr_notation_then_largest_span_redacted(CODE
LOWpresidio-analyzer/tests/test_kr_frn_recognizer.py42def test_when_all_frns_then_succeed(CODE
LOWpresidio-analyzer/tests/test_it_vat_code_recognizer.py34def test_when_fiscalcode_in_text_then_all_it_fiscalcode_found(CODE
LOWpresidio-analyzer/tests/test_uk_passport_recognizer.py122def test_when_passport_in_text_then_all_uk_passports_found( # noqa: D103CODE
LOWpresidio-analyzer/tests/test_azure_auth_helper.py11 def test_when_development_env_then_uses_default_credential(self, mock_default_cred):CODE
LOWpresidio-analyzer/tests/test_azure_auth_helper.py29 def test_when_production_env_then_uses_chained_credential(CODE
LOWpresidio-analyzer/tests/test_azure_auth_helper.py49 def test_when_no_env_set_then_uses_chained_credential(CODE
LOWpresidio-analyzer/tests/test_azure_auth_helper.py76 def test_when_scope_provided_then_returns_provider(CODE
LOWpresidio-analyzer/tests/test_azure_auth_helper.py97 def test_when_custom_credential_provided_then_uses_it(self, mock_get_provider):CODE
1366 more matches not shown…
Decorative Section Separators113 hits · 333 pts
SeverityFileLineSnippetContext
MEDIUMpresidio-analyzer/tests/test_recognizer_registry.py248# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_recognizer_registry.py250# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_recognizer_registry.py325# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_recognizer_registry.py327# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_recognizer_registry.py601# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_recognizer_registry.py603# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_recognizer_registry.py475# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_recognizer_registry.py486# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_recognizer_registry.py617# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_recognizer_registry.py619# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_de_vat_id_recognizer.py48# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_de_vat_id_recognizer.py50# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_de_vat_id_recognizer.py91# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_de_vat_id_recognizer.py93# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_de_vat_id_recognizer.py127# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_de_vat_id_recognizer.py129# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_de_vat_id_recognizer.py158# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_de_vat_id_recognizer.py160# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_de_vat_id_recognizer.py178# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-analyzer/tests/test_de_vat_id_recognizer.py180# ---------------------------------------------------------------------------COMMENT
MEDIUM…esidio-analyzer/tests/test_recognizers_loader_utils.py185# ---------------------------------------------------------------------------COMMENT
MEDIUM…esidio-analyzer/tests/test_recognizers_loader_utils.py187# ---------------------------------------------------------------------------COMMENT
MEDIUM…/country_specific/sweden/se_personnummer_recognizer.py29 # ---------------------------------------------------------------------COMMENT
MEDIUM…/country_specific/sweden/se_personnummer_recognizer.py31 # ---------------------------------------------------------------------COMMENT
MEDIUM…/country_specific/sweden/se_personnummer_recognizer.py53 # ---------------------------------------------------------------------COMMENT
MEDIUM…/country_specific/sweden/se_personnummer_recognizer.py55 # ---------------------------------------------------------------------COMMENT
MEDIUM…/country_specific/sweden/se_personnummer_recognizer.py74 # ---------------------------------------------------------------------COMMENT
MEDIUM…/country_specific/sweden/se_personnummer_recognizer.py76 # ---------------------------------------------------------------------COMMENT
MEDIUM…/country_specific/sweden/se_personnummer_recognizer.py117 # ---------------------------------------------------------------------COMMENT
MEDIUM…/country_specific/sweden/se_personnummer_recognizer.py119 # ---------------------------------------------------------------------COMMENT
MEDIUM…y_specific/sweden/se_organisationsnummer_recognizer.py61 # ---------------------------------------------------------COMMENT
MEDIUM…y_specific/sweden/se_organisationsnummer_recognizer.py63 # ---------------------------------------------------------COMMENT
MEDIUM…y_specific/sweden/se_organisationsnummer_recognizer.py93 # ---------------------------------------------------------COMMENT
MEDIUM…y_specific/sweden/se_organisationsnummer_recognizer.py95 # ---------------------------------------------------------COMMENT
MEDIUM…rs/country_specific/us/us_driver_license_recognizer.py6# ---------------COMMENT
MEDIUMpresidio-anonymizer/tests/test_anonymizer_engine.py301# ---------------------------------------------------------------------------COMMENT
MEDIUMpresidio-anonymizer/tests/test_anonymizer_engine.py303# ---------------------------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py99# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py101# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py580# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py582# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py843# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py845# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py920# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py922# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py952# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py954# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py979# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py981# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py37# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py39# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py126# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py128# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py164# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py166# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py236# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py238# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py279# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py281# ------------------------------------------------------COMMENT
MEDIUM…age-redactor/tests/test_dicom_image_redactor_engine.py357# ------------------------------------------------------COMMENT
53 more matches not shown…
Cross-File Repetition63 hits · 315 pts
SeverityFileLineSnippetContext
HIGHpresidio-analyzer/app.py0_______ _______ _______ _______ _________ ______ _________ _______ ( ____ )( ____ )( ____ \( ____ \\__ __/( __ \ \__ __/STRING
HIGHpresidio-anonymizer/app.py0_______ _______ _______ _______ _________ ______ _________ _______ ( ____ )( ____ )( ____ \( ____ \\__ __/( __ \ \__ __/STRING
HIGHpresidio-image-redactor/app.py0_______ _______ _______ _______ _________ ______ _________ _______ ( ____ )( ____ )( ____ \( ____ \\__ __/( __ \ \__ __/STRING
HIGH…esidio-analyzer/presidio_analyzer/recognizer_result.py0serialize self to dictionary. :return: a dictionarySTRING
HIGH…esidio-analyzer/presidio_analyzer/entity_recognizer.py0serialize self to dictionary. :return: a dictionarySTRING
HIGH…dio-analyzer/presidio_analyzer/analysis_explanation.py0serialize self to dictionary. :return: a dictionarySTRING
HIGH…sidio-analyzer/presidio_analyzer/pattern_recognizer.py0validate the pattern logic e.g., by running checksum on a detected pattern. :param pattern_text: the text to validated. STRING
HIGH…nizers/country_specific/australia/au_tfn_recognizer.py0validate the pattern logic e.g., by running checksum on a detected pattern. :param pattern_text: the text to validated. STRING
HIGH…s/country_specific/australia/au_medicare_recognizer.py0validate the pattern logic e.g., by running checksum on a detected pattern. :param pattern_text: the text to validated. STRING
HIGH…nizers/country_specific/australia/au_abn_recognizer.py0validate the pattern logic e.g., by running checksum on a detected pattern. :param pattern_text: the text to validated. STRING
HIGH…nizers/country_specific/australia/au_acn_recognizer.py0validate the pattern logic e.g., by running checksum on a detected pattern. :param pattern_text: the text to validated. STRING
HIGH…d_recognizers/country_specific/uk/uk_nhs_recognizer.py0validate the pattern logic e.g., by running checksum on a detected pattern. :param pattern_text: the text to validated. STRING
HIGH…nizers/country_specific/singapore/sg_uen_recognizer.py0validate the pattern logic e.g., by running checksum on a detected pattern. :param pattern_text: the text to validated. STRING
HIGH…rs/country_specific/italy/it_fiscal_code_recognizer.py0validate the pattern logic e.g., by running checksum on a detected pattern. :param pattern_text: the text to validated. STRING
HIGH…ined_recognizers/country_specific/italy/it_vat_code.py0validate the pattern logic e.g., by running checksum on a detected pattern. :param pattern_text: the text to validated. STRING
HIGH…s/country_specific/turkey/tr_national_id_recognizer.py0validate the pattern logic e.g., by running checksum on a detected pattern. :param pattern_text: the text to validated. STRING
HIGH…ecognizers/country_specific/thai/th_tnin_recognizer.py0validate the pattern logic e.g., by running checksum on a detected pattern. :param pattern_text: the text to validated. STRING
HIGH…zers/country_specific/us/medical_license_recognizer.py0recognizes nhs number using regex and checksum. :param patterns: list of patterns to be used by this recognizer :param cSTRING
HIGH…ecognizers/country_specific/spain/es_nie_recognizer.py0recognizes nhs number using regex and checksum. :param patterns: list of patterns to be used by this recognizer :param cSTRING
HIGH…ecognizers/country_specific/spain/es_nif_recognizer.py0recognizes nhs number using regex and checksum. :param patterns: list of patterns to be used by this recognizer :param cSTRING
HIGH…d_recognizers/country_specific/uk/uk_nhs_recognizer.py0recognizes nhs number using regex and checksum. :param patterns: list of patterns to be used by this recognizer :param cSTRING
HIGH…edefined_recognizers/generic/credit_card_recognizer.py0recognizes nhs number using regex and checksum. :param patterns: list of patterns to be used by this recognizer :param cSTRING
HIGH…ognizers/country_specific/us/us_passport_recognizer.py0recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by thSTRING
HIGH…rs/country_specific/us/us_driver_license_recognizer.py0recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by thSTRING
HIGH…_recognizers/country_specific/us/us_bank_recognizer.py0recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by thSTRING
HIGH…_recognizers/country_specific/uk/uk_nino_recognizer.py0recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by thSTRING
HIGH…country_specific/italy/it_driver_license_recognizer.py0recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by thSTRING
HIGH…rs/country_specific/italy/it_fiscal_code_recognizer.py0recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by thSTRING
HIGH…izers/country_specific/italy/it_passport_recognizer.py0recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by thSTRING
HIGH…/country_specific/italy/it_identity_card_recognizer.py0recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by thSTRING
HIGH…nizers/country_specific/singapore/sg_fin_recognizer.py0recognize email addresses using regex. :param patterns: list of patterns to be used by this recognizer :param context: lSTRING
HIGH…nizers/country_specific/singapore/sg_uen_recognizer.py0recognize email addresses using regex. :param patterns: list of patterns to be used by this recognizer :param context: lSTRING
HIGH…ers/country_specific/philippines/ph_umid_recognizer.py0recognize email addresses using regex. :param patterns: list of patterns to be used by this recognizer :param context: lSTRING
HIGH…yzer/predefined_recognizers/generic/date_recognizer.py0recognize email addresses using regex. :param patterns: list of patterns to be used by this recognizer :param context: lSTRING
HIGH…alyzer/predefined_recognizers/generic/ip_recognizer.py0recognize email addresses using regex. :param patterns: list of patterns to be used by this recognizer :param context: lSTRING
HIGH…zer/predefined_recognizers/generic/email_recognizer.py0recognize email addresses using regex. :param patterns: list of patterns to be used by this recognizer :param context: lSTRING
HIGH…recognizers/nlp_engine_recognizers/spacy_recognizer.py0create explanation for why this result was detected. :param original_score: score given by this recognizer :param explanSTRING
HIGHdocs/samples/python/flair_recognizer.py0create explanation for why this result was detected. :param original_score: score given by this recognizer :param explanSTRING
HIGHdocs/samples/python/span_marker_recognizer.py0create explanation for why this result was detected. :param original_score: score given by this recognizer :param explanSTRING
HIGHdocs/samples/python/streamlit/flair_recognizer.py0create explanation for why this result was detected. :param original_score: score given by this recognizer :param explanSTRING
HIGH…io-analyzer/presidio_analyzer/nlp_engine/nlp_engine.py0return the supported languages for this nlp engine.STRING
HIGH…/presidio_analyzer/nlp_engine/slim_spacy_nlp_engine.py0return the supported languages for this nlp engine.STRING
HIGH…lyzer/presidio_analyzer/nlp_engine/spacy_nlp_engine.py0return the supported languages for this nlp engine.STRING
HIGHdocs/samples/python/flair_recognizer.py0load the model, not used. model is loaded during initialization.STRING
HIGHdocs/samples/python/span_marker_recognizer.py0load the model, not used. model is loaded during initialization.STRING
HIGHdocs/samples/python/streamlit/flair_recognizer.py0load the model, not used. model is loaded during initialization.STRING
HIGHdocs/samples/python/flair_recognizer.py0return supported entities by this model. :return: list of the supported entities.STRING
HIGHdocs/samples/python/span_marker_recognizer.py0return supported entities by this model. :return: list of the supported entities.STRING
HIGHdocs/samples/python/streamlit/flair_recognizer.py0return supported entities by this model. :return: list of the supported entities.STRING
HIGH…thon/transformers_recognizer/transformer_recognizer.py0return supported entities by this model. :return: list of the supported entities.STRING
HIGH…nonymaztion-and-deanonymaztion-best-practices/index.md0anonymize the given text using presidio analyzer and anonymizer enginesSTRING
HIGH…sample_for_presidio_pr/anonymization_toolkit_sample.md0anonymize the given text using presidio analyzer and anonymizer enginesSTRING
HIGH…ces/src/api/services/presidio/http_presidio_service.py0anonymize the given text using presidio analyzer and anonymizer enginesSTRING
HIGH…s/src/api/services/presidio/python_presidio_service.py0anonymize the given text using presidio analyzer and anonymizer enginesSTRING
HIGH…s/src/api/services/presidio/hybrid_presidio_service.py0anonymize the given text using presidio analyzer and anonymizer enginesSTRING
HIGH…nonymaztion-and-deanonymaztion-best-practices/index.md0deanonymize the given text using presidio analyzer and anonymizer enginesSTRING
HIGH…sample_for_presidio_pr/anonymization_toolkit_sample.md0deanonymize the given text using presidio analyzer and anonymizer enginesSTRING
HIGH…ces/src/api/services/presidio/http_presidio_service.py0deanonymize the given text using presidio analyzer and anonymizer enginesSTRING
HIGH…s/src/api/services/presidio/python_presidio_service.py0deanonymize the given text using presidio analyzer and anonymizer enginesSTRING
HIGH…s/src/api/services/presidio/hybrid_presidio_service.py0deanonymize the given text using presidio analyzer and anonymizer enginesSTRING
3 more matches not shown…
Unused Imports347 hits · 308 pts
SeverityFileLineSnippetContext
LOWpresidio-analyzer/tests/test_spacy_recognizer.py6CODE
LOWpresidio-analyzer/tests/test_ahds_recognizer.py15CODE
LOWpresidio-analyzer/tests/test_ahds_recognizer.py16CODE
LOWpresidio-analyzer/tests/test_ahds_recognizer.py16CODE
LOWpresidio-analyzer/tests/test_ahds_recognizer.py16CODE
LOWpresidio-analyzer/tests/test_ahds_recognizer.py21CODE
LOWpresidio-analyzer/tests/test_langextract_helper.py2CODE
LOWpresidio-analyzer/tests/test_langextract_helper.py3CODE
LOWpresidio-analyzer/tests/test_langextract_helper.py3CODE
LOWpresidio-analyzer/tests/__init__.py1CODE
LOWpresidio-analyzer/tests/__init__.py1CODE
LOWpresidio-analyzer/tests/__init__.py1CODE
LOWpresidio-analyzer/tests/test_base_chunker.py2CODE
LOWpresidio-analyzer/tests/test_entity_mapper.py2CODE
LOWpresidio-analyzer/tests/test_stanza_batch_processing.py4CODE
LOW…esidio-analyzer/tests/test_analyzer_engine_provider.py6CODE
LOWpresidio-analyzer/tests/test_iban_recognizer.py1CODE
LOWpresidio-analyzer/tests/test_lm_recognizer.py3CODE
LOW…io-analyzer/tests/test_basic_langextract_recognizer.py3CODE
LOW…io-analyzer/tests/test_basic_langextract_recognizer.py4CODE
LOWpresidio-analyzer/tests/test_prompt_loader.py3CODE
LOW…zer/tests/test_ahds_recognizer_credential_selection.py4CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py6CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py7CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py8CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py9CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py10CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py11CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py12CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py13CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py14CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py15CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py16CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py17CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py18CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py19CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py20CODE
LOWpresidio-analyzer/presidio_analyzer/__init__.py21CODE
LOW…esidio-analyzer/presidio_analyzer/remote_recognizer.py7CODE
LOW…esidio-analyzer/presidio_analyzer/entity_recognizer.py8CODE
LOWpresidio-analyzer/presidio_analyzer/lm_recognizer.py17CODE
LOW…sidio-analyzer/presidio_analyzer/pattern_recognizer.py17CODE
LOW…yzer/presidio_analyzer/recognizer_registry/__init__.py3CODE
LOW…yzer/presidio_analyzer/recognizer_registry/__init__.py4CODE
LOW…alyzer/recognizer_registry/recognizers_loader_utils.py1CODE
LOW…er/recognizer_registry/recognizer_registry_provider.py1CODE
LOW…nalyzer/presidio_analyzer/input_validation/__init__.py3CODE
LOW…nalyzer/presidio_analyzer/input_validation/__init__.py4CODE
LOW…nalyzer/presidio_analyzer/input_validation/__init__.py5CODE
LOW…nalyzer/presidio_analyzer/input_validation/__init__.py5CODE
LOW…nalyzer/presidio_analyzer/input_validation/__init__.py5CODE
LOW…nalyzer/presidio_analyzer/input_validation/__init__.py5CODE
LOW…nalyzer/presidio_analyzer/input_validation/__init__.py5CODE
LOW…nalyzer/presidio_analyzer/input_validation/__init__.py5CODE
LOW…nalyzer/presidio_analyzer/input_validation/__init__.py5CODE
LOW…sidio-analyzer/presidio_analyzer/llm_utils/__init__.py3CODE
LOW…sidio-analyzer/presidio_analyzer/llm_utils/__init__.py3CODE
LOW…sidio-analyzer/presidio_analyzer/llm_utils/__init__.py3CODE
LOW…sidio-analyzer/presidio_analyzer/llm_utils/__init__.py3CODE
LOW…sidio-analyzer/presidio_analyzer/llm_utils/__init__.py3CODE
287 more matches not shown…
Cross-Language Confusion27 hits · 170 pts
SeverityFileLineSnippetContext
HIGH…io-analyzer/tests/test_basic_langextract_recognizer.py666 # When kwargs/language_model_params are null, explicit kwargs are emptyCOMMENT
HIGHe2e-tests/tests/test_api_analyzer.py19 {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation":null},CODE
HIGHe2e-tests/tests/test_api_analyzer.py20 {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanation"CODE
HIGHe2e-tests/tests/test_api_analyzer.py169 {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation": null},CODE
HIGHe2e-tests/tests/test_api_analyzer.py170 {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanation"CODE
HIGHe2e-tests/tests/test_api_analyzer.py365 {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation":null},CODE
HIGHe2e-tests/tests/test_api_analyzer.py366 {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanationCODE
HIGHe2e-tests/tests/test_api_analyzer.py367 {"entity_type": "ZIP", "start": 50, "end": 55, "score": 0.01, "analysis_explanation":null}CODE
HIGHe2e-tests/tests/test_api_analyzer.py436 {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation":null},CODE
HIGHe2e-tests/tests/test_api_analyzer.py437 {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanationCODE
HIGHe2e-tests/tests/test_api_analyzer.py438 {"entity_type": "ZIP", "start": 50, "end": 55, "score": 0.4, "analysis_explanation":null}CODE
HIGHe2e-tests/tests/test_api_analyzer.py474 {"entity_type": "PERSON", "start": 4, "end": 14, "score": 0.85, "analysis_explanation":null},CODE
HIGHe2e-tests/tests/test_api_analyzer.py475 {"entity_type": "US_DRIVER_LICENSE", "start": 36, "end": 44, "score": 0.6499999999999999, "analysis_explanationCODE
HIGHe2e-tests/tests/test_api_analyzer.py476 {"entity_type": "MR_TITLE", "start": 0, "end": 3, "score": 1.0, "analysis_explanation":null}CODE
HIGHe2e-tests/tests/test_api_analyzer.py593 {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation":null},CODE
HIGHe2e-tests/tests/test_api_analyzer.py594 {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanatCODE
HIGHe2e-tests/tests/test_api_analyzer.py597 {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation":null},CODE
HIGHe2e-tests/tests/test_api_analyzer.py598 {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanatCODE
HIGHe2e-tests/tests/test_api_analyzer.py192 "recognizer": "SpacyRecognizer", "pattern_name": null, "pattern": null, "original_score": 0.85, "score": 0.8CODE
HIGHe2e-tests/tests/test_api_analyzer.py201 "original_score": 0.3, "score": 0.6499999999999999, "textual_explanation": null,CODE
HIGHe2e-tests/tests/test_api_analyzer.py227 "pattern": null,CODE
HIGHe2e-tests/tests/test_api_analyzer.py228 "pattern_name": null,CODE
HIGHe2e-tests/tests/test_api_analyzer.py250 "textual_explanation": null,CODE
HIGHe2e-tests/tests/test_api_analyzer.py542 {"entity_type": "EMAIL_ADDRESS", "start": 7, "end": 23, "score": 0.85, "analysis_explanation":null}CODE
HIGHe2e-tests/tests/test_api_analyzer.py568 {"entity_type": "EMAIL_ADDRESS", "start": 7, "end": 23, "score": 0.85, "analysis_explanation":null}CODE
HIGHe2e-tests/tests/test_api_e2e_integration_flows.py78 {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation": null}CODE
HIGHe2e-tests/tests/test_api_e2e_integration_flows.py124 {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation": null}CODE
Fake / Example Data72 hits · 79 pts
SeverityFileLineSnippetContext
LOW…yzer/tests/test_azure_openai_langextract_recognizer.py477 mock_extraction.extraction_text = "John Doe"CODE
LOWpresidio-analyzer/tests/test_gliner_recognizer.py155 if "Jane Doe" in text:CODE
LOWpresidio-analyzer/tests/test_gliner_recognizer.py156 start = text.find("Jane Doe")CODE
LOWpresidio-analyzer/tests/test_gliner_recognizer.py181 assert text[results[1].start:results[1].end] == "Jane Doe"CODE
LOWpresidio-analyzer/tests/test_examples_loader.py137 "text": "John Doe",CODE
LOWpresidio-analyzer/tests/test_examples_loader.py139 {"extraction_class": "PERSON", "extraction_text": "John Doe", "attributes": {}}CODE
LOWpresidio-analyzer/tests/test_examples_loader.py22 extraction_text: "John Doe"CODE
LOWpresidio-analyzer/tests/test_examples_loader.py114 "extraction_text": "John Doe",CODE
LOWpresidio-analyzer/tests/test_examples_loader.py153 assert result[0].text == "John Doe"CODE
LOWpresidio-analyzer/tests/test_examples_loader.py231 extraction_text: "John Doe"CODE
LOW…io-analyzer/tests/test_basic_langextract_recognizer.py246 mock_extraction.extraction_text = "John Doe"CODE
LOW…io-analyzer/tests/test_basic_langextract_recognizer.py272 person_extraction.extraction_text = "John Doe"CODE
LOW…io-analyzer/tests/test_basic_langextract_recognizer.py286 phone_extraction.extraction_text = "555-1234"CODE
LOW…io-analyzer/tests/test_basic_langextract_recognizer.py547 mock_extraction.extraction_text = "John Doe"CODE
LOW…conf/langextract_prompts/default_pii_phi_examples.yaml9 extraction_text: "John Doe"CODE
LOW…conf/langextract_prompts/default_pii_phi_examples.yaml62 extraction_text: "Acme Corp"CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py295 MockRecognizerResult('PERSON', 0, 8, 'John Doe', 0.9),CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py310 {'entity_type': 'PERSON', 'start': 0, 'end': 8, 'text': 'John Doe', 'score': 0.9}CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py202 'text': 'John Doe',CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py267 'text': 'John Doe',CODE
LOW…-anonymizer/tests/integration/test_anonymize_engine.py195 # Verify that "Jane Doe" was hashed to the same valueCOMMENT
LOW…-anonymizer/tests/integration/test_anonymize_engine.py206 RecognizerResult(start=11, end=19, score=0.8, entity_type="NAME"), # First "Jane Doe"CODE
LOW…-anonymizer/tests/integration/test_anonymize_engine.py207 RecognizerResult(start=24, end=32, score=0.8, entity_type="NAME"), # Second "Jane Doe"CODE
LOW…-anonymizer/tests/integration/test_anonymize_engine.py228 RecognizerResult(start=11, end=19, score=0.8, entity_type="NAME"), # First "Jane Doe"CODE
LOW…-anonymizer/tests/integration/test_anonymize_engine.py229 RecognizerResult(start=24, end=32, score=0.8, entity_type="NAME"), # Second "Jane Doe"CODE
LOW…-anonymizer/tests/integration/test_anonymize_engine.py296 "Jane Doe",CODE
LOWpresidio-structured/README.md31sample_df = pd.DataFrame({'name': ['John Doe', 'Jane Smith'], 'email': ['john.doe@example.com', 'jane.smith@example.com'CODE
LOWpresidio-structured/tests/conftest.py13 "name": ["John Doe", "Jane Doe", "John Smith"],CODE
LOWpresidio-structured/tests/conftest.py13 "name": ["John Doe", "Jane Doe", "John Smith"],CODE
LOWpresidio-structured/tests/conftest.py27 "name": ["John Doe", "Jane Smith", "Alice Johnson"],CODE
LOWpresidio-structured/tests/conftest.py41 "name": "John Doe",CODE
LOWpresidio-structured/tests/conftest.py44 "street": "123 Main St",CODE
LOWpresidio-structured/tests/conftest.py57 {"id": 1, "name": "John Doe"},CODE
LOWpresidio-structured/tests/conftest.py58 {"id": 2, "name": "Jane Doe"},CODE
LOWdocs/tutorial/11_custom_anonymization.md17def fake_name(x):CODE
LOWdocs/tutorial/11_custom_anonymization.md22operators = {"PERSON": OperatorConfig("custom", {"lambda": fake_name})}CODE
LOWdocs/tutorial/11_custom_anonymization.md37def fake_name(x):CODE
LOWdocs/tutorial/11_custom_anonymization.md42operators = {"PERSON": OperatorConfig("custom", {"lambda": fake_name})}CODE
LOWdocs/samples/python/streamlit/presidio_streamlit.py329 fake_data = create_fake_data(CODE
LOWdocs/samples/python/streamlit/presidio_streamlit.py334 st.text_area(label="Synthetic data", value=fake_data, height=400)CODE
LOWdocs/samples/python/streamlit/presidio_helpers.py230 fake_data = call_completion_model(CODE
LOWdocs/samples/python/streamlit/presidio_helpers.py233 return fake_dataCODE
LOWdocs/samples/python/sample_data/test_structured.json3 "name": "John Doe",CODE
LOWdocs/samples/python/sample_data/test_structured.json6 "street": "123 Main St",CODE
LOW…amples/python/sample_data/test_structured_complex.json5 "name": "John Doe",CODE
LOW…amples/python/sample_data/test_structured_complex.json8 "street": "123 Main St",CODE
LOWdocs/structured/index.md39sample_df = pd.DataFrame({'name': ['John Doe', 'Jane Smith'], 'email': ['john.doe@example.com', 'jane.smith@example.com'CODE
LOWdocs/structured/index.md70 "name": "John Doe",CODE
LOWdocs/structured/index.md92 {"name": "John Doe", "email": "john.doe@example.com"},CODE
LOWdocs/anonymizer/index.md297# Both "John Doe" instances will have the same hashCOMMENT
LOWdocs/getting_started/getting_started_structured.md22sample_df = pd.DataFrame({'name': ['John Doe', 'Jane Smith'], 'email': ['john.doe@example.com', 'jane.smith@example.com'CODE
LOWe2e-tests/tests/test_api_anonymizer.py227 text_for_encryption = "Lorem Ipsum is a Software Engineer"STRING
LOWe2e-tests/tests/test_api_anonymizer.py302 {"operator": "keep", "entity_type": "NAME", "start": 24, "end": 32, "text":"Jane Doe"}CODE
LOW…image-redactor/tests/test_document_intelligence_ocr.py100 DocumentIntelligenceOCR(key="fake_key", endpoint="fake_endpoint", model_id="fake_model_id")CODE
LOW…image-redactor/tests/test_document_intelligence_ocr.py105 DocumentIntelligenceOCR(key="fake_key", endpoint="fake_endpoint", model_id="prebuilt-document")CODE
LOW…image-redactor/tests/test_document_intelligence_ocr.py111 DocumentIntelligenceOCR(key="fake_key", endpoint="fake_endpoint")CODE
LOW…image-redactor/tests/test_document_intelligence_ocr.py117 assert credential.key == "fake_key"CODE
LOW…image-redactor/tests/test_document_intelligence_ocr.py135 credential = AzureKeyCredential("fake_key")CODE
LOW…image-redactor/tests/test_document_intelligence_ocr.py148 endpoint="fake_endpoint", key="fake_key", credential=mock.Mock()CODE
LOW…image-redactor/tests/test_document_intelligence_ocr.py172 monkeypatch.setenv("DOCUMENT_INTELLIGENCE_KEY", "fake_key")CODE
12 more matches not shown…
Self-Referential Comments21 hits · 70 pts
SeverityFileLineSnippetContext
MEDIUMpresidio-analyzer/tests/test_recognizer_registry.py110 # Create an empty recognizer registryCOMMENT
MEDIUMpresidio-analyzer/tests/test_recognizer_registry.py127 # Create an empty recognizer registryCOMMENT
MEDIUM…esidio-analyzer/tests/test_recognizers_loader_utils.py166 # Create a dummy file with invalid YAMLCOMMENT
MEDIUM…esidio-analyzer/tests/test_analyzer_engine_provider.py372 # Create a temporary file with invalid YAMLCOMMENT
MEDIUM…io-analyzer/tests/test_lemma_context_aware_enhancer.py126 # Create a recognizer with 'lic' as context word (similar to US_DRIVER_LICENSE)COMMENT
MEDIUM…io-analyzer/tests/test_lemma_context_aware_enhancer.py170 # Create a recognizer with 'lic' as context wordCOMMENT
MEDIUM…io-analyzer/tests/test_lemma_context_aware_enhancer.py254 # Create a recognizer with 'passport' as context wordCOMMENT
MEDIUM…ers/third_party/azure_openai_langextract_recognizer.py112 # Initialize parent class (loads config, sets self.model_id from config)COMMENT
MEDIUM…yzer/presidio_analyzer/nlp_engine/stanza_nlp_engine.py187 # Create an empty config skeletonCOMMENT
MEDIUM…-anonymizer/tests/integration/test_anonymize_engine.py326 # Create a simple analyzer result for the entire textCOMMENT
MEDIUM…cs/samples/deployments/k8s/deployment/run-with-kind.sh16# Create a KIND cluster into which we will deploy PresidioCOMMENT
MEDIUM…cs/samples/deployments/k8s/deployment/run-with-kind.sh19# Create a namespaceCOMMENT
MEDIUM…dio-image-redactor/tests/test_image_analyzer_engine.py380 # Create a dummy recognizer. It's necessary at least one recognizer to use the AnalyzerEngineCOMMENT
MEDIUM…dio-image-redactor/tests/test_image_analyzer_engine.py385 # Create an AnalyzerEngine to suport another languageCOMMENT
MEDIUM…ctor/tests/integration/test_image_processing_engine.py19 # Create an instance of BilateralFilterCOMMENT
MEDIUM…ctor/tests/integration/test_image_processing_engine.py22 # Create a dummy PIL image for testingCOMMENT
MEDIUM…ctor/tests/integration/test_image_processing_engine.py50 # Create an instance of SegmentedAdaptiveThresholdCOMMENT
MEDIUM…ctor/tests/integration/test_image_processing_engine.py79 # Create an instance of SegmentedAdaptiveThresholdCOMMENT
MEDIUM…ctor/tests/integration/test_image_processing_engine.py113 # Create a mock PIL imageCOMMENT
MEDIUM…ctor/tests/integration/test_image_processing_engine.py128 # Create a mock numpy arrayCOMMENT
MEDIUM…presidio_image_redactor/dicom_image_redactor_engine.py536 # Create the output dir manually if working with a single fileCOMMENT
Excessive Try-Catch Wrapping59 hits · 61 pts
SeverityFileLineSnippetContext
LOWpresidio-analyzer/app.py127 except Exception as e:CODE
LOWpresidio-analyzer/app.py142 except Exception as e:CODE
LOWpresidio-analyzer/app.py156 except Exception as e:CODE
LOW…yzer/tests/test_azure_openai_langextract_recognizer.py183 except Exception:CODE
LOW…yzer/tests/test_azure_openai_langextract_recognizer.py211 except Exception:CODE
LOW…yzer/tests/test_azure_openai_langextract_recognizer.py239 except Exception:CODE
LOW…analyzer/presidio_analyzer/analyzer_engine_provider.py69 except Exception:CODE
LOW…alyzer/recognizer_registry/recognizers_loader_utils.py613 except Exception: # pragma: no cover — defensive: third-party subclassesCODE
LOW…alyzer/recognizer_registry/recognizers_loader_utils.py768 except Exception as e:CODE
LOW…io_analyzer/recognizer_registry/recognizer_registry.py249 except Exception: # pragma: no cover — defensiveCODE
MEDIUM…io_analyzer/recognizer_registry/recognizer_registry.py341 print(f"Error reading file {yml_path}")STRING
LOW…edefined_recognizers/ner/huggingface_ner_recognizer.py289 except Exception:CODE
LOW…edefined_recognizers/ner/huggingface_ner_recognizer.py320 except Exception as e:CODE
LOW…ined_recognizers/third_party/langextract_recognizer.py173 except Exception:CODE
LOW…/predefined_recognizers/third_party/ahds_recognizer.py87 except Exception:CODE
LOW…fined_recognizers/third_party/azure_openai_provider.py198 except Exception as e: # pragma: no coverCODE
LOW…alyzer/presidio_analyzer/nlp_engine/device_detector.py74 except Exception as e:CODE
LOW…lyzer/presidio_analyzer/nlp_engine/spacy_nlp_engine.py60 except Exception as e:CODE
LOW…ymizer/presidio_anonymizer/operators/ahds_surrogate.py283 except Exception as e:CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py137 except Exception as e:CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py80 except Exception as e:CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py183 except Exception as e:CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py233 except Exception as e:CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py388 except Exception as e:CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py438 except Exception as e:CODE
LOW…-anonymizer/tests/integration/test_anonymize_engine.py350 except Exception as e:CODE
LOW…-anonymizer/tests/integration/test_anonymize_engine.py369 except Exception as e:CODE
LOWpresidio-cli/presidio_cli/config.py91 except Exception as e:CODE
LOWpresidio-cli/presidio_cli/config.py118 except Exception as e:CODE
LOWpresidio-cli/presidio_cli/config.py142 except Exception:CODE
LOWpresidio-cli/presidio_cli/cli.py269 except Exception:CODE
LOWdocs/samples/python/streamlit/presidio_streamlit.py371except Exception as e:CODE
LOWdocs/samples/python/ahds/example_ahds_surrogate.py59 except Exception as e:CODE
MEDIUMdocs/samples/python/ahds/example_ahds_surrogate.py60 print(f"Error: {e}")CODE
LOW…deployments/redacting-telemetry/app/presidio_client.py30 except Exception as e:CODE
MEDIUM…deployments/redacting-telemetry/app/presidio_client.py31 print(f"Error calling Presidio Analyzer: {e}")CODE
LOW…deployments/redacting-telemetry/app/presidio_client.py54 except Exception as e:CODE
MEDIUM…deployments/redacting-telemetry/app/presidio_client.py55 print(f"Error calling Presidio Anonymizer: {e}")CODE
LOW…cs/samples/deployments/redacting-telemetry/app/main.py87 except Exception as e:CODE
LOW…cs/samples/deployments/redacting-telemetry/app/main.py203 except Exception as e:CODE
LOW…nonymaztion-and-deanonymaztion-best-practices/index.md116 except Exception as e:CODE
LOW…nonymaztion-and-deanonymaztion-best-practices/index.md145 except Exception as e:CODE
LOW…sample_for_presidio_pr/anonymization_toolkit_sample.md96 except Exception as e:CODE
LOW…sample_for_presidio_pr/anonymization_toolkit_sample.md125 except Exception as e:CODE
LOW…tion-and-deanonymaztion-best-practices/src/api/main.py62 except Exception as e:CODE
LOW…tion-and-deanonymaztion-best-practices/src/api/main.py83 except Exception as e:CODE
LOW…ion-best-practices/src/api/services/toolkit_service.py37 except Exception as e:CODE
LOW…ion-best-practices/src/api/services/toolkit_service.py56 except Exception as e:CODE
LOW…ces/src/api/services/presidio/http_presidio_service.py57 except Exception as e:CODE
LOW…ces/src/api/services/presidio/http_presidio_service.py77 except Exception as e:CODE
LOW…s/src/api/services/presidio/python_presidio_service.py66 except Exception as e:CODE
LOW…s/src/api/services/presidio/python_presidio_service.py91 except Exception as e:CODE
LOW…s/src/api/services/presidio/hybrid_presidio_service.py62 except Exception as e:CODE
LOW…s/src/api/services/presidio/hybrid_presidio_service.py87 except Exception as e:CODE
LOWe2e-tests/tests/test_package_e2e_integration_flows.py141 except Exception:CODE
LOW…image-redactor/tests/test_document_intelligence_ocr.py222 except Exception:CODE
LOW…e-redactor/tests/test_dicom_image_pii_verify_engine.py51 except Exception:CODE
LOW…sidio_image_redactor/entities/api_request_convertor.py25 except Exception as e:CODE
LOW…sidio_image_redactor/entities/api_request_convertor.py48 except Exception as e:CODE
Modern Structural Boilerplate57 hits · 58 pts
SeverityFileLineSnippetContext
LOWpresidio-analyzer/presidio_analyzer/__init__.py37__all__ = [CODE
LOW…dio-analyzer/presidio_analyzer/analysis_explanation.py43 def set_improved_score(self, score: float) -> None:CODE
LOW…dio-analyzer/presidio_analyzer/analysis_explanation.py48 def set_supportive_context_word(self, word: str) -> None:CODE
LOW…yzer/presidio_analyzer/recognizer_registry/__init__.py6__all__ = ["RecognizerRegistry", "RecognizerRegistryProvider"]CODE
LOW…nalyzer/presidio_analyzer/input_validation/__init__.py15__all__ = [CODE
LOW…-analyzer/presidio_analyzer/llm_utils/config_loader.py10__all__ = [CODE
LOW…nalyzer/presidio_analyzer/llm_utils/examples_loader.py10__all__ = [CODE
LOW…-analyzer/presidio_analyzer/llm_utils/entity_mapper.py11__all__ = [CODE
LOW…sidio-analyzer/presidio_analyzer/llm_utils/__init__.py33__all__ = [CODE
LOW…yzer/presidio_analyzer/llm_utils/langextract_helper.py22__all__ = [CODE
LOW…-analyzer/presidio_analyzer/llm_utils/prompt_loader.py8__all__ = [CODE
LOW…r/presidio_analyzer/predefined_recognizers/__init__.py186__all__ = [CODE
LOW…esidio_analyzer/predefined_recognizers/ner/__init__.py7__all__ = [CODE
LOW…er/predefined_recognizers/country_specific/__init__.py5__all__ = [CODE
LOW…efined_recognizers/country_specific/poland/__init__.py5__all__ = [CODE
LOW…efined_recognizers/country_specific/sweden/__init__.py6__all__ = [CODE
LOW…predefined_recognizers/country_specific/us/__init__.py13__all__ = [CODE
LOW…defined_recognizers/country_specific/korea/__init__.py9__all__ = [CODE
LOW…efined_recognizers/country_specific/turkey/__init__.py6__all__ = [CODE
LOW…edefined_recognizers/country_specific/thai/__init__.py5__all__ = [CODE
LOW…defined_recognizers/country_specific/spain/__init__.py7__all__ = [CODE
LOW…ned_recognizers/country_specific/australia/__init__.py8__all__ = [CODE
LOW…fined_recognizers/country_specific/nigeria/__init__.py6__all__ = [CODE
LOW…predefined_recognizers/country_specific/uk/__init__.py10__all__ = [CODE
LOW…ned_recognizers/country_specific/singapore/__init__.py6__all__ = [CODE
LOW…_recognizers/country_specific/south_africa/__init__.py5__all__ = [CODE
LOW…defined_recognizers/country_specific/india/__init__.py10__all__ = [CODE
LOW…defined_recognizers/country_specific/italy/__init__.py9__all__ = [CODE
LOW…d_recognizers/country_specific/philippines/__init__.py6__all__ = [CODE
LOW…fined_recognizers/country_specific/finland/__init__.py5__all__ = [CODE
LOW…efined_recognizers/country_specific/canada/__init__.py5__all__ = [CODE
LOW…defined_recognizers/nlp_engine_recognizers/__init__.py7__all__ = [CODE
LOW…nalyzer/predefined_recognizers/third_party/__init__.py8__all__ = [CODE
LOW…io_analyzer/predefined_recognizers/generic/__init__.py12__all__ = [CODE
LOW…/presidio_analyzer/context_aware_enhancers/__init__.py6__all__ = ["ContextAwareEnhancer", "LemmaContextAwareEnhancer"]CODE
LOW…esidio-analyzer/presidio_analyzer/chunkers/__init__.py9__all__ = [CODE
LOW…idio-analyzer/presidio_analyzer/nlp_engine/__init__.py14__all__ = [CODE
LOWpresidio-anonymizer/presidio_anonymizer/__init__.py25__all__ = [CODE
LOW…esidio-anonymizer/presidio_anonymizer/core/__init__.py6__all__ = ["EngineBase", "TextReplaceBuilder"]CODE
LOW…o-anonymizer/presidio_anonymizer/operators/__init__.py25__all__ = [CODE
LOW…io-anonymizer/presidio_anonymizer/entities/__init__.py13__all__ = [CODE
LOW…ymizer/presidio_anonymizer/entities/engine/__init__.py7__all__ = ["PIIEntity", "OperatorConfig", "RecognizerResult"]CODE
LOW…presidio_anonymizer/entities/engine/result/__init__.py6__all__ = [CODE
LOWpresidio-structured/presidio_structured/__init__.py17__all__ = [CODE
LOW…idio-structured/presidio_structured/config/__init__.py5__all__ = [CODE
LOW…esidio-structured/presidio_structured/data/__init__.py6__all__ = [CODE
LOW…structured/presidio_structured/data/data_processors.py160 def _set_nested_value(data: Union[Dict, List], path: List[str], value: Any) -> None:CODE
LOW…cs/samples/deployments/redacting-telemetry/app/main.py50logger = logging.getLogger(__name__)CODE
LOW…tion-and-deanonymaztion-best-practices/src/api/main.py14logger = logging.getLogger(__name__)CODE
LOW…ion-best-practices/src/api/services/toolkit_service.py8logger = logging.getLogger(__name__)CODE
LOW…ractices/src/api/services/state/redis_state_service.py9logger = logging.getLogger(__name__)CODE
LOW…tices/src/api/services/state/inmemory_state_service.py5logger = logging.getLogger(__name__)CODE
LOW…ces/src/api/services/presidio/http_presidio_service.py11logger = logging.getLogger(__name__)CODE
LOW…s/src/api/services/presidio/python_presidio_service.py12logger = logging.getLogger(__name__)CODE
LOW…s/src/api/services/presidio/hybrid_presidio_service.py14logger = logging.getLogger(__name__)CODE
LOW…dio-image-redactor/presidio_image_redactor/__init__.py26__all__ = [CODE
LOW…-redactor/presidio_image_redactor/entities/__init__.py6__all__ = [CODE
Deep Nesting45 hits · 42 pts
SeverityFileLineSnippetContext
LOWpresidio-analyzer/install_nlp_models.py88CODE
LOWpresidio-analyzer/tests/conftest.py31CODE
LOWpresidio-analyzer/tests/conftest.py138CODE
LOWpresidio-analyzer/tests/test_batch_analyzer_engine.py217CODE
LOWpresidio-analyzer/presidio_analyzer/analyzer_engine.py349CODE
LOW…esidio-analyzer/presidio_analyzer/entity_recognizer.py259CODE
LOW…io-analyzer/presidio_analyzer/batch_analyzer_engine.py68CODE
LOW…sidio-analyzer/presidio_analyzer/pattern_recognizer.py193CODE
LOW…io_analyzer/input_validation/yaml_recognizer_models.py440CODE
LOW…io_analyzer/input_validation/yaml_recognizer_models.py531CODE
LOW…-analyzer/presidio_analyzer/llm_utils/config_loader.py102CODE
LOW…y_specific/india/in_vehicle_registration_recognizer.py360CODE
LOW…yzer/predefined_recognizers/generic/iban_recognizer.py95CODE
LOW…yzer/predefined_recognizers/generic/iban_recognizer.py132CODE
LOW…io-analyzer/presidio_analyzer/chunkers/base_chunker.py101CODE
LOW…yzer/presidio_analyzer/nlp_engine/stanza_nlp_engine.py299CODE
LOW…yzer/presidio_analyzer/nlp_engine/stanza_nlp_engine.py420CODE
LOW…/presidio_analyzer/nlp_engine/slim_spacy_nlp_engine.py89CODE
LOW…ymizer/presidio_anonymizer/batch_deanonymize_engine.py54CODE
LOW…io-anonymizer/presidio_anonymizer/anonymizer_engine.py133CODE
LOW…io-anonymizer/presidio_anonymizer/anonymizer_engine.py220CODE
LOW…nymizer/presidio_anonymizer/batch_anonymizer_engine.py48CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py42CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py93CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py159CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py345CODE
LOWpresidio-anonymizer/tests/test_ahds_surrogate.py401CODE
LOWpresidio-cli/presidio_cli/cli.py111CODE
LOWpresidio-cli/presidio_cli/cli.py164CODE
LOWpresidio-cli/presidio_cli/cli.py185CODE
LOW…structured/presidio_structured/data/data_processors.py160CODE
LOW…structured/presidio_structured/data/data_processors.py186CODE
LOWdocs/samples/python/streamlit/presidio_helpers.py35CODE
LOW…s/src/api/services/presidio/python_presidio_service.py95CODE
LOW…s/src/api/services/presidio/hybrid_presidio_service.py91CODE
LOWe2e-tests/common/assertions.py15CODE
LOW…dio-image-redactor/tests/test_image_analyzer_engine.py306CODE
LOW…presidio_image_redactor/dicom_image_redactor_engine.py647CODE
LOW…presidio_image_redactor/dicom_image_redactor_engine.py690CODE
LOW…esidio_image_redactor/dicom_image_pii_verify_engine.py200CODE
LOW…actor/presidio_image_redactor/image_analyzer_engine.py133CODE
LOW…actor/presidio_image_redactor/image_redactor_engine.py118CODE
LOWpresidio-image-redactor/presidio_image_redactor/bbox.py61CODE
LOWscripts/zensical_build.py92CODE
LOWscripts/zensical_build.py96CODE
Redundant / Tautological Comments19 hits · 29 pts
SeverityFileLineSnippetContext
LOW…io-analyzer/tests/test_basic_langextract_recognizer.py352 # Set min_score to 0.5 (default in config)COMMENT
LOW…alyzer/recognizer_registry/recognizers_loader_utils.py746 # Check if registry_configuration has all mandatory keysCOMMENT
LOW…alyzer/recognizer_registry/recognizers_loader_utils.py789 # Check if config_from_file has any invalid keysCOMMENT
LOW…io_analyzer/input_validation/yaml_recognizer_models.py105 # Check if user provided both (before we modify them)COMMENT
LOW…io_analyzer/input_validation/yaml_recognizer_models.py121 # Check if global context is definedCOMMENT
LOW…ecognizers/country_specific/korea/kr_rrn_recognizer.py91 # Check if the sanitized value has the correct length (13 digits)COMMENT
LOW…ecognizers/country_specific/korea/kr_rrn_recognizer.py95 # Check if all characters are digitsCOMMENT
LOW…ecognizers/country_specific/thai/th_tnin_recognizer.py100 # Check if the sanitized value has the correct length (13 digits)COMMENT
LOW…ecognizers/country_specific/thai/th_tnin_recognizer.py104 # Check if all characters are digitsCOMMENT
LOW…nizers/country_specific/singapore/sg_uen_recognizer.py156 # Check if the year of registration is not in the futureCOMMENT
LOW…io-analyzer/presidio_analyzer/chunkers/base_chunker.py123 # Check if same entity type and overlapping positionsCOMMENT
LOW…io-analyzer/presidio_analyzer/chunkers/base_chunker.py137 # Check if overlap exceeds thresholdCOMMENT
LOW…dio-structured/presidio_structured/analysis_builder.py371 # Check if mixed strategy threshold is within the valid rangeCOMMENT
LOW…dio-structured/presidio_structured/analysis_builder.py379 # Check if the highest score is greater than threshold and select accordinglyCOMMENT
LOWdocs/samples/python/ahds/example_ahds_surrogate.py12 # Check if AHDS endpoint is availableCOMMENT
LOW…deanonymaztion-best-practices/infrastructure/deploy.sh3# Check if both tenant ID and subscription ID are providedCOMMENT
LOW…presidio_image_redactor/dicom_image_redactor_engine.py306 # Check if image is grayscale using the Photometric Interpretation elementCOMMENT
LOW…presidio_image_redactor/dicom_image_redactor_engine.py755 # Check if we want the box color to contrast with the backgroundCOMMENT
LOW…actor/presidio_image_redactor/image_analyzer_engine.py343 # Check if we have the same bbox in analyzer resultsCOMMENT
Magic Placeholder Names4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHpresidio-analyzer/README.md44 api_key="your-api-key"CODE
HIGHpresidio-analyzer/README.md57 api_key="your-api-key"CODE
HIGHdocs/samples/python/langextract/index.md240 api_key="your-api-key-here",CODE
HIGHdocs/samples/python/langextract/index.md264os.environ["AZURE_OPENAI_API_KEY"] = "your-api-key-here"CODE
Over-Commented Block17 hits · 17 pts
SeverityFileLineSnippetContext
LOWpresidio-analyzer/tests/test_crypto_recognizer.py21 # fmt: offCOMMENT
LOWpresidio-analyzer/tests/test_sg_fin_recognizer.py21 ## Medium matchCOMMENT
LOW…yzer/predefined_recognizers/generic/iban_recognizer.py41COMMENT
LOW…ontext_aware_enhancers/lemma_context_aware_enhancer.py281 tokens,COMMENT
LOW…yzer/presidio_analyzer/conf/default_analyzer_full.yaml41COMMENT
LOW…alyzer/presidio_analyzer/conf/default_recognizers.yaml1supported_languages:COMMENT
LOW…alyzer/presidio_analyzer/conf/example_recognizers.yaml1# Optional top-level field:COMMENT
LOW…r/presidio_analyzer/conf/langextract_config_basic.yaml41 use_schema_constraints: falseCOMMENT
LOWpresidio-cli/presidio_cli/conf/limited.yaml21locale: en_US.UTF-8COMMENT
LOWdocs/requirements-docs.txt1# Dependencies for building the Presidio documentation with Zensical, theCOMMENT
LOWdocs/samples/deployments/spark/notebooks/00_setup.py1# Databricks notebook sourceCOMMENT
LOW…s/deployments/spark/notebooks/01_transform_presidio.py1# Databricks notebook sourceCOMMENT
LOWdocs/analyzer/filtering_by_country.md261# WARNING ... Country filter: no recognizer matched country_code='br'.COMMENT
LOW.github/dependabot.yml1# Security rationale for all ecosystem settings:COMMENT
LOW.github/dependabot.yml21#COMMENT
LOW.github/workflows/codeql-analysis.yml1# For most projects, this workflow file will not need changing; you simply needCOMMENT
LOW.github/workflows/defender-for-devops.yml1# This workflow uses actions that are not certified by GitHub.COMMENT
AI Structural Patterns15 hits · 14 pts
SeverityFileLineSnippetContext
LOW…io-analyzer/tests/test_basic_langextract_recognizer.py7CODE
LOWpresidio-analyzer/presidio_analyzer/analyzer_engine.py150CODE
LOWpresidio-analyzer/presidio_analyzer/lm_recognizer.py30CODE
LOW…sidio-analyzer/presidio_analyzer/pattern_recognizer.py50CODE
LOW…edefined_recognizers/ner/huggingface_ner_recognizer.py103CODE
LOW…r/predefined_recognizers/ner/medical_ner_recognizer.py32CODE
LOW…alyzer/predefined_recognizers/ner/gliner_recognizer.py29CODE
LOW…zer/predefined_recognizers/generic/phone_recognizer.py97CODE
LOW…yzer/predefined_recognizers/generic/iban_recognizer.py69CODE
LOW…yzer/presidio_analyzer/nlp_engine/stanza_nlp_engine.py206CODE
LOW…yzer/presidio_analyzer/nlp_engine/stanza_nlp_engine.py233CODE
LOWpresidio-structured/tests/conftest.py50CODE
LOWpresidio-structured/tests/conftest.py61CODE
LOWdocs/samples/python/streamlit/presidio_helpers.py175CODE
LOW…presidio_image_redactor/dicom_image_redactor_engine.py141CODE
Structural Annotation Overuse8 hits · 8 pts
SeverityFileLineSnippetContext
LOWpresidio-analyzer/tests/test_config_loader.py259 # Step 1: Load YAMLSTRING
LOWpresidio-analyzer/tests/test_config_loader.py262 # Step 2: Extract lm_recognizer configSTRING
LOWpresidio-analyzer/tests/test_config_loader.py269 # Step 3: Get model configSTRING
LOWpresidio-analyzer/tests/test_examples_loader.py243 # Step 1: Load YAMLSTRING
LOWpresidio-analyzer/tests/test_examples_loader.py248 # Step 2: Convert to LangExtract formatSTRING
LOW…ecognizers/country_specific/korea/kr_brn_recognizer.py118 # Step 3: Special handling for the 9th digitCOMMENT
LOWdocs/ahds_integration.md61# Step 1: Detect entities using AHDS recognizerCOMMENT
LOWdocs/ahds_integration.md68# Step 2: Anonymize using AHDS surrogate generationCOMMENT
Modern AI Meta-Vocabulary3 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMdocs/community.md13| [LiteLLM](https://docs.litellm.ai/docs/proxy/guardrails/pii_masking_v2) | Integrate Presidio into LiteLLM |CODE
MEDIUMdocs/community.md14| [Guardrails-ai](https://www.guardrailsai.com/docs/examples/check_for_pii) | Use Presidio as an LLM guardrails using thCODE
MEDIUMdocs/samples/docker/litellm.md5[👉 **Refer to LiteLLM Docs for detailed guide**](https://docs.litellm.ai/docs/proxy/guardrails/pii_masking_v2)CODE
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…io-analyzer/presidio_analyzer/batch_analyzer_engine.py106 continue # skip this key as requestedCODE
Verbosity Indicators6 hits · 5 pts
SeverityFileLineSnippetContext
LOWpresidio-analyzer/tests/test_config_loader.py259 # Step 1: Load YAMLSTRING
LOWpresidio-analyzer/tests/test_config_loader.py262 # Step 2: Extract lm_recognizer configSTRING
LOWpresidio-analyzer/tests/test_config_loader.py269 # Step 3: Get model configSTRING
LOWpresidio-analyzer/tests/test_examples_loader.py243 # Step 1: Load YAMLSTRING
LOWpresidio-analyzer/tests/test_examples_loader.py248 # Step 2: Convert to LangExtract formatSTRING
LOW…ecognizers/country_specific/korea/kr_brn_recognizer.py118 # Step 3: Special handling for the 9th digitCOMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM…cs/samples/deployments/k8s/deployment/run-with-kind.sh3# This script utilize KIND (https://github.com/kubernetes-sigs/kind), to install PresidioCOMMENT
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/codeql-analysis.yml54 # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize howCOMMENT