C
complyee/agent-guard-python
Customer-run policy guard for Python AI agents (LangGraph, CrewAI, LangChain)
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
Install & config
Install command from the repository
pip install complyee-agent-guard
Parsed from the README we fetched on 2026-11-03; we have not executed it.
This is the install method the repository states, not an MCP client config, so no JSON is generated.
Key names differ by client: Clients & CLI
- Star count
- 0 ★ · complyee/agent-guard-python · read from the GitHub search API · (checked 2026-11-13 20:00:50)
- Source
- read directly from its GitHub page · type: open-source project
- Harvest history
- first seen 2026-11-04 · last seen 2026-11-14 · seen 11× · listed by 2 sources
- Score
- score 203 · 2 sources · repo
- Install
pip install complyee-agent-guard
FAQ (answers come from our records)
How do I install it?
The repository provides this install command:
pip install complyee-agent-guard. It comes from the repository itself; we cannot guarantee it runs as-is in your client.Who is it for?
We filed it under these tags: 开源项目. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository
complyee/agent-guard-python;first catalogued 2026-11-04;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.# complyee-agent-guard
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
A customer-run companion that puts an Agent Control Room grant check in front of
any Python agent tool — LangGraph, CrewAI, LangChain or plain functions. It does
the repeatable work (fingerprinting, asking, waiting for a person, claiming,
verifying the grant token, reporting the outcome); you supply the action name and
the context facts your rules need.
Status: 0.1 (beta). Python 3.9 or later; depends only on httpx and cryptography.
bash
pip install complyee-agent-guard
Agent Control Room is the decision point; this package is
the enforcement point that runs inside your agent process. See
agent-cr.com/plugins and
agent-cr.com/enforcement-point.
## Use
python
import os
from complyeeagentguard import createguard, ApprovalPending, ActionRefused, VerifiedGrant
guard = createguard(
workspaceurl="https://acme.agent-cr.com", # your workspace address (also the JWT audience)
apikey=os.environ["ACRAPIKEY"], # scopes: policy.decide, policy.read
agent="finance-assistant",
approvals={"mode": "poll", "polltimeouts": 30, "pollintervals": 2}, # the defaults
@guard.tool(action="refund.issue", context=lambda a: {"amount": a["amount"]})
async def issuerefund(paymentid: str, amount: float, acrgrant: VerifiedGrant = None):
# Runs only after a verified grant for exactly these arguments.
return await payments.refund(paymentid, amount, idempotencykey=acrgrant.decisionid)
A plain def tool works the same way, synchronously. Add a parameter named
acrgrant to receive the verified grant; it is never part of the fingerprint.
Decorator options: name (tool name, default the function name), action
(default the tool name), context, resourceref, actiondescription,
parentdecisionid (each a function of the arguments), and approvals to
override the guard's approval settings for one tool.
## When a person must approve
"poll" (default): waits up to polltimeouts, then claims the grant with the
identical request. If nobody answers in time it raises ApprovalPending.
"raise": raises ApprovalPending at once — useful when a LangGraph workflow
should checkpoint and resume later.
python
try:
result = await issuerefund("pay1", amount=40)
except ApprovalPending as held:
store.save(held.tocheckpoint()) # JSON-safe; arguments stay in your store
...
result = await issuerefund.resume(store.load()) # same request, same idempotency key
## Fail closed
The tool body never runs when any of these is raised:
| Exception | Meaning |
| ActionRefused | policy or a person refused, or the arguments cannot be fingerprinted |
| ApprovalPending | a person has not approved yet |
any Python agent tool — LangGraph, CrewAI, LangChain or plain functions. It does
the repeatable work (fingerprinting, asking, waiting for a person, claiming,
verifying the grant token, reporting the outcome); you supply the action name and
the context facts your rules need.
Status: 0.1 (beta). Python 3.9 or later; depends only on httpx and cryptography.
bash
pip install complyee-agent-guard
Agent Control Room is the decision point; this package is
the enforcement point that runs inside your agent process. See
agent-cr.com/plugins and
agent-cr.com/enforcement-point.
## Use
python
import os
from complyeeagentguard import createguard, ApprovalPending, ActionRefused, VerifiedGrant
guard = createguard(
workspaceurl="https://acme.agent-cr.com", # your workspace address (also the JWT audience)
apikey=os.environ["ACRAPIKEY"], # scopes: policy.decide, policy.read
agent="finance-assistant",
approvals={"mode": "poll", "polltimeouts": 30, "pollintervals": 2}, # the defaults
@guard.tool(action="refund.issue", context=lambda a: {"amount": a["amount"]})
async def issuerefund(paymentid: str, amount: float, acrgrant: VerifiedGrant = None):
# Runs only after a verified grant for exactly these arguments.
return await payments.refund(paymentid, amount, idempotencykey=acrgrant.decisionid)
A plain def tool works the same way, synchronously. Add a parameter named
acrgrant to receive the verified grant; it is never part of the fingerprint.
Decorator options: name (tool name, default the function name), action
(default the tool name), context, resourceref, actiondescription,
parentdecisionid (each a function of the arguments), and approvals to
override the guard's approval settings for one tool.
## When a person must approve
"poll" (default): waits up to polltimeouts, then claims the grant with the
identical request. If nobody answers in time it raises ApprovalPending.
"raise": raises ApprovalPending at once — useful when a LangGraph workflow
should checkpoint and resume later.
python
try:
result = await issuerefund("pay1", amount=40)
except ApprovalPending as held:
store.save(held.tocheckpoint()) # JSON-safe; arguments stay in your store
...
result = await issuerefund.resume(store.load()) # same request, same idempotency key
## Fail closed
The tool body never runs when any of these is raised:
| Exception | Meaning |
| ActionRefused | policy or a person refused, or the arguments cannot be fingerprinted |
| ApprovalPending | a person has not approved yet |
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/complyee-agent-guard-python/)
- Source
- github · https://github.com/complyee/agent-guard-python
- Browse by field
- Open source
- Listed by
- 2 independent sources
- added
- today
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.