Last Updated: May 2026 Β· App Version 1.0.1+3
1. Introduction
Welcome to Ham Logging! This Privacy Policy explains how we collect, use, and protect your information when you use our amateur radio QSO logging application. Ham Logging is developed by A46UNX (Unixeerβ’) and is designed for licensed amateur radio operators who need a full-featured, privacy-respecting electronic logbook.
Our Commitment to Privacy:
Ham Logging is built with your privacy in mind. All your QSO data, credentials, and settings are stored locally on your device. Ham Logging has no backend servers of its own β we never collect, transmit, or sell your personal data. Any external service the app talks to (QRZ.com, eQSL, LoTW, ClubLog, APRS, map tile providers, etc.) is used only when you configure it and only to deliver the feature you requested.
2. Information We Collect
2.1 Information Stored Locally on Your Device
Ham Logging stores the following information locally on your device:
- Amateur Radio Callsign: Your default callsign used as my_callsign on QSOs you log
- Grid Locator (Maidenhead): Your station grid square (e.g., LL93eo33) used for map centering, worked-grid tracking, and Gray-Line / propagation predictions
- Email Address (Optional): Used only inside the app for QSL / lookup-share features you initiate
- Default Mode / TX Band / RX Band: Preset values for new QSO entry
- Font Scale, Dark Mode, ITU Region, Tips & Tricks toggle, Collapsible QSO List toggle, Aurora Overlay toggle, Worked Grids toggle: UI preferences
- QSO Log Data: Complete record of each contact you log, including:
- Worked callsign + optional worked-club callsign
- UTC date and time (on / off)
- Band, Mode, Submode, TX/RX frequency, TX/RX band
- RST sent / received, Power
- Your callsign, your grid, station callsign
- Worked station's grid, country, DXCC, CQ Zone, ITU Zone, continent, state, county, name, QTH
- Activity refs β POTA, SOTA, WWFF (yours and theirs), SIG info
- Propagation mode (ADIF spec codes β SAT, EME, AUR, etc.), Satellite name, Satellite mode
- Contest ID, serial sent / received
- Comment, notes, timestamp (ISO 8601 creation time)
- QSL flags (paper, LoTW, eQSL β sent and received)
- Service attribution β which services a QSO was downloaded from or uploaded to
- Per-Service Credentials (Optional): Only stored for services you explicitly enable in the Sync page:
- QRZ.com Logbook (username / API key or password)
- QRZ.com callsign-lookup username / password
- eQSL.cc (username / password)
- LoTW (callsign / web password; uploads still require the official TQSL desktop signing app)
- ClubLog (email / password / callsign)
- HRDLog.net (callsign / upload code)
- HamQTH (username / password)
- CloudLog (station ID / API key / URL)
- Wavelog (station ID / API key / URL)
- Ham365.net (username / password)
- QSO360 (if configured)
- Log4OM Cloud (if configured)
- N1MM Logger+ (target PC IP + send port + listen port for UDP)
- Per-service last-sync / last-upload / last-download timestamps
- APRS Credentials (Optional):
- APRS Callsign: A dedicated field separate from your default QSO callsign β lets you beacon with an APRS-specific SSID (e.g., -9 Mobile, -13 Weather) without polluting your QSO logbook
- aprs.fi API Key: Optional key used only to resolve "heard-by" stations on the APRS map layer
- QRZ Lookup Cache: Results of previous callsign lookups are cached locally (with TTL) so typing the same callsign twice doesn't re-hit the network. Cleared on demand from Settings.
- Rover Mode Disclaimer Flag: A single boolean remembering whether you have acknowledged the distracted-driving safety reminder. Reset by the Settings "Reset All" flow.
2.2 Callsign Lookup (QRZ.com)
When you enter a worked callsign on the QSO entry page (or Rover Mode), Ham Logging can auto-fill identity fields (name, country, grid, CQ/ITU zones, state, county) via the QRZ.com XML API and β for richer data like QSL preferences, LoTW/eQSL status, license class, and profile photo β via authenticated requests to QRZ.com's web interface.
- What is sent: Your QRZ.com username, password or session cookie, and the worked callsign being looked up
- When: Only after you have typed at least 3 characters and paused (600 ms debounce), or when you explicitly tap the Test Lookup button in Settings, or as part of a Sync-page enrichment pass
- Disabled by default: If you don't configure QRZ credentials in Settings, no lookups are performed
- Cached locally: Successful results are cached with TTL so repeat lookups are instant and offline-friendly
2.3 Sync & Upload Services (Optional)
Ham Logging integrates with 21 amateur-radio logging / awards / confirmation services. Nothing is ever uploaded or downloaded automatically β every sync is user-initiated from the Sync page.
Services with live upload / download API integration:
- QRZ.com Logbook (XML API)
- eQSL.cc (ADIF upload + download)
- ClubLog (real-time single-QSO API + download)
- HRDLog.net (ADIF upload)
- HamQTH (ADIF upload)
- CloudLog (ADIF via JSON API β upload + download)
- Wavelog (ADIF via JSON API β upload + download)
- Ham365.net (ADIF upload)
- N1MM Logger+ (UDP contactinfo XML β local-network upload + download)
- LoTW (confirmation download; uploads require the ARRL's official TQSL desktop app)
Services with export-only integration (you export ADIF / CSV from Ham Logging and upload it via the service's own website or desktop tool): QRZ-CQ, QSO360, AwardWatch, POTA, SOTA, WWFF, TCL-QSO, ARRL Contest, Log4OM Cloud, DX Heat, DX Watch.
What is sent during a sync:
- Your credentials for the specific service (via the service's own API endpoint)
- Your QSO records in ADIF 3.1.4 / JSON / CSV / UDP-XML format depending on the service
- Incremental upload only sends QSOs created or modified since the last successful sync
- Upload success is verified by parsing each service's response body, not by assuming HTTP 200 is a success
2.4 APRS Map Layer (Optional)
If you enable "Show My APRS Beacons on Map" in Settings, Ham Logging opens a TCP connection to a public APRS-IS server (rotate.aprs2.net:14580) with a read-only passcode (-1) and a source filter scoped to your APRS callsign. It also optionally queries the aprs.fi REST API every 30 seconds to pull recently-seen positions.
APRS Broadcasting is Public:
Ham Logging does NOT transmit any APRS beacons of its own β your radio (TNC, mobile rig, or hand-held) does the transmitting. Once your rig beacons over RF and an iGate forwards it to the APRS-IS network, your callsign, GPS position, comment, and symbol are public information visible to anyone on the APRS network (aprs.fi, aprsdigi.net, and countless archive sites). Use a dedicated APRS callsign (e.g. SSID -9 or -13) if you want separation between your QSO logbook and your APRS identity.
2.5 Map Tiles
The Map tab and Gray-Line / Propagation tabs load map tiles from public providers:
- OpenStreetMap (
tile.openstreetmap.org) β light-mode basemap
- CartoDB Basemaps (
basemaps.cartocdn.com) β dark-mode basemap
Tile providers see only the tiles you browse (not your callsign or identity). No authentication is used. Tiles are cached by the Flutter flutter_map tile cache on your device.
2.6 Propagation & Spotting Data Sources
The Extra tab (Solar / Conditions / Tropo / Gray Line / Path / Spots) pulls public data:
- HamQSL β solar-indices banner
- NOAA SWPC OVATION β aurora overlay
- PSK Reporter + WSPR (
db1.wspr.live) β path prediction + ionosonde
- DX cluster spotters + POTA API (
api.pota.app) β unified Spots tab
- All sources are public feeds; no user identity is sent
2.7 Voice Phonetic Dictation (Rover Mode)
Rover Mode includes a press-and-hold microphone button for dictating callsigns in NATO phonetics ("alpha four six uniform"). When you hold the button:
- Microphone permission is requested explicitly by the operating system on first use; denying it disables the feature with a friendly snackbar. If you previously denied permission, the snackbar offers an Open Settings button that deep-links to the app's permission screen so you can grant it without hunting through OS Settings.
- Speech recognition permission is also requested on iOS (Apple's
NSSpeechRecognitionUsageDescription). On Android no separate permission exists β the OS gates this on whether a speech recognition service is installed.
- Recognition is performed by your device's built-in speech engine β Apple Siri on iOS, Google Speech on Android. Modern devices recognise on-device when possible; older devices may use the engine's online service.
- On Android devices without a speech recognition service (some Huawei and other AOSP-without-Google-Mobile-Services configurations), voice dictation is unavailable. Ham Logging surfaces a clear "Speech recognition isn't available β install Google Speech Services or use manual callsign entry" message instead of a misleading "permissions" error.
- On managed devices (iOS Screen Time, parental controls, MDM profiles), microphone access may be restricted at a level above the app. In that case the snackbar explains the cause clearly.
- Ham Logging never records, stores, or transmits the audio. Only the recognised text string is read back from the OS, parsed locally against the NATO phonetic table, and inserted into the callsign field.
- Releasing the button stops the engine immediately. The temporary text buffer is cleared after the field is populated.
- The feature is fully optional β Rover Mode also accepts keyboard typing as it always has.
2.8 Information We Do NOT Collect
Ham Logging does NOT collect, transmit, or store:
- β No analytics, telemetry, or crash-reporting SDKs (no Firebase, Sentry, Crashlytics, Mixpanel, etc.)
- β No usage statistics or behavior tracking
- β No advertising identifiers
- β No financial information
- β No device identifiers used for tracking
- β No data shared with third parties for marketing
- β No cloud-sync of your QSO log to Ham Loggingβoperated servers (we run none)
Important: Ham Logging does not include any analytics SDK, advertising framework, or third-party tracking service. Your data never leaves your device unless you explicitly sync with a third-party amateur-radio logging service, export a file, or use the APRS / map / propagation features that query public data sources described above.
3. How We Use Your Information
3.1 Core Functionality
- QSO Logging: Record your amateur radio contacts with full ADIF-compatible field coverage
- Callsign Enrichment: Auto-fill worked-station identity from QRZ.com (only when you've configured QRZ credentials)
- Multi-Service Sync: Upload confirmed QSOs to your preferred award / confirmation services and download confirmations back
- Map Visualization: Plot worked grids, your home grid, and destination locations on an interactive map
- Propagation Planning: Compute path openings, MUF, aurora, Gray-Line terminator, and 24-hour forecast from public solar / ionospheric data
- Spot Monitoring: Display DX, POTA, and Contest spots with band + continent filtering
- APRS Visualization: Show your own APRS beacons on a map, optionally with "heard by" attribution via aprs.fi
- QSL Card Export: Render a themed PNG QSL card per QSO (code-rendered, no bundled artwork)
- Rover Mode: A low-distraction large-target logging screen designed for mobile operating
3.2 Data Export and Import
You can fully export and re-import your QSO log in the following formats:
- ADIF 3.1.4 β Export, Import (round-trip safe across all 26+ fields)
- CSV β Export, Import (column set matches ADIF field coverage)
- JSON β Export, Import (native / full-fidelity backup format)
- Image (PNG) β Per-QSO QSL card, statistics panel, lookup results
These options are user-initiated and under your complete control. A single "Share Backup" action produces CSV + JSON + ADIF in one share sheet for full archival.
4. Third-Party Services
4.1 QRZ.com (Callsign Lookup + Logbook)
If you configure QRZ credentials in Settings, Ham Logging queries the QRZ XML API and (for richer profile data) authenticates to the QRZ.com web interface. Information sent:
- Your QRZ username and password (or session cookie) β stored locally on your device
- The worked callsign you are looking up
- A desktop User-Agent header to retrieve the full QRZ detail page
Results are cached locally so subsequent lookups of the same callsign don't re-hit QRZ. You can clear the cache from Settings at any time.
4.2 Amateur Radio Logging & Confirmation Services
Ham Logging can sync with the services listed in Section 2.3. Each service has its own privacy policy β Ham Logging's only role is to authenticate on your behalf and transmit the QSO records you choose to upload. Credentials are stored locally and only used for the specific service they belong to.
4.3 APRS-IS and aprs.fi
When APRS is enabled (Section 2.4), Ham Logging connects to public APRS-IS infrastructure (rotate.aprs2.net:14580) with a read-only passcode (-1). Your APRS callsign is used as the login identity. The optional aprs.fi API key enables the "heard-by" feature via the aprs.fi REST API.
See the aprs.fi privacy notice for their data handling.
4.4 Map Tile Providers
OpenStreetMap and CartoDB tile providers deliver map imagery. No authentication or personal data is sent β only the tile coordinates your map is currently viewing.
4.5 Public Propagation Feeds
HamQSL (solar indices), NOAA SWPC (aurora / space weather), PSK Reporter + WSPR Live (path prediction), POTA spot API, DX cluster spotters β all public, no user identity transmitted.
5. Location Services
5.1 When Location Is Used
Ham Logging does NOT continuously access device location. Your grid square is set manually in Settings as a Maidenhead locator. Location permissions are only requested if you tap the map's "Use my current location" action (where available). Propagation and map features operate on the Maidenhead grid you have entered, not on live GPS.
5.2 Revoking Location Access
- Android: Settings β Apps β Ham Logging β Permissions β Location
- iOS: Settings β Ham Logging β Location
The app remains fully functional with location permission denied β simply enter your grid square manually.
6. Data Storage and Security
6.1 Local Storage
- App-specific secure storage directory (Documents) on iOS and Android
- QSO log file:
qso_log.json β human-readable JSON, easy to back up / inspect
- Settings: Platform-native SharedPreferences / NSUserDefaults / registry
6.2 Data Security
- Credentials for third-party services are stored using the secure storage provided by your device OS
- No encryption keys or sensitive data are transmitted to Ham Logging servers (we operate none)
- Your data is protected by your device's security features (PIN, fingerprint, Face ID, etc.)
- Network security: Android
network_security_config.xml denies cleartext traffic except a narrowly scoped exception for db1.wspr.live; iOS Info.plist mirrors that
6.3 Backup and Sync
Ham Logging does NOT automatically back up or sync your data to any cloud service. To back up your data:
- Use the Sync page's "Share Backup" action to export CSV + JSON + ADIF in a single share sheet
- Your device's own backup system (iCloud, Google Drive) may include the app's local file if backups are enabled β but Ham Logging itself uploads nothing
- Sync individually to the external services you trust (eQSL, ClubLog, LoTW, QRZ Logbook, etc.) for cloud-side redundancy
7. Permissions Required
| Permission |
Platform |
Purpose |
| Internet |
All |
QRZ lookup, Sync services, APRS-IS, map tiles, propagation feeds |
| Location (Optional) |
Mobile |
Used only if you tap "Use my current location" on the map |
| Storage / Files |
All |
Save / load QSO log, export ADIF / CSV / JSON, import backups, save QSL PNGs |
| Photo Library Add |
iOS |
Save QSL card PNGs + shared images to Photos |
| Local Network |
iOS |
N1MM Logger+ UDP bridge on your LAN (only if configured) |
| Ignore Battery Optimization (Optional) |
Android |
Contest-mode background uptime β user-initiated; never requested at launch |
| Microphone (Optional) |
All |
Rover Mode press-and-hold voice phonetics. Audio is parsed locally by the OS speech engine; no audio is recorded, stored, or sent to any server. Only the resulting callsign text is kept. |
| Speech Recognition (Optional) |
iOS |
Same Rover Mode feature as above. Apple's on-device or cloud Siri engine handles the recognition; we never see the audio, only the recognised text. |
8. Children's Privacy
Ham Logging is designed for amateur radio operators who hold valid amateur radio licenses. In most countries, obtaining a license requires passing an examination and meeting age requirements set by national telecommunications authorities. We do not knowingly collect information from children under 13 (or the equivalent minimum age in your jurisdiction) without appropriate consent. If you are a parent or guardian and believe your child has provided information to Ham Logging, please contact us.
9. Your Rights and Choices
9.1 Access Your Data
- View your complete QSO log at any time from the QSO Logs tab
- Export in ADIF / CSV / JSON at any time β you always have a portable copy
- Review all stored settings and credentials on the Settings page
9.2 Modify Your Data
- Edit any QSO entry individually
- Bulk re-enrich missing fields via the Sync page "Re-enrich Missing Fields" action (QRZ batch)
- Update your callsign, grid, APRS callsign, aprs.fi key, and any service credential at any time
9.3 Delete Your Data
- Partial deletion: Delete individual QSOs from the QSO Logs page
- Clear the log: Use the "Clear List" action in the QSO Logs menu (themed confirmation dialog)
- Reset settings: Settings page β Reset All App Settings β restores your app preferences (callsign, grid, default mode / band, theme, ITU region, font size, display toggles, and the Rover Mode disclaimer flag) to their defaults. Your service credentials and your QSO log are preserved
- Delete credentials: Settings page β Delete All Account Data (type DELETE to confirm) β removes all stored service logins, passwords, API keys and upload codes, your QRZ lookup login, your APRS callsign and aprs.fi key, and per-service sync history. Your app settings and your QSO log are preserved
- Complete deletion: Uninstall Ham Logging β all locally stored data is removed by the OS
- Remove from external services: Each external service (eQSL, LoTW, ClubLog, QRZ, etc.) has its own deletion process β Ham Logging can upload / download but cannot delete records on their servers
10. International Users
Ham Logging is available worldwide and is used by licensed amateur radio operators in many countries. Your data is processed locally on your device regardless of your location. When you sync with external services, their jurisdiction and data-handling practices apply β please review each service's privacy policy before enabling it.
11. Changes to This Privacy Policy
We may update this Privacy Policy from time to time to reflect changes in our practices or for legal / regulatory / operational reasons.
- The "Last Updated" date at the top of this policy will be revised
- Significant changes will be communicated through the app or on our website
- Continued use of Ham Logging after changes constitutes acceptance of the updated policy
We encourage you to review this Privacy Policy periodically.
12. Data Retention
- QSO Logs: Retained indefinitely on-device until you delete them manually
- Settings: Retained until you change them, hit Reset All App Settings, or uninstall
- Credentials: Retained until you change them, use Delete All Account Data, or uninstall
- QRZ Lookup Cache: Retained per configured TTL or until you clear it from Settings
- APRS Session Data: Retained in memory only while APRS is enabled β disposed when you toggle off or leave the map / change APRS callsign
- Per-service Last-Sync Timestamps: Retained until you use Delete All Account Data, Clear List, or uninstall
All on-device data is permanently deleted when you uninstall Ham Logging.
13. Compliance and Jurisdiction
Ham Logging is developed in Oman and is intended for use by licensed amateur radio operators worldwide. We strive to comply with applicable data-protection laws including:
- GDPR (European Union)
- CCPA (California, USA)
- Other applicable regional data-protection regulations
If you have specific questions about compliance in your jurisdiction, please contact us.