Choose what you send
Ordinary SDK tracing starts withcaptureContent: false. Inputs and outputs are
omitted, and attributes are limited to supported operational metadata. Operation
names, repository references and other metadata can still identify people or
customers; use stable, non-sensitive names.
Enable captureContent: true only for data you are authorized to provide. Supply a
project-specific redact function in your application when additional filtering is
needed, and test with synthetic data before capturing real interactions. Filtering
in your application can remove information before it leaves that application.
Explicit evaluateSystem calls are a separate test path: they capture redacted
test inputs, expected outcomes and execution evidence into a local report even
when ordinary trace content capture is off. Uploading that report requires a
separate publishSystemEvaluation call. Use synthetic cases and inspect the report
before sharing it. See application evaluation.
What redaction covers
The SDK and API apply pattern-based redaction to selected fields. The API’s baseline layer replaces common secret formats, email addresses and supported phone-number patterns. When it can parse structured JSON, it also redacts a defined set of sensitive field names and processes nested values. SDK → Privacy controls adds optional filtering for valid IPv4 patterns, payment-card-like number patterns that pass a checksum, and additional JSON field names such ascustomer_ref. Named fields are matched without regard
to case. Enable Extra PII patterns, enter any additional fields and save the
settings for the selected repository and branch.
These settings apply to future trace ingestion under your own keys for that
repository and branch. They do not clean previously saved records or configure
every member’s keys, context documents or application test reports. Baseline filtering
remains enabled when the additional option is off.
This processing uses local pattern and field matching inside the SDK or Bench API
process; it does not call a language model to detect personal information. API-side
filtering takes place after submission to Bench. There is no named-entity recognition
or general anonymization guarantee. Names in prose, addresses, medical information,
domain identifiers, unfamiliar formats and identifying combinations can remain.
Pattern matching can also remove legitimate values. Pre-redact or exclude data
that must not be submitted, and use deletion controls
for already stored evidence.

