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.
This commit is contained in:
parent
abe0aa9ec6
commit
442d1d1bdc
4 changed files with 106 additions and 5 deletions
|
|
@ -79,6 +79,20 @@ defmodule MicrowavepropWeb.Layouts do
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
<footer class="px-4 sm:px-6 lg:px-8 pb-6">
|
||||||
|
<div class={["mx-auto text-center text-xs opacity-60 space-y-1", @max_width]}>
|
||||||
|
<div>
|
||||||
|
Built by and for the
|
||||||
|
<a href="https://ntms.org" target="_blank" class="link link-hover">
|
||||||
|
North Texas Microwave Society
|
||||||
|
</a>.
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<.link navigate="/privacy" class="link link-hover">Privacy</.link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
<.flash_group flash={@flash} />
|
<.flash_group flash={@flash} />
|
||||||
"""
|
"""
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -156,11 +156,6 @@ defmodule MicrowavepropWeb.AboutLive do
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="text-xs opacity-60 pt-4 border-t border-base-300">
|
|
||||||
Built by and for the <a href="https://www.ntms.org" target="_blank" class="link link-hover">
|
|
||||||
North Texas Microwave Society
|
|
||||||
</a>.
|
|
||||||
</p>
|
|
||||||
</section>
|
</section>
|
||||||
</Layouts.app>
|
</Layouts.app>
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
91
lib/microwaveprop_web/live/privacy_live.ex
Normal file
91
lib/microwaveprop_web/live/privacy_live.ex
Normal file
|
|
@ -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"""
|
||||||
|
<Layouts.app flash={@flash} current_scope={@current_scope} max_width="max-w-3xl">
|
||||||
|
<.header>
|
||||||
|
Privacy
|
||||||
|
<:subtitle>What we collect, and what we promise to do with it.</:subtitle>
|
||||||
|
</.header>
|
||||||
|
|
||||||
|
<section class="space-y-6 text-sm leading-relaxed">
|
||||||
|
<p>
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="space-y-3">
|
||||||
|
<h2 class="text-lg font-bold">We will never</h2>
|
||||||
|
<ul class="list-disc list-outside pl-5 space-y-1">
|
||||||
|
<li>Sell your information.</li>
|
||||||
|
<li>Trade or barter it to third parties.</li>
|
||||||
|
<li>
|
||||||
|
Disclose it to anyone outside the project, except where required by law.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="space-y-3">
|
||||||
|
<h2 class="text-lg font-bold">What we collect</h2>
|
||||||
|
<ul class="list-disc list-outside pl-5 space-y-1">
|
||||||
|
<li>
|
||||||
|
<strong>Account information</strong> — when you register, we store
|
||||||
|
your callsign, email address, and a hashed password. Email is only
|
||||||
|
used for account confirmation and password resets.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Submitted data</strong> — beacon listings, QSOs, and beacon
|
||||||
|
monitor reports you voluntarily submit. These are published back to
|
||||||
|
other amateurs as part of the project.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Approximate location</strong> — 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.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Basic request logs</strong> — standard web server logs
|
||||||
|
(timestamp, path, status, user agent) retained for a short period
|
||||||
|
for debugging and abuse prevention.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="space-y-3">
|
||||||
|
<h2 class="text-lg font-bold">How it's used</h2>
|
||||||
|
<p>
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="space-y-3">
|
||||||
|
<h2 class="text-lg font-bold">Questions or removal requests</h2>
|
||||||
|
<p>
|
||||||
|
If you'd like your account deleted or your submissions removed,
|
||||||
|
contact the
|
||||||
|
<a href="https://ntms.org" target="_blank" class="link link-hover">
|
||||||
|
North Texas Microwave Society
|
||||||
|
</a>
|
||||||
|
and we'll take care of it.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</Layouts.app>
|
||||||
|
"""
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -76,6 +76,7 @@ defmodule MicrowavepropWeb.Router do
|
||||||
live "/rover", RoverLive
|
live "/rover", RoverLive
|
||||||
live "/algo", AlgoLive
|
live "/algo", AlgoLive
|
||||||
live "/about", AboutLive
|
live "/about", AboutLive
|
||||||
|
live "/privacy", PrivacyLive
|
||||||
|
|
||||||
# Beacons: public read + submit (pending admin approval)
|
# Beacons: public read + submit (pending admin approval)
|
||||||
live "/beacons", BeaconLive.Index, :index
|
live "/beacons", BeaconLive.Index, :index
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue