Merging, splitting and reordering PDFs without handing over your documents
A loan file or KYC set is the most complete identity kit you will ever assemble. Here is why it should not go to a random converter, how br…
BeeProton AI& Automation Solutions
Nothing you open in a BeeProton tool is sent anywhere: the processing happens in your own browser. Here is what a normal online converter does with your file, how browser-local processing works, how to verify it yourself in under a minute, and where it stops being the better option.
No file you open in a tool on beeprotonai.info is sent to us or to anyone else. The conversion, the compression, the OCR, the merge — all of it happens inside the browser tab in front of you, using code your browser has already downloaded. You can prove it in about forty seconds: load the tool page, turn off your Wi-Fi, then process your file. It still works. That test is the whole argument, and the rest of this article explains why it works, what the alternative does with your documents, and where browser processing genuinely runs out of road.
The usual architecture is not sinister, it is just ordinary web engineering. You pick a file, the page sends it as a multipart HTTP POST, and a server writes it to a temporary directory. A worker process picks it up, runs a command-line tool over it, and writes the result somewhere a download URL can reach. Then a cleanup job deletes both, eventually.
Between those steps your document exists in more places than the page implies:
A retention promise covers the first item honestly and the rest optimistically. None of this is unusual, and for a holiday photo none of it matters. For an Aadhaar scan, a salary slip, a client's bank statement or an unsigned contract, you have made a copy of a confidential document on infrastructure you cannot inspect, under a policy you did not read, in a jurisdiction you did not check. That is the actual risk, and it is a risk of copies existing, not of anyone being malicious.
Four browser APIs do the work, and none of them involves a network request.
The File API hands JavaScript the bytes of a file you selected, as an ArrayBuffer, without uploading anything. The <input type="file"> element is often misread as an upload control. It is a read control. The upload only happens if the page then chooses to POST what it read, and ours does not.
WebAssembly is why the heavy formats are possible at all. A PDF or XLSX parser is thousands of lines of fiddly binary handling, and the mature ones are written in C++ or Rust. Compiled to WebAssembly, that same code runs in the tab at close to native speed. Every library the site uses is served from our own domain rather than a third-party CDN: pdf-lib and PDF.js for PDFs, SheetJS for spreadsheets, Tesseract for OCR, JSZip for archives, mammoth for Word files.
Web Workers run that code on a background thread. This is not a privacy feature, it is what stops the page freezing. PDF.js and Tesseract both spawn workers, which is why a 200-page render keeps a responsive progress bar instead of a white screen and a "page unresponsive" dialog.
Canvas and object URLs finish the job. Resizing, cropping, rotating and re-encoding an image are canvas operations. The result comes back as a Blob, and URL.createObjectURL() turns it into a blob: address that only your tab can resolve. Paste one into another browser and it resolves to nothing. Clicking Clear, or closing the tab, revokes it and the memory is freed.
The practical consequence: the tool page needs the network to load, and then it does not need it again.
Do not take a privacy page's word for this, including ours. Three checks, in increasing order of paranoia.
/static/vendor/, once, the first time you use that tool./static/js/tools/image.js, pdf.js, excel.js, ai.js. Search for fetch( and XMLHttpRequest and see what the results are doing. This is a check you can run on any site that claims local processing, and the answer is usually not the one the marketing copy suggests.Two tools pull a large file on first use, and it is worth knowing why so the download does not look suspicious. OCR needs a language model: roughly 32 MB of Tesseract data across fifteen languages, of which you fetch only the languages you ticked. Background removal needs a neural network, 40–80 MB depending on the quality setting. Both are downloads into your browser, cached for later runs. Nothing about your image goes out with them.
This is the part most "private online tools" pages leave out. Browser processing is not strictly better; it trades server capacity for privacy, and sometimes that trade is wrong.
| Limit | What actually happens | What to do instead |
|---|---|---|
| Device memory | A tab typically gets 2–4 GB. A 300 MB PDF plus its decoded pages can exceed that and the tab reloads itself | Split the file first, or work in batches of 20–30 pages |
| Mobile RAM | A phone with 4 GB kills the tab much earlier, and background-remover or OCR runs are slow | Use a laptop for AI tools and large PDFs |
| No server-side toolchain | We cannot call Ghostscript, LibreOffice or qpdf, so PDF compression works by re-rendering pages rather than re-sampling embedded images in place | For a 500-page archive, desktop software is the right tool |
| Scanned PDFs | Text extraction needs a text layer; a scan has none | OCR first with AI OCR, accepting the accuracy hit |
| Office fidelity | DOCX to PDF in a browser reproduces content, not Word's exact pagination | If layout is legally important, print to PDF from Word |
| Batch of hundreds of files | Everything is sequential on your CPU, and the tab must stay open | A short Python script on your own machine |
| OCR accuracy | Printed, straight, well-lit text is good; handwriting, faint carbon copies and skewed phone photos are not | Read the confidence score and proofread |
There is a real second-order cost too: a 32 MB model download on a metered connection is not free, even if it is only once.
Local file processing does not make a site anonymous, and pretending otherwise would be dishonest. Here is the complete list, and it matches the privacy policy.
Page statistics, cookie-free. Our own first-party analytics records the page address, the referring site's domain, device type, browser and OS family, and a visitor code made by hashing your IP with your user agent and a salt that rotates every day. The raw IP is never stored, no cookie is set, and because the salt changes at midnight the same person on two days is two unlinkable codes. Kept for up to 13 months.
A tool-usage counter. When a tool finishes, the page sends one event containing the tool's slug and the page path — "reduce-image-size", nothing more. No file name, no size, no content, no result. It tells us which of the 81 tools to keep improving.
Server logs. IP address, browser and requested path, for security and debugging, like every web server.
Things you type into a form. Contact and quote forms, the newsletter, and the Client Portal. Those are data you chose to send.
Ad cookies, on content pages only. Ads run on tool, learn, roadmap, practice, resources and blog pages, through partners such as Google AdSense, and those partners may set cookies. Choosing Essential only in the cookie banner requests non-personalised ads. There are no ads inside the Client Portal. The ad script and the tool's processing share a page and nothing else: the ad frame has no access to the ArrayBuffer your file was read into, and there is no code path from one to the other. Our own cookies are three: csrftoken, sessionid and bp_consent.
So the honest summary is not "we collect nothing". It is: we count pages and tool runs without identifying you, we let an ad network set cookies on content pages, and your files are not part of any of it because they never leave your device.
If nothing is uploaded, why does the page need internet at all? To download the page and its libraries once. After that a tool such as Merge PDF works offline, which is the simplest test that the processing is local.
Are the results stored in my browser after I leave?
No. Outputs live in tab memory as blob: URLs and are revoked when you press Clear or close the tab. Nothing is written to localStorage or IndexedDB except your theme choice and roadmap checkboxes.
Can the ad script see my file? No. Ads load in a separate cross-origin frame with no access to the page's variables, and your file is only ever an in-memory buffer. The upload that would be needed to leak it does not exist in the code.
Is browser processing safe for something genuinely confidential? For a single file on a device you control, it removes the "a copy exists on someone's server" problem entirely, which is the main one. It does not protect you from malware on your own machine, from a shared or public computer, or from leaving the downloaded output in your Downloads folder on a laptop you then lend to someone.
Written by Bablu Kumar Jha
Founder, BeeProton AI · Mumbai, Maharashtra, India
A loan file or KYC set is the most complete identity kit you will ever assemble. Here is why it should not go to a random converter, how br…
WebAssembly, the File API, canvas, Web Workers and object URLs, explained without hand-waving — plus a thirty-second test you can run yours…
We use essential cookies to run this site and, on learning and tool pages, advertising cookies from partners like Google to keep our tools free. Your tool files are never uploaded. Learn more