{
"type": "object",
"title": "PII Detection Plugin Configuration",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"type": "array",
"items": {
"type": "string"
},
"title": "Context Words",
"examples": [
[
"patient",
"medical",
"doctor"
]
],
"description": "Additional context words to improve detection accuracy. These help the analyzer understand the surrounding text."
},
"entities": {
"type": "array",
"items": {
"enum": [
"PERSON",
"EMAIL_ADDRESS",
"PHONE_NUMBER",
"CREDIT_CARD",
"CRYPTO",
"DATE_TIME",
"IBAN_CODE",
"IP_ADDRESS",
"LOCATION",
"MEDICAL_LICENSE",
"NRP",
"URL",
"US_BANK_NUMBER",
"US_DRIVER_LICENSE",
"US_ITIN",
"US_PASSPORT",
"US_SSN",
"UK_NHS",
"SG_NRIC_FIN",
"AU_ABN",
"AU_ACN",
"AU_TFN",
"AU_MEDICARE",
"IN_PAN",
"IN_AADHAAR",
"IN_VEHICLE_REGISTRATION",
"ES_NIF",
"IT_FISCAL_CODE",
"IT_DRIVER_LICENSE",
"IT_VAT_CODE",
"IT_PASSPORT",
"IT_IDENTITY_CARD"
],
"type": "string"
},
"title": "Entity Types",
"examples": [
[
"EMAIL_ADDRESS",
"PHONE_NUMBER",
"CREDIT_CARD"
]
],
"description": "List of PII entity types to detect. If not specified, all supported entities will be detected."
},
"language": {
"type": "string",
"title": "Language",
"default": "en",
"examples": [
"en",
"es",
"de",
"fr"
],
"description": "Language code for text analysis. Supported languages depend on Presidio configuration."
},
"deny_list": {
"type": "array",
"items": {
"type": "string"
},
"title": "Deny List",
"examples": [
[
"confidential",
"internal-use-only"
]
],
"description": "List of terms/patterns that should always be flagged as PII, regardless of detection confidence."
},
"allow_list": {
"type": "array",
"items": {
"type": "string"
},
"title": "Allow List",
"examples": [
[
"[email protected]",
"555-0000"
]
],
"description": "List of terms/patterns that should not be flagged as PII, even if they match detection patterns."
},
"score_threshold": {
"type": "number",
"title": "Score Threshold",
"default": 0.5,
"maximum": 1,
"minimum": 0,
"description": "Minimum confidence score (0-1) required to consider an entity as PII. Higher values reduce false positives but may miss some PII."
},
"rejection_message": {
"type": "string",
"title": "Rejection Message",
"default": "Request contains personally identifiable information and cannot be processed.",
"description": "Custom message to return when request is rejected due to PII detection."
},
"reject_on_detection": {
"type": "boolean",
"title": "Reject on Detection",
"default": true,
"description": "Whether to reject requests when PII is detected. Set to false to allow requests but log PII detection."
},
"return_decision_process": {
"type": "boolean",
"title": "Return Decision Process",
"default": false,
"description": "Include detailed analysis explanation in debug output. Useful for understanding why certain text was flagged."
}
},
"description": "Configuration for the Presidio-based PII detection plugin that rejects requests containing personally identifiable information."
}