cd ~/privacy
privacy
Local-first by default.
TrackMyCodes counts your coding hours on your own Mac. The activity data stays in a local database — we never collect your code, prompts, screenshots, or keystrokes.
Overview
TrackMyCodes is a local-first Mac app that measures the time you spend with coding agents like Claude Code, Codex, Cursor, Windsurf, Antigravity, and VS Code. Tracking happens on your machine and your activity history is stored locally by default.
The only data that leaves your Mac is what we need to sell and license the app: secure checkout, license validation, billing, and release update checks. This page explains exactly what that means.
What stays on your Mac
Activity data is stored locally in ~/.trackmycodes/trackmycodes.sqlite, unless you point the app at a different local database path. It never syncs to our servers by default.
- Session start, heartbeat, output-activity, and end times.
- Agent labels, source labels, and project paths.
- Editor and process event metadata used to measure active time.
- Local settings, license state, and update configuration.
What we track
To turn invisible work into hours, the app records lightweight activity signals — never content:
- CLI session starts, heartbeats, output activity, and session ends.
- VS Code-family extension heartbeats and editor event metadata.
- macOS process-watcher heartbeats for active agent worker processes.
- Foreground input heartbeats while you type or click in supported agents and terminals.
What we never collect
TrackMyCodes is built so the sensitive parts of your work never touch our systems:
- Code contents.
- Prompt text, chat transcripts, or generated responses.
- Screen recordings, screenshots, or window images.
- Keystroke contents.
- Cloud sync of your local activity data by default.
Hosted account data
When you buy a license, our hosted service stores the minimum needed to operate it. Records are linked to your Stripe customer and subscription IDs.
- A hash of your license key, plus an encrypted copy of the key.
- The email you entered at Stripe checkout.
- Subscription status and renewal date.
- Machine activation hashes used for license refresh and deactivation.
Third-party processors
We rely on a small number of trusted services so we can take payment and deliver updates:
- Stripe — checkout, payment methods, invoices, subscription renewals, tax calculation, and the customer billing portal.
- Release & license hosting — validates your license and serves update metadata such as the current version, download URL, checksum, and release notes.
We don't sell your data or share it with advertisers.
Your controls
The local dashboard at http://127.0.0.1:8765 puts you in charge of everything stored on your machine:
- Pause and resume tracking at any time.
- Export your activity as JSON or CSV.
- Delete local activity data.
- Refresh your license or deactivate the current machine.
Retention & deletion
Local activity data lives on your Mac until you delete it or run agentwatch uninstall --delete-data. Deleting local data does not cancel billing or remove your license activation.
Hosted license records are retained while your license is active. To request deletion of your account email and license records, contact us via the support page.
Contact
Questions about privacy or a data request? Reach us through the support page and we'll help.