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 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).
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.
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.
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.
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.
| 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 | 105 | 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 | 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 | presidio-analyzer/tests/test_uk_nino_recognizer.py | 39 | 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 | …o-analyzer/tests/test_de_handelsregister_recognizer.py | 50 | def test_when_all_de_handelsregister_numbers_then_succeed( | 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 |
| LOW | presidio-analyzer/tests/test_azure_auth_helper.py | 11 | def test_when_development_env_then_uses_default_credential(self, mock_default_cred): | CODE |
| LOW | presidio-analyzer/tests/test_azure_auth_helper.py | 29 | def test_when_production_env_then_uses_chained_credential( | CODE |
| LOW | presidio-analyzer/tests/test_azure_auth_helper.py | 49 | def test_when_no_env_set_then_uses_chained_credential( | CODE |
| LOW | presidio-analyzer/tests/test_azure_auth_helper.py | 76 | def test_when_scope_provided_then_returns_provider( | CODE |
| LOW | presidio-analyzer/tests/test_azure_auth_helper.py | 97 | def test_when_custom_credential_provided_then_uses_it(self, mock_get_provider): | CODE |
| 1366 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 248 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 250 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 325 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 327 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 601 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | presidio-analyzer/tests/test_recognizer_registry.py | 603 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | presidio-analyzer/tests/test_recognizer_registry.py | 475 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | presidio-analyzer/tests/test_recognizer_registry.py | 486 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | presidio-analyzer/tests/test_recognizer_registry.py | 617 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | presidio-analyzer/tests/test_recognizer_registry.py | 619 | # --------------------------------------------------------------------------- | 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 | 185 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …esidio-analyzer/tests/test_recognizers_loader_utils.py | 187 | # --------------------------------------------------------------------------- | 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 |
| MEDIUM | …age-redactor/tests/test_dicom_image_redactor_engine.py | 166 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | …age-redactor/tests/test_dicom_image_redactor_engine.py | 236 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | …age-redactor/tests/test_dicom_image_redactor_engine.py | 238 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | …age-redactor/tests/test_dicom_image_redactor_engine.py | 279 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | …age-redactor/tests/test_dicom_image_redactor_engine.py | 281 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | …age-redactor/tests/test_dicom_image_redactor_engine.py | 357 | # ------------------------------------------------------ | COMMENT |
| 53 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 |
|---|---|---|---|---|
| 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 | …esidio-analyzer/tests/test_analyzer_engine_provider.py | 6 | 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 | 8 | 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 | |
| 287 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 | 169 | {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation": null}, | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 170 | {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanation" | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 365 | {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation":null}, | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 366 | {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanation | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 367 | {"entity_type": "ZIP", "start": 50, "end": 55, "score": 0.01, "analysis_explanation":null} | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 436 | {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation":null}, | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 437 | {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanation | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 438 | {"entity_type": "ZIP", "start": 50, "end": 55, "score": 0.4, "analysis_explanation":null} | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 474 | {"entity_type": "PERSON", "start": 4, "end": 14, "score": 0.85, "analysis_explanation":null}, | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 475 | {"entity_type": "US_DRIVER_LICENSE", "start": 36, "end": 44, "score": 0.6499999999999999, "analysis_explanation | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 476 | {"entity_type": "MR_TITLE", "start": 0, "end": 3, "score": 1.0, "analysis_explanation":null} | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 593 | {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation":null}, | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 594 | {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanat | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 597 | {"entity_type": "PERSON", "start": 0, "end": 10, "score": 0.85, "analysis_explanation":null}, | CODE |
| HIGH⚡ | e2e-tests/tests/test_api_analyzer.py | 598 | {"entity_type": "US_DRIVER_LICENSE", "start": 30, "end": 38, "score": 0.6499999999999999, "analysis_explanat | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 192 | "recognizer": "SpacyRecognizer", "pattern_name": null, "pattern": null, "original_score": 0.85, "score": 0.8 | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 201 | "original_score": 0.3, "score": 0.6499999999999999, "textual_explanation": null, | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 227 | "pattern": null, | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 228 | "pattern_name": null, | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 250 | "textual_explanation": null, | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 542 | {"entity_type": "EMAIL_ADDRESS", "start": 7, "end": 23, "score": 0.85, "analysis_explanation":null} | CODE |
| HIGH | e2e-tests/tests/test_api_analyzer.py | 568 | {"entity_type": "EMAIL_ADDRESS", "start": 7, "end": 23, "score": 0.85, "analysis_explanation":null} | CODE |
| 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 | 195 | # Verify that "Jane Doe" was hashed to the same value | COMMENT |
| LOW⚡ | …-anonymizer/tests/integration/test_anonymize_engine.py | 206 | RecognizerResult(start=11, end=19, score=0.8, entity_type="NAME"), # First "Jane Doe" | CODE |
| LOW⚡ | …-anonymizer/tests/integration/test_anonymize_engine.py | 207 | RecognizerResult(start=24, end=32, score=0.8, entity_type="NAME"), # Second "Jane Doe" | CODE |
| LOW⚡ | …-anonymizer/tests/integration/test_anonymize_engine.py | 228 | RecognizerResult(start=11, end=19, score=0.8, entity_type="NAME"), # First "Jane Doe" | CODE |
| LOW⚡ | …-anonymizer/tests/integration/test_anonymize_engine.py | 229 | RecognizerResult(start=24, end=32, score=0.8, entity_type="NAME"), # Second "Jane Doe" | CODE |
| LOW | …-anonymizer/tests/integration/test_anonymize_engine.py | 296 | "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 | 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"} | 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 |
| LOW⚡ | …image-redactor/tests/test_document_intelligence_ocr.py | 117 | assert credential.key == "fake_key" | CODE |
| LOW⚡ | …image-redactor/tests/test_document_intelligence_ocr.py | 135 | credential = AzureKeyCredential("fake_key") | CODE |
| LOW⚡ | …image-redactor/tests/test_document_intelligence_ocr.py | 148 | endpoint="fake_endpoint", key="fake_key", credential=mock.Mock() | CODE |
| LOW⚡ | …image-redactor/tests/test_document_intelligence_ocr.py | 172 | monkeypatch.setenv("DOCUMENT_INTELLIGENCE_KEY", "fake_key") | CODE |
| 12 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | presidio-analyzer/tests/test_recognizer_registry.py | 110 | # Create an empty recognizer registry | COMMENT |
| MEDIUM | presidio-analyzer/tests/test_recognizer_registry.py | 127 | # Create an empty recognizer registry | COMMENT |
| MEDIUM⚡ | …esidio-analyzer/tests/test_recognizers_loader_utils.py | 166 | # Create a dummy file with invalid YAML | COMMENT |
| MEDIUM | …esidio-analyzer/tests/test_analyzer_engine_provider.py | 372 | # 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 | …analyzer/presidio_analyzer/analyzer_engine_provider.py | 69 | except Exception: | CODE |
| LOW | …alyzer/recognizer_registry/recognizers_loader_utils.py | 613 | except Exception: # pragma: no cover — defensive: third-party subclasses | CODE |
| LOW | …alyzer/recognizer_registry/recognizers_loader_utils.py | 768 | except Exception as e: | CODE |
| LOW | …io_analyzer/recognizer_registry/recognizer_registry.py | 249 | except Exception: # pragma: no cover — defensive | CODE |
| MEDIUM | …io_analyzer/recognizer_registry/recognizer_registry.py | 341 | print(f"Error reading file {yml_path}") | STRING |
| LOW | …edefined_recognizers/ner/huggingface_ner_recognizer.py | 289 | except Exception: | CODE |
| LOW | …edefined_recognizers/ner/huggingface_ner_recognizer.py | 320 | 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 | 350 | except Exception as e: | CODE |
| LOW | …-anonymizer/tests/integration/test_anonymize_engine.py | 369 | 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 | 118 | except Exception as e: | CODE |
| LOW | presidio-cli/presidio_cli/config.py | 142 | except Exception: | CODE |
| LOW | presidio-cli/presidio_cli/cli.py | 269 | 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 | 186 | __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 | 13 | __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 | 5 | __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 | 6 | __all__ = [ | CODE |
| LOW | …fined_recognizers/country_specific/finland/__init__.py | 5 | __all__ = [ | CODE |
| LOW | …efined_recognizers/country_specific/canada/__init__.py | 5 | __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 | 12 | __all__ = [ | CODE |
| LOW | …/presidio_analyzer/context_aware_enhancers/__init__.py | 6 | __all__ = ["ContextAwareEnhancer", "LemmaContextAwareEnhancer"] | CODE |
| LOW | …esidio-analyzer/presidio_analyzer/chunkers/__init__.py | 9 | __all__ = [ | CODE |
| LOW | …idio-analyzer/presidio_analyzer/nlp_engine/__init__.py | 14 | __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 | 160 | 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 | 138 | CODE | |
| LOW | presidio-analyzer/tests/test_batch_analyzer_engine.py | 217 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/analyzer_engine.py | 349 | CODE | |
| LOW | …esidio-analyzer/presidio_analyzer/entity_recognizer.py | 259 | 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 | 440 | CODE | |
| LOW | …io_analyzer/input_validation/yaml_recognizer_models.py | 531 | 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 | 220 | 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 | 111 | CODE | |
| LOW | presidio-cli/presidio_cli/cli.py | 164 | CODE | |
| LOW | presidio-cli/presidio_cli/cli.py | 185 | CODE | |
| LOW | …structured/presidio_structured/data/data_processors.py | 160 | CODE | |
| LOW | …structured/presidio_structured/data/data_processors.py | 186 | 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 |
|---|---|---|---|---|
| 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 | 746 | # Check if registry_configuration has all mandatory keys | COMMENT |
| LOW | …alyzer/recognizer_registry/recognizers_loader_utils.py | 789 | # Check if config_from_file has any invalid keys | COMMENT |
| LOW⚡ | …io_analyzer/input_validation/yaml_recognizer_models.py | 105 | # Check if user provided both (before we modify them) | COMMENT |
| LOW | …io_analyzer/input_validation/yaml_recognizer_models.py | 121 | # 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 |
|---|---|---|---|---|
| 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 | presidio-analyzer/tests/test_crypto_recognizer.py | 21 | # fmt: off | COMMENT |
| LOW | presidio-analyzer/tests/test_sg_fin_recognizer.py | 21 | ## Medium match | 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/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/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 |
|---|---|---|---|---|
| LOW | …io-analyzer/tests/test_basic_langextract_recognizer.py | 7 | CODE | |
| LOW | presidio-analyzer/presidio_analyzer/analyzer_engine.py | 150 | 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 | 103 | 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 |
|---|---|---|---|---|
| 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 | 118 | # 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 |
|---|---|---|---|---|
| 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 |
| 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 | 118 | # 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 |