Skip to content

Blocked Keywords

The blocked_keywords guardrail blocks prompts that contain specified words or phrases.

from pydantic_ai_guardrails.guardrails.input import blocked_keywords
from pydantic_ai_guardrails import GuardedAgent
from pydantic_ai_guardrails.guardrails.input import blocked_keywords
guarded_agent = GuardedAgent(
agent,
input_guardrails=[
blocked_keywords(keywords=['hack', 'exploit', 'bypass']),
],
)
ParameterTypeDefaultDescription
keywordslist[str]RequiredWords/phrases to block
case_sensitiveboolFalseMatch case exactly
guardrail = blocked_keywords(
keywords=['confidential', 'secret', 'password'],
)
guardrail = blocked_keywords(
keywords=['API_KEY', 'SECRET'],
case_sensitive=True,
)
guardrail = blocked_keywords(
keywords=[
'ignore previous instructions',
'system prompt',
'jailbreak',
],
)
guardrail = blocked_keywords(
keywords=['competitor_a', 'competitor_b', 'competitor_c'],
case_sensitive=False,
)

When triggered, returns:

{
'tripwire_triggered': True,
'message': 'Blocked keyword detected: hack',
'severity': 'medium',
'metadata': {
'keywords_found': ['hack'],
},
}
  • Security: Block known attack patterns
  • Brand protection: Block competitor mentions
  • Compliance: Block prohibited terms
  • Content policy: Enforce usage guidelines
guarded_agent = GuardedAgent(
agent,
input_guardrails=[
# Fast keyword check first
blocked_keywords(keywords=['hack', 'exploit']),
# Then more expensive checks
prompt_injection(),
],
)