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.
Always collected
Section titled “Always collected”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.
| Group | What it includes |
|---|---|
| Identifiers | Request, session, and proxy session IDs; timestamps |
| Routing | Model requested, model routed to, complexity classification, effort level, override flags |
| Token usage | Input, output, cache read, and cache write token counts |
| Timing & outcome | Request duration, time to first token, HTTP status, stop reason, error |
| Versions | Not Diamond Code version, Anthropic API version, client type |
Collected only with consent
Section titled “Collected only with consent”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.