Catalog PyPI
PACKAGE EXPLORERView in registry

agent-guardrail

PyPI

Action-level governance for AI agents -- control what they DO, not what they SAY

agentsaiautogencrewaigovernanceguardrailslangchainpolicysafety
Versions collected1
Direct dependencies6From release 0.1.2
Last observed20 Oct, 22:07 UTC

README

Version 0.1.2 documentation

Agent Guardrail

Action-level governance for AI agents — control what they DO, not what they SAY.

PyPI License: MIT Python 3.10+


The Problem

AI agents are getting tool access. They can run shell commands, make API calls, read files, spend money. But most "guardrails" only filter what agents say — not what they do.

Real incidents:

  • AutoGPT autonomously spent $10K+ on API calls in a single session
  • ChaosGPT attempted to access military systems and recruit other AI agents
  • Air Canada chatbot invented a refund policy that cost the airline $800+

You need action-level control. Not output filtering.

What Agent Guardrail Does

Agent Framework --> Agent Guardrail --> {allow, deny, require_approval}
                                    --> Flight Recorder logs everything
  • Policy Engine — allowlists, denylists, glob patterns for tools and targets
  • Spend Caps — daily and total USD limits per agent
  • Kill Switch — instantly deny all actions for a runaway agent
  • Flight Recorder — every action logged with full replay capability
  • Approval Gates — route risky actions to human review
  • Risk Scoring — automatic risk assessment per action type
  • 3 Templates — restrictive, moderate, permissive (apply in one command)
  • Pay-per-eval Billing — free tier + BTC credit packs via Blockonomics

Zero dependencies. Python stdlib only. SQLite for storage.

30-Second Quickstart

pip install agent-guardrail

# Register an agent
agent-guardrail register "my-research-agent" --framework langchain

# Apply the moderate policy template
agent-guardrail apply-template moderate <agent-id>

# Test it
agent-guardrail eval <agent-id> bash --target /workspace/test.sh     # -> allow
agent-guardrail eval <agent-id> bash --target /etc/shadow             # -> deny
agent-guardrail eval <agent-id> sudo                                  # -> deny

Python API

from agent_guardrail import GuardrailStore, PolicyEngine, DEFAULT_POLICIES

# Initialize
store = GuardrailStore()  # ~/.agent-guardrail/guardrail.db
engine = PolicyEngine(store)

# Register agent
agent = store.register_agent("my-agent", framework="langchain")

# Apply policy template
store.save_policy({
    "name": "moderate",
    "agent_id": agent["id"],
    "rules": DEFAULT_POLICIES["moderate"]["rules"],
})

# Evaluate actions
decision = engine.evaluate(agent["id"], "bash", target="/workspace/run.sh")
# -> PolicyDecision(decision="allow", risk_score=0.7)

decision = engine.evaluate(agent["id"], "bash", target="/etc/shadow")
# -> PolicyDecision(decision="deny", reason="Target '/etc/shadow' is denied...")

# Evaluate + record to flight recorder
decision = engine.evaluate_and_record(
    agent_id=agent["id"],
    action_type="api_call",
    tool_name="openai_chat",
    cost_usd=0.05,
    session_id="session-123",
)

Framework Integrations

LangChain Callback

from agent_guardrail import GuardrailStore, PolicyEngine

class GuardrailCallback:
    """Drop into any LangChain agent as a callback handler."""
    def __init__(self, agent_id, db_path=None):
        self._engine = PolicyEngine(GuardrailStore(db_path=db_path))
        self.agent_id = agent_id

    def on_tool_start(self, serialized, input_str, **kwargs):
        decision = self._engine.evaluate_and_record(
            agent_id=self.agent_id,
            action_type="tool_call",
            tool_name=serialized.get("name"),
            target=input_str[:200],
        )
        if decision.decision == "deny":
            raise PermissionError(f"Guardrail: {decision.reason}")

CrewAI Task Guardrail

from agent_guardrail import GuardrailStore, PolicyEngine

