What leaves your device when you sync usage
Usage sync combines daily aggregates from your linked devices. It is optional. Local workspaces and usage reports need no account.
This page describes the usage-sync payload. Remote sessions, plan-limit sharing, vendor requests, and account services are separate connections, described in the data guide and privacy notice.
Inspect your payload
tokenstat sync --dry-run
The command prints the canonical usage payload without uploading it. A linked device can also sync on its schedule, so uploads do not require manually running the command each time.
Fields in the current schema
Schema version 2 separates five-minute and one-hour cache writes. Version 1 uses the combined cw field when communicating with a compatible older server.
| Field | Meaning |
|---|---|
v |
Payload schema version |
machine |
Machine identifier used to associate this upload with the linked device |
salt_id |
Namespace for the locally salted project keys |
tz |
IANA timezone used to group local dates |
generated_at |
Payload generation time |
window |
Inclusive from and to dates |
prune |
Whether this upload requests pruning outside the window |
rows |
Aggregates grouped by day, source, model, and project key |
totals |
Token totals and row count for server validation |
Each row contains:
| Field | Meaning |
|---|---|
d, src, model |
Local date, coding-tool identifier, and model identifier |
proj |
Keyed hash of the local project path or label. Null for unattributed usage |
in, out, cr |
Fresh input, output, and cache-read counts |
cw5, cw1 |
Five-minute and one-hour cache-write counts |
ev |
Number of usage events represented |
plan |
Whether usage is identified as subscription-covered |
conf |
Event-identity confidence label |
The payload excludes prompt text, replies, code, project paths, and session identifiers. A project key is a truncated HMAC-SHA256 value computed with a local salt. The salt is not sent. The server can group matching keys without receiving the original project label.
These aggregates still reveal dates, tools, models, and usage patterns. Hashing project keys does not make every field anonymous. Account and connection metadata are handled separately.
Local metadata and other connections
Local reports retain recognizable project names and session identifiers. Workspace features can read files and conversations. Usage-sync exclusions apply to this payload, not every store or connection in the application.
Remote access registers device connection information and forwards encrypted session traffic when a relay is needed. Plan-limit sharing sends its own readings to your signed-in devices. Read screen access and plan-limit sharing before enabling those features.
Stop syncing or remove hosted data
Unlink a device or stop its sync schedule when you no longer want it uploading. Export or delete your account from website settings to manage hosted data. Removing an account does not delete the local usage archive or project folders.
Profile publication is controlled separately from collection. Review your publishing settings before sharing a profile URL. The privacy notice describes retention and account deletion.
More in Sync and profiles
