# Privacy Policy — RangerHQ Tuner **Effective date:** 2026-06-10 **Maintainer:** David Keane — **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.0–1.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: . --- ## "Search this track" link-outs The History and Favourites tabs offer four buttons next to each track: **Spotify**, **YouTube**, **Apple Music**, **Bandcamp**. Each is a plain HTML link (`` 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 `