GaitherNews Escape the Algorithm
Today --°
Updated
Categories

Privacy

Privacy

Last updated 2026-06-25.

GaitherNews is a personal project. The privacy practices are listed here in plain language. Short version: there are no accounts, the reading state stays in your browser, and three small services run in the background for analytics and error reporting (skipped automatically if your browser sends Global Privacy Control).

What the site collects automatically

Three small services run in the background on every page.

  • Google Analytics 4: counts page views and traffic sources. Aggregate numbers only.
  • Microsoft Clarity: heatmaps and anonymized session replays so we can see where the UI confuses people. Text in any input fields is masked by default.
  • Sentry: JavaScript error reports. Only fires when something on the page actually breaks.

If your browser sends the Global Privacy Control signal, we skip all three (see "Your privacy controls" below).

Google Analytics and Microsoft Clarity set first-party cookies for the services above. No other cookies are set.

Local storage

The site stores reading preferences and lightweight UI state in your browser's localStorage. Nothing leaves your device. Keys in current use:

  • gn-theme — theme preference (auto, light, dark, colorblind, retro, 80s retro).
  • gn:fontSize — text-size preference (normal, large, xlarge).
  • gn:viewed — set of event ids you've scrolled past (powers "Hide read").
  • gn:hideViewed — whether Hide-read is on.
  • gn:seenSince + gn:readMode — "Mark all read" tri-state.
  • gn:saved — set of event ids you've hearted.
  • gn:flagged — flags you've filed against cards.
  • gn:catHidden:<kind> — per-kind set of categories you've eye-deactivated.
  • gn:catOrder:<kind> — per-kind drag-reordered chip sequence.
  • gn:catPage:<kind> — per-kind active-vs-inactive page state.
  • gn:catsDrawerOpen — mobile drawer open/closed.
  • gn:chipNumMode:<kind>:<category> — per-chip unread vs total count toggle.
  • gn:sortMode — sort cycle on the random/sort button.
  • gn:weatherLoc — weather widget location (defaults to Port Charlotte, FL).

What we do not collect

  • No accounts, no email collection, no contact form.
  • No third-party advertising networks, no remarketing pixels, no behavioral advertising.
  • No sale of any data.
  • No tracking across other sites.

Per-event view counter

The site stores a per-event aggregate view count (an integer column on each event row) so the home page can show a "N views" pill on popular cards. The counter is incremented client-side via a fire-once-per-session HTTP POST. It records no IP address, no user agent, no session identifier, only the event ID.

Flag-an-issue

When you flag a card the server records the event id, the reason you picked, and a coarse fingerprint of the report (no IP, no user agent). The fingerprint exists only to dedupe identical flags from the same browser; nothing about you is stored alongside it.

Images and external links

Article preview images are hot-linked from the original publishers using referrerpolicy="no-referrer". Wallpapers and hero photos are re-hosted on a Cloudflare R2 bucket under our control. Links to outlet stories open the publisher's site directly in a new tab and are subject to that publisher's own privacy policy.

Weather widget

The optional weather widget fetches forecasts from the Open-Meteo public weather API. Your selected location (defaults to Port Charlotte, FL) is sent in the request URL. Open-Meteo is a free, ad-free weather service that does not require an API key.

Third parties

Your privacy controls

We don't show a cookie banner. Instead, the page reads your browser's Global Privacy Control signal. If your browser sends it, we automatically skip Google Analytics, Microsoft Clarity, and Sentry.

Global Privacy Control is on by default in Firefox, Brave, and DuckDuckGo. For Chrome, Safari, or Edge, the EFF Privacy Badger extension turns it on.

Children

This site is intended for an adult news audience and is not directed at children under 13.

Changes

If we change what the site collects, we will update this page. The "Last updated" date at the top reflects when the substance changed.

Contact

Questions: gaither.stephens@gaitherdyn.com. See also the terms of use.