Five framework integrations. Same pattern. Three lines each.
pip install asqav[langchain] # or crewai, litellm, haystack, openai-agents
LangChain
from asqav.extras.langchain import AsqavCallbackHandler
handler = AsqavCallbackHandler(api_key="sk_...")
chain.invoke(input, config={"callbacks": [handler]})
Every chain run, tool call, and LLM call gets signed. You get a complete audit trail of what your chain did.
CrewAI
from asqav.extras.crewai import AsqavCrewHook
hook = AsqavCrewHook(api_key="sk_...")
task = Task(description="Research competitors", callbacks=[hook.task_callback])
Task start, complete, and fail events are signed automatically.
LiteLLM
from asqav.extras.litellm import AsqavGuardrail
guardrail = AsqavGuardrail(api_key="sk_...")
# Register as custom guardrail - signs pre/post call events
Haystack
from asqav.extras.haystack import AsqavComponent
pipeline.add_component("audit", AsqavComponent(api_key="sk_..."))
OpenAI Agents SDK
from asqav.extras.openai_agents import AsqavGuardrail
guardrail = AsqavGuardrail(api_key="sk_...")
agent = Agent(name="my-agent", input_guardrails=[guardrail])
All integrations extend AsqavAdapter - a base class designed to survive framework version changes. Signing failures are logged but never break your chain. Fail-open by design.
pip install asqav[all] gets everything.
Top comments (0)