Skip to main content

Personal information

Configuration

The following configuration has to be placed in your LLM provider entity in the Guardrail Validation section.

"guardrails": [
{
"enabled": true,
"before": true,
"after": true,
"id": "pif",
"config": {
"provider": "provider_28ccfcf1-85b0-4e8d-b505-6793d07c0ee3",
"pif_items": [
"EMAIL_ADDRESS",
"PHONE_NUMBER",
"LOCATION_ADDRESS",
"NAME",
"IP_ADDRESS",
"CREDIT_CARD",
"SSN"
]
}
}
]

Field Explanations

  • enabled: true → The guardrail is active.
  • before: true → The guardrail applies before processing data.
  • after: true → The guardrail applies after LLM response.
  • id: "pif" → The identifier for this guardrail

Config Section

  • provider: The LLM provider responsible for enforcing the guardrail.

  • pif_items: A list of sensitive data types to be filtered or protected Available pif_items :

    • EMAIL_ADDRESS
    • PHONE_NUMBER
    • LOCATION_ADDRESS
    • NAME
    • IP_ADDRESS
    • CREDIT_CARD
    • SS

Prompt example

$ curl --request POST \
--url 'http://guardrail-pif.oto.tools:8080/v1/chat/completions' \
--header 'authorization: Bearer $BEARER_TOKEN' \
--header 'content-type: application/json' \
--data '{
"messages": [
{
"role": "user",
"content": "Could you tell me if the user email bob@example.com is present in the 'users' table please ?"
}
]
}'

Response example

{
"id": "chatcmpl-5iTwZroMP6B3qKEWqfHLbvcVsQhucOHE",
"object": "chat.completion",
"created": 1743177176,
"model": "gpt-4o-mini",
"system_fingerprint": "fp-1HS2LIBA0cK0N8rBVi30YVUbayejNDAo",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "This message has been blocked by the 'personal-information' guardrail !"
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 0,
"completion_tokens": 0,
"total_tokens": 0,
"completion_tokens_details": {
"reasoning_tokens": 0
}
}
}