Privacy Policy

Last updated: October 10, 2026

TL;DR: Stapler processes your files on your own device. It never uploads them, has no accounts, and collects no analytics or telemetry. It makes no network requests while you work, with one exception you have to approve first: downloading an OCR language model (section 3). What it keeps on your device, and how to delete it, is listed in section 2.

1. Your files and personal data

Stapler runs entirely in your web browser. All PDF processing (merging, splitting, compressing, signing, redacting, converting, OCR, etc.) is done locally on your device using WebAssembly (Wasm) and JavaScript.

2. What is stored on your device

To work across sessions, Stapler keeps some data in your browser's own storage (the Origin Private File System, IndexedDB, Cache Storage and localStorage). It stays on this device and is never sent anywhere:

To delete it: click the Offline badge at the top of the Stapler window, then Clear all local data… under Stored on this device, which also lists what is stored and how much space it takes. Removing the extension, or clearing the site's data in your browser's settings, deletes it as well.

3. The one network request: OCR language models

Text recognition (OCR) needs a language model of about 3 MB (English; Hindi adds 1.4 MB) that is not bundled with Stapler. The first time you run OCR in a language, Stapler asks before downloading it. Only if you agree is it downloaded, once, from a fixed, pinned address on the public jsDelivr CDN (cdn.jsdelivr.net); its SHA-256 hash is checked before use and the model is then kept on your device (section 2). Like any web request, this download reveals your IP address, your browser's user agent and which language model you asked for to jsDelivr and the networks that serve it. It sends nothing about your documents. You can avoid the download entirely by loading the model from a file instead.

Apart from that, Stapler's own code makes no requests. Two things outside its control are worth knowing: your browser may check its extension store for updates, and if you use the website version, your browser downloads the app itself from its web host (GitHub Pages), which, like any web host, receives your IP address when it does.

4. Third-party services

Stapler does not integrate any third-party tracking, advertising or analytics service. The only third party it ever contacts is the jsDelivr CDN, for the OCR model download described in section 3, and only after you approve it.

Stapler is built on open-source libraries, all bundled into the extension and run on your device. Their licences and notices are listed in THIRD_PARTY_LICENSES.txt.

5. Changes to This Privacy Policy

We may update this Privacy Policy from time to time. Any changes will be reflected in the extension updates. Our core commitment, that your files are processed on your device and never uploaded, will not change.

6. Contact

If you have any questions or concerns about this Privacy Policy, please open an issue on our GitHub repository.