FullKit privacy policy
Effective date: [To confirm: effective date]. Last updated: .
FullKit is a gun inventory, ammo tracker and range log for iPhone and Android. This policy explains what the app keeps on your phone, what it sends and to whom, and how to delete it.
The short version
- Your log is stored on your phone. There is no account: no sign-up, email or password.
- The free app works with no signal. Logging, measuring and reminders send nothing. The one exception is opening the Shooter's Network screen, explained below.
- Your collection (firearms, serial numbers, loads and gear) never reaches us in a form we can read. A target photo reaches us only when you ask for shot detection.
- Online features belong to the optional Shooter's Network subscription. Each sends only what it needs, and only after you tap it. Sync is the one exception: once you turn it on, it runs by itself, encrypted end to end.
- FullKit has no ads and no analytics. We do not sell your personal information or share it for advertising.
Who we are
FullKit is published by [To confirm: the publisher's legal name], [To confirm: the publisher's postal address]. In this policy, "we" and "us" mean that publisher.
This policy covers the FullKit apps for iPhone and Android (earlier versions are named Rangebook), the Shooter's Network service and this website. Questions: support@fullkitapp.com.
What stays on your phone
Everything you log is stored in the app's private storage on your phone: firearms, serial numbers, photos, ammo, gear, range days, groups, maintenance and settings.
Photos you take or pick are processed on your phone, including cutting a gun out of its background and measuring a group. On Android, the background removal model comes from Google Play services, which may download it to your phone. Your photos stay on the phone.
App Lock uses your phone's own face, fingerprint or passcode check. FullKit never sees that data.
Cleaning and battery reminders are scheduled on your phone. A notification never names a firearm.
An export is a file locked with a password you choose. FullKit never uploads it. If you save or send it somewhere, that service's own terms apply. We cannot open an export or recover its password.
Your phone's own backup (iCloud Backup on iPhone, Google backup on Android) may include FullKit's data, including your log and photos. You control it in the phone's settings. That backup is between you and Apple or Google. A backup never carries sync's recovery code to another phone.
What the free app sends
Using the free app makes no network calls. You can log, count rounds, measure groups and get reminders with no signal.
Opening the Shooter's Network screen is the one exception. To show the plan and its price, the app then:
- fetches the screen's current wording from our server, with no identifier attached; and
- starts RevenueCat, the library that handles subscriptions. RevenueCat makes a random, anonymous id for the app and contacts its own servers and the App Store or Google Play. It also receives technical details such as your locale and currency.
If you never open that screen, neither happens.
What Shooter's Network sends, and when
This applies only if you subscribe, and only when you use the feature.
| What is sent | When | Who receives it | How long it is kept |
|---|---|---|---|
| Purchase and subscription status, with an anonymous app id | When you buy or restore, and when the app opens while you have a plan | Apple or Google, and RevenueCat | By Apple, Google and RevenueCat under their own policies |
| The anonymous app id, to get a short-lived pass that proves the plan | Before each online feature | Our server, which keeps only a keyed hash of the id | Plan status: [To confirm: how long plan status is kept] |
| A location rounded to about 1 km (where you are, or a range day's place) and the hour | When you tap Use current weather, or fill in a past day's weather | Our server, then our weather provider, [To confirm: the weather provider's name] | Not stored by us. The provider gets the request from our server, not your phone, and keeps its logs for [To confirm: how long the weather provider keeps its request logs] |
| A target photo: only the square you framed, re-encoded with all metadata (such as location) removed | When you tap Detect. By default the app asks first | Our server, then Anthropic, whose AI finds the holes | Not stored by us: the photo is held in memory for that request only. Anthropic deletes it within 30 days, unless its usage policy or the law requires longer, and does not use it to train its models |
| A count of your detections | Each detection that finds holes | Our server, against the hashed id | Monthly counts: [To confirm: how long detection counts are kept] |
| The words you type to find a range, or your approximate area | When you search for ranges | iPhone: Apple Maps. Android: Google Places, sent from your phone | Under Apple's and Google's policies |
| Map images for the area on screen | While the ranges map is open | iPhone: Apple Maps. Android: Google Maps | Under Apple's and Google's policies |
| Your log, encrypted on your phone, and with Include photos on, your photos, encrypted the same way | While sync is on, by itself | Our server and its storage | Until you delete it, or 90 days after your subscription ends |
| Your IP address, and the time and address of each request | Every request to our server | Our host, Railway, in its network logs | By Railway, for [To confirm: how long Railway keeps these logs] |
If a gear catalog is offered, the app downloads the whole file and matches it on your phone. Nothing about your gear is sent.
What our server keeps
- For each subscriber: a keyed hash of the anonymous app id, the plan status and end date, and a count of detections per month.
- With sync on: a random sync id, a hash of a secret made from your recovery code, the encrypted log and photos with their sizes and scrambled names, random device ids with when each last connected, and when the copy last changed.
- After a subscription ends, while a synced copy waits out its 90 days: the anonymous app id, encrypted with a server key, so the server can check once more for a renewal before it deletes the copy. It is removed when that wait ends.
- Our own request log: the method, address, status, duration and the first 8 characters of the hashed id. Never a request body, a location, a photo or a token.
To slow down abuse, the server counts recent requests per IP address in memory. It does not write them to its database or its log.
Our server never keeps photos sent for detection, locations, weather lookups, names or email addresses. It never sees a firearm, serial number, load or piece of gear in readable form.
Our server, database and storage run on Railway, [To confirm: where our server runs].
How sync protects your log
Sync is off until you turn it on. Your log is then encrypted on your phone, with AES-256-GCM and a key made from your recovery code, before anything is sent. The key never leaves your devices, so our server holds only scrambled data. We cannot read it, and neither can anyone who obtains the server's data.
Device names travel inside the encryption. Uploads are padded to fixed sizes, so their size says little about what is inside.
There is no sign-in. Devices join by QR code or recovery code, and anyone with the code can open the log, so keep it private. If you lose the code and every device, nobody can open the server copy, including us.
So that every phone on your log shares the subscription, the app signs in to RevenueCat with a random id made from the recovery code.
Deleting your data
- On a phone: Settings > Delete all data erases the log, photos and settings on that phone.
- The server copy: in Delete all data, turn on Also delete from the server. You can also use Delete server data on the Shooter's Network screen, or Turn off sync and choose to delete. The server erases every object, the device list and the sync account, and only then confirms. This works after a subscription has ended, too.
- By itself: a synced copy is deleted 90 days after your subscription ends, unless you renew.
These steps do not remove: your plan status and detection counts on our server (kept as stated above), Railway's network logs (they expire on their own), what Apple, Google and RevenueCat keep about your purchase, exports you saved, and your phone's own backups.
Because there is no account, we usually cannot find your data from an email address. The app is the way to delete it. If you no longer have the app or the recovery code, the server copy is deleted 90 days after the subscription ends. Email support@fullkitapp.com if you need help.
Deleting the app or your data does not cancel a subscription. Cancel it in your App Store or Google Play account.
Your privacy rights
Depending on where you live, including California, other US states with privacy laws, and Europe, you may have the right to know what personal information we hold about you, to get a copy, to correct it, to delete it, and to opt out of its sale or its use for targeted advertising. We do not sell it or use it for targeted advertising. We honor the other requests for everyone, wherever they live.
To make a request, use the app's delete tools or email support@fullkitapp.com. We may need details from the app to find what we hold, because we do not know who you are. We will answer within the time the law requires. If we turn a request down, reply and ask us to reconsider. If you still disagree, you can complain to your state attorney general or your data protection authority.
We will not treat you differently for using these rights.
If you are in Europe or the UK
We process personal information to provide the Shooter's Network features you ask for (our contract with you), to keep the service secure and prevent abuse (our legitimate interests), and to meet legal duties.
Our server and our providers are mainly in the United States. When data moves there, we rely on [To confirm: the safeguard for transfers out of Europe].
You also have the right to object to processing and to restrict it, and to complain to your local data protection authority.
Phone permissions
FullKit asks for each permission only when you first use the feature that needs it. Every one is optional, and saying no leaves hand entry working.
- Camera: to photograph firearms and targets. Photos you pick instead come through your phone's own photo picker, which shares only the ones you choose. Photos stay on the phone unless you use detection or sync.
- Location: for weather and range search. The app uses only an approximate location.
- Notifications: for cleaning and battery reminders.
- Face ID or fingerprint: for App Lock, checked by your phone.
Security
The apps talk to our server over HTTPS only. Sync is encrypted end to end, exports are encrypted with your password (AES-256-GCM), and the recovery code is kept in the phone's secure storage (the iOS Keychain or the Android Keystore). Photos for detection are re-encoded so no hidden data goes with them.
No system is perfectly secure. Keep your phone locked, and keep your recovery code and export passwords private.
Children
FullKit is not meant for children, and we do not knowingly collect personal information from anyone under 13 (or the age your country sets). If you believe a child has sent us personal information, email support@fullkitapp.com and we will delete it.
This website
fullkitapp.com is a static site. It sets no cookies and loads no analytics, ads or third-party scripts. Our web host is [To confirm: the website host and what it logs].
Changes to this policy
If we change this policy, we will post the new version here and update the date at the top. If a change affects what leaves your phone, the app's release notes will say so.
Contact
Questions or requests about privacy: support@fullkitapp.com. Please do not send serial numbers or photos of your collection. We never need them.