How WebAssembly became our privacy architecture (not just a performance trick)
Description and use
A web app processes PDFs and images entirely client‑side using WebAssembly, eliminating file uploads and enhancing privacy. The pipeline reads the file into memory, processes it in a Wasm module, creates a Blob, triggers a local download, and cleans up. This delivers zero infrastructure cost, offline capability, and no rate limits.
Problem
Users uploading sensitive PDFs to online services expose files to servers that may retain them for hours, creating privacy risks.
Outcome
Client‑side Wasm processing eliminates file uploads, provides zero infrastructure cost, offline support, and no rate limits, while maintaining full functionality for PDF and image manipulation.
Workflow
- Read file into ArrayBuffer locally
- Pass ArrayBuffer to a Wasm module for processing
- Create a Blob from the result
- Generate a local object URL
- Trigger a download from the URL
- Revoke the object URL to clean up
Evidence
Wasm modules cannot initiate network connections.
Any user can verify this in 60 seconds by inspecting the Network tab.
- Record date: 2026-09-05T18:45:12.592Z