A range log is a list of your guns, how much you shoot them, and when. That information belongs on your phone - and nowhere else.
Most apps treat your data as their asset. For a shooting app, that default is unacceptable. A cloud-synced gun log - however well-intentioned - is a searchable, breachable, subpoenaable record of firearm ownership tied to your identity. Companies get acquired. Databases get breached. Terms of service get "updated."
Shots Fired was built by a shooter who wanted to track round counts and cleaning intervals without adding his name to anyone’s list. So the architecture makes the promise for us: your shooting data never leaves your phone. Not as a settings toggle. Not as a premium feature. As the only way the app works.
These are the commitments that make that true, and the core ones are permanent: no accounts, no cloud copy of your log, no registry, no ads. Updated July 2026: one commitment did change. We used to promise zero analytics of any kind; we’ve since added anonymous, aggregate, opt-in usage analytics (off by default) to help us improve the app. Commitment #3 spells out exactly what it does and doesn’t collect. Your identity and your shooting data are never part of it.
You will never create a username, password, or profile to use Shots Fired. An account system means a server-side list of who uses a gun app - we refuse to build that list. You download the app, add a gun, and go hot. That’s the whole onboarding.
Every firearm, session, photo, and maintenance record is stored locally on your device. There is no sync service, no cloud backup we control, no database of your gun locker sitting in a data center. If you’re offline at an outdoor range in the middle of nowhere, the app works exactly the same - because it never needed the internet in the first place.
This commitment used to read "no analytics, ever." We changed it, and we want to be upfront about that. Shots Fired now includes anonymous, aggregate usage analytics that are OFF by default. If you turn them on, the app sends a short, fixed list of events - that a session was logged, that the Pro screen was opened and which limit opened it, that a purchase was started or finished and on which plan, that the free trial started or ended - tied to a random ID, never to you. The privacy policy lists every one. What we still never collect: your name, your firearms, your round counts, your notes, your photos, or your location. It’s never sold, and never handed to ad networks (there are none). We added it because we were building blind and couldn’t tell what to fix. We’d still rather under-collect than over-collect, so it stays anonymous, optional, and yours to switch off anytime. Your shooting data never leaves your phone.
A cloud-hosted gun log is a de facto registry, whoever runs it and however good their intentions. The only way to be certain a database can’t be breached, sold, subpoenaed, or quietly repurposed is for it to never exist. Ours doesn’t. If we were ever compelled to hand over user data, there would be nothing to hand over.
Backup export is built in - on Free and Pro alike. Your whole log goes into one readable file you send wherever you like. If you ever stop using Shots Fired, you walk away with every firearm, session, goal, and maintenance record. Lock-in is not a business model we respect.
Share cards, exports, backups - every path your range data takes out of the app is a deliberate action you take, going to a destination you choose. The app only reaches out on its own for two things: checking with Apple and RevenueCat whether you own Pro (an anonymous ID and your purchase status, nothing else), and the anonymous usage analytics in #3, only if you switch them on. Neither carries any of your range data. Nothing is "shared with partners." There are no partners.
Ads mean ad networks, and ad networks mean tracking. Shots Fired is funded the honest way: a free tier that’s genuinely useful, and Pro for people who want more, as a subscription or a one-time purchase. That’s it.
"Private" is a claim; local-first is an architecture. In Shots Fired, the database of record is the one on your device. There is no server holding your log or anything that identifies you - so there is nothing to breach, nothing to sell, and nothing to produce. Privacy isn’t a policy we enforce; it’s a capability we never built.
The tradeoff is honest: there is no cloud backup we run for you. Your export is your backup, and the app makes exporting easy. We think shooters would rather own that responsibility than outsource it to a database they can’t see. Read the full details in our Privacy Policy, which lists every anonymous, optional usage event the app can send.
Shots Fired is free to try, works fully offline, and never asks who you are.
Download on the App StoreWhat to look for in a range log app →
How to track rounds fired →