Godspeed Code

Privacy

Last updated: 30 October 2026.

Godspeed Code is a free, open-source app for running coding agents: the Mac (and Linux) app, and an iPhone companion that follows the Mac's chats. It is made by Shrithan and Devakumar. This page covers everything the apps and our server receive:

We don't sell or share data, show ads, or use third-party analytics or tracking SDKs in any app.

The anonymous usage ping

Godspeed Code sends one small, anonymous usage ping a day so we know the app is working and roughly how it is used. It contains no prompts, no code, no file paths, no repo or project names, no emails, no account or device ids, and no free text of any kind. It is on by default and easy to turn off.

What is sent

At most once per UTC day, and only on a day you use Godspeed, the app sends this JSON to https://godspeed-edge.shrid5.workers.dev/telemetry/v1/ping (or $GODSPEED_EDGE_URL if you set one). This is the complete list of fields. The edge rejects anything else, and a test in crates/proto/src/telemetry.rs fails if a field is added without updating this page.

Field Example What it is
v 1 Payload version
install_id 4f9d7c1e-… A random UUID made for this ping only, stored in telemetry.json in the data dir (~/.godspeed). It is not your device id and is never linked to an account
day 2026-10-27 The UTC day the ping is sent
app_version 0.5.8 Godspeed's version
os macos macos, linux, windows or other
arch aarch64 aarch64, x86_64 or other
first_seen 2026-10-20 The UTC day this install first ran with the ping
active true true if a person used Godspeed that day (the desktop app was open or a turn was started), false for a background engine that only ran
usage Counts for your most recent earlier day of use not yet reported (a day is only complete once it's over). Missing on the very first ping
usage.day 2026-10-26 The UTC day the counts cover
usage.chats_started 3 Chats created on this install
usage.turns_finished 12 Agent turns that finished
usage.approvals_answered 4 Approvals and agent questions you answered
usage.zoomie_runs 1 Zoomie (always-on agent) runs started
usage.harnesses {"claude-code": 9, "codex": 3} Finished turns per agent. Only Godspeed's own agent ids (claude-code, codex, cursor, devin, grok, hermes, pi, muse, opencode, antigravity, mock, unknown); anything else is counted as other
usage.tokens {"input": …, "output": …, "cache_read": …, "cache_write": …} Token totals for those turns
usage.spend_usd 1.25 What those tokens would cost at list API prices (an estimate; subscription logins pay nothing per token)

The usage numbers come from the same local index as Settings → Usage, limited to turns Godspeed ran. Claude Code and Codex history from outside Godspeed is never read for the ping. Model names are not sent.

When it is sent

What the server keeps

The edge (edge/src/telemetry.ts, a Cloudflare Worker) checks every field and stores the ping as one row per install per day (a retry replaces the row). It does not store your IP address, user agent or any request header. Your IP is used only, in memory, to rate-limit requests. Rows are kept for 400 days, then deleted.

The numbers are shown on a private dashboard that only the maintainers can open (signed in, by an email allowlist). Nothing is sold or shared.

How to turn it off

Any one of these stops the ping:

When it is off nothing is sent at all, and nothing about your usage is recorded locally for it. Turning it off does not delete pings already sent; they are anonymous and age out after 400 days. The headless engine (godspeed headless) honors the same file and variables, and logs a one-line notice at startup.

Other connections

Separately from this ping, Godspeed checks GitHub Releases for updates (Settings → General → Updates turns that off), talks to the agents' own providers when you run them, and connects to the sync edge only if you turn on sync (next section).

Cloud sync and the iPhone app

Sync is off by default: without it, chats stay on your Mac and no account exists. It is invite-only on our hosted server. If you turn it on (Enable sync in the Mac app's account menu) or sign in on the iPhone app, this is what happens.

What is stored, and where

Data Why Where
Your account: email address, name (if you gave one), a user id and organization id Signing in, and keeping your chats yours WorkOS (sign-in provider) and our server
Your chats: messages you send, agent replies, tool output and diffs, chat and project names, and images or files you attach Showing the same chats on every device you sign in on Our server: a Cloudflare Worker with Durable Objects and R2 storage
Your devices: a random device id the app makes, the device's name (for example "Shrithan's iPhone"), platform and app version Showing which machine runs which chat, and routing commands to it Our server
Notification settings and the iPhone's push token, if you allow notifications Telling you when a chat finishes or needs you Our server; the notification (the chat's title and "Finished" / "Needs your input") goes through Apple's push service

Data travels over TLS (HTTPS and secure WebSockets) and Cloudflare encrypts it at rest. It is not end-to-end encrypted: the server can read synced chats, and only the maintainers can access it, to run and fix the service. Chats you sync stay until you delete them or your account.

On the iPhone

Deleting your data

Signing out on the iPhone deletes its local copy. To delete your account and everything synced to our server, contact us (below) from the email you signed in with; we delete it within 30 days and confirm. You can also run your own sync server instead (edge/DEPLOY.md), in which case nothing reaches ours.

The iPhone beta waitlist

The website's "Join the iPhone beta" form sends us your email address and, if you write one, a short note. We use them only to decide who gets access during the beta and to send you the TestFlight invite. They're stored on our server (separately from the usage pings), seen only by the maintainers, and deleted when you ask or when the beta ends, whichever comes first. Your IP address is used, in memory, only to rate-limit the form; it isn't stored.

Contact

Questions, or a request to see or delete your data: message @ShriD5 on GitHub or @DevaiahShrithan on X, or reply to your beta invite. Changes to this page are listed in the repository's history.