Privacy, technically
We measure what your AI calls cost, not what they say. The SDK reads the usage numbers your provider already returns and sends only those, in batches, to our API. It never sends the request or the response.
| Usage metadata | Event id, timestamp, environment, service name, status code and latency. |
|---|---|
| Token counts | Input, output, cached, cache-write and reasoning tokens, image count and audio seconds, as reported by the provider's usage payload. |
| Costs | The calculated cost in USD and the version of the price used to compute it. |
| Model and provider | Which provider and model served each request. |
| Developer attribution | Only if you configure it: the id of a member of your organization. Ids of non-members are dropped. |
| Technical metrics | Aggregated daily and monthly totals derived from the events above. |
| Prompts | Messages, system prompts, documents and conversations are never read, sent or stored. |
|---|---|
| AI responses | Model outputs are passed straight back to your code, untouched and unrecorded. |
| Provider API keys | Your OpenAI, Anthropic or Gemini keys never leave your process. |
Fail-open by design
If our API is unreachable, your AI calls keep working exactly as before. The SDK drops usage data silently rather than slowing down or breaking your application.