Privacy Policy

Last updated: 2026-11-10

Badger is a local-first workout tracker. Your training data lives on your device in a local SQLite database, and nothing is ever sent to us automatically. Two things do leave your device on their own: your iPhone's backup to your own iCloud, and your Android phone's own backup to your own Google account, if you have that turned on. Both go straight to a cloud account only you control, never to a server of ours. This policy explains what is stored, what leaves the device and where it goes, and your rights. Everything below describes the app unless it says otherwise; the About this website section covers badger.fit itself, which is a separate thing with separate answers.

Data stored on your device

The following is stored on your phone and is never sent to us:

  • Workouts, sets, and exercises (including weight, reps, distance, duration, RPE, RIR, whether a set went to failure, notes, comments, and - if you switch it on - the end-of-set heart rate read from Apple Health or Health Connect).
  • Routines, routine days, and predefined sets.
  • Body measurements and body-weight history, including any weigh-ins imported from Apple Health or Health Connect. Imported readings are saved in Badger's local database exactly like ones you type in, so they behave the same way everywhere else in the app - including in backups, except iCloud backups (see below).
  • Gyms, machines, attachments, and their links to exercises.
  • Photos you add to a machine or attachment. They are saved as ordinary image files in Badger's own storage on your device, and Badger removes location and other metadata from them when it saves them. They are included in a backup only when the Back up equipment photos setting is on - off by default (see below), and only in an iCloud or Drive backup; the copies Android keeps on your phone never include them, to keep those copies small. Backed-up photos are never sent to us either way. Deleting the machine or attachment, or removing the photo, deletes the file.
  • Progress photos you take or pick in the body tracker. They are saved as image files in Badger's own storage, not in your phone's photo library, and Badger removes location and other metadata from them when it saves them. You can lock them with Face ID, a fingerprint or your screen lock.
  • All app settings, preferences, and the debug log ring buffer.
  • The most recent crash report, if Badger terminated unexpectedly. Saved as a plain-text file (crash_report.txt) containing the exception, stack trace, and the last ~500 lines of the in-memory log buffer. Only the latest crash is kept - a new crash overwrites the previous file, and sending it via feedback (see below) deletes it.

Data sent automatically off the device

