Audifact
STARTUPS & SME

Auditable agents for
startups & growing teams

Ship AI features fast β€” with a clear record of what your chains and agents actually did. One .wrap() call, low overhead, and answers you can show investors or customers.

No credit card required β€’ Free tier to get started

THE PROBLEM

You're moving fast β€”
but "the agent said so" isn't enough anymore.

πŸ›

Debugging at startup speed

When a chain misfires at 2am, you need the input, tool steps, and final output β€” not a wall of unstructured logs.

🀝

Stakeholder trust

Founders, customers, and early enterprise pilots want proof your AI did the right thing β€” without a compliance team on day one.

🌱

Future-proofing compliance

Start with hashes-only tracing today. Turn on full context when a deal or regulator asks β€” same SDK, no rewrite.

GETTING STARTED

Installation

LangChain Core (recommended)
pip install "audifact-sdk[langchain]" "langchain-core>=0.3.0"
AudifactLangChainTracer β€” LCEL chains, agents, retrievers via .wrap()
Run the example
python sdk/examples/enterprise/langchain_basic_and_agent.py AUDIFACT_API_KEY=af_YOUR_KEY python ...
Works in demo mode without an API key β€” great for local dev

Also works with LlamaIndex, LangGraph, CrewAI, and AutoGen β€” same explorer, same event model.

COPY-PASTE EXAMPLES

LangChain in minutes

Privacy by default: hashes + metadata out of the box. Flip include_context=True when you need full inputs and tool outputs for debugging.
LCEL CHAIN

Prompt β†’ model β†’ parser

from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from audifact.langchain import AudifactLangChainTracer

chain = prompt | llm | StrOutputParser()

tracer = AudifactLangChainTracer(
    api_key="af_YOUR_API_KEY",
    agent_name="product-copilot",
)
traced = tracer.wrap(chain)

result = traced.invoke("Summarize our refund policy for the user.")
# β†’ chain_execution + chain_response
Clean explorer labels like Chain Response: [summary] β€” short, readable, under 90 chars.
full source β†’

Works with any Runnable β€” RetrievalQA-style flows, structured Pydantic outputs, and more

AGENT + TOOLS

ReAct / tool-calling agents

from langchain.agents import AgentExecutor, create_tool_calling_agent
from audifact.langchain import AudifactLangChainTracer

agent = AgentExecutor(agent=..., tools=[search, calc], verbose=True)

tracer = AudifactLangChainTracer(
    api_key="af_YOUR_API_KEY",
    agent_name="support-agent",
    include_context=True,  # tool_calls in output_json
)
traced = tracer.wrap(agent)

traced.invoke({"input": "Look up plan limits and draft a reply."})
# β†’ agent_execution + agent_response
Captures intermediate_steps as tool_calls β€” perfect for "why did it say that?" debugging.
full source β†’

Also supports LlamaIndex agents, CrewAI crews, LangGraph apps β€” same event pairs

Safe demo β€” run without an API key locally. Add AUDIFACT_API_KEY when you're ready to persist events.

TRANSPARENCY

Clear event pairs β€” built for quick debugging

Every run becomes a linked decision + outcome. Readable public_decision fields in the explorer β€” no parsing raw JSON to understand what happened.

⚑
Chain Execution
decision_type: chain_execution
Runnable.invoke / LCEL pipeline
input_hash by default
public_decision: Chain: [your prompt]
Start of every run
✨
Chain Response
outcome_type: chain_response
Chain Response: [short summary]
Structured Pydantic β†’ output_json
duration_ms in metadata
Linked outcome
πŸ€–
Agent Execution
decision_type: agent_execution
AgentExecutor / tool agents
agent_name + run_id
public_decision: Agent: [task]
Before tools run
πŸ”§
Agent Response
outcome_type: agent_response
Agent: [final answer summary]
tool_calls when include_context=True
hash-chained to decision
Debug-ready outcome
Browse everything in the Explorer β€” filter by agent, click through decision β†’ outcome links.
WHY STARTUPS CHOOSE AUDIFACT

Move fast with confidence

βœ“
Ship in an afternoon

One tracer, one .wrap() β€” no custom logging infra. Works with your existing LangChain stack.

βœ“
Low cost, high signal

Free tier to start. Default hashes-only mode keeps payloads small; opt in to rich context when you need it.

βœ“
Privacy-aware by default

Don't ship customer data to a third-party log sink. Capture proofs, not prompts β€” unless you choose otherwise.

βœ“
Grows with you

Same SDK from prototype β†’ Series A pilot β†’ enterprise deal. LlamaIndex, LangGraph, CrewAI ready when you are.

Ship your next agent feature
with receipts.

Free API key. Five minutes to your first signed event. No enterprise sales call required.

Questions? Check the quickstart or enterprise pages when you scale up.