Nothing Leaves Your Device
Your document never travels over the network. No third party receives or stores it at any point during or after processing.
Expunge processes PDFs entirely in your browser using WebAssembly. No upload. No cloud. No server ever receives your document. Fully offline after first load.
There is no server to send your document to — every step happens inside your browser tab.
Your file loads directly into the app from your device. No upload happens. Nothing is sent anywhere before, during, or after processing.
The PDF engine runs entirely in your browser tab. It rewrites your document with the sensitive content permanently removed — no server involved at any point.
If your PDF is a scan or image-based, Expunge can still find and redact text using an on-device recognition model. No images are sent to an external service.
Your redacted PDF downloads immediately. It was never stored on any external server — processed locally and saved straight to your downloads folder.
Because processing happens on your device, Expunge never has access to your documents — by design, not policy.
Your document never travels over the network. No third party receives or stores it at any point during or after processing.
After the first visit, Expunge caches everything it needs. You can open the app, process a document, and download the result with no network connection at all.
Every line of code is public on GitHub. Anyone can verify exactly what the application does before using it.
No usage analytics, crash reports, or behavioural data. No cookies, no tracking pixels, no third-party scripts.
Run Expunge on your own infrastructure. Deploy to an intranet or internal network with no dependency on external services.
No sign-up, no email, no login. There is nothing to link back to you — open the app and use it.
Three independent ways to confirm that your files stay local.
Open DevTools, switch to the Network tab, then load and process a PDF. You will see no requests carrying file content — only static asset loads from the initial page load.
After the first visit, enable flight mode or disconnect your network cable. Expunge continues to function normally — OCR, redaction, and download all work without internet.
The entire codebase is on GitHub under AGPL v3. There is no obfuscated server-side component, no closed SDK, and no minified-only distribution.
No. Expunge is a fully client-side Progressive Web App. Your PDF is loaded into browser memory and processed there entirely. No file data is transmitted over the network at any point.
Yes. After the initial page load, Expunge caches all required assets — including the MuPDF WASM binary and OCR models — via its service worker. Subsequent sessions work without any internet connection.
Expunge processes data entirely on your device with no data transfers to third parties, which is compatible with GDPR data minimisation and storage limitation principles. Confirm suitability with your DPO for specific use cases.
Expunge is fully open source. Review the complete source code on GitHub, inspect network traffic in browser DevTools while using the app, or self-host the application on your own infrastructure.
Once the initial assets are cached, Expunge requires no outbound network access. It can be used on restricted networks or deployed as a self-hosted instance with no external dependencies after initial setup.