{"data":{"slug":"vstorm-co-pydantic-ai-shields","name":"pydantic-ai-shields","tagline":"Guardrail capabilities for Pydantic AI","github_url":"https://github.com/vstorm-co/pydantic-ai-shields","owner":"vstorm-co","repo":"pydantic-ai-shields","owner_avatar_url":"https://avatars.githubusercontent.com/u/80465946?v=4","primary_language":"Python","stars":93,"forks":11,"topics":["ai-agents","ai-guardrails","ai-safety","anthropic","async","content-moderation","guardrails","input-validation","llm","middlewares","openai","pii-redaction","pydantic","pydantic-ai","python","rate-limiting","type-safe","vstorm"],"archived":false,"github_pushed_at":"2026-09-10T23:12:19+00:00","maintenance_label":"Very active","stars_delta_30d":2,"url":"https://www.graphcanon.com/tools/vstorm-co-pydantic-ai-shields","markdown_url":"https://www.graphcanon.com/tools/vstorm-co-pydantic-ai-shields.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/vstorm-co-pydantic-ai-shields","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=vstorm-co-pydantic-ai-shields","description":"Guardrail capabilities for Pydantic AI — cost tracking, prompt injection detection, PII filtering, secret redaction, tool permissions, and async guardrails. Built on pydantic-ai's native capabilities API.","homepage_url":"https://vstorm-co.github.io/pydantic-ai-shields/","license":"MIT","open_issues":3,"watchers":3,"ai_summary":"Provides cost tracking, prompt injection detection, PII filtering, secret redaction, tool permissions, and async guardrails built on pydantic-ai's native capabilities API.","readme_excerpt":"## Installation\n\n```bash\npip install pydantic-ai-shields\n```\n\n---\n\n## Quick Start\n\n```python\nfrom pydantic_ai import Agent\nfrom pydantic_ai_shields import CostTracking, ToolGuard, InputGuard\n\nagent = Agent(\n    \"openai:gpt-4.1\",\n    capabilities=[\n        CostTracking(budget_usd=5.0),\n        ToolGuard(blocked=[\"execute\"], require_approval=[\"write_file\"]),\n        InputGuard(guard=lambda prompt: \"ignore all instructions\" not in prompt.lower()),\n    ],\n)\n\nresult = await agent.run(\"Hello!\")\n```\n\n---\n\n### Infrastructure Shields\n\n| Class | Description |\n|-------|-------------|\n| `CostTracking` | Token/USD tracking with budget enforcement |\n| `ToolGuard` | Block tools or require approval |\n| `InputGuard` | Custom input validation (pluggable function) |\n| `OutputGuard` | Custom output validation (pluggable function) |\n| `AsyncGuardrail` | Concurrent guardrail + LLM execution |\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE)\n\n---\n\n<div align=\"center\">","github_created_at":"2025-12-28T16:52:45+00:00","created_at":"2026-07-15T10:44:08.488804+00:00","updated_at":"2026-09-20T04:26:17.41869+00:00","categories":[{"slug":"evaluation-observability","name":"Evaluation & Observability","url":"https://www.graphcanon.com/categories/evaluation-observability","markdown_url":"https://www.graphcanon.com/categories/evaluation-observability.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/evaluation-observability"}],"tags":[{"slug":"ai-agents","name":"ai-agents"},{"slug":"ai-guardrails","name":"ai-guardrails"},{"slug":"ai-safety","name":"ai-safety"},{"slug":"input-validation","name":"input-validation"},{"slug":"pydantic","name":"pydantic"},{"slug":"python","name":"python"},{"slug":"type-safe","name":"type-safe"}],"trust":{"provenance":{"is_fork":false,"github_id":1124252979,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-13T06:00:12.608Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":0,"days_since_push":2,"last_release_at":"2026-06-01T15:44:18Z","stars_delta_30d":2,"open_issues_delta_30d":2},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-15T10:44:09.982Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-13T06:00:13.084Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-09-13T06:00:13.084Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-09-13T06:00:13.084Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["When you need type-safe integrations with Pydantic and want built-in capabilities via pydantic-ai's native API","For adding specific input validation through pluggable functions to prevent prompt injection in your AI interactions"],"when_not_to_use":["If your project already relies on a different framework that does not integrate well with Pydantic","When you require detailed content moderation functionalities beyond simple PII filtering and secret redaction"],"source":"enrich:decision_facts","observed_at":"2026-07-16T18:56:14.224Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"pydantic-ai-shields is specialized to enforce safety guardrails for Pydantic AI tools with features like cost tracking, prompt injection detection, PII filtering, secret redaction, tool permissions, and async guardrails."}]}}