ModernPDF doesn't upload your files. That's not a marketing line — it's an architectural decision that shapes every part of how the product works. Here's what's actually happening under the hood.
The traditional model
Most online PDF tools follow a simple pattern: your browser sends the file to a server, the server runs processing software (usually a headless library like Ghostscript, PDFtk, or QPDF), and the server sends back the result. The browser is just a transport layer — the real work happens remotely.
This model exists because, until recently, browsers couldn't do heavy computation efficiently. JavaScript was too slow for operations like PDF rendering, OCR, or compression at the level users expect.
What changed: WebAssembly
WebAssembly (Wasm) is a binary instruction format that runs in the browser at near-native speed. It's not JavaScript — it's a compilation target for languages like C, C++, and Rust. The same PDF processing libraries that run on servers can be compiled to WebAssembly and executed entirely inside a browser tab.
This means the browser is no longer just a UI layer. It's a full processing environment. When you merge two PDFs in ModernPDF, the merge operation runs in compiled WebAssembly code inside your browser. Your files go from disk to browser memory to the processed output — never touching a network connection.
What this looks like in practice
When you load a ModernPDF tool page, your browser downloads the WebAssembly module (once, then cached). When you select a file, it's read into browser memory using the File API. The Wasm module processes it. The result is offered as a download via a Blob URL — a local reference to data that exists only in your browser's memory.
Open your browser's Network tab while using ModernPDF and you'll see: no file upload requests. No multipart form data. No POST with your document as payload. The file stays local from start to finish.
Tradeoffs
Local processing isn't free of constraints. Very large files (500MB+) can strain browser memory limits. Processing speed depends on your device's CPU rather than a powerful server. And some operations — like AI-powered translation — genuinely require a server because they need access to a language model.
For AI features, ModernPDF sends only the extracted text (not the file itself) via an AES-256 encrypted connection to Claude's API. The PDF never leaves your browser. The text is processed and discarded. This is a deliberate architectural choice: use local processing for everything possible, and when a server is unavoidable, send the minimum data necessary.
Why architecture matters more than policy
Any company can write a privacy policy that says "we delete your files within 1 hour." Only an architecture can guarantee "we never had your files in the first place." Policies can change. Servers can be breached. Retention periods can be extended. A zero-upload architecture removes these variables entirely. The guarantee is structural, not contractual.