{"data":{"slug":"vstorm-co-pydantic-ai-shields","name":"pydantic-ai-shields","tagline":"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 A","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":81,"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-07-08T13:52:43+00:00","maintenance_label":"Very active","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":2,"watchers":3,"ai_summary":null,"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-07-15T10:44:11.505036+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"computer-vision","name":"Computer Vision","url":"https://www.graphcanon.com/categories/computer-vision","markdown_url":"https://www.graphcanon.com/categories/computer-vision.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/computer-vision"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"}],"tags":[{"slug":"ai-agents","name":"ai-agents"},{"slug":"ai-guardrails","name":"ai-guardrails"},{"slug":"ai-safety","name":"ai-safety"},{"slug":"anthropic","name":"anthropic"},{"slug":"async","name":"async"},{"slug":"content-moderation","name":"content-moderation"},{"slug":"guardrails","name":"guardrails"},{"slug":"input-validation","name":"input-validation"}],"trust":{"provenance":{"is_fork":false,"github_id":1124252979,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-15T10:44:09.506Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":3,"days_since_push":6,"last_release_at":"2026-06-01T15:44:18Z"},"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-07-15T10:44:09.267Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-07-15T10:44:09.267Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-07-15T10:44:09.267Z"}}}}