Privacy

Privacy

Last updated 16 August 2026

Mull Reader is a static web page with no backend. There is no account to create, no server to send anything to, and no analytics, tracking, or advertising code of any kind.

Your documents never leave your device

When you open a markdown file, your browser reads it directly from disk using the File System Access API (or a plain file input, on browsers without it). The text is converted to HTML and displayed entirely inside the page. It is never uploaded, copied to a server, or transmitted anywhere.

The same is true of editing. If you tick a checklist, edit a document, or rename it, the change is written back only to that same file on your device — and only after your browser asks for, and you grant, write permission for it. Writing, like reading, happens entirely between your browser and your disk.

Close the tab and the content is gone from memory. The one case in which the app retains a document — a saved copy on your own device, so a recently read file can be reopened — is set out under recent documents below.

What is stored on your device

Your reading preferences are saved in your browser's localStorage so the app looks the same next time. These stay on your device and are readable only by this site:

If you open a folder, your browser also keeps a reference to it in IndexedDB so the app can offer to reconnect to it next time. That reference is a permission handle held by the browser, not a copy of the folder or of anything in it, and reconnecting still requires your permission.

Recent documents

The app remembers the last twelve documents you opened so you can return to one without hunting for it again. What that costs in storage depends on how your browser handed the file over:

Those saved copies stay in your browser's storage for this site, readable only by this site, and are never sent anywhere. If you edit such a document or tick its checklists, the saved copy is updated to match, so it reflects your changes. An entry's copy is deleted when it falls off the end of the list or when you remove the entry with its × button, and Clear recent in the sidebar deletes every entry and every saved copy immediately. If you would rather the app kept nothing at all, use Clear recent after reading, or open documents in a private window.

The offline cache

The app's own files — HTML, CSS, JavaScript, icons — are also stored by a service worker so the app works offline. That cache holds only the app itself, never your documents.

All of the above — preferences, folder reference, recent documents, and the offline cache — can be removed at any time by clearing site data for this site in your browser settings.

No cookies

Mull Reader does not set cookies and does not use any third-party scripts. The markdown, sanitising, and syntax-highlighting libraries it depends on are bundled with the app and served from the same place, not from a CDN.

Hosting

The site is served through Cloudflare, and the same files are also published on GitHub Pages. As with any website, those providers process standard request information — such as your IP address, browser type, and the files requested — in order to deliver the page. That happens at the hosting layer, before the app runs, and is outside its control; their handling is governed by Cloudflare's privacy policy and GitHub's privacy statement.

Once the app has loaded, it makes no further requests of its own. If you install it as a progressive web app and use it offline, it makes no requests at all.

Content inside your documents

A markdown file can reference things on the internet — most commonly images with an https:// address. If a document you open contains one, your browser will fetch it from whichever server hosts it, and that server will see the request. This is normal browser behaviour, but it is worth knowing if you open documents from sources you do not trust. Links you click in a document likewise take you to third-party sites governed by their own policies.

Children

Mull Reader collects no personal information from anyone, including children.

Changes

If this policy changes, the updated version will be published here with a new date. Because the app is open source, every revision is visible in the page's commit history.

Contact

Questions or corrections are welcome as an issue on GitHub.