Skip to content

SDK (Python)

from canopyiq import Guard

guard = Guard(policies="policies/baseline.yaml")

# Before performing an action:
decision = guard.check(
    action="http_request",
    attrs={"url": "https://api.external.com/upload", "bytes": 120_000}
)

if decision.allow:
    do_request()
elif decision.approval_required:
    await guard.request_approval(decision)
else:
    print("Blocked:", decision.reason)
  • Async + sync APIs
  • Built-in schema validation helpers