Privacy policy

Dust — CW Morse trainer
Android package dev.dust.morse
Effective date: 4 November 2026

This policy covers the Dust app on Android and iPhone, and the same program on the web at mashu.github.io/dust and on desktop: Linux, Windows and macOS. It describes what the app stores, where, what leaves the device, and who receives it.

The short version

Dust stores your practice on the device you are using. It has no account and no server of its own, and it sends your practice nowhere unless you turn on sync: then it keeps a copy in your own Google Drive, encrypted on the device with a passphrase only you know, which Google cannot read and the developer never receives. The app asks Google for its typefaces, and the web app is served by GitHub. A phone’s own backup, when it is on, copies the app’s data to your Google or iCloud account, as it does for other apps. In a browser, the other sites the developer publishes at mashu.github.io share the storage Dust keeps it in.

Who publishes Dust

Dust is an open-source Morse trainer. The source and this policy are published at github.com/mashu/dust. There is no account system, and the developer does not receive your practice history.

What the app stores on your device

Dust stores the following on the device so practice can continue the next time you open it:

In Contest mode, Dust keeps your callsign and the exchange you send (name, state or province, CQ zone, class, section, power) in its settings on this device. Each contest run keeps only your country, continent and CQ zone, so its score can be worked out again. Both are in any backup you save, and, if you turn on sync, in the encrypted copy in your Google Drive. Dust sends them nowhere else. Clear Your station to remove them. The stations you work are generated by Dust; if one matches a real station, that is chance.

Dust does not use any of it for advertising, and it does not send it to the developer. Where it is kept, and what else may keep a copy, depends on where you run Dust:

Earlier versions of Dust kept the whole history in one place: sessions.json in the folder named above, or dust_sessions in a browser. Updating Dust copies it into the way the history is kept now, and leaves that copy as it was when you updated, so that an earlier version can still open it. Deleting a session afterwards does not take it out of that copy; removing the app’s data, below, does.

Dust has no server to sync through. Sync, below, keeps your devices in step through your own Google Drive, if you turn it on; a backup file, below that, is how to move your history yourself.

Sync with your own Google Drive

Sync keeps your history, your settings and your progress towards the next level the same on each device you turn it on, through a folder of Dust's own in your Google Drive. Everything is encrypted on the device, with a passphrase only you know, before it goes: Google keeps it but cannot read it, and the developer never receives any of it.

Backups. Under Stats, History, you can save a backup file of your settings and history. The web app hands it to the browser as a download; desktop builds and the Android app put it in your Downloads folder; the iPhone app puts it in its own folder in the Files app. The app never sends it anywhere. Restoring a backup reads the file you choose on the device and adds what it holds to the history there.

How that information is used

It is used only to run the trainer: to play sessions at the settings you chose, to score what you typed, to show your history and statistics, and to adjust the level when you have turned that on. It is not used to identify you, and it is not combined with anyone else’s data.

What leaves the device

Dust does not include advertising, analytics, or crash-reporting software. It asks you to sign in only to turn on sync, and then to Google alone.

The app does request its typefaces from Google Fonts (fonts.googleapis.com and fonts.gstatic.com). That request includes your IP address and the ordinary technical data a connection carries, such as the browser or web-view identifier. Your settings and practice history are not included. Google receives that request and handles it under Google’s privacy policy. On Android, iPhone and desktop it is the only request the app makes unless you turn on sync, which reaches Google as described above.

The web app is served by GitHub Pages: the page, the program and its styles are loaded from GitHub each time you open it. That sends GitHub your IP address and the same technical data, as opening any web page does, and GitHub keeps a record of the visit under the GitHub General Privacy Statement. Your settings and practice history are not part of it. Google and GitHub are the only third parties the web app contacts.

Sync is off unless you turn it on, on the History tab of Stats. Then Dust keeps a copy of your settings, your history and your level progress in a folder of its own in your Google Drive, encrypted on the device with a key made from a passphrase only you know: Google keeps the copy but cannot read it, and the developer never receives any of it.

A phone’s own backup, described above, is made by Android or iOS, not by the app, and goes to your own Google or iCloud account. On Android, what sync keeps is in the app’s storage that this backup leaves out.

If you install Dust from Google Play or the App Store, Google or Apple also handles the download and the store listing under its own policies; if you download it from GitHub, GitHub does. That collection is theirs, not a feature of the app.

Microphone, location, and other sensitive data

Dust plays sound through the speaker or headphones. It does not record the microphone. Paddle practice uses the keyboard or on-screen buttons.

Dust does not access your location, contacts, photos, or messages. It reads a file only when you choose one — a word list, or a backup to restore — and writes one only when you save a backup. It does not collect payment information. There are no purchases in the app.

Children

Dust is a general-audience practice tool. It is not directed at children, and it does not knowingly collect personal information from children.

How long it is kept, and how to delete it

The history stays on the device until you remove it: Dust never lets a session go to make room, but for a visit that keeps it in a browser’s small page storage, above. On every platform any session, or all of them, can be deleted under Stats, History, and clearing Your station removes your callsign and exchange. A deleted session leaves the note of when it finished and was deleted, above, and stays in the copy an earlier version kept, if it was there when you updated.

A backup file you saved is yours, and is deleted like any other file. There is no account to delete, because the app never receives a copy.

Sharing and sale

Dust does not sell personal information. It does not share practice history with anyone. The app sends data to no one but Google: the font request described above, and, if you turn on sync, your encrypted copy to your own Google Drive; the web app is loaded from GitHub. Dust does not share data with advertising networks or data brokers.

Changes

If this policy changes, the new version will replace this page and the effective date at the top will change. The app links here from Settings.

Contact

Questions about this policy: open an issue on GitHub.