Privacy policy
What we collect — and what we never will.
Last updated: 2026-06-10
The short version
The free extension sends a small amount of anonymous usage telemetry (counts and your OS/version — no identity), and you can turn it off with one click. We only ever learn your email if you choose to sign in or subscribe, and even then payments go through Stripe — we never see or store your card. We never collect your code, file names, or commit messages.
Telemetry (free tier)
The extension sends these to a server we own at api.gitnfit.dev:
- The extension version (e.g.
0.2.0) - Your operating-system family (e.g.
linux,darwin) - A random install ID (regenerable; never derived from anything identifying)
- Counts of in-app events:
routine.started/completed/skipped,trial.started/converted,paywall.shown/clicked,subscription.canceled,extension.activated
It's opt-out: open Git & Fit: Privacy
in VS Code and click Stop sending telemetry (mirrored to the
gitnfit.telemetry.enabled setting). It also honors VS Code's
global telemetry setting — if you've disabled telemetry editor-wide, we
send nothing.
What we never collect
- Your code, file names, project names, or repo names
- Commit messages or hashes
- Your IP address (stripped at our reverse proxy before storage)
- Anything from
.gitnfit.jsonbeyond a count of custom exercises - Your card number or full payment details (those go straight to Stripe — see below)
Any future telemetry that touches your code, files, or commits would require a separate, explicit opt-in — we will never expand the list above without asking you first.
Accounts & sign-in
The free tier needs no account. If you start a trial or use Manage Subscription, you sign in with a one-time magic link sent to your email. We then store your email address and a verification timestamp so we can recognise you across machines. No passwords, ever.
Billing (Pro)
- Stripe handles payment. When you upgrade, Stripe's hosted Checkout page collects your email and card. We never see or store your card number — Stripe (a PCI-compliant processor) does. See Stripe's privacy policy.
- What we store: your Stripe customer/subscription IDs, plan, status, current-period end, and — if you cancel — the cancellation reason you pick. This is what powers your Pro access.
- Cancellation: cancel anytime via Manage Subscription; Pro stays active until the end of the period.
Who we share with
We do not sell your data or share it with analytics vendors or marketing partners — ever. The only processors involved are the ones that make the product work: Stripe (payments) and Cloudflare (CDN/edge for the API and this site, which may log requests per its privacy policy).
This website
- No analytics — no Google Analytics, Plausible, Fathom, or similar.
- No cookies set by us; no tracking scripts. The marketing pages ship static HTML/CSS and the brand SVGs.
- Server logs record standard HTTP request lines in a rolling, auto-rotated buffer for troubleshooting — not aggregated, not exported, not used to profile anyone.
Your controls
- Turn off telemetry — Git & Fit: Privacy → toggle.
- See exactly what was sent — the same panel lists the last 50 events.
- Cancel — Manage Subscription in the Command Palette.
- Delete your data — open an issue (below) and we'll remove your account + billing records.
Changes & contact
If we change what we collect, we'll update this page, bump the "Last updated" date, and note it in the next release's CHANGELOG. The full source is at github.com/quirkfly/gitnfit. Questions or data requests: open an issue at github.com/quirkfly/gitnfit/issues.