Legal draft · 2026-08-27
WSPR Scout Privacy Policy
This policy is for the WSPR Scout Android application (application ID com.coupletic.wsprscout, version 1.0.0). It is based on the application source. It is not in force until owner and legal review is complete.
Publisher named in this draft: Coupletic. Privacy contact in this draft: privacy@coupletic.com.
Who this policy covers
WSPR Scout is an Android utility that lets you browse public WSPR receiving reports. The publisher is Coupletic. The application ID is com.coupletic.wsprscout.
What this app does not do
WSPR Scout does not create its own user accounts. No login, sign-in, or AccountManager usage in app source. Google Play Billing uses the user's existing Play account for a yearly ad-removal subscription (product id premium_yearly). There is no in-app cloud profile, password, or WSPR Scout login. Because there is no app account, this site does not offer an account-deletion form.
Callsigns and Maidenhead grid locators
You can type callsigns and Maidenhead locators to search. Settings can store transmit and receive callsigns and a "my grid" string. Those values are not anonymous. They identify amateur-radio stations and locations at Maidenhead resolution.
Search values are placed in a ClickHouse SQL query and sent to db1.wspr.live so the server can return matching public spots. Saved searches and recent callsigns stay in SharedPreferences on the device.
Public spots returned by the server include other operators' callsigns, grids, and related fields. Those reports were already published by the WSPR community. The app displays them and can cache them locally. Opening QRZ.com from a spot is a user-initiated browser visit to qrz.com.
Location
The app declares ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION. The verified use is the Get My Grid Square action in Settings. That action uses Google Play services Fused Location to read a current fix, converts it to a Maidenhead locator on the device, writes the grid string into settings, and shows a toast. Source does not store the raw latitude and longitude from that fix.
Location is not required to search spots. The derived grid is used for map display. Queries to db1.wspr.live send callsigns, grids you typed as search terms, bands, time window, and numeric filters. They do not send a GPS coordinate pair from the fused location API.
Google Maps SDK still receives map activity while the Map tab is used. That is separate from the optional grid-from-GPS action.
Public WSPR spot data
Spot rows include time, band, transmitter and receiver callsigns, latitudes, longitudes, locators, distance, azimuth, frequency, power, SNR, drift, software version, and related fields. The app requests them over HTTPS GET with a query parameter. The User-Agent is WSPRScout/1.0. Responses can be stored in a local Room database keyed by a hash of the query, kept fresh for about two minutes, and pruned after about seven days. Stale rows can be shown if the network fails or a 20-request-per-minute client limit is hit.
wspr.live and wsprnet.org are third parties. They have their own terms. This policy does not control their logs. Ordinary web server logs on those hosts may include your IP address. That is not visible in the Android repository.
Google services
Google Maps is used on the Map tab. A Maps API key is injected at build time from a local .env file that is not in git.
Google AdMob is initialized at app start. A banner is shown under the search bar unless Play Billing reports the yearly premium subscription (product id premium_yearly). AdMob can collect device and advertising identifiers and use them for ads. The default banner unit in Gradle is Google's sample test unit when a production unit is not set.
Google Play Billing is used only to query and acknowledge that subscription. Purchase records live with Google Play, not in a WSPR Scout account system.
Firebase Analytics is declared in Gradle and the Google Services plugin is applied. google-services.json is gitignored. A copy exists on the local Android build machine, which means production or debug builds that include that file can run Analytics auto-collection even though application source does not call FirebaseAnalytics.logEvent. Treat Analytics as active in those builds until the operator confirms a collection-off configuration.
Operator must confirm whether production builds include google-services.json, a production AdMob app id, and a production banner unit, and must complete Play Console Data Safety to match those facts.
Local storage
On-device stores include SharedPreferences for settings (wspr_scout_settings), saved searches (wspr_saved_searches), and recent callsigns (wspr_recent_callsigns). Room stores cached spots. Theme preference is part of settings. TSV exports are written to the app cache and shared through FileProvider. Android backup rules in the project are still template stubs, so platform backup behavior should be treated as the system default until those files are customized.
You can clear app storage in Android settings. Uninstalling removes local app data. There is no remote WSPR Scout profile to delete.
Diagnostics, advertising identifiers, and children
Source does not implement a first-party crash reporter. AdMob and Play services may collect diagnostics and advertising identifiers as part of those SDKs. The app is made for amateur radio operators. It is not directed at children under 13. Do not use it to collect information from children.
Retention
Local spot cache is pruned after about seven days. Settings and saved searches remain until you change them, clear storage, or uninstall. Third-party retention (wspr.live, Google, QRZ) follows those services.
Security
Queries use HTTPS to db1.wspr.live. Callsign and grid inputs are sanitized before they are placed in SQL. That reduces injection risk. It is not a promise that transmission or third-party systems cannot fail. No system is perfectly secure.
Policy changes
When this policy becomes in force, the date at the top will change. Material changes should be reflected in the Play listing and in the in-app About or settings link.
Contact
Privacy questions: privacy@coupletic.com. Support: support@coupletic.com. See also the support page.