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.
This report summarizes scanner evidence for data-privacy-stack/presidio, a Python project with 11,271 GitHub stars. SynthScan examined 92,055 lines of code across 758 source files, recording 2594 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 36.0 (High pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1790 finding(s).
Are imports declared and package/API names verified? 492 finding(s).
Are wrappers, guards, and repeated structures necessary? 1973 finding(s).
Which changes need focused human review? 2594 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2594 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | presidio-analyzer/install_nlp_models.py | 65 | def _install_models_from_nlp_config(nlp_configuration: dict) -> None: | CODE |
| LOW | presidio-analyzer/install_nlp_models.py | 107 | def _install_transformers_spacy_models(model_name: Dict[str, str]) -> None: | CODE |
| LOW | presidio-analyzer/app.py | 168 | def _exclude_attributes_from_dto(recognizer_result_list): | CODE |
| LOW | presidio-analyzer/tests/test_us_bank_recognizer.py | 28 | def test_when_bank_in_text_then_all_us_banks_found( | CODE |
| LOW | …er/tests/test_za_traffic_register_number_recognizer.py | 35 | def test_analyze_valid_and_invalid_za_traffic_register_numbers( | CODE |
| LOW | presidio-analyzer/tests/test_spacy_recognizer.py | 68 | def test_when_using_spacy_then_all_spacy_result_found( | CODE |
| LOW | presidio-analyzer/tests/test_spacy_recognizer.py | 88 | def test_when_person_in_text_then_person_full_name_complex_found( | CODE |
| LOW | presidio-analyzer/tests/test_spacy_recognizer.py | 105 | def test_analyze_no_nlp_artifacts(): | CODE |
| LOW | presidio-analyzer/tests/test_spacy_recognizer.py | 111 | def test_entity_not_returned_if_not_in_supported_entities(mock_nlp_artifacts): | CODE |
| LOW | …dio-analyzer/tests/test_za_mobile_number_recognizer.py | 54 | def test_when_mobile_in_text_then_all_mobile_numbers_found( | CODE |
| LOW | …dio-analyzer/tests/test_za_mobile_number_recognizer.py | 97 | def test_classify_by_nsn_prefix(nsn, expected): | CODE |
| LOW | presidio-analyzer/tests/test_uk_nino_recognizer.py | 45 | def test_when_nino_in_text_then_all_uk_ninos_found( | CODE |
| LOW | presidio-analyzer/tests/test_it_passport_recognizer.py | 26 | def test_when_passport_in_text_then_all_it_passports_found( | CODE |
| LOW | presidio-analyzer/tests/test_spacy_nlp_engine.py | 26 | def test_process_batch_strings(spacy_nlp_engine): | CODE |
| LOW | presidio-analyzer/tests/test_spacy_nlp_engine.py | 38 | def test_nlp_not_loaded_value_error(): | CODE |
| LOW | presidio-analyzer/tests/test_spacy_nlp_engine.py | 46 | def test_validate_model_params_missing_fields(): | CODE |
| LOW | presidio-analyzer/tests/test_spacy_nlp_engine.py | 57 | def test_default_configuration_correct(): | CODE |
| LOW | presidio-analyzer/tests/test_spacy_nlp_engine.py | 74 | def test_get_supported_entities_doesnt_include_ignored(): | CODE |
| LOW | presidio-analyzer/tests/test_spacy_nlp_engine.py | 91 | def test_batch_processing_with_as_tuples_returns_context(spacy_nlp_engine, texts, as_tuples): | CODE |
| LOW | presidio-analyzer/tests/test_spacy_nlp_engine.py | 109 | def test_when_gpu_available_then_spacy_gpu_configured(): | CODE |
| LOW | presidio-analyzer/tests/test_spacy_nlp_engine.py | 124 | def test_when_gpu_configuration_fails_then_warning_logged(): | CODE |
| LOW | presidio-analyzer/tests/test_spacy_nlp_engine.py | 141 | def test_when_cpu_device_then_gpu_not_configured(): | CODE |
| LOW | presidio-analyzer/tests/test_au_tfn_recognizer.py | 33 | def test_when_all_tfns_then_succeed( | CODE |
| LOW | presidio-analyzer/tests/test_language_validation.py | 6 | def test_configuration_validator_language_codes_no_exception(): | CODE |
| LOW | presidio-analyzer/tests/test_language_validation.py | 11 | def test_configuration_validator_language_codes_invalid(): | CODE |
| LOW⚡ | presidio-analyzer/tests/test_device_detector.py | 18 | def test_when_env_var_set_to_cpu_then_uses_cpu(self): | CODE |
| LOW⚡ | presidio-analyzer/tests/test_device_detector.py | 24 | def test_when_env_var_set_to_cuda_then_uses_cuda(self): | CODE |
| LOW⚡ | presidio-analyzer/tests/test_device_detector.py | 30 | def test_when_env_var_set_to_specific_gpu_then_uses_it(self): | CODE |
| LOW⚡ | presidio-analyzer/tests/test_device_detector.py | 40 | def test_when_env_var_has_whitespace_then_trimmed(self): | CODE |
| LOW⚡ | presidio-analyzer/tests/test_device_detector.py | 50 | def test_when_env_var_empty_then_auto_detects(self): | CODE |
| LOW⚡ | presidio-analyzer/tests/test_device_detector.py | 56 | def test_when_env_var_not_set_then_auto_detects(self): | CODE |
| LOW⚡ | presidio-analyzer/tests/test_device_detector.py | 65 | def test_when_env_var_set_skips_auto_detection(self): | CODE |
| LOW | presidio-analyzer/tests/test_device_detector.py | 77 | def test_when_torch_import_fails_then_cpu_device(self): | CODE |
| LOW | presidio-analyzer/tests/test_device_detector.py | 84 | def test_when_cuda_not_available_then_cpu_device(self): | CODE |
| LOW | presidio-analyzer/tests/test_device_detector.py | 99 | def test_when_cuda_initialization_fails_then_fallback_to_cpu(self): | CODE |
| LOW | presidio-analyzer/tests/test_device_detector.py | 115 | def test_when_cuda_get_device_name_fails_then_fallback_to_cpu(self): | CODE |
| LOW | presidio-analyzer/tests/test_device_detector.py | 132 | def test_when_cuda_available_then_cuda_device(self): | CODE |
| LOW | presidio-analyzer/tests/test_device_detector.py | 150 | def test_when_cuda_available_then_uses_cuda_not_cpu(self): | CODE |
| LOW | presidio-analyzer/tests/test_device_detector.py | 172 | def test_when_get_device_then_returns_string(self): | CODE |
| LOW | presidio-analyzer/tests/test_device_detector.py | 179 | def test_when_multiple_instances_then_same_values(self): | CODE |
| LOW | presidio-analyzer/tests/test_device_detector.py | 192 | def test_when_spacy_engine_loads_then_uses_device_detector(self): | CODE |
| LOW | presidio-analyzer/tests/test_device_detector.py | 203 | def test_when_stanza_engine_initializes_then_sets_device(self): | CODE |
| LOW | presidio-analyzer/tests/test_device_detector.py | 215 | def test_when_gliner_recognizer_initializes_then_uses_correct_device(self): | CODE |
| LOW | presidio-analyzer/tests/test_device_detector.py | 225 | def test_when_stanza_engine_device_matches_device_detector(self): | CODE |
| LOW | presidio-analyzer/tests/test_device_detector.py | 240 | def test_when_creating_new_instance_then_device_consistent(self): | CODE |
| LOW | …-analyzer/tests/test_za_telephone_number_recognizer.py | 51 | def test_when_telephone_in_text_then_all_telephone_numbers_found( | CODE |
| LOW | …o-analyzer/tests/test_de_handelsregister_recognizer.py | 50 | def test_when_all_de_handelsregister_numbers_then_succeed( | CODE |
| LOW | presidio-analyzer/tests/test_za_passport_recognizer.py | 32 | def test_analyze_valid_and_invalid_za_passports( | CODE |
| LOW | …io-analyzer/tests/test_kr_driver_license_recognizer.py | 46 | def test_when_all_driver_licenses_then_succeed( | CODE |
| LOW | presidio-analyzer/tests/test_in_aadhaar_recognizer.py | 37 | def test_when_aadhaar_in_text_then_all_aadhaars_found( | CODE |
| LOW | presidio-analyzer/tests/test_ip_recognizer.py | 58 | def test_when_all_ips_then_succeed( | CODE |
| LOW | presidio-analyzer/tests/test_ip_recognizer.py | 229 | def test_when_multiple_ips_then_all_found( | CODE |
| LOW | presidio-analyzer/tests/test_ip_recognizer.py | 265 | def test_when_non_ip_pattern_then_no_match( | CODE |
| LOW | presidio-analyzer/tests/test_ip_recognizer.py | 303 | def test_when_ip_at_boundary_then_correct_span( | CODE |
| LOW | presidio-analyzer/tests/test_ip_recognizer.py | 343 | def test_when_invalid_ip_then_no_match( | CODE |
| LOW | presidio-analyzer/tests/test_ip_recognizer.py | 377 | def test_when_special_ip_variants_then_succeed( | CODE |
| LOW | presidio-analyzer/tests/test_ip_recognizer.py | 426 | def test_when_cidr_notation_then_largest_span_redacted( | CODE |
| LOW | presidio-analyzer/tests/test_kr_frn_recognizer.py | 42 | def test_when_all_frns_then_succeed( | CODE |
| LOW | presidio-analyzer/tests/test_it_vat_code_recognizer.py | 34 | def test_when_fiscalcode_in_text_then_all_it_fiscalcode_found( | CODE |
| LOW | presidio-analyzer/tests/test_uk_passport_recognizer.py | 122 | def test_when_passport_in_text_then_all_uk_passports_found( # noqa: D103 | CODE |
| 1586 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 393 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 395 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 470 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 472 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 746 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 748 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 762 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 764 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 767 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 769 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 802 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 804 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | presidio-analyzer/tests/test_recognizer_registry.py | 620 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | presidio-analyzer/tests/test_recognizer_registry.py | 631 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | presidio-analyzer/tests/test_de_vat_id_recognizer.py | 48 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | presidio-analyzer/tests/test_de_vat_id_recognizer.py | 50 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | presidio-analyzer/tests/test_de_vat_id_recognizer.py | 91 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | presidio-analyzer/tests/test_de_vat_id_recognizer.py | 93 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | presidio-analyzer/tests/test_de_vat_id_recognizer.py | 127 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | presidio-analyzer/tests/test_de_vat_id_recognizer.py | 129 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_de_vat_id_recognizer.py | 158 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_de_vat_id_recognizer.py | 160 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_de_vat_id_recognizer.py | 178 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_de_vat_id_recognizer.py | 180 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …esidio-analyzer/tests/test_recognizers_loader_utils.py | 322 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …esidio-analyzer/tests/test_recognizers_loader_utils.py | 324 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …esidio-analyzer/tests/test_recognizers_loader_utils.py | 589 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …esidio-analyzer/tests/test_recognizers_loader_utils.py | 602 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …/country_specific/sweden/se_personnummer_recognizer.py | 29 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | …/country_specific/sweden/se_personnummer_recognizer.py | 31 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | …/country_specific/sweden/se_personnummer_recognizer.py | 53 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | …/country_specific/sweden/se_personnummer_recognizer.py | 55 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | …/country_specific/sweden/se_personnummer_recognizer.py | 74 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | …/country_specific/sweden/se_personnummer_recognizer.py | 76 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | …/country_specific/sweden/se_personnummer_recognizer.py | 117 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | …/country_specific/sweden/se_personnummer_recognizer.py | 119 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | …y_specific/sweden/se_organisationsnummer_recognizer.py | 61 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | …y_specific/sweden/se_organisationsnummer_recognizer.py | 63 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | …y_specific/sweden/se_organisationsnummer_recognizer.py | 93 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | …y_specific/sweden/se_organisationsnummer_recognizer.py | 95 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | …rs/country_specific/us/us_driver_license_recognizer.py | 6 | # --------------- | COMMENT |
| MEDIUM⚡ | presidio-anonymizer/tests/test_anonymizer_engine.py | 301 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-anonymizer/tests/test_anonymizer_engine.py | 303 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …age-redactor/tests/test_dicom_image_redactor_engine.py | 99 | # ------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …age-redactor/tests/test_dicom_image_redactor_engine.py | 101 | # ------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …age-redactor/tests/test_dicom_image_redactor_engine.py | 580 | # ------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …age-redactor/tests/test_dicom_image_redactor_engine.py | 582 | # ------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …age-redactor/tests/test_dicom_image_redactor_engine.py | 843 | # ------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …age-redactor/tests/test_dicom_image_redactor_engine.py | 845 | # ------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …age-redactor/tests/test_dicom_image_redactor_engine.py | 920 | # ------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …age-redactor/tests/test_dicom_image_redactor_engine.py | 922 | # ------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …age-redactor/tests/test_dicom_image_redactor_engine.py | 952 | # ------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …age-redactor/tests/test_dicom_image_redactor_engine.py | 954 | # ------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …age-redactor/tests/test_dicom_image_redactor_engine.py | 979 | # ------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …age-redactor/tests/test_dicom_image_redactor_engine.py | 981 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | …age-redactor/tests/test_dicom_image_redactor_engine.py | 37 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | …age-redactor/tests/test_dicom_image_redactor_engine.py | 39 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | …age-redactor/tests/test_dicom_image_redactor_engine.py | 126 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | …age-redactor/tests/test_dicom_image_redactor_engine.py | 128 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | …age-redactor/tests/test_dicom_image_redactor_engine.py | 164 | # ------------------------------------------------------ | COMMENT |
| 65 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | presidio-analyzer/tests/test_spacy_recognizer.py | 6 | CODE | |
| LOW | presidio-analyzer/tests/test_ahds_recognizer.py | 15 | CODE | |
| LOW | presidio-analyzer/tests/test_ahds_recognizer.py | 16 | CODE | |
| LOW | presidio-analyzer/tests/test_ahds_recognizer.py | 16 | CODE | |
| LOW | presidio-analyzer/tests/test_ahds_recognizer.py | 16 | CODE | |
| LOW | presidio-analyzer/tests/test_ahds_recognizer.py | 21 | CODE | |
| LOW | presidio-analyzer/tests/test_langextract_helper.py | 2 | CODE | |
| LOW | presidio-analyzer/tests/test_langextract_helper.py | 3 | CODE | |
| LOW | presidio-analyzer/tests/test_langextract_helper.py | 3 | CODE | |
| LOW | presidio-analyzer/tests/__init__.py | 1 | CODE | |
| LOW | presidio-analyzer/tests/__init__.py | 1 | CODE | |
| LOW | presidio-analyzer/tests/__init__.py | 1 | CODE | |
| LOW | presidio-analyzer/tests/test_base_chunker.py | 2 | CODE | |
| LOW | presidio-analyzer/tests/test_entity_mapper.py | 2 | CODE | |
| LOW | presidio-analyzer/tests/test_stanza_batch_processing.py | 4 | CODE | |
| LOW | presidio-analyzer/tests/test_iban_recognizer.py | 1 | CODE | |
| LOW | presidio-analyzer/tests/test_lm_recognizer.py | 3 | CODE | |
| LOW | …io-analyzer/tests/test_basic_langextract_recognizer.py | 3 | CODE | |
| LOW | …io-analyzer/tests/test_basic_langextract_recognizer.py | 4 | CODE | |
| LOW | presidio-analyzer/tests/test_prompt_loader.py | 3 | CODE | |
| LOW | …zer/tests/test_ahds_recognizer_credential_selection.py | 4 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 6 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 7 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 8 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 9 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 10 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 11 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 12 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 13 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 14 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 15 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 16 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 17 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 18 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 19 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 20 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 21 | CODE | |
| LOW | …esidio-analyzer/presidio_analyzer/remote_recognizer.py | 7 | CODE | |
| LOW | …esidio-analyzer/presidio_analyzer/entity_recognizer.py | 10 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/lm_recognizer.py | 17 | CODE | |
| LOW | …sidio-analyzer/presidio_analyzer/pattern_recognizer.py | 17 | CODE | |
| LOW | …yzer/presidio_analyzer/recognizer_registry/__init__.py | 3 | CODE | |
| LOW | …yzer/presidio_analyzer/recognizer_registry/__init__.py | 4 | CODE | |
| LOW | …alyzer/recognizer_registry/recognizers_loader_utils.py | 1 | CODE | |
| LOW | …er/recognizer_registry/recognizer_registry_provider.py | 1 | CODE | |
| LOW | …nalyzer/presidio_analyzer/input_validation/__init__.py | 3 | CODE | |
| LOW | …nalyzer/presidio_analyzer/input_validation/__init__.py | 4 | CODE | |
| LOW | …nalyzer/presidio_analyzer/input_validation/__init__.py | 5 | CODE | |
| LOW | …nalyzer/presidio_analyzer/input_validation/__init__.py | 5 | CODE | |
| LOW | …nalyzer/presidio_analyzer/input_validation/__init__.py | 5 | CODE | |
| LOW | …nalyzer/presidio_analyzer/input_validation/__init__.py | 5 | CODE | |
| LOW | …nalyzer/presidio_analyzer/input_validation/__init__.py | 5 | CODE | |
| LOW | …nalyzer/presidio_analyzer/input_validation/__init__.py | 5 | CODE | |
| LOW | …nalyzer/presidio_analyzer/input_validation/__init__.py | 5 | CODE | |
| LOW | …sidio-analyzer/presidio_analyzer/llm_utils/__init__.py | 3 | CODE | |
| LOW | …sidio-analyzer/presidio_analyzer/llm_utils/__init__.py | 3 | CODE | |
| LOW | …sidio-analyzer/presidio_analyzer/llm_utils/__init__.py | 3 | CODE | |
| LOW | …sidio-analyzer/presidio_analyzer/llm_utils/__init__.py | 3 | CODE | |
| LOW | …sidio-analyzer/presidio_analyzer/llm_utils/__init__.py | 3 | CODE | |
| LOW | …sidio-analyzer/presidio_analyzer/llm_utils/__init__.py | 10 | CODE | |
| 325 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | presidio-analyzer/app.py | 0 | _______ _______ _______ _______ _________ ______ _________ _______ ( ____ )( ____ )( ____ \( ____ \\__ __/( __ \ \__ __/ | STRING |
| HIGH | presidio-anonymizer/app.py | 0 | _______ _______ _______ _______ _________ ______ _________ _______ ( ____ )( ____ )( ____ \( ____ \\__ __/( __ \ \__ __/ | STRING |
| HIGH | presidio-image-redactor/app.py | 0 | _______ _______ _______ _______ _________ ______ _________ _______ ( ____ )( ____ )( ____ \( ____ \\__ __/( __ \ \__ __/ | STRING |
| HIGH | …esidio-analyzer/presidio_analyzer/recognizer_result.py | 0 | serialize self to dictionary. :return: a dictionary | STRING |
| HIGH | …esidio-analyzer/presidio_analyzer/entity_recognizer.py | 0 | serialize self to dictionary. :return: a dictionary | STRING |
| HIGH | …dio-analyzer/presidio_analyzer/analysis_explanation.py | 0 | serialize self to dictionary. :return: a dictionary | STRING |
| HIGH | …sidio-analyzer/presidio_analyzer/pattern_recognizer.py | 0 | validate 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.py | 0 | validate 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.py | 0 | validate 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.py | 0 | validate 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.py | 0 | validate 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.py | 0 | validate 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.py | 0 | validate 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.py | 0 | validate 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.py | 0 | validate 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.py | 0 | validate 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.py | 0 | validate 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.py | 0 | recognizes nhs number using regex and checksum. :param patterns: list of patterns to be used by this recognizer :param c | STRING |
| HIGH | …ecognizers/country_specific/spain/es_nie_recognizer.py | 0 | recognizes nhs number using regex and checksum. :param patterns: list of patterns to be used by this recognizer :param c | STRING |
| HIGH | …ecognizers/country_specific/spain/es_nif_recognizer.py | 0 | recognizes nhs number using regex and checksum. :param patterns: list of patterns to be used by this recognizer :param c | STRING |
| HIGH | …d_recognizers/country_specific/uk/uk_nhs_recognizer.py | 0 | recognizes nhs number using regex and checksum. :param patterns: list of patterns to be used by this recognizer :param c | STRING |
| HIGH | …edefined_recognizers/generic/credit_card_recognizer.py | 0 | recognizes nhs number using regex and checksum. :param patterns: list of patterns to be used by this recognizer :param c | STRING |
| HIGH | …ognizers/country_specific/us/us_passport_recognizer.py | 0 | recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by th | STRING |
| HIGH | …rs/country_specific/us/us_driver_license_recognizer.py | 0 | recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by th | STRING |
| HIGH | …_recognizers/country_specific/us/us_bank_recognizer.py | 0 | recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by th | STRING |
| HIGH | …_recognizers/country_specific/uk/uk_nino_recognizer.py | 0 | recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by th | STRING |
| HIGH | …country_specific/italy/it_driver_license_recognizer.py | 0 | recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by th | STRING |
| HIGH | …rs/country_specific/italy/it_fiscal_code_recognizer.py | 0 | recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by th | STRING |
| HIGH | …izers/country_specific/italy/it_passport_recognizer.py | 0 | recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by th | STRING |
| HIGH | …/country_specific/italy/it_identity_card_recognizer.py | 0 | recognizes italian identity card number using case-insensitive regex. :param patterns: list of patterns to be used by th | STRING |
| HIGH | …nizers/country_specific/singapore/sg_fin_recognizer.py | 0 | recognize email addresses using regex. :param patterns: list of patterns to be used by this recognizer :param context: l | STRING |
| HIGH | …nizers/country_specific/singapore/sg_uen_recognizer.py | 0 | recognize email addresses using regex. :param patterns: list of patterns to be used by this recognizer :param context: l | STRING |
| HIGH | …ers/country_specific/philippines/ph_umid_recognizer.py | 0 | recognize email addresses using regex. :param patterns: list of patterns to be used by this recognizer :param context: l | STRING |
| HIGH | …yzer/predefined_recognizers/generic/date_recognizer.py | 0 | recognize email addresses using regex. :param patterns: list of patterns to be used by this recognizer :param context: l | STRING |
| HIGH | …alyzer/predefined_recognizers/generic/ip_recognizer.py | 0 | recognize email addresses using regex. :param patterns: list of patterns to be used by this recognizer :param context: l | STRING |
| HIGH | …zer/predefined_recognizers/generic/email_recognizer.py | 0 | recognize email addresses using regex. :param patterns: list of patterns to be used by this recognizer :param context: l | STRING |
| HIGH | …recognizers/nlp_engine_recognizers/spacy_recognizer.py | 0 | create explanation for why this result was detected. :param original_score: score given by this recognizer :param explan | STRING |
| HIGH | docs/samples/python/flair_recognizer.py | 0 | create explanation for why this result was detected. :param original_score: score given by this recognizer :param explan | STRING |
| HIGH | docs/samples/python/span_marker_recognizer.py | 0 | create explanation for why this result was detected. :param original_score: score given by this recognizer :param explan | STRING |
| HIGH | docs/samples/python/streamlit/flair_recognizer.py | 0 | create explanation for why this result was detected. :param original_score: score given by this recognizer :param explan | STRING |
| HIGH | …io-analyzer/presidio_analyzer/nlp_engine/nlp_engine.py | 0 | return the supported languages for this nlp engine. | STRING |
| HIGH | …/presidio_analyzer/nlp_engine/slim_spacy_nlp_engine.py | 0 | return the supported languages for this nlp engine. | STRING |
| HIGH | …lyzer/presidio_analyzer/nlp_engine/spacy_nlp_engine.py | 0 | return the supported languages for this nlp engine. | STRING |
| HIGH | docs/samples/python/flair_recognizer.py | 0 | load the model, not used. model is loaded during initialization. | STRING |
| HIGH | docs/samples/python/span_marker_recognizer.py | 0 | load the model, not used. model is loaded during initialization. | STRING |
| HIGH | docs/samples/python/streamlit/flair_recognizer.py | 0 | load the model, not used. model is loaded during initialization. | STRING |
| HIGH | docs/samples/python/flair_recognizer.py | 0 | return supported entities by this model. :return: list of the supported entities. | STRING |
| HIGH | docs/samples/python/span_marker_recognizer.py | 0 | return supported entities by this model. :return: list of the supported entities. | STRING |
| HIGH | docs/samples/python/streamlit/flair_recognizer.py | 0 | return supported entities by this model. :return: list of the supported entities. | STRING |
| HIGH | …thon/transformers_recognizer/transformer_recognizer.py | 0 | return supported entities by this model. :return: list of the supported entities. | STRING |
| HIGH | …nonymaztion-and-deanonymaztion-best-practices/index.md | 0 | anonymize the given text using presidio analyzer and anonymizer engines | STRING |
| HIGH | …sample_for_presidio_pr/anonymization_toolkit_sample.md | 0 | anonymize the given text using presidio analyzer and anonymizer engines | STRING |
| HIGH | …ces/src/api/services/presidio/http_presidio_service.py | 0 | anonymize the given text using presidio analyzer and anonymizer engines | STRING |
| HIGH | …s/src/api/services/presidio/python_presidio_service.py | 0 | anonymize the given text using presidio analyzer and anonymizer engines | STRING |
| HIGH | …s/src/api/services/presidio/hybrid_presidio_service.py | 0 | anonymize the given text using presidio analyzer and anonymizer engines | STRING |
| HIGH | …nonymaztion-and-deanonymaztion-best-practices/index.md | 0 | deanonymize the given text using presidio analyzer and anonymizer engines | STRING |
| HIGH | …sample_for_presidio_pr/anonymization_toolkit_sample.md | 0 | deanonymize the given text using presidio analyzer and anonymizer engines | STRING |
| HIGH | …ces/src/api/services/presidio/http_presidio_service.py | 0 | deanonymize the given text using presidio analyzer and anonymizer engines | STRING |
| HIGH | …s/src/api/services/presidio/python_presidio_service.py | 0 | deanonymize the given text using presidio analyzer and anonymizer engines | STRING |
| HIGH | …s/src/api/services/presidio/hybrid_presidio_service.py | 0 | deanonymize the given text using presidio analyzer and anonymizer engines | STRING |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …io-analyzer/tests/test_basic_langextract_recognizer.py | 666 | # When kwargs/language_model_params are null, explicit kwargs are empty | COMMENT |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 19 | {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation":null}, | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 20 | {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanation" | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 190 | {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation": null}, | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 191 | {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanation" | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 386 | {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation":null}, | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 387 | {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanation | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 388 | {"entity_type": "ZIP", "start": 50, "end": 55, "score": 0.01, "analysis_explanation":null} | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 457 | {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation":null}, | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 458 | {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanation | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 459 | {"entity_type": "ZIP", "start": 50, "end": 55, "score": 0.4, "analysis_explanation":null} | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 495 | {"entity_type": "PERSON", "start": 4, "end": 14, "score": 0.85, "analysis_explanation":null}, | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 496 | {"entity_type": "US_DRIVER_LICENSE", "start": 36, "end": 44, "score": 0.6499999999999999, "analysis_explanation | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 497 | {"entity_type": "MR_TITLE", "start": 0, "end": 3, "score": 1.0, "analysis_explanation":null} | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 614 | {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation":null}, | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 615 | {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanat | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 618 | {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation":null}, | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 619 | {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanat | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 129 | {"entity_type": "IBAN_CODE", "start": 38, "end": 65, "score": 1.0, "analysis_explanation": null} | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 213 | "recognizer": "SpacyRecognizer", "pattern_name": null, "pattern": null, "original_score": 0.85, "score": 0.8 | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 222 | "original_score": 0.3, "score": 0.6499999999999999, "textual_explanation": null, | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 248 | "pattern": null, | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 249 | "pattern_name": null, | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 271 | "textual_explanation": null, | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 563 | {"entity_type": "EMAIL_ADDRESS", "start": 7, "end": 23, "score": 0.85, "analysis_explanation":null} | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 589 | {"entity_type": "EMAIL_ADDRESS", "start": 7, "end": 23, "score": 0.85, "analysis_explanation":null} | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_anonymizer.py | 149 | expected_response = """{"text": "text_for_encryption", "items": [{"start": 0, "end": 19, "operator":"decrypt", "text | STRING |
| HIGH | e2e-tests/tests/test_api_e2e_integration_flows.py | 78 | {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation": null} | CODE |
| HIGH | e2e-tests/tests/test_api_e2e_integration_flows.py | 124 | {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation": null} | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …yzer/tests/test_azure_openai_langextract_recognizer.py | 477 | mock_extraction.extraction_text = "John Doe" | CODE |
| LOW | presidio-analyzer/tests/test_gliner_recognizer.py | 155 | if "Jane Doe" in text: | CODE |
| LOW | presidio-analyzer/tests/test_gliner_recognizer.py | 156 | start = text.find("Jane Doe") | CODE |
| LOW | presidio-analyzer/tests/test_gliner_recognizer.py | 181 | assert text[results[1].start:results[1].end] == "Jane Doe" | CODE |
| LOW⚡ | presidio-analyzer/tests/test_examples_loader.py | 137 | "text": "John Doe", | CODE |
| LOW⚡ | presidio-analyzer/tests/test_examples_loader.py | 139 | {"extraction_class": "PERSON", "extraction_text": "John Doe", "attributes": {}} | CODE |
| LOW | presidio-analyzer/tests/test_examples_loader.py | 22 | extraction_text: "John Doe" | CODE |
| LOW | presidio-analyzer/tests/test_examples_loader.py | 114 | "extraction_text": "John Doe", | CODE |
| LOW | presidio-analyzer/tests/test_examples_loader.py | 153 | assert result[0].text == "John Doe" | CODE |
| LOW | presidio-analyzer/tests/test_examples_loader.py | 231 | extraction_text: "John Doe" | CODE |
| LOW | …io-analyzer/tests/test_basic_langextract_recognizer.py | 246 | mock_extraction.extraction_text = "John Doe" | CODE |
| LOW | …io-analyzer/tests/test_basic_langextract_recognizer.py | 272 | person_extraction.extraction_text = "John Doe" | CODE |
| LOW | …io-analyzer/tests/test_basic_langextract_recognizer.py | 286 | phone_extraction.extraction_text = "555-1234" | CODE |
| LOW | …io-analyzer/tests/test_basic_langextract_recognizer.py | 547 | mock_extraction.extraction_text = "John Doe" | CODE |
| LOW | …conf/langextract_prompts/default_pii_phi_examples.yaml | 9 | extraction_text: "John Doe" | CODE |
| LOW | …conf/langextract_prompts/default_pii_phi_examples.yaml | 62 | extraction_text: "Acme Corp" | CODE |
| LOW⚡ | presidio-anonymizer/tests/test_ahds_surrogate.py | 295 | MockRecognizerResult('PERSON', 0, 8, 'John Doe', 0.9), | CODE |
| LOW⚡ | presidio-anonymizer/tests/test_ahds_surrogate.py | 310 | {'entity_type': 'PERSON', 'start': 0, 'end': 8, 'text': 'John Doe', 'score': 0.9} | CODE |
| LOW | presidio-anonymizer/tests/test_ahds_surrogate.py | 202 | 'text': 'John Doe', | CODE |
| LOW | presidio-anonymizer/tests/test_ahds_surrogate.py | 267 | 'text': 'John Doe', | CODE |
| LOW⚡ | …-anonymizer/tests/integration/test_anonymize_engine.py | 196 | # Verify that "Jane Doe" was hashed to the same value | COMMENT |
| LOW⚡ | …-anonymizer/tests/integration/test_anonymize_engine.py | 207 | RecognizerResult(start=11, end=19, score=0.8, entity_type="NAME"), # First "Jane Doe" | CODE |
| LOW⚡ | …-anonymizer/tests/integration/test_anonymize_engine.py | 208 | RecognizerResult(start=24, end=32, score=0.8, entity_type="NAME"), # Second "Jane Doe" | CODE |
| LOW⚡ | …-anonymizer/tests/integration/test_anonymize_engine.py | 229 | RecognizerResult(start=11, end=19, score=0.8, entity_type="NAME"), # First "Jane Doe" | CODE |
| LOW⚡ | …-anonymizer/tests/integration/test_anonymize_engine.py | 230 | RecognizerResult(start=24, end=32, score=0.8, entity_type="NAME"), # Second "Jane Doe" | CODE |
| LOW | …-anonymizer/tests/integration/test_anonymize_engine.py | 297 | "Jane Doe", | CODE |
| LOW | presidio-structured/README.md | 31 | sample_df = pd.DataFrame({'name': ['John Doe', 'Jane Smith'], 'email': ['john.doe@example.com', 'jane.smith@example.com' | CODE |
| LOW | presidio-structured/tests/conftest.py | 13 | "name": ["John Doe", "Jane Doe", "John Smith"], | CODE |
| LOW | presidio-structured/tests/conftest.py | 13 | "name": ["John Doe", "Jane Doe", "John Smith"], | CODE |
| LOW | presidio-structured/tests/conftest.py | 27 | "name": ["John Doe", "Jane Smith", "Alice Johnson"], | CODE |
| LOW | presidio-structured/tests/conftest.py | 41 | "name": "John Doe", | CODE |
| LOW | presidio-structured/tests/conftest.py | 44 | "street": "123 Main St", | CODE |
| LOW | presidio-structured/tests/conftest.py | 57 | {"id": 1, "name": "John Doe"}, | CODE |
| LOW | presidio-structured/tests/conftest.py | 58 | {"id": 2, "name": "Jane Doe"}, | CODE |
| LOW⚡ | presidio-structured/tests/test_data_reader.py | 30 | path.write_text(json.dumps({"name": "John Doe", "id": 1}), encoding="ascii") | CODE |
| LOW⚡ | presidio-structured/tests/test_data_reader.py | 82 | assert data == {"name": "John Doe", "id": 1} | CODE |
| LOW⚡ | …esidio-structured/tests/data/test_data_transformers.py | 36 | "Full Name": ["John Doe", "Jane Doe"], | CODE |
| LOW⚡ | …esidio-structured/tests/data/test_data_transformers.py | 36 | "Full Name": ["John Doe", "Jane Doe"], | CODE |
| LOW | docs/tutorial/11_custom_anonymization.md | 17 | def fake_name(x): | CODE |
| LOW | docs/tutorial/11_custom_anonymization.md | 22 | operators = {"PERSON": OperatorConfig("custom", {"lambda": fake_name})} | CODE |
| LOW | docs/tutorial/11_custom_anonymization.md | 37 | def fake_name(x): | CODE |
| LOW | docs/tutorial/11_custom_anonymization.md | 42 | operators = {"PERSON": OperatorConfig("custom", {"lambda": fake_name})} | CODE |
| LOW | docs/samples/python/streamlit/presidio_streamlit.py | 329 | fake_data = create_fake_data( | CODE |
| LOW | docs/samples/python/streamlit/presidio_streamlit.py | 334 | st.text_area(label="Synthetic data", value=fake_data, height=400) | CODE |
| LOW⚡ | docs/samples/python/streamlit/presidio_helpers.py | 230 | fake_data = call_completion_model( | CODE |
| LOW⚡ | docs/samples/python/streamlit/presidio_helpers.py | 233 | return fake_data | CODE |
| LOW | docs/samples/python/sample_data/test_structured.json | 3 | "name": "John Doe", | CODE |
| LOW | docs/samples/python/sample_data/test_structured.json | 6 | "street": "123 Main St", | CODE |
| LOW | …amples/python/sample_data/test_structured_complex.json | 5 | "name": "John Doe", | CODE |
| LOW | …amples/python/sample_data/test_structured_complex.json | 8 | "street": "123 Main St", | CODE |
| LOW | docs/structured/index.md | 39 | sample_df = pd.DataFrame({'name': ['John Doe', 'Jane Smith'], 'email': ['john.doe@example.com', 'jane.smith@example.com' | CODE |
| LOW | docs/structured/index.md | 70 | "name": "John Doe", | CODE |
| LOW | docs/structured/index.md | 92 | {"name": "John Doe", "email": "john.doe@example.com"}, | CODE |
| LOW | docs/anonymizer/index.md | 297 | # Both "John Doe" instances will have the same hash | COMMENT |
| LOW | docs/getting_started/getting_started_structured.md | 22 | sample_df = pd.DataFrame({'name': ['John Doe', 'Jane Smith'], 'email': ['john.doe@example.com', 'jane.smith@example.com' | CODE |
| LOW | e2e-tests/tests/test_api_anonymizer.py | 227 | text_for_encryption = "Lorem Ipsum is a Software Engineer" | STRING |
| LOW | e2e-tests/tests/test_api_anonymizer.py | 302 | {"operator": "keep", "entity_type": "NAME", "start": 24, "end": 32, "text":"Jane Doe", "score": 0.8} | CODE |
| LOW⚡ | …image-redactor/tests/test_document_intelligence_ocr.py | 100 | DocumentIntelligenceOCR(key="fake_key", endpoint="fake_endpoint", model_id="fake_model_id") | CODE |
| LOW⚡ | …image-redactor/tests/test_document_intelligence_ocr.py | 105 | DocumentIntelligenceOCR(key="fake_key", endpoint="fake_endpoint", model_id="prebuilt-document") | CODE |
| LOW⚡ | …image-redactor/tests/test_document_intelligence_ocr.py | 111 | DocumentIntelligenceOCR(key="fake_key", endpoint="fake_endpoint") | CODE |
| 14 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | presidio-analyzer/tests/test_recognizer_registry.py | 182 | # Create an empty recognizer registry | COMMENT |
| MEDIUM | presidio-analyzer/tests/test_recognizer_registry.py | 199 | # Create an empty recognizer registry | COMMENT |
| MEDIUM⚡ | …esidio-analyzer/tests/test_recognizers_loader_utils.py | 303 | # Create a dummy file with invalid YAML | COMMENT |
| MEDIUM | …esidio-analyzer/tests/test_analyzer_engine_provider.py | 506 | # Create a temporary file with invalid YAML | COMMENT |
| MEDIUM | …io-analyzer/tests/test_lemma_context_aware_enhancer.py | 126 | # Create a recognizer with 'lic' as context word (similar to US_DRIVER_LICENSE) | COMMENT |
| MEDIUM | …io-analyzer/tests/test_lemma_context_aware_enhancer.py | 170 | # Create a recognizer with 'lic' as context word | COMMENT |
| MEDIUM | …io-analyzer/tests/test_lemma_context_aware_enhancer.py | 254 | # Create a recognizer with 'passport' as context word | COMMENT |
| MEDIUM | …ers/third_party/azure_openai_langextract_recognizer.py | 112 | # Initialize parent class (loads config, sets self.model_id from config) | COMMENT |
| MEDIUM | …yzer/presidio_analyzer/nlp_engine/stanza_nlp_engine.py | 187 | # Create an empty config skeleton | COMMENT |
| MEDIUM | …-anonymizer/tests/integration/test_anonymize_engine.py | 326 | # Create a simple analyzer result for the entire text | COMMENT |
| MEDIUM | …cs/samples/deployments/k8s/deployment/run-with-kind.sh | 16 | # Create a KIND cluster into which we will deploy Presidio | COMMENT |
| MEDIUM | …cs/samples/deployments/k8s/deployment/run-with-kind.sh | 19 | # Create a namespace | COMMENT |
| MEDIUM⚡ | …dio-image-redactor/tests/test_image_analyzer_engine.py | 380 | # Create a dummy recognizer. It's necessary at least one recognizer to use the AnalyzerEngine | COMMENT |
| MEDIUM⚡ | …dio-image-redactor/tests/test_image_analyzer_engine.py | 385 | # Create an AnalyzerEngine to suport another language | COMMENT |
| MEDIUM⚡ | …ctor/tests/integration/test_image_processing_engine.py | 19 | # Create an instance of BilateralFilter | COMMENT |
| MEDIUM⚡ | …ctor/tests/integration/test_image_processing_engine.py | 22 | # Create a dummy PIL image for testing | COMMENT |
| MEDIUM | …ctor/tests/integration/test_image_processing_engine.py | 50 | # Create an instance of SegmentedAdaptiveThreshold | COMMENT |
| MEDIUM | …ctor/tests/integration/test_image_processing_engine.py | 79 | # Create an instance of SegmentedAdaptiveThreshold | COMMENT |
| MEDIUM | …ctor/tests/integration/test_image_processing_engine.py | 113 | # Create a mock PIL image | COMMENT |
| MEDIUM | …ctor/tests/integration/test_image_processing_engine.py | 128 | # Create a mock numpy array | COMMENT |
| MEDIUM | …presidio_image_redactor/dicom_image_redactor_engine.py | 536 | # Create the output dir manually if working with a single file | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | presidio-analyzer/app.py | 127 | except Exception as e: | CODE |
| LOW | presidio-analyzer/app.py | 142 | except Exception as e: | CODE |
| LOW | presidio-analyzer/app.py | 156 | except Exception as e: | CODE |
| LOW | …yzer/tests/test_azure_openai_langextract_recognizer.py | 183 | except Exception: | CODE |
| LOW | …yzer/tests/test_azure_openai_langextract_recognizer.py | 211 | except Exception: | CODE |
| LOW | …yzer/tests/test_azure_openai_langextract_recognizer.py | 239 | except Exception: | CODE |
| LOW | …esidio-analyzer/tests/test_recognizers_loader_utils.py | 709 | except Exception: # noqa: BLE001 - reported by the resolve test | CODE |
| LOW | …analyzer/presidio_analyzer/analyzer_engine_provider.py | 69 | except Exception: | CODE |
| LOW | …alyzer/recognizer_registry/recognizers_loader_utils.py | 629 | except Exception: # pragma: no cover — defensive: third-party subclasses | CODE |
| LOW | …alyzer/recognizer_registry/recognizers_loader_utils.py | 784 | except Exception as e: | CODE |
| LOW | …io_analyzer/recognizer_registry/recognizer_registry.py | 286 | except Exception: # pragma: no cover — defensive | CODE |
| MEDIUM | …io_analyzer/recognizer_registry/recognizer_registry.py | 383 | print(f"Error reading file {yml_path}") | STRING |
| LOW | …edefined_recognizers/ner/huggingface_ner_recognizer.py | 297 | except Exception: | CODE |
| LOW | …edefined_recognizers/ner/huggingface_ner_recognizer.py | 337 | except Exception as e: | CODE |
| LOW | …ined_recognizers/third_party/langextract_recognizer.py | 173 | except Exception: | CODE |
| LOW | …/predefined_recognizers/third_party/ahds_recognizer.py | 87 | except Exception: | CODE |
| LOW | …fined_recognizers/third_party/azure_openai_provider.py | 198 | except Exception as e: # pragma: no cover | CODE |
| LOW | …alyzer/presidio_analyzer/nlp_engine/device_detector.py | 74 | except Exception as e: | CODE |
| LOW | …lyzer/presidio_analyzer/nlp_engine/spacy_nlp_engine.py | 60 | except Exception as e: | CODE |
| LOW | …ymizer/presidio_anonymizer/operators/ahds_surrogate.py | 283 | except Exception as e: | CODE |
| LOW⚡ | presidio-anonymizer/tests/test_ahds_surrogate.py | 137 | except Exception as e: | CODE |
| LOW | presidio-anonymizer/tests/test_ahds_surrogate.py | 80 | except Exception as e: | CODE |
| LOW | presidio-anonymizer/tests/test_ahds_surrogate.py | 183 | except Exception as e: | CODE |
| LOW | presidio-anonymizer/tests/test_ahds_surrogate.py | 233 | except Exception as e: | CODE |
| LOW | presidio-anonymizer/tests/test_ahds_surrogate.py | 388 | except Exception as e: | CODE |
| LOW | presidio-anonymizer/tests/test_ahds_surrogate.py | 438 | except Exception as e: | CODE |
| LOW | …-anonymizer/tests/integration/test_anonymize_engine.py | 439 | except Exception as e: | CODE |
| LOW | …-anonymizer/tests/integration/test_anonymize_engine.py | 458 | except Exception as e: | CODE |
| LOW | presidio-cli/presidio_cli/config.py | 91 | except Exception as e: | CODE |
| LOW | presidio-cli/presidio_cli/config.py | 128 | except Exception as e: | CODE |
| LOW | presidio-cli/presidio_cli/config.py | 152 | except Exception: | CODE |
| LOW | presidio-cli/presidio_cli/cli.py | 286 | except Exception: | CODE |
| LOW | docs/samples/python/streamlit/presidio_streamlit.py | 371 | except Exception as e: | CODE |
| LOW | docs/samples/python/ahds/example_ahds_surrogate.py | 59 | except Exception as e: | CODE |
| MEDIUM | docs/samples/python/ahds/example_ahds_surrogate.py | 60 | print(f"Error: {e}") | CODE |
| LOW | …deployments/redacting-telemetry/app/presidio_client.py | 30 | except Exception as e: | CODE |
| MEDIUM | …deployments/redacting-telemetry/app/presidio_client.py | 31 | print(f"Error calling Presidio Analyzer: {e}") | CODE |
| LOW | …deployments/redacting-telemetry/app/presidio_client.py | 54 | except Exception as e: | CODE |
| MEDIUM | …deployments/redacting-telemetry/app/presidio_client.py | 55 | print(f"Error calling Presidio Anonymizer: {e}") | CODE |
| LOW | …cs/samples/deployments/redacting-telemetry/app/main.py | 87 | except Exception as e: | CODE |
| LOW | …cs/samples/deployments/redacting-telemetry/app/main.py | 203 | except Exception as e: | CODE |
| LOW | …nonymaztion-and-deanonymaztion-best-practices/index.md | 116 | except Exception as e: | CODE |
| LOW | …nonymaztion-and-deanonymaztion-best-practices/index.md | 145 | except Exception as e: | CODE |
| LOW | …sample_for_presidio_pr/anonymization_toolkit_sample.md | 96 | except Exception as e: | CODE |
| LOW | …sample_for_presidio_pr/anonymization_toolkit_sample.md | 125 | except Exception as e: | CODE |
| LOW | …tion-and-deanonymaztion-best-practices/src/api/main.py | 62 | except Exception as e: | CODE |
| LOW | …tion-and-deanonymaztion-best-practices/src/api/main.py | 83 | except Exception as e: | CODE |
| LOW | …ion-best-practices/src/api/services/toolkit_service.py | 37 | except Exception as e: | CODE |
| LOW | …ion-best-practices/src/api/services/toolkit_service.py | 56 | except Exception as e: | CODE |
| LOW | …ces/src/api/services/presidio/http_presidio_service.py | 57 | except Exception as e: | CODE |
| LOW | …ces/src/api/services/presidio/http_presidio_service.py | 77 | except Exception as e: | CODE |
| LOW | …s/src/api/services/presidio/python_presidio_service.py | 66 | except Exception as e: | CODE |
| LOW | …s/src/api/services/presidio/python_presidio_service.py | 91 | except Exception as e: | CODE |
| LOW | …s/src/api/services/presidio/hybrid_presidio_service.py | 62 | except Exception as e: | CODE |
| LOW | …s/src/api/services/presidio/hybrid_presidio_service.py | 87 | except Exception as e: | CODE |
| LOW | e2e-tests/tests/test_package_e2e_integration_flows.py | 141 | except Exception: | CODE |
| LOW⚡ | …image-redactor/tests/test_document_intelligence_ocr.py | 222 | except Exception: | CODE |
| LOW⚡ | …e-redactor/tests/test_dicom_image_pii_verify_engine.py | 51 | except Exception: | CODE |
| LOW | …sidio_image_redactor/entities/api_request_convertor.py | 25 | except Exception as e: | CODE |
| LOW | …sidio_image_redactor/entities/api_request_convertor.py | 48 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | presidio-analyzer/presidio_analyzer/__init__.py | 37 | __all__ = [ | CODE |
| LOW⚡ | …dio-analyzer/presidio_analyzer/analysis_explanation.py | 43 | def set_improved_score(self, score: float) -> None: | CODE |
| LOW⚡ | …dio-analyzer/presidio_analyzer/analysis_explanation.py | 48 | def set_supportive_context_word(self, word: str) -> None: | CODE |
| LOW | …yzer/presidio_analyzer/recognizer_registry/__init__.py | 6 | __all__ = ["RecognizerRegistry", "RecognizerRegistryProvider"] | CODE |
| LOW | …nalyzer/presidio_analyzer/input_validation/__init__.py | 15 | __all__ = [ | CODE |
| LOW | …-analyzer/presidio_analyzer/llm_utils/config_loader.py | 10 | __all__ = [ | CODE |
| LOW | …nalyzer/presidio_analyzer/llm_utils/examples_loader.py | 10 | __all__ = [ | CODE |
| LOW | …-analyzer/presidio_analyzer/llm_utils/entity_mapper.py | 11 | __all__ = [ | CODE |
| LOW | …sidio-analyzer/presidio_analyzer/llm_utils/__init__.py | 33 | __all__ = [ | CODE |
| LOW | …yzer/presidio_analyzer/llm_utils/langextract_helper.py | 22 | __all__ = [ | CODE |
| LOW | …-analyzer/presidio_analyzer/llm_utils/prompt_loader.py | 8 | __all__ = [ | CODE |
| LOW | …r/presidio_analyzer/predefined_recognizers/__init__.py | 224 | __all__ = [ | CODE |
| LOW | …esidio_analyzer/predefined_recognizers/ner/__init__.py | 7 | __all__ = [ | CODE |
| LOW | …er/predefined_recognizers/country_specific/__init__.py | 5 | __all__ = [ | CODE |
| LOW | …efined_recognizers/country_specific/poland/__init__.py | 5 | __all__ = [ | CODE |
| LOW | …efined_recognizers/country_specific/sweden/__init__.py | 6 | __all__ = [ | CODE |
| LOW | …predefined_recognizers/country_specific/us/__init__.py | 23 | __all__ = [ | CODE |
| LOW | …defined_recognizers/country_specific/korea/__init__.py | 9 | __all__ = [ | CODE |
| LOW | …efined_recognizers/country_specific/turkey/__init__.py | 6 | __all__ = [ | CODE |
| LOW | …edefined_recognizers/country_specific/thai/__init__.py | 5 | __all__ = [ | CODE |
| LOW | …defined_recognizers/country_specific/spain/__init__.py | 7 | __all__ = [ | CODE |
| LOW | …ned_recognizers/country_specific/australia/__init__.py | 8 | __all__ = [ | CODE |
| LOW | …fined_recognizers/country_specific/nigeria/__init__.py | 6 | __all__ = [ | CODE |
| LOW | …predefined_recognizers/country_specific/uk/__init__.py | 10 | __all__ = [ | CODE |
| LOW | …ned_recognizers/country_specific/singapore/__init__.py | 6 | __all__ = [ | CODE |
| LOW | …_recognizers/country_specific/south_africa/__init__.py | 16 | __all__ = [ | CODE |
| LOW | …defined_recognizers/country_specific/india/__init__.py | 10 | __all__ = [ | CODE |
| LOW | …defined_recognizers/country_specific/italy/__init__.py | 9 | __all__ = [ | CODE |
| LOW | …d_recognizers/country_specific/philippines/__init__.py | 7 | __all__ = [ | CODE |
| LOW | …fined_recognizers/country_specific/finland/__init__.py | 5 | __all__ = [ | CODE |
| LOW | …efined_recognizers/country_specific/canada/__init__.py | 6 | __all__ = [ | CODE |
| LOW | …defined_recognizers/nlp_engine_recognizers/__init__.py | 7 | __all__ = [ | CODE |
| LOW | …nalyzer/predefined_recognizers/third_party/__init__.py | 8 | __all__ = [ | CODE |
| LOW | …io_analyzer/predefined_recognizers/generic/__init__.py | 13 | __all__ = [ | CODE |
| LOW | …/presidio_analyzer/context_aware_enhancers/__init__.py | 6 | __all__ = ["ContextAwareEnhancer", "LemmaContextAwareEnhancer"] | CODE |
| LOW | …esidio-analyzer/presidio_analyzer/chunkers/__init__.py | 12 | __all__ = [ | CODE |
| LOW | …idio-analyzer/presidio_analyzer/nlp_engine/__init__.py | 15 | __all__ = [ | CODE |
| LOW | presidio-anonymizer/presidio_anonymizer/__init__.py | 25 | __all__ = [ | CODE |
| LOW | …esidio-anonymizer/presidio_anonymizer/core/__init__.py | 6 | __all__ = ["EngineBase", "TextReplaceBuilder"] | CODE |
| LOW | …o-anonymizer/presidio_anonymizer/operators/__init__.py | 25 | __all__ = [ | CODE |
| LOW | …io-anonymizer/presidio_anonymizer/entities/__init__.py | 13 | __all__ = [ | CODE |
| LOW | …ymizer/presidio_anonymizer/entities/engine/__init__.py | 7 | __all__ = ["PIIEntity", "OperatorConfig", "RecognizerResult"] | CODE |
| LOW | …presidio_anonymizer/entities/engine/result/__init__.py | 6 | __all__ = [ | CODE |
| LOW | presidio-structured/presidio_structured/__init__.py | 17 | __all__ = [ | CODE |
| LOW | …idio-structured/presidio_structured/config/__init__.py | 5 | __all__ = [ | CODE |
| LOW | …esidio-structured/presidio_structured/data/__init__.py | 6 | __all__ = [ | CODE |
| LOW | …structured/presidio_structured/data/data_processors.py | 159 | def _set_nested_value(data: Union[Dict, List], path: List[str], value: Any) -> None: | CODE |
| LOW | …cs/samples/deployments/redacting-telemetry/app/main.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | …tion-and-deanonymaztion-best-practices/src/api/main.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ion-best-practices/src/api/services/toolkit_service.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ractices/src/api/services/state/redis_state_service.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | …tices/src/api/services/state/inmemory_state_service.py | 5 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ces/src/api/services/presidio/http_presidio_service.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | …s/src/api/services/presidio/python_presidio_service.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | …s/src/api/services/presidio/hybrid_presidio_service.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | …dio-image-redactor/presidio_image_redactor/__init__.py | 26 | __all__ = [ | CODE |
| LOW | …-redactor/presidio_image_redactor/entities/__init__.py | 6 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | presidio-analyzer/install_nlp_models.py | 88 | CODE | |
| LOW | presidio-analyzer/tests/conftest.py | 31 | CODE | |
| LOW | presidio-analyzer/tests/conftest.py | 142 | CODE | |
| LOW | presidio-analyzer/tests/test_batch_analyzer_engine.py | 217 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/analyzer_engine.py | 423 | CODE | |
| LOW | …esidio-analyzer/presidio_analyzer/entity_recognizer.py | 277 | CODE | |
| LOW | …io-analyzer/presidio_analyzer/batch_analyzer_engine.py | 68 | CODE | |
| LOW | …sidio-analyzer/presidio_analyzer/pattern_recognizer.py | 193 | CODE | |
| LOW | …io_analyzer/input_validation/yaml_recognizer_models.py | 531 | CODE | |
| LOW | …io_analyzer/input_validation/yaml_recognizer_models.py | 623 | CODE | |
| LOW | …-analyzer/presidio_analyzer/llm_utils/config_loader.py | 102 | CODE | |
| LOW | …y_specific/india/in_vehicle_registration_recognizer.py | 360 | CODE | |
| LOW | …yzer/predefined_recognizers/generic/iban_recognizer.py | 95 | CODE | |
| LOW | …yzer/predefined_recognizers/generic/iban_recognizer.py | 132 | CODE | |
| LOW | …io-analyzer/presidio_analyzer/chunkers/base_chunker.py | 101 | CODE | |
| LOW | …yzer/presidio_analyzer/nlp_engine/stanza_nlp_engine.py | 299 | CODE | |
| LOW | …yzer/presidio_analyzer/nlp_engine/stanza_nlp_engine.py | 420 | CODE | |
| LOW | …/presidio_analyzer/nlp_engine/slim_spacy_nlp_engine.py | 89 | CODE | |
| LOW | …ymizer/presidio_anonymizer/batch_deanonymize_engine.py | 54 | CODE | |
| LOW | …io-anonymizer/presidio_anonymizer/anonymizer_engine.py | 133 | CODE | |
| LOW | …io-anonymizer/presidio_anonymizer/anonymizer_engine.py | 224 | CODE | |
| LOW | …nymizer/presidio_anonymizer/batch_anonymizer_engine.py | 48 | CODE | |
| LOW | presidio-anonymizer/tests/test_ahds_surrogate.py | 42 | CODE | |
| LOW | presidio-anonymizer/tests/test_ahds_surrogate.py | 93 | CODE | |
| LOW | presidio-anonymizer/tests/test_ahds_surrogate.py | 159 | CODE | |
| LOW | presidio-anonymizer/tests/test_ahds_surrogate.py | 345 | CODE | |
| LOW | presidio-anonymizer/tests/test_ahds_surrogate.py | 401 | CODE | |
| LOW | presidio-cli/presidio_cli/cli.py | 126 | CODE | |
| LOW | presidio-cli/presidio_cli/cli.py | 181 | CODE | |
| LOW | presidio-cli/presidio_cli/cli.py | 202 | CODE | |
| LOW | …structured/presidio_structured/data/data_processors.py | 159 | CODE | |
| LOW | …structured/presidio_structured/data/data_processors.py | 185 | CODE | |
| LOW | docs/samples/python/streamlit/presidio_helpers.py | 35 | CODE | |
| LOW | …s/src/api/services/presidio/python_presidio_service.py | 95 | CODE | |
| LOW | …s/src/api/services/presidio/hybrid_presidio_service.py | 91 | CODE | |
| LOW | e2e-tests/common/assertions.py | 15 | CODE | |
| LOW | …dio-image-redactor/tests/test_image_analyzer_engine.py | 306 | CODE | |
| LOW | …presidio_image_redactor/dicom_image_redactor_engine.py | 647 | CODE | |
| LOW | …presidio_image_redactor/dicom_image_redactor_engine.py | 690 | CODE | |
| LOW | …esidio_image_redactor/dicom_image_pii_verify_engine.py | 200 | CODE | |
| LOW | …actor/presidio_image_redactor/image_analyzer_engine.py | 133 | CODE | |
| LOW | …actor/presidio_image_redactor/image_redactor_engine.py | 118 | CODE | |
| LOW | presidio-image-redactor/presidio_image_redactor/bbox.py | 61 | CODE | |
| LOW | scripts/zensical_build.py | 92 | CODE | |
| LOW | scripts/zensical_build.py | 96 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …yzer/tests/test_azure_openai_langextract_recognizer.py | 239 | except Exception: | CODE |
| HIGH | …yzer/tests/test_azure_openai_langextract_recognizer.py | 183 | except Exception: | CODE |
| HIGH | …yzer/tests/test_azure_openai_langextract_recognizer.py | 211 | except Exception: | CODE |
| HIGH | …io_analyzer/input_validation/yaml_recognizer_models.py | 619 | except PredefinedRecognizerNotFoundError: | CODE |
| HIGH | …io_analyzer/input_validation/yaml_recognizer_models.py | 406 | except PredefinedRecognizerNotFoundError: | CODE |
| HIGH | …edefined_recognizers/ner/huggingface_ner_recognizer.py | 246 | except (ValueError, IndexError): | CODE |
| HIGH | …ers/third_party/azure_openai_langextract_recognizer.py | 25 | except ImportError: # pragma: no cover | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …io-analyzer/tests/test_basic_langextract_recognizer.py | 352 | # Set min_score to 0.5 (default in config) | COMMENT |
| LOW | …alyzer/recognizer_registry/recognizers_loader_utils.py | 762 | # Check if registry_configuration has all mandatory keys | COMMENT |
| LOW | …alyzer/recognizer_registry/recognizers_loader_utils.py | 805 | # Check if config_from_file has any invalid keys | COMMENT |
| LOW⚡ | …io_analyzer/input_validation/yaml_recognizer_models.py | 109 | # Check if user provided both (before we modify them) | COMMENT |
| LOW | …io_analyzer/input_validation/yaml_recognizer_models.py | 125 | # Check if global context is defined | COMMENT |
| LOW | …ecognizers/country_specific/korea/kr_rrn_recognizer.py | 91 | # Check if the sanitized value has the correct length (13 digits) | COMMENT |
| LOW | …ecognizers/country_specific/korea/kr_rrn_recognizer.py | 95 | # Check if all characters are digits | COMMENT |
| LOW | …ecognizers/country_specific/thai/th_tnin_recognizer.py | 100 | # Check if the sanitized value has the correct length (13 digits) | COMMENT |
| LOW | …ecognizers/country_specific/thai/th_tnin_recognizer.py | 104 | # Check if all characters are digits | COMMENT |
| LOW | …nizers/country_specific/singapore/sg_uen_recognizer.py | 156 | # Check if the year of registration is not in the future | COMMENT |
| LOW | …io-analyzer/presidio_analyzer/chunkers/base_chunker.py | 123 | # Check if same entity type and overlapping positions | COMMENT |
| LOW | …io-analyzer/presidio_analyzer/chunkers/base_chunker.py | 137 | # Check if overlap exceeds threshold | COMMENT |
| LOW | …dio-structured/presidio_structured/analysis_builder.py | 371 | # Check if mixed strategy threshold is within the valid range | COMMENT |
| LOW | …dio-structured/presidio_structured/analysis_builder.py | 379 | # Check if the highest score is greater than threshold and select accordingly | COMMENT |
| LOW | docs/samples/python/ahds/example_ahds_surrogate.py | 12 | # Check if AHDS endpoint is available | COMMENT |
| LOW | …deanonymaztion-best-practices/infrastructure/deploy.sh | 3 | # Check if both tenant ID and subscription ID are provided | COMMENT |
| LOW | …presidio_image_redactor/dicom_image_redactor_engine.py | 306 | # Check if image is grayscale using the Photometric Interpretation element | COMMENT |
| LOW | …presidio_image_redactor/dicom_image_redactor_engine.py | 755 | # Check if we want the box color to contrast with the background | COMMENT |
| LOW | …actor/presidio_image_redactor/image_analyzer_engine.py | 343 | # Check if we have the same bbox in analyzer results | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | presidio-analyzer/tests/test_crypto_recognizer.py | 21 | # fmt: off | COMMENT |
| LOW | presidio-analyzer/tests/test_recognizer_registry.py | 621 | # Constructor ``country_code=`` kwarg — the path for custom recognizers | COMMENT |
| LOW | …esidio-analyzer/tests/test_recognizers_loader_utils.py | 581 | with pytest.raises(ValueError, match="non-empty string"): | COMMENT |
| LOW | …esidio-analyzer/tests/test_recognizers_loader_utils.py | 601 | # the switch. The tests below construct every one of them. | COMMENT |
| LOW | presidio-analyzer/tests/test_sg_fin_recognizer.py | 21 | ## Medium match | COMMENT |
| LOW | …esidio-analyzer/tests/test_analyzer_engine_provider.py | 21 | COMMENT | |
| LOW | …yzer/predefined_recognizers/generic/iban_recognizer.py | 41 | COMMENT | |
| LOW | …ontext_aware_enhancers/lemma_context_aware_enhancer.py | 281 | tokens, | COMMENT |
| LOW | …yzer/presidio_analyzer/conf/default_analyzer_full.yaml | 41 | COMMENT | |
| LOW | …alyzer/presidio_analyzer/conf/default_recognizers.yaml | 1 | supported_languages: | COMMENT |
| LOW | …alyzer/presidio_analyzer/conf/default_recognizers.yaml | 21 | # - Use 'class_name' to specify the Python class when using a custom 'name' for display/metadata | COMMENT |
| LOW | …alyzer/presidio_analyzer/conf/example_recognizers.yaml | 1 | # Optional top-level field: | COMMENT |
| LOW | …r/presidio_analyzer/conf/langextract_config_basic.yaml | 41 | use_schema_constraints: false | COMMENT |
| LOW | presidio-cli/presidio_cli/conf/limited.yaml | 21 | locale: en_US.UTF-8 | COMMENT |
| LOW | docs/requirements-docs.txt | 1 | # Dependencies for building the Presidio documentation with Zensical, the | COMMENT |
| LOW | docs/samples/deployments/spark/notebooks/00_setup.py | 1 | # Databricks notebook source | COMMENT |
| LOW | …s/deployments/spark/notebooks/01_transform_presidio.py | 1 | # Databricks notebook source | COMMENT |
| LOW | docs/analyzer/filtering_by_country.md | 261 | # WARNING ... Country filter: no recognizer matched country_code='br'. | COMMENT |
| LOW | .github/labeler.yml | 1 | # Path-based labels applied automatically by .github/workflows/label-areas.yml | COMMENT |
| LOW | .github/dependabot.yml | 1 | # Security rationale for all ecosystem settings: | COMMENT |
| LOW | .github/dependabot.yml | 21 | # | COMMENT |
| LOW | .github/workflows/codeql-analysis.yml | 1 | # For most projects, this workflow file will not need changing; you simply need | COMMENT |
| LOW | .github/workflows/defender-for-devops.yml | 1 | # This workflow uses actions that are not certified by GitHub. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | presidio-analyzer/README.md | 44 | api_key="your-api-key" | CODE |
| HIGH | presidio-analyzer/README.md | 57 | api_key="your-api-key" | CODE |
| HIGH | docs/samples/python/langextract/index.md | 240 | api_key="your-api-key-here", | CODE |
| HIGH | docs/samples/python/langextract/index.md | 264 | os.environ["AZURE_OPENAI_API_KEY"] = "your-api-key-here" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …io-analyzer/tests/test_basic_langextract_recognizer.py | 7 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/analyzer_engine.py | 169 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/lm_recognizer.py | 30 | CODE | |
| LOW | …sidio-analyzer/presidio_analyzer/pattern_recognizer.py | 50 | CODE | |
| LOW | …edefined_recognizers/ner/huggingface_ner_recognizer.py | 107 | CODE | |
| LOW | …r/predefined_recognizers/ner/medical_ner_recognizer.py | 32 | CODE | |
| LOW | …alyzer/predefined_recognizers/ner/gliner_recognizer.py | 29 | CODE | |
| LOW | …zer/predefined_recognizers/generic/phone_recognizer.py | 97 | CODE | |
| LOW | …yzer/predefined_recognizers/generic/iban_recognizer.py | 69 | CODE | |
| LOW | …yzer/presidio_analyzer/nlp_engine/stanza_nlp_engine.py | 206 | CODE | |
| LOW | …yzer/presidio_analyzer/nlp_engine/stanza_nlp_engine.py | 233 | CODE | |
| LOW | presidio-structured/tests/conftest.py | 50 | CODE | |
| LOW | presidio-structured/tests/conftest.py | 61 | CODE | |
| LOW | docs/samples/python/streamlit/presidio_helpers.py | 175 | CODE | |
| LOW | …presidio_image_redactor/dicom_image_redactor_engine.py | 141 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/community.md | 13 | | [LiteLLM](https://docs.litellm.ai/docs/proxy/guardrails/pii_masking_v2) | Integrate Presidio into LiteLLM | | CODE |
| MEDIUM | docs/community.md | 14 | | [Guardrails-ai](https://www.guardrailsai.com/docs/examples/check_for_pii) | Use Presidio as an LLM guardrails using th | CODE |
| MEDIUM | docs/samples/docker/litellm.md | 5 | [👉 **Refer to LiteLLM Docs for detailed guide**](https://docs.litellm.ai/docs/proxy/guardrails/pii_masking_v2) | CODE |
| MEDIUM | docs/samples/docker/aisix.md | 191 | [AISIX Presidio guardrail documentation](https://docs.api7.ai/ai-gateway/traffic-controls/guardrails/presidio). | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | presidio-analyzer/tests/test_config_loader.py | 259 | # Step 1: Load YAML | STRING |
| LOW⚡ | presidio-analyzer/tests/test_config_loader.py | 262 | # Step 2: Extract lm_recognizer config | STRING |
| LOW⚡ | presidio-analyzer/tests/test_config_loader.py | 269 | # Step 3: Get model config | STRING |
| LOW⚡ | presidio-analyzer/tests/test_examples_loader.py | 243 | # Step 1: Load YAML | STRING |
| LOW⚡ | presidio-analyzer/tests/test_examples_loader.py | 248 | # Step 2: Convert to LangExtract format | STRING |
| LOW | …ecognizers/country_specific/korea/kr_brn_recognizer.py | 120 | # Step 3: Special handling for the 9th digit | COMMENT |
| LOW | docs/ahds_integration.md | 61 | # Step 1: Detect entities using AHDS recognizer | COMMENT |
| LOW | docs/ahds_integration.md | 68 | # Step 2: Anonymize using AHDS surrogate generation | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …io-analyzer/presidio_analyzer/batch_analyzer_engine.py | 106 | continue # skip this key as requested | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | presidio-analyzer/tests/test_config_loader.py | 259 | # Step 1: Load YAML | STRING |
| LOW⚡ | presidio-analyzer/tests/test_config_loader.py | 262 | # Step 2: Extract lm_recognizer config | STRING |
| LOW⚡ | presidio-analyzer/tests/test_config_loader.py | 269 | # Step 3: Get model config | STRING |
| LOW⚡ | presidio-analyzer/tests/test_examples_loader.py | 243 | # Step 1: Load YAML | STRING |
| LOW⚡ | presidio-analyzer/tests/test_examples_loader.py | 248 | # Step 2: Convert to LangExtract format | STRING |
| LOW | …ecognizers/country_specific/korea/kr_brn_recognizer.py | 120 | # Step 3: Special handling for the 9th digit | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …cs/samples/deployments/k8s/deployment/run-with-kind.sh | 3 | # This script utilize KIND (https://github.com/kubernetes-sigs/kind), to install Presidio | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/codeql-analysis.yml | 54 | # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how | COMMENT |