AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
Crawler Summary
crewAI GuardrailProvider that routes every tool-call authorization through asqav for a signed receipt Asqav GuardrailProvider for CrewAI This package evaluates tool requests with a local policy and attempts to record each decision through $1. Its CrewAI before-tool hook returns False when the provider denies the request. A successful signing request adds a receipt identifier to the decision metadata. The package is maintained by Asqav and requires an Asqav API key for signing. It does not independently verify receipt Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Freshness
Last checked 10/9/2026
Best For
asqav-crewai-guardrail is best for crewai, multi-agent workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB REPOS, runtime-metrics, public facts pack
crewAI GuardrailProvider that routes every tool-call authorization through asqav for a signed receipt Asqav GuardrailProvider for CrewAI This package evaluates tool requests with a local policy and attempts to record each decision through $1. Its CrewAI before-tool hook returns False when the provider denies the request. A successful signing request adds a receipt identifier to the decision metadata. The package is maintained by Asqav and requires an Asqav API key for signing. It does not independently verify receipt
Public facts
4
Change events
1
Artifacts
0
Freshness
Oct 9, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Oct 9, 2026
Vendor
Jagmarques
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Setup snapshot
Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Jagmarques
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
4
Snippets
0
Languages
python
bash
python -m pip install "asqav-crewai-guardrail[crewai] @ git+https://github.com/jagmarques/asqav-crewai-guardrail.git"
python
import asqav
from asqav_crewai_guardrail import AsqavGuardrailProvider, enable_guardrail
asqav.init() # Reads ASQAV_API_KEY from the environment.
provider = AsqavGuardrailProvider(
agent_name="my-crew",
denied_tools={"shell", "file_write"},
)
enable_guardrail(provider)
# Configure the rest of your hooks and crew, then call Crew.kickoff().python
from asqav_crewai_guardrail import AsqavGuardrailProvider
def policy(request):
if request.tool_name == "wire_transfer":
return False, "approval required"
return True, "allowed by local policy"
provider = AsqavGuardrailProvider(agent_name="my-crew", policy=policy)bash
python -m pip install -e ".[dev]" python -m pytest -q
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB REPOS
Editorial quality
ready
crewAI GuardrailProvider that routes every tool-call authorization through asqav for a signed receipt Asqav GuardrailProvider for CrewAI This package evaluates tool requests with a local policy and attempts to record each decision through $1. Its CrewAI before-tool hook returns False when the provider denies the request. A successful signing request adds a receipt identifier to the decision metadata. The package is maintained by Asqav and requires an Asqav API key for signing. It does not independently verify receipt
This package evaluates tool requests with a local policy and attempts to record each decision through Asqav. Its CrewAI before-tool hook returns False when the provider denies the request. A successful signing request adds a receipt identifier to the decision metadata.
The package is maintained by Asqav and requires an Asqav API key for signing. It does not independently verify receipts or prove that an allowed tool executed.
Install the source with its CrewAI extra:
python -m pip install "asqav-crewai-guardrail[crewai] @ git+https://github.com/jagmarques/asqav-crewai-guardrail.git"
The supported dependency range is CrewAI 1.9.1 through the 1.x series and Asqav SDK 0.10.10 through the 0.10 series. Runtime checks exercise CrewAI 1.9.1 and 1.9.3 with SDK 0.10.10.
Call enable_guardrail once per process during serial application setup, before registering other before-tool hooks or starting execution. Existing hooks and repeated calls cause a setup error; the helper leaves the registry unchanged. If you also use asqav-crewai observational hooks, enable this guard first.
import asqav
from asqav_crewai_guardrail import AsqavGuardrailProvider, enable_guardrail
asqav.init() # Reads ASQAV_API_KEY from the environment.
provider = AsqavGuardrailProvider(
agent_name="my-crew",
denied_tools={"shell", "file_write"},
)
enable_guardrail(provider)
# Configure the rest of your hooks and crew, then call Crew.kickoff().
Keep the guard registered. Concurrent setup or calls to CrewAI's clear/unregister APIs can invalidate its position. In the tested synchronous native and ReAct dispatchers, a denial stops execution before later hooks run. A later hook can still block an allowed call.
The policy sees input at this first callback. Later hooks must not change authorization-relevant inputs if callers rely on that decision. This integration does not establish coverage for every cached, skipped, asynchronous or custom framework path.
The denylist takes precedence over a custom policy. With neither a matching denylist entry nor a custom policy, the provider allows the request.
Use a policy callback instead of the provider configuration above:
from asqav_crewai_guardrail import AsqavGuardrailProvider
def policy(request):
if request.tool_name == "wire_transfer":
return False, "approval required"
return True, "allowed by local policy"
provider = AsqavGuardrailProvider(agent_name="my-crew", policy=policy)
A callback receives a GuardrailRequest and returns (allow, reason). The request includes the tool name/input, agent role, task description and crew identifier when available. The provider records permit or deny with the reason. An approval workflow must be implemented by the application; this package supplies no suspension, approval or countersigning lifecycle.
The provider and hook have separate fail_closed options, both defaulting to True:
| Condition | Default behavior | With the relevant option set to False |
| --- | --- | --- |
| Signing request fails | Provider denies; no receipt identifier | Provider retains the local policy decision without a receipt |
| Provider evaluation raises or returns the wrong type | Hook denies | Hook permits the request to continue |
Diagnostic logging cannot change these decisions. The SDK may retry retryable HTTP failures before returning an error. The observe=True provider option evaluates policy without requesting a signature; a deny decision still blocks a request that reaches the hook.
On successful signing, GuardrailDecision.metadata["receipt_id"] contains the returned signature identifier. Failed signing and observation mode do not guarantee a receipt. A decision receipt records authorization, not tool completion. health_check() inspects local SDK/provider state and makes no network request.
The built-in provider constructs signing context from the tool name, agent role, crew identifier, task description and verdict. It also supplies the tool name, policy decision and reason to the SDK. It does not put raw tool input into that signing context; a custom policy receives the input locally.
SDK mode determines whether this context is hashed or sent in full. Identifiers and decision metadata can still be sent in hash-only mode. Set ASQAV_MODE=hash-only in the application environment when that mode is required; set ASQAV_MODE=full-payload to send the selected context. Other CrewAI components and model providers handle their own traffic separately.
python -m pip install -e ".[dev]"
python -m pytest -q
The suite includes real Crew.kickoff() native/ReAct dispatch with the actual SDK, plus focused unit tests. Model responses and HTTP replies are local fixtures; tests prohibit network connections. The framework cases check setup order, denial/allow execution, provider failures and throwing diagnostic handlers. They do not claim live service responses or cryptographic receipt verification.
The protocol dataclasses can be imported without CrewAI. enable_guardrail() requires CrewAI and its public hook API.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/crewai-jagmarques-asqav-crewai-guardrail/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-jagmarques-asqav-crewai-guardrail/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-jagmarques-asqav-crewai-guardrail/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
The Frontend for Agents & Generative UI. React + Angular
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-jagmarques-asqav-crewai-guardrail/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-jagmarques-asqav-crewai-guardrail/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-jagmarques-asqav-crewai-guardrail/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jagmarques-asqav-crewai-guardrail/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jagmarques-asqav-crewai-guardrail/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jagmarques-asqav-crewai-guardrail/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_REPOS",
"generatedAt": "2026-10-09T21:44:58.368Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "crewai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "multi-agent",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}Facts JSON
[
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Jagmarques",
"href": "https://github.com/jagmarques/asqav-crewai-guardrail",
"sourceUrl": "https://github.com/jagmarques/asqav-crewai-guardrail",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T02:22:21.638Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/crewai-jagmarques-asqav-crewai-guardrail/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-jagmarques-asqav-crewai-guardrail/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T02:22:21.638Z",
"isPublic": true
},
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/crewai-jagmarques-asqav-crewai-guardrail/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-jagmarques-asqav-crewai-guardrail/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to asqav-crewai-guardrail and adjacent AI workflows.