From 442d1d1bdc76eb76bd5b9858bae3cc0b93df22cd Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Thu, 9 Apr 2026 09:54:41 -0500 Subject: [PATCH] Add /privacy page with shared footer across non-map pages New PrivacyLive page explains that collected/submitted data is used only for propagation research and will never be sold, traded, or disclosed. Layouts.app now renders a small footer with the NTMS attribution and a Privacy link on every page that uses it, so the full-screen map pages are untouched. The duplicate NTMS credit on the About page is removed since it now lives in the shared footer. --- lib/microwaveprop_web/components/layouts.ex | 14 ++++ lib/microwaveprop_web/live/about_live.ex | 5 -- lib/microwaveprop_web/live/privacy_live.ex | 91 +++++++++++++++++++++ lib/microwaveprop_web/router.ex | 1 + 4 files changed, 106 insertions(+), 5 deletions(-) create mode 100644 lib/microwaveprop_web/live/privacy_live.ex diff --git a/lib/microwaveprop_web/components/layouts.ex b/lib/microwaveprop_web/components/layouts.ex index 4bbeae70..820f4bd9 100644 --- a/lib/microwaveprop_web/components/layouts.ex +++ b/lib/microwaveprop_web/components/layouts.ex @@ -79,6 +79,20 @@ defmodule MicrowavepropWeb.Layouts do + + <.flash_group flash={@flash} /> """ end diff --git a/lib/microwaveprop_web/live/about_live.ex b/lib/microwaveprop_web/live/about_live.ex index 71aa6a60..2609c791 100644 --- a/lib/microwaveprop_web/live/about_live.ex +++ b/lib/microwaveprop_web/live/about_live.ex @@ -156,11 +156,6 @@ defmodule MicrowavepropWeb.AboutLive do -

- Built by and for the - North Texas Microwave Society - . -

""" diff --git a/lib/microwaveprop_web/live/privacy_live.ex b/lib/microwaveprop_web/live/privacy_live.ex new file mode 100644 index 00000000..bfc87b89 --- /dev/null +++ b/lib/microwaveprop_web/live/privacy_live.ex @@ -0,0 +1,91 @@ +defmodule MicrowavepropWeb.PrivacyLive do + @moduledoc false + use MicrowavepropWeb, :live_view + + @impl true + def mount(_params, _session, socket) do + {:ok, assign(socket, :page_title, "Privacy")} + end + + @impl true + def render(assigns) do + ~H""" + + <.header> + Privacy + <:subtitle>What we collect, and what we promise to do with it. + + +
+

+ NTMS Propagation Prediction is an amateur-radio research project run by + and for the North Texas Microwave Society. Any information we collect or + that you submit is used exclusively to study microwave propagation and + improve the prediction model on this site. +

+ +
+

We will never

+
    +
  • Sell your information.
  • +
  • Trade or barter it to third parties.
  • +
  • + Disclose it to anyone outside the project, except where required by law. +
  • +
+
+ +
+

What we collect

+
    +
  • + Account information — when you register, we store + your callsign, email address, and a hashed password. Email is only + used for account confirmation and password resets. +
  • +
  • + Submitted data — beacon listings, QSOs, and beacon + monitor reports you voluntarily submit. These are published back to + other amateurs as part of the project. +
  • +
  • + Approximate location — our CDN (Cloudflare) provides + a rough latitude/longitude derived from your IP so the map can open + centered near you. It is not stored with your account or any + submission. +
  • +
  • + Basic request logs — standard web server logs + (timestamp, path, status, user agent) retained for a short period + for debugging and abuse prevention. +
  • +
+
+ +
+

How it's used

+

+ Everything feeds one goal: calibrating and improving propagation + predictions for the amateur microwave bands. Aggregate or anonymized + results may appear in publications, talks, or on this site, but + individual personal details (email, password, IP) will never be + published. +

+
+ +
+

Questions or removal requests

+

+ If you'd like your account deleted or your submissions removed, + contact the + + North Texas Microwave Society + + and we'll take care of it. +

+
+
+
+ """ + end +end diff --git a/lib/microwaveprop_web/router.ex b/lib/microwaveprop_web/router.ex index 858beedd..ac0e7b29 100644 --- a/lib/microwaveprop_web/router.ex +++ b/lib/microwaveprop_web/router.ex @@ -76,6 +76,7 @@ defmodule MicrowavepropWeb.Router do live "/rover", RoverLive live "/algo", AlgoLive live "/about", AboutLive + live "/privacy", PrivacyLive # Beacons: public read + submit (pending admin approval) live "/beacons", BeaconLive.Index, :index