Shot Timer Drills
Effective date: September 26, 2026
Shot Timer Drills ("the app") is available for iPhone (with an Apple Watch companion) and for Android. It is built to keep your training data on your own devices. This policy explains, plainly, what the app stores, what little it sends, and where. Where the iPhone and Android versions differ, it says so.
There are no accounts, no advertising, no analytics, and no tracking. Everything you enter — drills, session history, shot times, shooter names, personal bests, gear, notes and videos — stays on your device. On iPhone it can also sync to your own private iCloud account; on Android it can be included in your phone's own Google backup. The developer never receives it and has no server it could be sent to.
The one thing the app sends to the developer is a timer diagnostic report, described under Timer reports. These reports describe how a Bluetooth shot timer behaved. They never contain shooter names, drill names, notes, or scores. Automatic reports can be turned off at any time in Settings.
On iPhone, the optional Buddy Sync feature shares data with one person you personally invite — never with the developer.
The app stores the following on your device:
On iPhone, this is stored with Apple's SwiftData framework. If iCloud is available and signed in, it also syncs to your own private CloudKit database — the same private, per-user storage Apple provides to any app for iCloud sync — so it carries over to your other devices signed into the same iCloud account. That database is yours: Apple's private CloudKit containers are only ever readable by the account they belong to. The developer has no access to it and no way to retrieve, view, or restore your data from it. If you're signed out of iCloud, or have it turned off, the app works exactly the same way using on-device storage only.
On Android, this is stored in the app's private storage on your phone. If you have Android's backup turned on, your drills, history, shooters and settings are included in your phone's own backup to your Google account, so they can come back when you set up a new phone. That backup is handled by Android and Google under your account; the developer cannot see or access it. Recorded video clips and the timer log are left out of the backup.
Buddy Sync is an optional feature, off by default, that lets two people keep their drills and history in sync with each other. Turning it on for a shooter (from that shooter's profile) sends an invite link — over Messages, AirDrop, or however you choose to send it — to one specific person you pick. Nothing is shared until you send that link and the other person accepts it.
Once accepted, it works through Apple's CloudKit sharing, using a private, shared record zone between just the two of you — the same technology Apple provides for sharing a photo album or a note, applied here to drill and range-trip data instead. Drills and equipment (gun/carry style names) sync both ways automatically. A shooter's range trips, sessions, and personal bests only sync if that shooter's own "include this shooter's history" switch is turned on — so enabling Buddy Sync for one shooter never exposes another shooter's history on the same device without a separate, explicit choice.
As with private iCloud sync, this data is never sent to the developer or to any server we operate — it travels only between your device and your buddy's device, through Apple's CloudKit infrastructure, under the two of you as the participants. You can turn off syncing for a pairing at any time from that shooter's Buddy Sync screen; data already synced stays on both devices, but nothing new is exchanged afterward.
The app can connect over Bluetooth Low Energy to a supported shot timer (Competition Electronics ProTimer BT, AMG Commander, SG Timer, DAA Edge, or Kestrel KST1000), if you choose to pair one, in order to read shot times during a drill. This connection is local, device-to-device — shot-timer data is not sent anywhere beyond your phone and the timer itself, except for the timer reports described below.
On Android 8 through 11, Android requires the location permission for any app to scan for Bluetooth devices. The app asks for it only for that reason; it never reads or stores your location. On Android 12 and later, the app uses the Bluetooth permissions instead and does not ask for location.
On Android, while a timer is connected or a timed string is in progress, the app keeps running in the background so shot times, auto-stop and reconnecting keep working with the screen locked. Android shows an ongoing "Timer connected" notification while this is happening. Nothing is sent anywhere because of it; it stops when you disconnect the timer.
If you turn on Record Video, the app uses your camera and microphone to film each string, so you can review it and make a video with your shot times overlaid. The app asks for camera and microphone access the first time you turn it on, and only records while you're running a drill with Record Video on. Clips are stored on your device. Clips for stages you confirm, and videos and result images you choose to save, are added to your photo gallery (Photos on iPhone; Movies and Pictures on Android). The app never uploads your videos or images anywhere; they only leave your device if you share them yourself.
The Apple Watch companion mirrors the drill open on your iPhone and lets you start and score strings from your wrist. The iPhone and watch exchange only what's needed for that — the drill and stage names, round counts, stage instructions, and the hits you enter — directly between your own devices through Apple's WatchConnectivity. None of it is sent to the developer.
You can export your data at any time: a complete backup of everything (Settings → Export All Data), a single shooter's data, or spreadsheet-friendly CSV files of drills or history. You can also share result images and videos. These files go wherever you choose — Files, iCloud Drive, Google Drive, AirDrop, Quick Share, email, messaging apps — and that transfer is entirely under your control, not something the app does on its own.
If you use Send Feedback in Settings, the app opens your own email app with a message addressed to the developer, including the name and note you type. Whatever you write is sent the same way as any email you send, only if you choose to send it. The app itself does not collect or store it.
The app keeps a short log on your device of how your Bluetooth shot timer behaved: the timer's advertised name, its firmware version if it reports one, connection attempts and errors, the raw messages exchanged with the timer, and a tally of how each string went. This log stays on your device unless it's included in a report as described here.
What a report contains. The timer's brand and model; its firmware version and settings if it reports them; whether connecting worked and any errors; for each string, how many shots the timer sent compared with how many the stage expected, the shot times and splits, and how the string ended; disconnect counts; raw data exchanged with the timer; timestamps; the app version; the platform and its version (iOS, or Android and your phone's model); and a random identifier created on your phone when the app first needs one. That identifier is not your device's identifier or advertising ID, and it isn't linked to your name, account, or email — it only lets the developer tell reports from different phones apart. Reports never include shooter names, drill names, notes, or scores. A timer's custom name is replaced with "custom name"; only a standard name prefix such as "PT Link" is kept.
Automatic reports. These are on by default, and you can turn them off at any time (iPhone: Settings → Timer Diagnostics; Android: Settings → Share Timer Diagnostics). Before the first automatic report, the app shows a one-time notice where you can turn them off.
If your phone is offline, a report is kept on your phone and sent later.
Reports you choose to send. If you use Send Timer Report in Timer Setup, or answer the "Did your timer work?" check, the app sends a report when you tap the button. You can add a note and an email address if you'd like a reply; both are optional, and the email is used only to reply to you. If sending isn't possible, the app offers to send the report by email instead.
Where reports go. Reports are sent over an encrypted (HTTPS) connection to Formspree, a form-handling service that forwards them to the developer's email. Like any web service, Formspree receives your device's IP address when a report is sent; the app doesn't use it, and it isn't included in the report the developer reads. Reports are used only to find and fix problems with shot timers, and are kept only as long as they're useful for that. To have reports from your phone deleted, email the developer (below) with the approximate date, your timer brand, and your phone model, or the reply email you used.
The app contains no analytics, no advertising, no tracking, and no crash-reporting services, and it never sells or shares your data. Its only network activity is:
The app is built with standard platform libraries (Apple's and Google's, plus open-source Bluetooth and media libraries on Android) that run on your device and don't send your data anywhere.
The app is a firearms training tool intended for adults. It does not knowingly collect personal information from anyone under 18, and the only data it sends — timer reports — contains no names or other personal information unless someone chooses to type an email address into a report.
On iPhone, deleting the app removes its data from your device. If you have iCloud sync turned on, your data also remains in your own private iCloud account and will come back automatically the next time you (or another of your devices) install the app while signed into that same iCloud account — this is standard behavior for any app that uses iCloud, and is entirely between you and Apple. To remove your data from iCloud as well, delete it from within the app (or turn off iCloud sync for the app in your device's Settings) before deleting the app itself.
On Android, uninstalling the app, or clearing its storage in your phone's Settings, removes its data from your phone. A copy may remain in your Google account's backup until Android replaces or removes it; you can manage backups in your Google account and phone settings.
If you'd like to keep a copy of everything, use Export All Data in Settings first. To have timer reports deleted, see Timer reports.
If this policy ever changes — for example, if a future version of the app adds a feature that sends data — this page will be updated and the effective date above will change accordingly.
Questions about this policy or the app, or requests to delete timer reports, can be sent to [email protected].