def make_guardrail(agent_id, db_path=None):
    engine = PolicyEngine(GuardrailStore(db_path=db_path))

    def check(task_output):
        decision = engine.evaluate_and_record(
            agent_id=agent_id, action_type="task_output",
            target=str(task_output)[:200],
        )
        if decision.decision == "deny":
            return (False, f"Blocked: {decision.reason}")
        return (True, task_output)
    return check

# task = Task(description="...", guardrail=make_guardrail("agent-id"))

Universal Decorator

from agent_guardrail import GuardrailStore, PolicyEngine
import functools

def guardrail(agent_id, action_type="function_call", db_path=None):
    engine = PolicyEngine(GuardrailStore(db_path=db_path))
    def decorator(func):
        @functools.wraps(func)
        def wrapper(*args, **kwargs):
            target = str(args[0])[:200] if args else None
            decision = engine.evaluate_and_record(
                agent_id=agent_id, action_type=action_type,
                tool_name=func.__name__, target=target,
            )
            if decision.decision == "deny":
                raise PermissionError(f"Guardrail: {decision.reason}")
            return func(*args, **kwargs)
        return wrapper
    return decorator

@guardrail("my-agent", action_type="bash")
def run_command(cmd):
    ...

Hosted API (For Agents)

The library is for humans. The API is for agents.

An orchestrator running 5 sub-agents doesn't pip install — it calls an endpoint.

# Start the proxy server
pip install agent-guardrail[proxy]
guardrail-proxy --port 8300 --admin-key YOUR_ADMIN_KEY
# Register an agent (admin)
curl -X POST http://localhost:8300/v1/agents \
  -H "X-Admin-Key: YOUR_ADMIN_KEY" \
  -d '{"name": "research-agent", "framework": "crewai"}'

# Evaluate an action (agent)
curl -X POST http://localhost:8300/v1/evaluate \
  -H "X-API-Key: gw_agent_key_here" \
  -d '{
    "agent_id": "...",
    "action_type": "bash",
    "tool_name": "shell",
    "target": "/etc/shadow",
    "cost_usd": 0.0
  }'
# -> {"decision": "deny", "reason": "Target denied...", "risk_score": 0.7}

Full API docs at http://localhost:8300/docs (Swagger UI).

Billing & Pricing

Free tier included. Pay with Bitcoin when you need more.

TierEvaluationsPricePer Eval
Free100/day per agent$0$0
Starter1,000$10$0.010
Growth5,000$40$0.008
Scale25,000$150$0.006

Credits are prepaid and never expire. Admin-authenticated requests bypass billing entirely.

How it works:

# Check your balance
curl http://localhost:8300/v1/billing/balance \
  -H "X-API-Key: gw_your_agent_key"

# Buy credits (returns a BTC address + amount)
curl -X POST http://localhost:8300/v1/billing/checkout \
  -H "X-API-Key: gw_your_agent_key" \
  -d '{"pack_id": "pack_1000"}'
# -> {"btc_address": "bc1q...", "amount_btc": 0.00015, "amount_satoshi": 15000, ...}

# Pay the BTC address -> webhook confirms -> credits granted automatically

When free tier is exhausted and no credits remain, /v1/evaluate returns 402 Payment Required with a link to available packs.

Self-hosted billing: Set BLOCKONOMICS_API_KEY and BLOCKONOMICS_WEBHOOK_SECRET environment variables. Without these, billing is disabled and all evaluations proceed without metering (backward compatible).

Policy Rules Reference

{
    "tool_allowlist": ["read_file", "write_file"],    # Only these tools allowed
    "tool_denylist": ["sudo", "rm", "delete*"],       # These tools always denied
    "target_allowlist": ["/workspace/*"],              # Only these targets allowed
    "target_denylist": ["/etc/*", "*.env", "*.key"],   # These targets always denied
    "network_allowlist": ["api.openai.com"],           # Allowed network targets
    "network_denylist": ["*"],                         # Denied network targets
    "spend_cap_daily_usd": 25.0,                      # Daily spend limit
    "spend_cap_total_usd": 500.0,                     # Lifetime spend limit
    "require_approval": ["bash", "install"],           # Human approval required
    "risk_threshold": 0.8,                             # Auto-approval gate
}

