Usage Radar

Privacy

Your work stays yours.

Your connector processes logs on your computer and extracts usage metrics. Prompt text, responses, and source code are excluded from what it sends to the dashboard. Here is exactly what stays local and what the dashboard uses.

Stays on your laptop

  • The prompt, the completion, the diff
  • Source trees and file paths beyond the project name
  • API keys, cookies, environment — no provider secret is ever requested
  • Home directory names and local filesystem paths
  • Raw conversation content and source file contents

What Radar sees

  • Integer token counts: input, output, cache read and cache creation
  • The exact model id — claude-sonnet-5, gpt-5.3-codex, gemini-3.5-flash
  • Source agent, project name, and the machine id you chose
  • Session start time; a paired hub receives only the calendar day
  • Estimated cost in cents against a dated public rate catalog — a model the catalog does not cover stays unpriced, never $0

How that holds up

Four properties of the build, not four promises.

Zero Prompt & Code Retention

Log ingestion runs 100% on your local machine. Raw prompt strings, file contents, and completions are immediately discarded in-memory. Only integer token counts and model identifiers are retained.

No Secret API Keys Required

Usage Radar does not require your Anthropic, OpenAI, or Google Cloud API secret keys. It calculates costs by analyzing local log output files generated by standard CLI tools.

Local-First Storage

Your agent logs stay where the CLI wrote them. The connector re-reads them on demand and keeps no copy of your usage; the only files it writes are a session key, if you pair a machine, its workspace token, and a cached copy of the public model price list it fetches — all readable by your user alone. The dashboard caches the normalized counters in this browser's local storage. We do not sell, train on, or monetize developer telemetry.

Opt-In Aggregate Sync

Sync is off until you pair a machine. Once paired, the connector posts day, agent, model and token totals over TLS — the hub schema rejects every field it does not name. Those counters are stored on our server in plaintext.

Coverage boundary:Codex CLI and Codex-in-VS-Code threads that run locally are read from their rollout logs. Codex threads that run in ChatGPT's cloud (the ChatGPT desktop app's hosted Codex) execute on OpenAI's servers, so no token log is written here — they are detected and counted as threads, but their tokens and cost are not observable locally. The dashboard says so instead of silently omitting them. Even the per-day count stays on the machine: the connector serves it over loopback only, and it is never part of the hub sync payload.

End-to-end encryption is not implemented. Do not treat the hub as zero-knowledge: an operator with database access can read the synced counters. Only the counters — prompts, completions and code never reach it. Usage Radar holds no SOC 2 or ISO 27001 certification, and no third party has audited it.

Deterministic parsing

Counting is done by ccusage, the open-source engine our connector pins and wraps. Every line of the parser that produces your numbers is public and auditable.

Read the parser

Works offline, prices online

The connector reads local logs and never sends them anywhere. It does fetch a current model price list when the network is reachable — a price list, not your usage — because the catalog bundled in the package cannot price models newer than itself and silently reports them as $0. Without a network it uses the bundled catalog and says so. No remote telemetry endpoints, no ad networks, and no outbound destination for your data until you pair a hub.

Your data, exportable

Export all normalized telemetry at any time as JSON, or wipe local storage with one click in Data Controls.

Open data controls