SkyWave Privacy Policy

Effective: 2026-04-25 App: SkyWave (iOS and Android) Contact: Use the contact form Published at: https://skywaveradio.app/privacy


What this app is

SkyWave is a ham radio band conditions companion. It pulls public space-weather data (geomagnetic Kp index, F10.7 cm solar flux, NOAA Space Weather Prediction Center products) and the public KC2G Maximum Usable Frequency (MUF) map to surface band conditions for HF (high frequency) operators. There is no account, no login, and no user-generated content.

What we collect

SkyWave collects only what the app needs to function and to keep the build stable. Each item below maps to specific code in the app.

1. Approximate location (only if you allow it)

  • What: A coarse position from your device’s location service, used to pick a Maidenhead grid square.
  • Why: To align the KC2G MUF map reading to your region. You can also enter a Maidenhead grid manually and skip location entirely.
  • How it’s used in the app: Region selection only. The grid square is stored locally on your device. We do not transmit your precise coordinates to any backend operated by us.
  • Permission text shown by the OS: “Approximate location is used to pick the nearest KC2G MUF reading for band recommendations.”
  • Retention: Stored locally on your device. Removing the app removes it.

2. App interaction events (Firebase Analytics)

We use Google Firebase Analytics to understand which screens are used and how features perform. Events are not tied to your name, email, or any account identifier (there is no account).

User properties (used for segmentation in aggregate reports):

Property What it records
pro_status Whether you are on the free tier or a paid tier
operating_style Your selected operating mode (e.g. mobile, portable, home)
license_class Your selected license class (e.g. Technician, General, Extra)
has_callsign Whether you entered a call sign during onboarding (true / false)

Events (a non-exhaustive list of the categories logged):

  • App lifecycle: app_open, report_retention_cohort
  • Onboarding flow: onboarding_completed, onboarding_skipped, onboarding_start_free, step_skipped_at
  • Go screen interactions: band_recommendation_viewed, metric_detail_opened, opened_data_from_go, share_card_tapped, share_card_export_completed
  • Saved locations: saved_location_added, saved_location_deleted
  • Permissions: location_permission_granted, location_permission_denied

Event payloads contain only feature context (e.g. which section was tapped). They do not contain your coordinates, your call sign, or any free-text input.

3. IP-derived coarse region (automatic in Firebase)

  • What: When the app sends Analytics or Crashlytics traffic, Google Firebase derives a coarse country/region from the request’s IP address.
  • Why: This is a default behavior of the Firebase SDK so events can be grouped by region in dashboards.
  • How it’s used in the app: Aggregate regional reporting on Google’s side. The app does not store this region or use it for personalization.

4. Crash reports (Firebase Crashlytics)

  • What: When the app crashes, a stack trace, device model, OS version, and a recent breadcrumb log are sent to Firebase Crashlytics.
  • Why: To diagnose and fix crashes.
  • What’s in the breadcrumb log: Short technical messages logged by the app while it was running (e.g. “data_refresh: timeout”). It does not include your call sign, coordinates, or any free-text input.

What we do not do

  • We do not include any advertising SDKs.
  • We do not show ads.
  • We do not sell personal or sensitive user data to third parties.
  • We do not share data with third parties for their independent use. Analytics and crash reports flow only to Google Firebase as our processor.
  • We do not collect or accept user-generated content.
  • We do not require you to create an account.
  • We do not ask for contacts, photos, microphone, camera, calendar, or health data.

Permissions we may request

Permission When it’s asked What happens if you say no
Location (when in use) Only after you tap a control that needs it (e.g. Add Location → “Use my location”) The app falls back to manual Maidenhead grid entry. All core features still work.
Notifications This release does not request notification permission. Not applicable for this release.

Children

The app is not directed at children under 13.

Your choices

  • Stop sharing analytics: Delete the app. Removing the app halts all event collection from your device.
  • Stop sharing approximate location: Revoke the location permission in your device’s system settings, or never grant it. The app remains usable with manual grid entry.
  • Reset your local data: Delete and reinstall the app. All local preferences are removed.

Service providers

The third-party processor used by this release:

Provider Purpose
Google Firebase (Analytics, Crashlytics) Event analytics, crash reporting, IP-derived coarse region
Cloudflare Workers Edge proxy that merges the public NOAA SWPC and KC2G MUF feeds; receives only your Maidenhead grid (not precise coordinates) and the IP-level metadata that any HTTPS request includes

Public space-weather data sources (NOAA Space Weather Prediction Center, KC2G MUF map) are read-only public endpoints; no data about you is sent to them by the app.

Changes to this policy

If we change this policy, the Effective date at the top of the page will change, and the new version will replace the old one at the same URL.

Contact

Questions about this policy: use the contact form.