Patterns support glob matching (*, ?, [abc]).

Decision Flow

Kill switch? ──deny──> DENY
      |
Agent enabled? ──no──> DENY
      |
Spend cap? ──exceeded──> DENY
      |
Tool denylist? ──match──> DENY
      |
Target denylist? ──match──> DENY
      |
Approval required? ──match──> REQUIRE_APPROVAL
      |
Risk threshold? ──exceeded──> REQUIRE_APPROVAL
      |
Tool allowlist? ──not in list──> DENY
      |
Target allowlist? ──not in list──> DENY
      |
DEFAULT ──> ALLOW

Architecture

+-------------------+     +------------------+     +-----------------+
|  Agent Framework  |---->|  Billing Check   |---->|  Policy Engine  |
|  (LangChain,     |     |  (free tier /    |     |  (evaluate)     |
|   CrewAI, custom) |     |   credits)       |     +-----------------+
+-------------------+     +------------------+            |
                                 |                        v
                                 |           +------------------------+
                          402 if empty       |  Decision:             |
                                             |  allow / deny /        |
                                             |  require_approval      |
                                             +------------------------+
                                                         |
                                                         v
                                             +-----------------+
                                             |  Flight Recorder|
                                             |  (SQLite)       |
                                             +-----------------+

+-------------------+     +------------------+
|  BTC Payment      |---->|  Blockonomics    |
|  (checkout)       |     |  (xpub-derived   |
+-------------------+     |   addresses)     |
                          +------------------+
                                 |
                          webhook (status=2)
                                 |
                                 v
                          +------------------+
                          |  Credit Grant    |
                          |  (billing_ledger)|
                          +------------------+

Comparison

FeatureAgent GuardrailGuardrails AINeMo GuardrailsDIY
Action-level controlYesNo (output only)No (dialogue only)Manual
Spend capsYesNoNoManual
Kill switchYesNoNoManual
Flight recorderYesNoNoManual
Pay-per-eval billingYes (BTC)NoNoManual
Zero dependenciesYesNo (many)No (many)Varies
Framework agnosticYesLangChain-focusedLangChain-focusedYes
Hosted APIYesCloud onlyNoManual

CLI Reference

agent-guardrail agents                      # List registered agents
agent-guardrail register "name"             # Register a new agent
agent-guardrail kill <agent_id>             # Emergency kill switch
agent-guardrail unkill <agent_id>           # Revoke kill switch
agent-guardrail policies                    # List policies
agent-guardrail apply-template <template> <agent_id>
agent-guardrail actions [--agent X] [--decision deny]
agent-guardrail replay <session_id>         # Session replay
agent-guardrail approvals                   # Pending approvals
agent-guardrail approve <id>                # Approve action
agent-guardrail deny <id>                   # Deny action
agent-guardrail eval <agent_id> <type> [--target X] [--cost 0.5]
agent-guardrail stats                       # Statistics

Configuration

VariableDefaultPurpose
GUARDRAIL_DB~/.agent-guardrail/guardrail.dbSQLite database path
GUARDRAIL_LOG_DIR~/.agent-guardrail/logsCLI log directory
GUARDRAIL_ADMIN_KEY(none)Admin API key for proxy
BLOCKONOMICS_API_KEY(none)Blockonomics Store API key (enables billing)
BLOCKONOMICS_WEBHOOK_SECRET(none)Secret for webhook verification
GUARDRAIL_BILLING_ENABLEDtrueSet false to disable billing even with API key

License

MIT

Downloads & popularity

