Files
ranger e75acad1b8 docs(privacy): add tuner.theme + tuner.quickStations to storage key list
Effective date bumped 2026-06-09 → 2026-06-10. Two new storage keys
added by v0.5.0 + v0.5.3 are now documented:

- tuner.theme — user's chosen theme preference (auto/dark/light)
- tuner.quickStations — user's Quick Stations picks

Neither key changes the privacy story (still all local, still no
data transmitted). Just keeping the per-key inventory honest.

The davidtkeane.com privacy.html mirror has the same edits and
will be uploaded separately by David.
2026-06-10 01:21:27 +01:00

6.7 KiB
Raw Permalink Blame History

Privacy Policy — RangerHQ Tuner

Effective date: 2026-06-10 Maintainer: David Keane — david@davidtkeane.com Extension homepage: https://davidtkeane.com/rangerhq-tuner Source code: https://git.davidtkeane.com/ranger/rangerhq-tuner


TL;DR

RangerHQ Tuner collects no personal data. Nothing leaves your device.

The extension stores a small amount of data in your browser's local storage on your own computer — your track history, your favourites, your last-played station, your volume preference, and a cached copy of the SomaFM station catalogue. That data never leaves your machine and is never sent to David Keane, RangerHQ, Anthropic, Google, or anyone else.


Data we do not collect

Using the Chrome Web Store's standard data category vocabulary, RangerHQ Tuner does not collect any of the following:

Category Collected?
Personally identifiable information No
Health information No
Financial and payment information No
Authentication information No
Personal communications No
Location No
Web history No
User activity No
Website content No

No account is required. No login. No telemetry. No analytics. No third-party tracking scripts. No advertising network code.


Data stored locally on your device

RangerHQ Tuner uses Chrome's chrome.storage.local API to persist a small amount of state across browser sessions. All of this lives on your computer only. It is never transmitted to any server. You can wipe it at any time from the extension's Options page.

Key What it holds Why
tuner.stationsCache A cached copy of SomaFM's public channel list So the popup opens instantly instead of fetching the catalogue every time
tuner.cachedAt Timestamp of the cache To expire the cache after 6 hours
tuner.currentStationId ID of the station you last picked So you can resume where you left off
tuner.volume Your last-set volume (0.01.0) So volume persists across sessions
tuner.isPlaying Whether playback was active UI state sync
tuner.history A capped log of artist + title pairs heard while playing The History tab on the New Tab Page
tuner.favourites Track entries you have starred The Favourites tab
tuner.historyCap Your chosen history-cap value (default 500) Configurable on the Options page
tuner.theme Your theme preference (auto / dark / light) Configurable on the Options page; default auto follows OS
tuner.quickStations The SomaFM channel short IDs you chose to surface in the New Tab Page Quick Stations row Configurable on the Options page; default is a curated 8

The history and favourites entries contain: artist name, track title, station display name, station ID, and a local timestamp. They are stored in your browser only. They are never sent to the extension author or any third party.

You can clear any of this data at any time:

  • Options page → "Clear history", "Clear favourites", or "Clear EVERYTHING" (wipes all tuner.* keys).
  • Or: Chrome → chrome://extensions → RangerHQ Tuner → Remove. Removing the extension wipes its local storage.

Outbound network requests

RangerHQ Tuner contacts only one external network — SomaFM (somafm.com) — and only for the following purposes:

Endpoint Purpose Frequency
https://somafm.com/channels.json Fetch the public list of SomaFM stations At most once every 6 hours
https://somafm.com/{...}.pls Resolve the streaming URL for the station you picked Once per station change
Direct stream URLs (e.g. https://ice1.somafm.com/groovesalad-128-mp3) The actual audio stream Continuous while playing
https://somafm.com/songs/{id}.json Read the public "now playing" track for the current station Every 25 seconds while playing

These requests are made by your browser the same way it makes any other web request. SomaFM may log your IP address as part of routine HTTP serving — that is between you and SomaFM, the same as visiting their website. RangerHQ Tuner does not add tracking parameters, identifiers, or authentication tokens to these requests.

SomaFM is a listener-supported independent radio network. Their content policies are theirs alone: https://somafm.com.


The History and Favourites tabs offer four buttons next to each track: Spotify, YouTube, Apple Music, Bandcamp. Each is a plain HTML link (<a href> with target="_blank" rel="noopener noreferrer") that opens the corresponding service's public search results page in a new browser tab.

RangerHQ Tuner does not embed any third-party SDK, player, tracker, or analytics code. The extension does not communicate with Spotify, YouTube, Apple Music, or Bandcamp servers in any way. When you click one of the buttons, you are simply navigating to a public search URL. Anything that happens after that is between you, your browser, and the destination site.


Permissions and why we ask for them

Permission Why RangerHQ Tuner needs it
offscreen Manifest V3 service workers cannot host an <audio> element. The chrome.offscreen API lets us create a hidden DOM document that holds the audio player. No user data is collected through this.
storage Persist your settings, last station, volume, history, and favourites in chrome.storage.local on your own device.
Host: https://somafm.com/* and https://*.somafm.com/* Fetch the public station catalogue, playlist files, stream URLs, and now-playing metadata from SomaFM. No authentication is used, no user data is sent.

We do not request tabs, activeTab, <all_urls>, webRequest, cookies, or any other broad permission.


Children's privacy

RangerHQ Tuner is a general-purpose audio player and does not knowingly process data of children under 13. It collects nothing about anyone of any age.


Changes to this policy

If this policy ever changes in a material way, the effective date at the top will be updated and the change will be reflected in CHANGELOG.md in the project's public repository (linked above). Because RangerHQ Tuner does not collect personal data, material privacy changes would generally only happen if the architecture itself changes — which is unlikely.


Contact

For questions about this policy or the extension's data handling:


This policy is published under GPL v2 or later, the same licence as the extension itself. Verbatim copies and adaptations are permitted.