Your files stay yours
LeafPDF is built so that your documents physically cannot reach us. You do not have to take our word for it — here is exactly how, and how to check.
No file ever crosses the network
There is no server that receives your files, because there is no such request in the code. A Content Security Policy (connect-src 'self') blocks the browser from sending anything cross-origin, so even a bug could not leak a file.
All processing is in a Web Worker
Reading and writing PDFs happens in a background Web Worker using pdf-lib and pdf.js. The page thread only moves data around and draws the UI, so large files stay responsive.
Nothing is stored unless you ask
Opening a file stores nothing at all. Keeping one for later is a tick-box on every tool, unticked by default — only then is a copy written to IndexedDB on your own device, never to a server. That copy is deleted 24 hours later, the moment you untick the box, or the instant you press Clear session. File contents never go in localStorage or sessionStorage.
No analytics, no trackers, no cookies
There is no analytics script, no tracking pixel and no cookie banner, because there is nothing to consent to. LeafPDF only ever requests its own pages and code from its own domain — never a third party, and never anything carrying your data. Watch the Network tab while a tool runs and you will see nothing at all.
Verify it yourself
- Open your browser's DevTools and switch to the Network tab.
- Open any tool and run it on one of your PDFs.
- Watch the Network tab — no request carries your file, and the pure-PDF tools make no requests at all.