Skip to main content
TraceRoot spans can contain application data. Review the defaults before tracing workloads that process personal data, credentials, or confidential content.

What is captured by default

Capture settings prevent the selected values from being written to spans. They do not modify what your application passes to an LLM provider or tool.

Disable input and output for one function

These flags apply only to the span created by that observe call. Auto-instrumented child calls can still capture their own inputs and outputs according to the integration’s settings.

Redact Pi content before export

The TypeScript Pi instrumentation accepts a captureContent callback. It runs before content is attached to a span and can return replacement text or undefined to omit that item.
The callback form is available in the TypeScript Pi instrumentation. The Python SDK does not currently provide an equivalent general redaction callback. For Python, disable input/output capture on observed functions and avoid placing sensitive values in metadata or manually updated span fields.

Disable tracing entirely

Set TRACEROOT_ENABLED before the SDK initializes:
The accepted values differ by SDK: You can also pass enabled=False to Python’s initialize() or enabled: false to TraceRoot.initialize() in TypeScript.

Privacy checklist

  • Classify prompts, completions, function arguments, tool I/O, metadata, tags, and source paths before enabling tracing in production.
  • Disable capture as close as possible to the function or integration that handles sensitive data.
  • Never attach secrets to metadata or manual span updates.
  • Verify a representative exported trace in a non-production project before rollout.
  • Apply your organization’s retention, access-control, and data-processing requirements to the TraceRoot deployment you use.