Range Stats
Privacy policy v2.2.1
Effective Date: June 10, 2026
Last Updated: August 12, 2026
Range Stats ("the App") is developed and published by Fourteener Labs, LLC ("we," "us," or "our"). We are committed to protecting your privacy. This policy explains what data the App collects, how it is stored, and your choices regarding that data.
1. Data Storage
By default, all data you enter into Range Stats is stored locally on your device using Apple's SwiftData framework. This includes your firearms collection, range trip logs, ammunition records, maintenance logs, accessories, target sessions, training courses, certifications (including CCW/CHL permits), range reviews, dealer/transfer records, and photos.
No data is transmitted to Fourteener Labs servers. We do not operate any servers that receive, process, or store your personal data.
Range Stats does not sync your data to iCloud or any other cloud service. All data remains on the device where it was entered. To move data between devices, use the App's built-in Export / Backup features.
2. Data We Collect
Range Stats does not collect, transmit, or share any personal data with Fourteener Labs or any third parties. Specifically:
- No account required. You do not need to create an account, provide an email address, or sign in to use the App.
- No analytics or tracking. We do not use any analytics SDKs or tracking frameworks. Crash diagnostics are handled on-device via Apple's MetricKit framework (see Section 10).
- No advertising. The App contains no ads and no advertising SDKs.
- No data sharing. Your data is never sold, shared, or transmitted to third parties by Fourteener Labs, except as described in Section 3 (AI Coaching) and Section 11 (Crash Reporting).
3. AI Coaching Feature
Range Stats includes an optional AI coaching feature. You choose the AI provider it uses in Settings > AI Coaching: Google Gemini (default), Anthropic Claude, OpenAI, a custom OpenAI-compatible endpoint you configure, or Apple's on-device model (Apple Intelligence). Before any data is sent to a cloud provider for the first time, the App presents a consent prompt naming that specific provider. You must explicitly agree before any data is transmitted, and consent is requested separately for each provider you switch to.
When you use this feature with a cloud provider:
- Target session data (shot counts, accuracy scores, group measurements, and caliber/distance information) and an annotated target photo are sent to the provider you selected — and only that provider — to generate coaching feedback.
- This data is transmitted directly from your device to the selected provider's servers. It does not pass through Fourteener Labs servers.
- API keys you provide are stored securely in your device's Keychain and are never transmitted to Fourteener Labs. The App does not ship with any embedded API keys.
- Each provider's use of this data is governed by its own terms: Google Gemini API Terms, Anthropic's Terms, or OpenAI's Policies. If you configure a custom endpoint, the operator of that endpoint receives the data under whatever terms apply to it.
- If you select Apple On-Device, coaching runs entirely on your iPhone via Apple Intelligence: no API key is needed, no consent prompt is shown, and no target data or photos leave your device.
- This feature is entirely optional. If you do not use AI coaching, no data is sent to any AI provider. You may decline the consent prompt at any time and cloud coaching will remain unavailable until you agree.
4. Location Data
The App includes a range finder feature that uses your device's location services to display nearby shooting ranges on a map within a user-configurable search radius. Your location is used in real time only and is never recorded, stored, or transmitted by the App. You may also enter range locations manually without granting location access.
Location permissions can be revoked at any time in your device's Settings > Privacy & Security > Location Services.
5. Photos & Camera
You may attach photos to firearms, range trips, target sessions, training course certificates, and certification/permit documents within the App. When photos are imported or captured via the camera:
- Photo metadata is stripped at import. GPS coordinates and all other embedded photo metadata — including EXIF, TIFF, and IPTC data such as timestamps, camera make/model/serial information, and vendor-specific data — are removed from the image before it is saved to the App. This means your shooting location and camera details are not retained in stored photos even if your camera captured them. Image orientation is preserved.
- Photos are stored locally on your device.
- Automatic bullet-hole detection on target photos (including the neural detection model) runs entirely on your device — target photos are never uploaded for detection.
- Photos are never transmitted to Fourteener Labs or any third party, except when used with the optional AI coaching feature as described in Section 3.
Camera and photo library access can be managed in your device's Settings > Privacy & Security.
6. Home Screen Widgets
Range Stats offers optional Home Screen and Lock Screen widgets. Widgets display a small summary (round counts, cleaning status, accuracy trends, ammo counts, renewal countdowns, and your latest target) generated by the App and stored in the App's own protected app-group container on your device. Widget data is never transmitted off your device and is not accessible to other apps. An optional "Discreet Widgets" setting replaces firearm names with generic labels and hides dollar values in all widgets. Widget data is removed when the App is deleted.
7. Notifications
Range Stats may request permission to send local notifications for maintenance reminders and certification/permit expiration alerts. These notifications are generated entirely on your device. No notification data is sent to any server. You can manage notification permissions in your device's Settings > Notifications.
8. In-App Purchases
Range Stats offers a one-time in-app purchase ("Range Stats Pro") processed entirely through Apple's App Store. Fourteener Labs does not receive, process, or store any payment information. All purchase and billing data is handled by Apple under Apple's Privacy Policy.
9. App Lock (Face ID / Touch ID)
You may optionally protect the App with a biometric lock (Face ID, Touch ID, or your device passcode) in Settings. When enabled:
- Authentication is performed entirely on your device by Apple's LocalAuthentication framework. The App never sees, stores, or transmits your biometric data — it only receives a pass/fail result from iOS.
- Disabling the app lock requires confirming your identity first, so someone briefly holding your unlocked phone cannot switch the protection off.
- A "Lock Now" option lets you immediately re-lock the App at any time.
Separately, and regardless of whether App Lock is enabled, the most sensitive firearm record fields — serial numbers and Form 4473 / acquisition details (dealer name, phone, and address, and transfer notes) — are encrypted at rest on your device using AES-256-GCM. The encryption key is held securely in your device's Keychain and is never transmitted to Fourteener Labs or any third party, adding a layer of protection beyond the file-level encryption iOS applies to all app data. This applies to records created or edited in version 2.2 and later.
10. Data Export & Sharing
You may export your data as CSV, JSON, or PDF files from within the App. You may also generate Insurance Documentation Reports (per-firearm cards or full collection reports) and shareable firearm cards using the built-in export features. When you export or share:
- All export files are generated on your device.
- Export files are written with iOS file protection enabled and are automatically deleted from temporary storage after the share sheet is dismissed.
- Files are shared using iOS's standard share sheet — we do not receive copies of exported or shared data.
- Serial numbers, dealer information, and range GPS coordinates are excluded from exports by default. You may opt in to include them in Settings > Export Options.
- When an export will contain sensitive data (serial numbers, dealer contact details, or range coordinates), the App displays a warning before the export is created reminding you that the file is not encrypted and should be shared carefully.
- Backup files may optionally be encrypted with a user-supplied passphrase before export.
11. Crash Reporting
Range Stats uses Apple's MetricKit framework for on-device crash detection. This is a privacy-preserving approach with no third-party SDKs involved:
- On-device only. Crash diagnostic data is processed on your device by Apple's MetricKit framework. No crash data is automatically transmitted to Fourteener Labs.
- Xcode Organizer. Apple may make anonymized crash reports available to us via Xcode Organizer as part of your device's standard diagnostics sharing with developers, which you control in Settings > Privacy & Security > Analytics & Improvements.
- Optional user-initiated reports. If the App detects a crash from the previous session, it may present an optional prompt asking if you'd like to email a crash report to our support team. This is entirely voluntary. If you tap "Send Report," a diagnostic summary (containing device model, iOS version, app version, and crash stack trace — no personal data or firearm information) is opened in your Mail app for you to review and send. If you decline, no data is sent.
12. Data Deletion
You can delete individual records (firearms, trips, accessories, maintenance logs, target sessions, training courses, certifications, range reviews, photos) from within the App at any time. To delete all data, use the "Delete All Data" option in Settings or simply delete the App from your device. Since no data is stored on Fourteener Labs servers, deletion is immediate and permanent.
13. Children's Privacy
Range Stats is not directed at children under the age of 13. We do not knowingly collect any data from children.
14. Changes to This Policy
We may update this Privacy Policy from time to time. The "Last Updated" date at the top of this page reflects the most recent revision. Continued use of the App after changes constitutes acceptance of the updated policy.
15. Contact Us
If you have questions about this Privacy Policy, contact us at: