What we collect, what we never touch, and exactly how to opt out. Short version: one anonymous ping per run, nothing sensitive, always opt-out-able.
agentSonar sends one anonymous event when a run starts. It contains: a random install ID, Python/Node version, OS family, and adapter name. That's it. No agent names, no prompts, no log content, no file paths. You can disable it any time with one env var.
{
"event": "session_start",
"install_id": "a8f3c1d2-...", // random UUID, generated once on first run
"version": "0.4.0",
"runtime": "python3.11", // or node18, etc.
"os": "linux", // darwin / linux / windows
"adapter": "langgraph", // which adapter you wired in
"timestamp": "2026-05-01T..." // UTC ISO 8601
}
Agent names or identifiers
Prompts or LLM inputs/outputs
Log content or event data
File paths or directory names
IP addresses or network info
API keys or credentials
Three ways — pick whichever fits your setup. Any of the three fully disables the session-start event.
AGENTSONAR_TELEMETRY=off python your_script.py
DO_NOT_TRACK=1 python your_script.py
from agentsonar import monitor graph = monitor(your_graph.compile(), config={"telemetry": False})
The install count and adapter breakdown tell us which frameworks to prioritize on the roadmap. We're a small team — knowing that 80% of runs use LangGraph vs. Custom Python shapes what we build next. The data is aggregated, never tied to individuals, and never sold.
Questions about what's collected? Email us or open an issue →