Nothing is sent to us. Badger does not send your workout data, identifiers, usage metrics, analytics, or telemetry to any server we control, and there is no account and no sign-in. Two backups do leave your device automatically, and both stay inside a cloud account only you control:

  • iPhone: iCloud backup, on by default. Badger writes your backups to your own private iCloud database - one CloudKit zone under your Apple ID that only Badger's app on your own devices can open. We cannot read it; Apple does not give us access to it. Turn it off from Badger's Backup screen or from Badger's iCloud permission in iOS Settings. Anything Badger read from Apple Health (imported weigh-ins and end-of-set heart rates) is left out of these copies. After a restore from iCloud, Badger imports the last year of weigh-ins from Apple Health again; past heart rates are not restored. Progress photos go to this iCloud backup only if you turn on Back up progress photos; they are stored separately from your workout backups, one copy of each. Your iPhone's own device backup (iCloud Backup, or a backup to your computer) includes Badger's storage on the phone, progress photos too, as it does for your other apps.
  • Android: your phone's own backup, if you have it turned on. Badger keeps up to five dated copies of your log in its own storage on the phone. If your phone's system backup is turned on (Android's allowBackup, a phone-wide setting Badger does not add a switch for), it carries that storage to your own Google account along with your other apps' data. We have no access to it there either. That backup never carries progress photos; a direct transfer from your old phone to a new one does.

A third backup, to your own Google Drive, is opt-in on either platform and described below.

Data that can leave your device only when you initiate it

  • Backup files - you tap Save a backup file in the Backup screen to open the system share sheet and save a .workout_backup file wherever you choose (local storage, your own Drive, email-to-self, etc.).
  • CSV exports - workout history CSV exports open the share sheet.
  • AI context copies - Copy context for AI assembles a plain-text summary of your training (your training notes, active program, recent sessions, records, gym equipment, and avoided exercises) on your device and shows it to you in full. Tapping Copy places it on your clipboard; tapping Share opens the system share sheet. Badger sends it nowhere - where it goes next is entirely your choice, and if you paste it into an AI service, that service's own privacy policy applies to it from that point. It excludes body measurements, any health data, and your workout, set, exercise and machine comments.
  • Progress photo export and sharing - Export progress photos saves a .zip of your photos wherever you choose, and Import photos from an export reads one back. Share comparison sends one image of the comparison you are looking at through the share sheet.
  • Debug log exports - the last ~500 lines of in-memory logs can be exported as a plain-text file via the share sheet.
  • Feedback emails - the Send feedback screen opens your email client with a pre-filled draft to feedback@badger.fit. You review and send it from your own email app. If a crash occurred since the last launch, a toggle offers to attach the stored crash report; you can also attach diagnostic logs. Nothing is sent automatically - you always hand off to your mail app and press send.
  • Google Drive backup (opt-in) - on either platform, turning on Google Drive backup in Settings signs you in to your Google account (using Google Sign-In) and uploads backup archives to a hidden app-data folder on your own Drive. The folder is private to Badger - it is not visible in the Drive UI and cannot be accessed by other apps. Badger requests only the drive.appdata scope (no access to your other Drive files). Backups contain your local SQLite database and a sanitized copy of your app settings (excluding any authentication tokens). Drive backup is the way to carry a log between an iPhone and an Android phone, since the two automatic backups above are each locked to their own platform. Photos you added to machines or attachments are not included by default, to keep backups small. A separate setting, Back up equipment photos, includes them; it is off unless you turn it on. Progress photos are included only when you turn on Back up progress photos, and are kept as one copy of each in the same private app-data folder. Up to 5 rolling backups are kept, plus event backups before destructive actions. You can turn Drive backup off, delete all Drive backups, or revoke Badger's access from your Google account at any time. No data goes anywhere else.

Apple Health and Health Connect (opt-in)

Badger can exchange three specific things with your phone's health store - Apple Health on iOS, Health Connect on Android. All of them are off by default, each is a separate switch in Settings, and each also has to be granted in the health app's own permission screen - for that one thing only, so allowing heart rate does not give Badger your weight history. No switch alone moves any data.

  • Writing workouts - when you turn this on, each finished workout is saved to your health store as a strength training session. Badger writes when it started and when it ended, and nothing else. There is deliberately no calorie estimate: a strength-training calorie figure cannot account for rest, body composition, or effort, so it would be a guess presented as a measurement. Badger does not write exercises, weights, reps, or notes.
  • Reading body weight - when you turn this on, Badger reads body-weight readings from your health store and saves them in your local body tracker as ordinary entries. Badger reads body weight only; no other health category is requested. Because these readings are saved locally like any other entry, they are included in your backups - the backup file you save and, if you have enabled it, the cloud backup to your own Google Drive.
  • Reading heart rate - when you turn this on, Badger reads heart-rate samples from your health store for the period a workout was running, and keeps a single value per set: your heart rate at the end of that set, in beats per minute. It is stored with the set in Badger's local database, so it is included in your backups in the same way as your weights and reps. The samples Badger reads are used to work out that one number and are then discarded - Badger does not keep a copy of your heart-rate history, and does not store any other health measurement. Reading happens only when a workout finishes and when you open its summary shortly afterwards; there is no background monitoring, and Badger never writes heart rate back to your health store.

Nothing read from your health store is sent to us or to anyone else. You can turn any of them off at any time, and you can revoke Badger's access from Apple Health or Health Connect directly. Turning them off stops any further exchange; readings already saved in your body tracker stay there until you delete them.

Device permissions

  • Camera and photos - requested only when you choose to add a photo to a machine or attachment or take a progress photo, and only at that moment. Badger reads the single image you pick; it does not browse, index, or upload your photo library. Decline, and everything except equipment photos and the progress photo camera works exactly as before.
  • Face ID or fingerprint - used only if you turn on Lock progress photos. The check happens on your phone, and Badger never sees your face or fingerprint.
  • Notifications - used for the rest timer, the set timer, the active-workout notification, and the workout reminders you schedule yourself. All of them are local notifications raised by the app on your own device; none involve a server.
  • Health data - requested only when you turn on one of the Apple Health / Health Connect switches described above, and only for the specific categories that switch needs. Decline, and everything else in Badger works exactly as before.

Third parties present in the app

  • Your phone's store rating sheet - after you finish a workout, once you have logged at least five, Badger may ask your phone to show its standard "rate this app" sheet. The sheet belongs to Apple or Google, not to Badger, and your phone decides whether to show it and how often. Badger sends nothing with the request and is told nothing back: not whether the sheet appeared, not what you rated it, not whether you wrote anything. Any review you do leave is between you and the store.
  • Apple Health / Health Connect - only used when you opt in (see above). These are your phone's own health stores; data exchanged with them stays on your device and is governed by Apple's or Google's handling of that store, not by us.
  • Apple iCloud - used automatically on iPhone unless you turn it off (see above). Your backup is stored in your own private iCloud database; we cannot read it and Apple does not share it with us.
  • Android's own backup - used automatically on Android if you have it turned on in your phone's settings (see above). Your backup is carried to your own Google account; we have no access to it.
  • Google Drive - only used when you opt in to Drive backup (see above). Data is stored in Badger's private app-data folder on your Drive; it is not shared with us or with any other party.

No analytics SDKs, no advertising SDKs, no crash-reporting SDKs. Fonts are bundled inside the app rather than fetched from a font service, so displaying text makes no network request. Badger contains no Firebase code.

What the app explicitly does not do

  • No analytics, metrics, or telemetry. (The website counts page views; see About this website. The app does not, and never talks to the website.)
  • No advertising or ad-tracking SDKs.
  • No user profiling or behavioral tracking.
  • No account required to use Badger. iCloud and Android's own backup use your existing Apple or Google account with no extra sign-in inside Badger. Google Sign-In is only used if you turn on Drive backup, and only to upload and download your own backup files to your own Drive.
  • No workout data reaches Badger's developer, ever, live or backed up. Every backup goes only to a destination you control: your own iCloud, your own phone plus your own Google account, or your own Google Drive.
  • No third-party SDKs that send us anything. Apple's, Google's and Drive's services above are your own accounts, each used only when you opt in, when your phone's own backup setting is on, or when your phone chooses to show its rating sheet.

About this website

Everything above is about the Badger app. This section is about badger.fit, the site you are reading now. They are separate: the app sends nothing anywhere, and the site counts visits.

We use GoatCounter, an open-source, privacy-focused analytics tool, to see which pages people read and where they arrive from. It is how we know whether a help page is worth keeping and whether anyone found the site at all.

It sets no cookies and stores nothing in your browser: no cookies, no localStorage, no cache entries, nothing that survives your visit. There is no consent banner because there is nothing to consent to storing.

Per page you view, it records:

  • The page path and the time.
  • The referrer, meaning the site or link that sent you here.
  • Your browser, operating system, and screen width.
  • Your country, worked out from your IP address at the moment of the request.
  • Whether you tapped one of the store links, recorded as a plain counter with nothing attached to it.
  • If you tap a store link, the link carries the name of the page it was on (for example "guides-gzclp-app"), so Google Play and the App Store can tell us which page sent an install. It names a page of this site and nothing about you.

Your IP address is not stored. It is combined with your browser's user agent to produce a random session identifier held in memory for up to eight hours, so that reading four pages counts as one visit rather than four. That identifier is not tied to you, expires on its own, and cannot be turned back into an IP address. The full user agent is not stored either.

There is no profile, no cross-site tracking, no advertising, and no data sold or shared. Nothing here identifies you, and none of it is connected to anything in the app: the app never contacts this site, so your training data and your reading of this page have no way of meeting. Any content blocker or tracker-blocking browser stops the script, and the site works exactly the same without it.

The site is hosted on GitHub Pages, which, like any web host, processes the requests needed to serve you the page. The small AppTierList badge in the footer is an image that loads from apptierlist.com, so that site receives the request for it (including your IP address), as any site would for an image it serves. We do not control that site, and its own policy applies to what it does with the request.

Your rights

Deleting the app removes Badger's local data from the phone. Your iCloud backup, the copies carried by Android's own backup, any Drive backups, any progress photo backup copies, and any files you exported stay in your own account until you delete them; the Backup screen can turn off and delete each workout backup. Since we never hold a copy, there's nothing for us to delete on our side. If you have emailed us feedback that included personal information and want it deleted from our mailbox, email privacy@badger.fit.

Progress photos are handled separately. Deleting a progress photo deletes the file on your phone, and, once the Undo message has gone, the copy in your iCloud or Google Drive photo backup if Back up progress photos is on. Turning that setting off asks whether to keep or delete the copies already there. Delete all backups on the Backup screen removes your workout backups only and keeps your progress photos, on your phone and in the photo backup.

California residents (CCPA/CPRA)

If you are a California resident, you have the right to know what personal information we have collected, to request deletion, and to opt out of the sale or sharing of your personal information. We do not sell or share personal information. To exercise these rights, email privacy@badger.fit.

Children

Badger is not directed at children under 13 and we do not knowingly collect information from them.

Updates

If we change this policy we will update the Last updated date at the top and, for material changes, call it out in the app. Continued use of the app after an update constitutes acceptance.

Contact

Privacy questions: privacy@badger.fit
General: hello@badger.fit