Privacy (summary)
Full canonical policy:
PRIVACY.mdin the repo — and the public version at https://davidtkeane.com/rangerhq-tuner/privacy
TL;DR
RangerHQ Tuner collects no personal data. Nothing leaves your device.
Everything the extension remembers — your last station, your volume, your history, your favourites, the cached SomaFM catalogue — lives in chrome.storage.local on your own computer. The extension author never sees any of it. Neither does Google. Neither does anyone else.
What we don't collect
Using Chrome Web Store's standard data category vocabulary, RangerHQ Tuner does not collect any of:
- Personally identifiable information
- Health information
- Financial / payment information
- Authentication information
- Personal communications
- Location
- Web history
- User activity
- Website content
No accounts, no login, no telemetry, no analytics, no third-party tracking scripts, no advertising code.
What we store locally (and only locally)
chrome.storage.local key |
What it holds | Why |
|---|---|---|
tuner.stationsCache |
A cached SomaFM channel list | Fast popup open |
tuner.cachedAt |
Cache timestamp | Expires after 6 hours |
tuner.currentStationId |
Your last-picked station ID | Resume where you left off |
tuner.volume |
Your last volume (0.0–1.0) | Persistent across sessions |
tuner.isPlaying |
Whether playback was active | UI state sync |
tuner.history |
Capped FIFO of {artist, title, station, stationId, at} |
History tab |
tuner.favourites |
Uncapped same-shape list | Favourites tab |
tuner.historyCap |
Your chosen history cap | Configurable 50–500 |
Wipe any of it from the extension's Options page (Clear history / Clear favourites / Clear EVERYTHING) or by removing the extension from chrome://extensions.
Outbound network requests
RangerHQ Tuner contacts only the following endpoints, all on somafm.com:
| Endpoint | When |
|---|---|
https://somafm.com/channels.json |
At most once every 6 hours |
https://somafm.com/{...}.pls |
Once per station change |
Direct stream URLs (e.g. https://ice1.somafm.com/groovesalad-128-mp3) |
Continuous while playing |
https://somafm.com/songs/{id}.json |
Every 25 seconds while playing |
These are public-API calls — no authentication, no user identifiers, no tracking parameters added. SomaFM sees your IP exactly as if you visited https://somafm.com in a browser tab.
"Search this track" link-outs
The four buttons next to each history entry — Spotify, YouTube, Apple Music, Bandcamp — are plain HTML anchor tags (<a href> with target="_blank" rel="noopener noreferrer") that open 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.
Permission justifications
| Permission | Why |
|---|---|
offscreen |
Manifest V3 service workers can't host an <audio> element; the chrome.offscreen API provides a hidden DOM document for persistent audio playback. |
storage |
Persist your settings, last station, volume, history, and favourites in chrome.storage.local on your own device. |
https://somafm.com/* |
Fetch the public station catalogue, playlist files, audio streams, and now-playing metadata from SomaFM. No auth, no user data 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.
Contact
- Email: david@davidtkeane.com
- Issues / source: https://git.davidtkeane.com/ranger/rangerhq-tuner