Adding tracing to an AI agent changes more than the debugging experience. It also creates a new data path.

A trace can contain user messages, system instructions, retrieved documents, tool arguments, tool results, model output, identifiers, and internal business logic. Sending that trace to an external service may therefore be equivalent to sending the underlying application data.

The right first question is not simply, “Does this tracing SDK have a good dashboard?” It is, “What does it capture, where does it go, and who controls it?”

A local-first tracing design gives developers useful execution visibility while keeping export and sharing decisions explicit. It is not a rejection of hosted observability. It is a safer default for the development loop and a clearer boundary for sensitive data.

Why Agent Traces Need Their Own Data Policy