Skip to main content

Runtime guardrails enforcement for AI agents — reads agent.guard.yml and enforces limits at runtime

Project description

agentvoy-guard

Runtime guardrails enforcement for AI agents. Reads agent.guard.yml and enforces limits at execution time.

pip install agentvoy-guard

What it enforces

Guardrail Config key What happens
Iteration limit guardrails.behavior.max_iterations Raises IterationLimitError
Tool call limit guardrails.behavior.max_tool_calls Raises ToolCallLimitError
Cost limit guardrails.behavior.cost_limit Raises CostLimitError
Timeout guardrails.behavior.timeout Raises TimeoutError
Prompt injection guardrails.input.block_prompt_injection Raises PromptInjectionError
PII detection guardrails.input.pii_detection Warns or raises PIIDetectedError
Network access permissions.network Patches urllib/requests/httpx
Shell execution permissions.execution.allow_shell Patches os.system
Subprocess permissions.execution.allow_subprocess Patches subprocess

Quick start

from agentvoy_guard import Guard

# Loads agent.guard.yml automatically from current directory
guard = Guard.from_config()

with guard.session() as session:
    # Check user input before passing to agent
    session.check_input(user_prompt)

    for i in range(100):
        session.tick()                        # enforces max_iterations + timeout

        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            messages=messages,
            tools=tools,
        )

        session.track_usage(response.usage)   # enforces cost_limit

        if response.stop_reason == "tool_use":
            session.tick_tool()               # enforces max_tool_calls

        elif response.stop_reason == "end_turn":
            break

    session.check_output(final_text)

print(guard.last_summary)
# {'iterations': 3, 'tool_calls': 2, 'elapsed_seconds': 4.1,
#  'input_tokens': 1240, 'output_tokens': 380, 'estimated_cost_usd': 0.000952}

Decorator usage

@guard.protect
def run_agent(prompt: str) -> str:
    # input checked automatically, output checked on return
    ...

agent.guard.yml reference

version: "1.0"

model:
  provider: anthropic
  model: claude-sonnet-4-20250514

permissions:
  network:
    mode: restricted          # open | restricted | disabled
    allow: ["*.github.com"]
    deny: ["*.social-media.com"]
  execution:
    allow_shell: false
    allow_subprocess: false

guardrails:
  input:
    block_prompt_injection: true
    pii_detection: warn        # off | warn | block
    max_tokens: 4096
  behavior:
    max_iterations: 20
    max_tool_calls: 50
    timeout: 5m
    cost_limit: "$1.00"

Supported model pricing

Token costs are tracked for: gpt-4o, gpt-4o-mini, gpt-4-turbo, o1, claude-opus-4, claude-sonnet-4, claude-haiku-4, gemini-2.0-flash, gemini-2.5-pro, llama-3.3-70b, mistral-large.

Part of AgentVoy

agentvoy-guard is part of the AgentVoy platform — the universal AI agent development platform.

npx agentvoy create my-agent   # scaffolds agent.guard.yml automatically

License

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentvoy_guard-0.1.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentvoy_guard-0.1.0-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file agentvoy_guard-0.1.0.tar.gz.

File metadata

  • Download URL: agentvoy_guard-0.1.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for agentvoy_guard-0.1.0.tar.gz
Algorithm Hash digest
SHA256 876da6b72a30d3c9357558d1a9c8e877d4beae30c8e72f3bc3b915c6d9c56444
MD5 77a6b521c029e2896d84e357989f1b1c
BLAKE2b-256 721f61096f394daadf769aa57279ef5e69c503283f9666b05d2c862150191112

See more details on using hashes here.

File details

Details for the file agentvoy_guard-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: agentvoy_guard-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for agentvoy_guard-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cf4d409086cd2d4bc430474e90410b8451db87e3cc0c75a83e17584b3f27edf4
MD5 8cea3fc2a56db3df9263ecf8dfeede24
BLAKE2b-256 c0dd827ac2047e6ef823920c11a8021433b79f93176d6ba7cd6702d10500c593

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page