Frameworks
TapPass works with any framework that speaks OpenAI or Anthropic protocol. Most integrations are a single environment variable. The rest are a few lines of code.
At a glance
Section titled “At a glance”| Framework | Language | Method | Setup time |
|---|---|---|---|
| OpenAI SDK | Python, Node, Go, Ruby, … | Env var | 30s |
| Anthropic SDK | Python, Node | Env var | 30s |
| LangChain | Python | Callback handler | 2 min |
| CrewAI | Python | guard_crew() | 2 min |
| LlamaIndex | Python | Env var | 30s |
| Pydantic AI | Python | Env var | 30s |
| Google ADK | Python | guard_adk_agent() | 2 min |
| FastAPI | Python | Dependency inject | 3 min |
| Vercel AI SDK | TypeScript | Env var | 30s |
| MCP | Any | MCP server | 5 min |
Zero-code: two env vars
Section titled “Zero-code: two env vars”Any OpenAI- or Anthropic-compatible tool works without a code change:
# OpenAI-compatible (Cursor, Copilot, LangChain, LlamaIndex, CrewAI, Pydantic AI, …)export OPENAI_BASE_URL=https://tappass.example.com/v1export OPENAI_API_KEY=tp_...
# Anthropic-compatible (Claude Code, Cline, Anthropic SDK)export ANTHROPIC_BASE_URL=https://tappass.example.comexport ANTHROPIC_API_KEY=tp_...Python SDK (when you need more)
Section titled “Python SDK (when you need more)”from tappass import Agent
agent = Agent("https://tappass.example.com", "tp_...")
# Governed chatresponse = agent.chat("What are the GDPR requirements?")
# Streamingfor chunk in agent.stream("Write a compliance report"): print(chunk, end="", flush=True)
# Wrap existing tools (LangChain / CrewAI / LlamaIndex tools)governed_tools = agent.govern([search, send_email, query_db])
# Asyncresponse = await agent.achat("Analyze the data")async for chunk in agent.astream("Summarize"): print(chunk, end="", flush=True)See the SDK Reference for the full surface.
Examples repository
Section titled “Examples repository”Working end-to-end examples for every framework live in tappass/tappass-examples.