2downloads
1-day window · source-reported counts19 Oct 2026
1470
2026-07-22: 5 · observed 2026-10-20T22:37:30.3573409Z · period 2026-07-22–2026-07-222026-07-23: 2 · observed 2026-10-20T22:37:30.3573409Z · period 2026-07-23–2026-07-232026-07-24: 3 · observed 2026-10-20T22:37:30.3573409Z · period 2026-07-24–2026-07-242026-07-25: 1 · observed 2026-10-20T22:37:30.3573409Z · period 2026-07-25–2026-07-252026-07-26: 2 · observed 2026-10-20T22:37:30.3573409Z · period 2026-07-26–2026-07-262026-07-27: 5 · observed 2026-10-20T22:37:30.3573409Z · period 2026-07-27–2026-07-272026-07-31: 2 · observed 2026-10-20T22:37:30.3573409Z · period 2026-07-31–2026-07-312026-08-01: 8 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-01–2026-08-012026-08-02: 3 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-02–2026-08-022026-08-03: 5 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-03–2026-08-032026-08-04: 7 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-04–2026-08-042026-08-05: 4 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-05–2026-08-052026-08-06: 8 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-06–2026-08-062026-08-07: 10 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-07–2026-08-072026-08-08: 7 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-08–2026-08-082026-08-09: 10 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-09–2026-08-092026-08-10: 9 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-10–2026-08-102026-08-11: 6 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-11–2026-08-112026-08-12: 7 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-12–2026-08-122026-08-13: 4 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-13–2026-08-132026-08-14: 13 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-14–2026-08-142026-08-15: 9 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-15–2026-08-152026-08-16: 9 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-16–2026-08-162026-08-17: 14 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-17–2026-08-172026-08-18: 7 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-18–2026-08-182026-08-19: 5 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-19–2026-08-192026-08-20: 6 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-20–2026-08-202026-08-21: 7 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-21–2026-08-212026-08-22: 4 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-22–2026-08-222026-08-23: 9 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-23–2026-08-232026-08-24: 11 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-24–2026-08-242026-08-25: 5 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-25–2026-08-252026-08-26: 5 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-26–2026-08-262026-08-27: 4 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-27–2026-08-272026-08-28: 6 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-28–2026-08-282026-08-29: 3 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-29–2026-08-292026-08-30: 5 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-30–2026-08-302026-08-31: 5 · observed 2026-10-20T22:37:30.3573409Z · period 2026-08-31–2026-08-312026-09-01: 6 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-01–2026-09-012026-09-02: 2 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-02–2026-09-022026-09-03: 3 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-03–2026-09-032026-09-04: 5 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-04–2026-09-042026-09-05: 4 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-05–2026-09-052026-09-06: 3 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-06–2026-09-062026-09-07: 5 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-07–2026-09-072026-09-08: 7 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-08–2026-09-082026-09-09: 3 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-09–2026-09-092026-09-10: 4 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-10–2026-09-102026-09-11: 11 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-11–2026-09-112026-09-12: 3 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-12–2026-09-122026-09-13: 3 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-13–2026-09-132026-09-14: 8 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-14–2026-09-142026-09-15: 5 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-15–2026-09-152026-09-16: 4 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-16–2026-09-162026-09-17: 2 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-17–2026-09-172026-09-18: 3 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-18–2026-09-182026-09-19: 2 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-19–2026-09-192026-09-20: 14 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-20–2026-09-202026-09-21: 4 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-21–2026-09-212026-09-22: 1 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-22–2026-09-222026-09-23: 3 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-23–2026-09-232026-09-24: 2 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-24–2026-09-242026-09-25: 3 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-25–2026-09-252026-09-26: 4 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-26–2026-09-262026-09-27: 3 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-27–2026-09-272026-09-28: 9 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-28–2026-09-282026-09-29: 1 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-29–2026-09-292026-09-30: 1 · observed 2026-10-20T22:37:30.3573409Z · period 2026-09-30–2026-09-302026-10-01: 4 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-01–2026-10-012026-10-02: 6 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-02–2026-10-022026-10-03: 1 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-03–2026-10-032026-10-04: 8 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-04–2026-10-042026-10-06: 4 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-06–2026-10-062026-10-07: 1 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-07–2026-10-072026-10-08: 3 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-08–2026-10-082026-10-09: 5 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-09–2026-10-092026-10-10: 6 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-10–2026-10-102026-10-11: 2 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-11–2026-10-112026-10-12: 12 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-12–2026-10-122026-10-13: 7 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-13–2026-10-132026-10-14: 2 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-14–2026-10-142026-10-15: 3 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-15–2026-10-152026-10-16: 7 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-16–2026-10-162026-10-17: 12 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-17–2026-10-172026-10-18: 9 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-18–2026-10-182026-10-19: 2 · observed 2026-10-20T22:37:30.3573409Z · period 2026-10-19–2026-10-19
22 Jul19 Oct

