> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usebench.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Security and privacy controls

> Understand capture settings, redaction, scoped access and the limits of the current controls.

## Choose what you send

Ordinary SDK tracing starts with `captureContent: 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](/sdk/system-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 as `customer_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](/guides/retention-and-deletion)
for already stored evidence.

## Access and credentials

API requests are authenticated and scoped to the user's permitted records. API keys
can restrict repositories and evaluation spending; organization read access does
not by itself grant mutation rights. A repository-restricted key must have access
to all repositories used by the selected system.

Keep SDK keys in server-only configuration. The default setup key has zero
evaluation allowance. Receiving a trace does not start a paid check or establish
that every deployment is instrumented. Revoke a key when it is no longer needed.

Imported-source connector credentials are encrypted using AES-GCM with a separate
deployment-managed key. Connector configuration requires HTTPS and approved hosts.
These controls describe those credentials and connections; they are not a statement
that every storage system or every internal network hop has been independently
verified. See [context setup](/guides/context) and [SDK setup](/sdk/quickstart).

## Processing and storage

Bench stores the traces, context, cases and reports you send. Starting an evaluation
sends the selected evidence for evaluation processing. Recording a trace alone does
not enable an optional additional check.

Bench uses AWS for database infrastructure. Storage location does not establish
where every evaluation is processed. Contact Bench before submitting data with
specific processing-location or contractual requirements.

See [retention and deletion](/guides/retention-and-deletion) for what expires and
what deletion removes.
