Skip to content
PDF Studio

Privacy

Short version: your files are processed by your own browser and are never uploaded. We collect anonymous, cookieless page view counts and nothing else.

What runs where

PDF Studio is a static website. Our host only serves the app's files; there is no server code that receives or processes documents. When you open a file, the browser reads it into the memory of this tab, and these engines work on it locally:

  • pdf.js (in a Web Worker) draws page thumbnails and previews and extracts text.
  • pdf-lib (in a Web Worker) assembles pages, rotates and resizes them, draws page numbers and watermarks and writes metadata.
  • qpdf (WebAssembly in a Web Worker) encrypts, decrypts, splits and losslessly compresses.
  • PDFium and MozJPEG (WebAssembly in a Web Worker) decode and re-encode images when you compress to a target size.

The result is created in the same tab and handed to your browser's normal download. Closing the tab discards it.

What is downloaded, and from where

  • The app itself, the pdf.js workers and their fonts and colour data come from our own site.
  • Two engine binaries, qpdf.wasm and pdfium.wasm, come from the public npm CDN jsDelivr (unpkg as a fallback), only the first time a tool needs them. Each download is checked against a fixed hash before it is used.

These are ordinary downloads. Like any website request, the CDN sees your IP address and browser type, but no part of your document is sent with it. The page's Content Security Policy only allows connections to our site and to these download servers, so the app cannot send data anywhere else even by mistake.

What is stored on your device

  • Cache Storage: the engine binaries and the app's files, so later visits are fast and the core tools work offline.
  • localStorage: your theme choice and tool settings.
  • Your documents: not stored. They live in the tab's memory while you work. Any future option to keep work between visits will be opt-in and will stay in your browser's private storage.

You can clear all of it at any time from your browser's site settings (for example, Clear site data in the developer tools' Application or Storage panel).

Analytics

When the site is served from its production host we use Vercel Web Analytics to count page views. It sets no cookies and stores nothing on your device. For each page view it records the page address, the referring site, an approximate location derived from the IP address, and the browser, operating system and device type. Visitors are counted with a hash of the request that is discarded after 24 hours. We strip query strings and fragments from addresses before they are sent, and we record no custom events, so analytics never learn anything about your files or what you did with them.

Our host keeps standard access logs (IP address, requested address, browser) for security and operations, as every website host does.

No file data is ever sent

The app never sends a request body to any server, with one exception: the analytics page-view beacon above, which contains only the page view fields listed. The 0 bytes uploaded badge in the header watches every request the page makes and counts any data sent other than that page view. Open it to see the full list of requests, and watch the count stay at zero while you work.

Check it yourself

  1. Open your browser's developer tools (F12, or Cmd+Option+I on a Mac) and select the Network tab.
  2. Turn on Preserve log, then use any tool with a real file.
  3. Look at the Method column: every request is a GET download. On the production site you may also see a small POST to an analytics address on this site, ending in /view (under /_vercel/insights/ or a random-looking folder such as /b1554d26bf71a64c/); open it and check its Payload: no file data.
  4. For a stronger test, load a tool once, switch the Network tab to Offline, and use it again. It still works, because nothing needs a server.

Third parties

The software we use and its licences are listed on the licences page. None of it contacts any service on its own. There are no ads, no trackers, no social media widgets and no third-party fonts.