Skip to content

Data Dictionary

Not Diamond Code collects two categories of data from the proxy running on each engineer’s machine. What falls into each category is determined by its sensitivity, not by what is technically convenient to collect.

These fields contain no content authored by engineers or their codebases. They are necessary to enable our algorithm, calculate spend, measure routing efficacy, and display usage in the dashboard.

GroupWhat it includes
IdentifiersRequest, session, and proxy session IDs; timestamps
RoutingModel requested, model routed to, complexity classification, effort level, override flags
Token usageInput, output, cache read, and cache write token counts
Timing & outcomeRequest duration, time to first token, HTTP status, stop reason, error
VersionsNot Diamond Code version, Anthropic API version, client type

These fields are not collected unless an account owner or admin enables sensitive data collection in Settings → Privacy. They are off by default.

This data comes from two streams:

Request and response bodies - the raw API payloads passing through the proxy. Sensitive content here includes the system prompt (which for Claude Code embeds working directory, file listings, git status, and project memory), tool definitions, and request metadata.

Transcript events - the full conversation log Claude Code maintains locally. This is the higher-sensitivity stream. It includes the messages exchanged, tool call inputs and outputs (which can contain file contents, command output, and fetched URLs), thinking blocks, and attached files.

Enabling consent allows Not Diamond Code to use this data to improve routing decisions and provide more granular spend attribution in the dashboard. See Data Retention for how long this data is kept.