Privacy Policy
Effective date: September 11, 2026 (previous version: August 29, 2026)
Another Morse Trainer (“the app”) is a Morse code learning app. The short version: the app has no accounts, ads, or analytics, and sends nothing about you anywhere unless you switch on the optional shared leaderboard. If you do, it sends the run you just finished and a display name you chose, and nothing else; the section below says exactly what and how to delete it.
Information the app stores
The app stores the following only on your device, in the app’s private storage:
- Your settings (code speed, Farnsworth spacing, sidetone pitch, haptics, reminder time, voice-answer preference).
- Your practice progress (daily streak, session history, and per-character recognition times).
This information never leaves your device, is not sent to the developer or any third party, and is deleted when you uninstall the app.
Microphone
The app requests microphone access for three optional features, all off until you use them:
- Voice answers, which let you speak your answer instead of tapping it. Your speech is transcribed using your device’s built-in speech recognition (for example, Apple’s on iOS or Google’s on Android), which may process the audio to convert it to text.
- CW Decoder, which listens to received Morse (from a radio speaker, for instance) and decodes it to text. This runs entirely on your device; the audio is analyzed in memory and is not sent anywhere.
- Sending Analyzer, when you choose the microphone as its input: it listens for the tone of a key, keyer or radio you are sending on and times each key-down and key-up. This also runs entirely on your device; the audio is analyzed in memory and is not sent anywhere. Only the timing results are kept, on your device.
The app itself does not record, save, or transmit any audio. The microphone is used only while you are actively using one of these features.
Bluetooth
The app uses Bluetooth for one purpose: finding and connecting a wireless Morse key (a BLE MIDI key, or a Vail Adapter) so you can key into the app. It is used only while you are connecting or using such a key, and nothing is transmitted anywhere.
The app does not use Bluetooth to determine your location, and does not scan for or collect information about nearby devices other than Morse keys. On Android 11 and older the system itself required the location permission before any app could scan for Bluetooth LE devices at all; that is why it appears in the permission list, it is limited to those older versions, and the scan is flagged to the system as never being used for location. On Android 12 and newer no location permission is involved.
Network features
Training, progress and settings all work offline. Two optional features connect to the internet when you choose to use them:
- Repeater, which connects to the third-party Vail CW network so you can send and receive live Morse with other operators. What you key on a channel is sent to others on that channel, along with the channel name you choose. Vail is operated independently of this app and has its own terms; no account and no personal information is required to use it.
- Today’s news in Short Stories, which fetches public RSS headlines to send as copy practice. This is an ordinary request to the news source for its public feed; no information about you is included.
Neither feature sends your settings, progress, or any personal data.
Shared leaderboard (optional, off by default)
Settings › Leaderboard & Buddy has a switch, Share scores to the shared leaderboard. It is off when you install the app and nothing in this section happens until you turn it on. The leaderboard is run by the developer on Cloudflare’s Workers and D1 services.
When it is on, each time you finish a run in a ranked mode (Rapid Fire, Contest, Pileup Runner, and the arcade games in hear-it mode) the app sends:
- A display name you chose (two to twelve characters; a callsign is typical). It is shown publicly on the leaderboard next to your scores. Do not use a name you would not want public.
- The run’s transcript: what the app sent in Morse, what you answered, how quickly, and the speed, so the server can grade the run itself. Transcripts are kept for thirty days and then deleted; your best score per mode, the platform (iPhone or Android) and the date are kept while it is on the board.
- A device attestation. On iPhone, iPad and Mac the app uses Apple’s App Attest, which proves to the server that the request comes from the genuine app on a real device; on Android it uses Google’s Play Integrity for the same purpose. Each produces a token the server verifies with Apple or Google. The server keeps the resulting per-install key identifier (iOS) or a hash of a random per-install identifier (Android) as your entry’s identity. This identifier is not linked to your Apple ID, Google account, name, email or any other account, and the app never has those.
Nothing else is sent: not your settings, your practice history, your location, contacts, or anything about other apps. The leaderboard is public and shows only display names, scores, platform and date. Browsing it sends no information about you.
Buddy streak. If you pair with another user (Settings › Leaderboard & Buddy › Buddy streak, by exchanging a short invite code), the same server also stores the pairing, your display name, and one yes/no per day recording whether you practiced, kept for up to 400 days. Your buddy sees your display name and whether you practiced each day; no one else does. Pairing uses the same device attestation as the leaderboard and is off until you invite or join.
Deleting your data: Settings › Leaderboard & Buddy › Delete my scores removes everything the server holds for this device, including the identifier and any buddy pairing and practice days, at once. Turning the switch off stops any further sending. You can also email the address below and the developer will remove an entry for you. Scores may be removed by the developer if they were not produced by genuinely playing.
Notifications
If you enable the daily practice reminder, the app schedules a local notification on your device. No notification data is sent anywhere.
Children
The app is suitable for all ages and does not knowingly collect any personal information from anyone, including children.
Third parties
The app contains no advertising, no analytics, and no third-party tracking SDKs. The Android app includes Google’s Play Integrity library, used only to produce the attestation described above and only when the leaderboard is on; the iOS app uses Apple’s built-in App Attest for the same purpose. The leaderboard server runs on Cloudflare, which processes the requests as the developer’s hosting provider.
Changes
If this policy changes, the updated version will be posted on this page with a new effective date.
Contact
Questions about this policy: jus.k.rog@gmail.com