Blocked Keywords
The blocked_keywords guardrail blocks prompts that contain specified words or phrases.
Import
Section titled “Import”from pydantic_ai_guardrails.guardrails.input import blocked_keywordsBasic Usage
Section titled “Basic Usage”from pydantic_ai_guardrails import GuardedAgentfrom pydantic_ai_guardrails.guardrails.input import blocked_keywords
guarded_agent = GuardedAgent( agent, input_guardrails=[ blocked_keywords(keywords=['hack', 'exploit', 'bypass']), ],)Parameters
Section titled “Parameters”| Parameter | Type | Default | Description |
|---|---|---|---|
keywords | list[str] | Required | Words/phrases to block |
case_sensitive | bool | False | Match case exactly |
Examples
Section titled “Examples”Basic Keyword Blocking
Section titled “Basic Keyword Blocking”guardrail = blocked_keywords( keywords=['confidential', 'secret', 'password'],)Case-Sensitive Matching
Section titled “Case-Sensitive Matching”guardrail = blocked_keywords( keywords=['API_KEY', 'SECRET'], case_sensitive=True,)Phrase Blocking
Section titled “Phrase Blocking”guardrail = blocked_keywords( keywords=[ 'ignore previous instructions', 'system prompt', 'jailbreak', ],)Competitor Blocking
Section titled “Competitor Blocking”guardrail = blocked_keywords( keywords=['competitor_a', 'competitor_b', 'competitor_c'], case_sensitive=False,)Violation Result
Section titled “Violation Result”When triggered, returns:
{ 'tripwire_triggered': True, 'message': 'Blocked keyword detected: hack', 'severity': 'medium', 'metadata': { 'keywords_found': ['hack'], },}Use Cases
Section titled “Use Cases”- Security: Block known attack patterns
- Brand protection: Block competitor mentions
- Compliance: Block prohibited terms
- Content policy: Enforce usage guidelines
Combining with Other Guardrails
Section titled “Combining with Other Guardrails”guarded_agent = GuardedAgent( agent, input_guardrails=[ # Fast keyword check first blocked_keywords(keywords=['hack', 'exploit']), # Then more expensive checks prompt_injection(), ],)