Clone
1
Privacy
David Keane edited this page 2026-06-09 03:27:19 +01:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Privacy

TL;DR

Ranger Reader runs entirely in your browser. Nothing leaves your device. Ever.

It is one HTML file. There is no server. There is no backend. There is no cloud. There is no telemetry, no analytics, no third-party JavaScript SDKs, no font CDN, no image CDN, no remote API of any kind.

If your machine is offline, the reader works. If your machine never reaches the internet again, the reader still works.

What is stored

Browser localStorage, on your machine, under one key. The stored payload contains:

Field What it holds
The current text you pasted or dragged in So you can resume where you left off
Your chosen reading mode Word / Sentence / Paragraph
Your chosen WPM Default 500, range 2001500
Your current reading position in the text Word / sentence / paragraph index

Inspect it yourself — open DevTools (Cmd+Opt+I on Mac, F12 on Windows / Linux) → Application tab → Storage → Local Storage → file:// (or your URL). You'll see one key with the JSON blob containing the four fields above. That is the complete extent of what Ranger Reader stores.

How to clear it

Method What it clears
Click the "Reset" button in the reader UI The four fields above; reader returns to factory defaults
Browser → Clear Browsing Data → "Cookies and other site data" for file:// (or your hosting domain) Same as above
Open the file in an Incognito / Private window Reader works normally; nothing is persisted at all; closing the window forgets everything

What is sent over the network

Nothing.

Verify by opening the page in a browser, opening DevTools → Network tab, and using the reader. You will see zero network requests. The reader uses no fetch(), no XMLHttpRequest, no WebSocket, no Service Worker, no Web Push.

The only reason your browser might make any network request while the reader is open is if you have other extensions installed that touch every page. Ranger Reader itself sends nothing.

How the page is delivered

You open ranger-reader.html directly from your filesystem (most common) or from a static host you control (e.g. davidtkeane.com mirrors a copy at https://davidtkeane.com/rangerhq-reader). In either case:

  • Direct file open (file://...): the browser loads the HTML from your disk. No network hop. No DNS lookup. No server log entry anywhere.
  • From your static host: your host's access log records that you fetched the file. After that, all execution is local. Subsequent reading sessions don't re-hit the server unless you reload.

In neither case does Ranger Reader phone home to David Keane, RangerHQ, davidtkeane.com, or anyone else.

Third-party content

There is none.

  • No web fonts (the reader uses system fonts only)
  • No CDN-loaded JavaScript libraries (everything is inline)
  • No analytics (Google Analytics, Plausible, Fathom, etc. — none of them)
  • No error reporting (Sentry, Rollbar, etc. — none of them)
  • No A/B testing scripts
  • No advertising network code
  • No social media share widgets
  • No iframes pointing anywhere

The HTML file is self-contained. You can read every line of it in any text editor — the entire app is ~1000 lines of HTML + CSS + JavaScript.

Verification

Three ways to convince yourself this is true:

  1. Open the file in a text editor. The whole app fits on one screen if you scroll. There's nothing hidden.
  2. Open DevTools → Network while reading. Zero requests.
  3. Run the file on an air-gapped machine. Reader works perfectly.

GDPR / CCPA / LGPD / PIPEDA

No personal data is collected or processed. No data is sent to any third party (because no data is sent anywhere at all). Your reading habits are visible only to you, on your own browser, on your own machine.

These regimes apply when an entity collects or processes personal data. Ranger Reader is not an entity — it's a static file. There is nothing to comply with because there is nothing to comply about.

Children's privacy

Ranger Reader is a static HTML file with no data collection. It does not knowingly or unknowingly process data of children under 13, or any other age. It processes the text you paste into it, in your browser, and then forgets unless you ask it to remember.

Contact