Dryfire
Privacy

Dry Fire Practice privacy policy.

Local training data. Optional analytics. Clear controls.

Last updated:

About this policy

Dry Fire Practice is an iPhone app by Morten Teinum. This policy describes the app and this website. Contact morten@teinum.no with privacy questions.

The app works without an account. Your training log is stored locally. In-app ads, optional analytics and app-install advertising measurement are described separately below. Features depend on your installed app version; older versions may not include all the services described here.

Your training data

The app stores sessions, repetition counts and timings, session ratings, streaks and progress summaries, safety acknowledgement, preferences, consent choices and click detection profiles on your device.

It does not provide a server account or sync your training log to an app server. If you allow analytics, limited usage events may include your chosen discipline and drill, target repetition count, completion status, input mode and grouped session duration or repetition counts. This is described below; it is separate from storing your full training log.

Optional analytics and ad measurement

Off until you choose to allow it. The app asks for analytics consent during setup. If you allow it, the app enables TelemetryDeck for product analytics and Meta App Events to measure app usage and app-install advertising.

Events can include onboarding steps, session starts and completions, settings changes, paywall views and purchase outcomes. They may include app and device information, drill and discipline identifiers, target repetition counts, grouped duration and repetition counts, and whether counting was manual or detected. The app does not add your name, email address, audio recordings or full session log to these events.

Apple’s tracking permission is a separate choice. After app analytics consent, the app requests tracking permission if iOS has not already recorded your choice, then configures Meta. The app enables Meta’s collection of the device advertising ID only when Apple’s tracking permission is authorised. Meta app-event measurement can still operate without that ID when app analytics consent is enabled.

TelemetryDeck and Meta process event data under their own policies. Read TelemetryDeck’s privacy policy and Meta’s privacy policy for their data handling, retention and international processing.

Turn off Analytics and ad measurement in Profile (called Anonymous analytics in older versions) to stop new app analytics signals and disable Meta automatic app-event logging and advertising-ID collection configured by the app. You can also manage Apple’s permission in iOS Settings → Privacy & Security → Tracking. Apple explains these tracking controls. Turning consent off does not erase events already sent.

Ads in the free version

The free version can show Google AdMob banner ads on the main tabs. Ads are not shown during training, onboarding or session rating. Dryfire Pro removes these ads. The app checks your Pro purchase before requesting ads.

Google’s User Messaging Platform collects ad privacy choices where required before ads are requested. When available, use Ad privacy options in Profile to review or change your choices, including withdrawing consent. This is separate from the optional analytics and Meta measurement switch above. Turning off analytics does not turn off ads or change your ad consent.

The app requests non-personalised ads and disables Google’s publisher first-party ID. Non-personalised ads still involve data processing: Google may process IP addresses (including approximate location), device identifiers, ad impressions and interactions, crash logs and performance information for advertising, measurement and fraud prevention. Device storage or identifiers may still be used to limit how often you see an ad and measure ad delivery, subject to applicable consent and platform permissions.

The app does not send training logs, click profiles or microphone audio to AdMob. Google and its advertising partners may process ad-related data under their own policies, including their retention and international processing practices. Read Google’s privacy policy, how Google uses information for advertising and Google Mobile Ads data disclosures.

Microphone and calibration

Optional Pro click detection needs your microphone permission. Audio is analysed on your device during detection and calibration. Calibration can temporarily hold local audio for waveform analysis; the app does not upload audio or use it for advertising or analytics.

Saved click profiles contain detection settings and acoustic features, rather than a cloud audio library. You can practise manually without microphone access and change microphone permission in iOS Settings. The app does not request camera or iOS location access, score targets or connect to external training hardware. Ad services may infer approximate location from your IP address as described above.

Reminders

If you enable reminders, iOS asks for notification permission. The app schedules a local daily reminder on your device. Manage reminders in Profile or notification permissions in iOS Settings.

App Store purchases

Dryfire Pro is a one-time in-app purchase processed by Apple. The app checks StoreKit entitlements to unlock Pro and restore purchases. It does not receive your payment-card details. Purchase-related usage events can be sent when you have allowed analytics.

Apple handles App Store transactions under Apple’s privacy policy.

This website and support email

These Dry Fire Practice pages contain no analytics scripts, advertising pixels or tracking cookies. The dedicated website at dryfire.teinum.no serves its own images and styles. This older teinum.no page also loads a stylesheet and fonts from Google Fonts; Google’s privacy policy applies to those requests. Hosting may generate standard access and security logs, including IP addresses, requested pages and browser information.

App Store links include campaign parameters so Apple can attribute visits to the campaign. Clicking an external link takes you to that provider’s service and privacy policy.

If you email support, your email address and the information you choose to share are used to respond to your request. Avoid sending passwords, payment details or unnecessary personal information.

Backups, deletion and your choices

Deleting the app removes its local app data according to normal iOS behaviour. Device backups may include app data depending on your Apple settings, and restoring a backup may restore it. Removing the app does not delete purchases held by Apple or analytics events already sent.

You can decline optional analytics, turn it off later, manage iOS permissions and use manual practice. For access, correction, deletion or other privacy requests about data handled by Morten Teinum, email morten@teinum.no. Some data may be held by Apple, Google, TelemetryDeck or Meta under their own policies; locally stored training data is not accessible to us through a server account.

Changes to this policy

This page will be updated when the app’s data practices change, with a revised date. Screenshots on the website may preview a newer app version; the features available on your device depend on the version you have installed.