pypistats · 86 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-19 – 2026-10-1922026-10-20T22:37:30.3573409Z
2026-10-18 – 2026-10-1892026-10-20T22:37:30.3573409Z
2026-10-17 – 2026-10-17122026-10-20T22:37:30.3573409Z
2026-10-16 – 2026-10-1672026-10-20T22:37:30.3573409Z
2026-10-15 – 2026-10-1532026-10-20T22:37:30.3573409Z
2026-10-14 – 2026-10-1422026-10-20T22:37:30.3573409Z
2026-10-13 – 2026-10-1372026-10-20T22:37:30.3573409Z
2026-10-12 – 2026-10-12122026-10-20T22:37:30.3573409Z
2026-10-11 – 2026-10-1122026-10-20T22:37:30.3573409Z
2026-10-10 – 2026-10-1062026-10-20T22:37:30.3573409Z
2026-10-09 – 2026-10-0952026-10-20T22:37:30.3573409Z
2026-10-08 – 2026-10-0832026-10-20T22:37:30.3573409Z
2026-10-07 – 2026-10-0712026-10-20T22:37:30.3573409Z
2026-10-06 – 2026-10-0642026-10-20T22:37:30.3573409Z
2026-10-04 – 2026-10-0482026-10-20T22:37:30.3573409Z
2026-10-03 – 2026-10-0312026-10-20T22:37:30.3573409Z
2026-10-02 – 2026-10-0262026-10-20T22:37:30.3573409Z
2026-10-01 – 2026-10-0142026-10-20T22:37:30.3573409Z
2026-09-30 – 2026-09-3012026-10-20T22:37:30.3573409Z
2026-09-29 – 2026-09-2912026-10-20T22:37:30.3573409Z
2026-09-28 – 2026-09-2892026-10-20T22:37:30.3573409Z
2026-09-27 – 2026-09-2732026-10-20T22:37:30.3573409Z
2026-09-26 – 2026-09-2642026-10-20T22:37:30.3573409Z
2026-09-25 – 2026-09-2532026-10-20T22:37:30.3573409Z
2026-09-24 – 2026-09-2422026-10-20T22:37:30.3573409Z
2026-09-23 – 2026-09-2332026-10-20T22:37:30.3573409Z
2026-09-22 – 2026-09-2212026-10-20T22:37:30.3573409Z
2026-09-21 – 2026-09-2142026-10-20T22:37:30.3573409Z
2026-09-20 – 2026-09-20142026-10-20T22:37:30.3573409Z
2026-09-19 – 2026-09-1922026-10-20T22:37:30.3573409Z
2026-09-18 – 2026-09-1832026-10-20T22:37:30.3573409Z
2026-09-17 – 2026-09-1722026-10-20T22:37:30.3573409Z
2026-09-16 – 2026-09-1642026-10-20T22:37:30.3573409Z
2026-09-15 – 2026-09-1552026-10-20T22:37:30.3573409Z
2026-09-14 – 2026-09-1482026-10-20T22:37:30.3573409Z
2026-09-13 – 2026-09-1332026-10-20T22:37:30.3573409Z
2026-09-12 – 2026-09-1232026-10-20T22:37:30.3573409Z
2026-09-11 – 2026-09-11112026-10-20T22:37:30.3573409Z
2026-09-10 – 2026-09-1042026-10-20T22:37:30.3573409Z
2026-09-09 – 2026-09-0932026-10-20T22:37:30.3573409Z
2026-09-08 – 2026-09-0872026-10-20T22:37:30.3573409Z
2026-09-07 – 2026-09-0752026-10-20T22:37:30.3573409Z
2026-09-06 – 2026-09-0632026-10-20T22:37:30.3573409Z
2026-09-05 – 2026-09-0542026-10-20T22:37:30.3573409Z
2026-09-04 – 2026-09-0452026-10-20T22:37:30.3573409Z
2026-09-03 – 2026-09-0332026-10-20T22:37:30.3573409Z
2026-09-02 – 2026-09-0222026-10-20T22:37:30.3573409Z
2026-09-01 – 2026-09-0162026-10-20T22:37:30.3573409Z
2026-08-31 – 2026-08-3152026-10-20T22:37:30.3573409Z
2026-08-30 – 2026-08-3052026-10-20T22:37:30.3573409Z
2026-08-29 – 2026-08-2932026-10-20T22:37:30.3573409Z
2026-08-28 – 2026-08-2862026-10-20T22:37:30.3573409Z
2026-08-27 – 2026-08-2742026-10-20T22:37:30.3573409Z
2026-08-26 – 2026-08-2652026-10-20T22:37:30.3573409Z
2026-08-25 – 2026-08-2552026-10-20T22:37:30.3573409Z
2026-08-24 – 2026-08-24112026-10-20T22:37:30.3573409Z
2026-08-23 – 2026-08-2392026-10-20T22:37:30.3573409Z
2026-08-22 – 2026-08-2242026-10-20T22:37:30.3573409Z
2026-08-21 – 2026-08-2172026-10-20T22:37:30.3573409Z
2026-08-20 – 2026-08-2062026-10-20T22:37:30.3573409Z
2026-08-19 – 2026-08-1952026-10-20T22:37:30.3573409Z
2026-08-18 – 2026-08-1872026-10-20T22:37:30.3573409Z
2026-08-17 – 2026-08-17142026-10-20T22:37:30.3573409Z
2026-08-16 – 2026-08-1692026-10-20T22:37:30.3573409Z
2026-08-15 – 2026-08-1592026-10-20T22:37:30.3573409Z
2026-08-14 – 2026-08-14132026-10-20T22:37:30.3573409Z
2026-08-13 – 2026-08-1342026-10-20T22:37:30.3573409Z
2026-08-12 – 2026-08-1272026-10-20T22:37:30.3573409Z
2026-08-11 – 2026-08-1162026-10-20T22:37:30.3573409Z
2026-08-10 – 2026-08-1092026-10-20T22:37:30.3573409Z
2026-08-09 – 2026-08-09102026-10-20T22:37:30.3573409Z
2026-08-08 – 2026-08-0872026-10-20T22:37:30.3573409Z
2026-08-07 – 2026-08-07102026-10-20T22:37:30.3573409Z
2026-08-06 – 2026-08-0682026-10-20T22:37:30.3573409Z
2026-08-05 – 2026-08-0542026-10-20T22:37:30.3573409Z
2026-08-04 – 2026-08-0472026-10-20T22:37:30.3573409Z
2026-08-03 – 2026-08-0352026-10-20T22:37:30.3573409Z
2026-08-02 – 2026-08-0232026-10-20T22:37:30.3573409Z
2026-08-01 – 2026-08-0182026-10-20T22:37:30.3573409Z
2026-07-31 – 2026-07-3122026-10-20T22:37:30.3573409Z
2026-07-27 – 2026-07-2752026-10-20T22:37:30.3573409Z
2026-07-26 – 2026-07-2622026-10-20T22:37:30.3573409Z
2026-07-25 – 2026-07-2512026-10-20T22:37:30.3573409Z
2026-07-24 – 2026-07-2432026-10-20T22:37:30.3573409Z
2026-07-23 – 2026-07-2322026-10-20T22:37:30.3573409Z
2026-07-22 – 2026-07-2252026-10-20T22:37:30.3573409Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.214 Mar 20266

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
eren-solutions/agent-guardrail

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:07 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:25d09948083d39d202eed54f643e409814d7366ba81ffdaff2f13b50ccb90439