Skip to content
FileLens Markdown & JSON Viewer

FileLens

Privacy Policy

FileLens renders files your browser would otherwise show as raw text — Markdown and JSON — into something readable. It does this entirely inside your browser.

FileLens makes no network requests. Not to us, not to anyone. There is no server, no account, no analytics, and no telemetry. The only thing it stores is your own display preferences, in your browser.

Last updated: 3 August 2026 Applies to: FileLens v1.0.0 Price: Free

That is not a promise about intent. It is tested.

An end-to-end test records every request a real browser makes while rendering the whole test corpus — including requests made by the extension's background worker — and fails the release if any of them is not the local file you opened or one of FileLens's own packaged files.

You can confirm the same thing from your side in about thirty seconds: open Chrome DevTools, switch to the Network tab, and open a document. The panel stays empty.

One honest exception, and it never leaves your machine

If live reload is on, FileLens re-reads the file you are currently looking at about once a second so it can re-render when you save. That read is done by the extension's background worker, because the page itself is not permitted to read its own file.

It reads that one file and nothing else — the address comes from the browser's own record of which document asked, not from anything a web page can influence — and nothing is sent anywhere. You can turn live reload off in FileLens's settings.

What FileLens stores

In chrome.storage, under these keys, and nothing else:

Every storage key FileLens writes, what it holds, and whether it syncs
Key What it holds Where
theme Whether you chose Light, Dark, or System synced
railState Which sidebar tab was open, and whether the sidebar was collapsed synced
styleOverrides Any fonts, colours, sizes, spacing or borders you changed in the Style tab synced
preferences Which formats you left switched on, whether live reload is on, whether remote images are blocked synced
origins The websites you have chosen to enable FileLens on, if any synced
viewState How far down each file you had scrolled, so reopening it returns you there. Capped at the 200 most recent, oldest dropped first this device only

The synced items travel across your Chrome profile if you have Chrome Sync enabled — that is Chrome's own sync, between your own devices, and the data does not pass through us.

viewState is deliberately not synced. It is keyed by file address, and most of those addresses are paths on one machine's disk; syncing them would push a list of the files you open to every device signed into your browser profile.

If your style settings grow past Chrome's per-item size limit, FileLens falls back to chrome.storage.local, which stays on the one device, and tells you it has done so.

What FileLens does not collect

  • The content of your files. Files are read by the browser, rendered in the tab, and never leave it. Nothing is uploaded, logged, or cached anywhere outside the page you are looking at
  • File names, paths, or URLs. None are recorded or transmitted
  • Browsing history. FileLens has no access to your history and does not observe pages it is not rendering
  • Any identifier. There is no install ID, no device ID, no user ID. Nothing distinguishes one installation of FileLens from another
  • Analytics of any kind. No page views, no feature usage, no crash reports

Permissions, and why each exists

FileLens requests no access to any website when you install it.

  • storage — to remember the settings listed above. Grants no access to any page or any site.
  • scripting — to start rendering on a website after you have enabled that specific site, and to restore that after a browser restart, which Chrome otherwise forgets. It cannot reach a site you have not enabled.
  • activeTab — so the toolbar popup can tell you whether FileLens is on for the page you are looking at. This grants access to one tab, only while you have clicked the FileLens icon, and it ends when you navigate away. The alternative permission would let an extension read the address of every tab all the time; FileLens does not ask for it.
  • file:///* — so FileLens can render local files you open. Chrome keeps this behind a switch it will not let an extension request for you: you must turn on "Allow access to file URLs" on the FileLens card at chrome://extensions yourself. Until you do, FileLens does nothing to local files.

Websites: none at install

If you want FileLens to render files served by a particular site, you enable that one site from the toolbar popup, Chrome asks you to confirm, and only that origin is granted. You can see the list in FileLens's settings, remove any of them there, or withdraw them from chrome://extensions. Removing a site in FileLens hands the permission back to Chrome rather than keeping it.

One thing worth stating plainly rather than glossing: the origins list is stored in chrome.storage.sync, so it reveals sites you visit and it transits your own Google account sync. That is Chrome's mechanism, not ours.

Remote images in local files

When rendering a file from your own disk, FileLens blocks images hosted on remote servers and shows a marker where each one would have been.

This is deliberate. A local document that loads a remote image tells whoever runs that server that you opened the file, and when. Since the point of a local file is that it is local, FileLens does not let a document quietly make that request on your behalf. Links are not affected — clicking an https:// link still goes there, because that is you choosing to.

Data sharing and sale

There is no data to share or sell. We receive nothing, so there is nothing to pass on to anyone, under any circumstance.

Retention and deletion

Your preferences stay in your browser until you clear them. Removing FileLens from chrome://extensions removes them with it, including the record of where you had scrolled in each file. "Reset all" in the Style tab clears your style customisations without uninstalling anything.

Because nothing is transmitted, there is no copy of anything held anywhere else that could need deleting.

Children

FileLens is a document viewer that collects no personal data from anyone, of any age.

Changes to this policy

Material changes will be recorded in the changelog and reflected in the "Last updated" date above. Any change that caused FileLens to transmit data would be a change to the product's central claim, and would be announced as such rather than buried in a policy revision.

Contact

Questions about this policy: waafaaofficial@gmail.com.

FileLens is published by WaaFaa and is free on the Chrome Web Store.