Your code stays yours
What Commit Garden keeps, what it never touches, who helps us run it, and how to remove it. Last updated 21 October 2026.
Who is responsible
The service is run by the operator below, who decides why and how your data is used (the data controller).
Contact: support@commitgarden.app
What we store
- Account: your email address, your name and avatar URL from the sign-in method (GitHub, Google or an email link), and the provider’s account id. We never see or store a password: there are none.
- Your profile: the username you pick, an optional photo you upload, whether your public page is visible, your time zone, the date you joined.
- Commits: for every commit you push to a repository where the app is installed, the commit sha, its timestamp and the repository id. From that we keep per-day commit counts.
- The game: your goals and milestone, chosen plants and garden layout, gems spent, bridged days, invites you sent or used (a referral code and who invited whom).
- Billing: your plan, the dates it started, and the customer and subscription ids from Stripe. We never see your card number.
- Email choices: whether you allowed reminder emails and when you did.
What we never store
Commit messages, diffs, file names or file contents. We never read your code.
Why the app asks for “Contents: read”
GitHub only delivers push events to apps that have the Contents permission, so the app has to ask for it. We use it for nothing but receiving the push notification. We do not fetch your repository contents.
Which repositories are counted
Only the ones you choose when installing the GitHub App (all repositories or a selection). You can change this at any time in your GitHub settings.
GitHub access
While you connect GitHub we use a short-lived token once to confirm who you are and to import your last year of daily activity. The token is not stored. If you revoke the app on GitHub, we stop counting.
Why we use your data
- To run the service you asked for (contract): sign you in, count commits, grow your plant, take payment.
- To keep it safe and working (legitimate interest): limit abuse with short-lived counters, and keep a short error log.
- Reminder emails (your consent): only if you switch them on in Settings. Every email has an unsubscribe link, and you can withdraw consent any time.
- Anonymous usage statistics (legitimate interest): see below. We respect the browser’s Do Not Track setting.
Who processes it for us
These companies handle data on our behalf, only to provide their part of the service:
- Vercel: hosting and delivery of the site (United States).
- MongoDB Atlas: the database, hosted on AWS in the United States (us-east-1).
- Stripe: payments. Stripe handles your card details and acts as the seller of record for payments it processes.
- Resend: sending sign-in links and the emails you asked for.
- GitHub and Google: sign-in, and for GitHub the push notifications.
- Datafast: privacy-friendly website analytics.
Some of these are outside the European Economic Area. Where that applies, transfers rely on the providers’ standard contractual clauses or their participation in the EU-US Data Privacy Framework. The feedback board linked from the site is run by Insigh.to, a separate service with its own privacy policy: nothing is shared with it unless you post there.
Cookies and similar storage
- Sign-in (essential): a session cookie that keeps you signed in, a security token against forged requests, and short-lived cookies during sign-in and when connecting GitHub.
- Your theme (essential): your light or dark choice is saved in your browser only.
- Analytics: Datafast sets first-party identifiers to count visitors and goals such as signing up. They carry no name or email. Nothing is loaded if your browser sends Do Not Track.
How long we keep it
- Account, commit and game data: until you delete your account.
- Error log: 30 days. It holds technical details of a failure, not your name or email.
- Abuse-limiting counters: an anonymous, salted hash of your address, kept for a few hours.
- Backups of the database: encrypted-at-rest copies on the operator’s device, the newest eight weekly ones. A deleted account disappears from them as they rotate out.
- Payment records: Stripe and we keep what tax and accounting law requires.
Your rights
You can ask to see, correct, export or delete your data, to restrict or object to how we use it, and to withdraw consent at any time. Most of this is in Settings: disconnect GitHub, change your username or photo, switch emails off, or delete your account, which removes everything we hold about you and cancels any active subscription. For anything else, write to support@commitgarden.app. If you think we got it wrong you can complain to your local data protection authority.
Age
Commit Garden is for people aged 16 and over. We do not knowingly collect data from younger children.
Security
Everything travels over HTTPS. Webhooks from GitHub and Stripe are verified by signature, requests are rate limited, state-changing requests must come from this site, and access to the database is limited to the service. No system is perfect: if something affecting your data ever goes wrong, we will tell you.
Changes
If this page changes in a way that matters, we will say so in the app or by email.