Skip to main content
DocumentCloud.ai

Security

DocumentCloud.ai processes PDFs inside your browser tab, so the files you work on with the tools and the editor don't reach our servers unless you save them to My documents. This page explains how that works, what does reach us, and how it's protected.

Describes the site as of November 2, 2026

Where processing happens

Where each part of the product runs
PDF tools and editorYour browser. pdf.js renders pages, pdf-lib edits, merges and encrypts, and Tesseract (WebAssembly) recognizes text. Files are read from your disk into the tab's memory and results go to your downloads.
OCR modelsDownloaded to your browser on first use: the engine and English model from this site, other languages from cdn.jsdelivr.net.
The assistantNot available on this site right now. If it's enabled, see the AI requests section below.
My documentsOur server and its storage, only for files you choose to save.
AccountsOur server and database.

Check it yourself

You don’t have to take our word for it. With any desktop browser:

  1. Open a tool, for example Compress PDF, then open the developer tools (F12, or Cmd+Option+I on a Mac) and select the Network tab.
  2. Drop a PDF and run the tool.
  3. Look through the requests. You'll see the page's own scripts and assets, but no request carrying your file. Then switch the browser to offline mode and run the tool again: it still works.

Browser security headers

Every page is sent with a Content Security Policy that tells your browser which servers the page may talk to. Scripts may only load from this site (inline scripts are allowed, because the page framework uses them), and network requests may only go to this site and to cdn.jsdelivr.net, which serves OCR language models. That limits where code running on the page can send data, even if a bug or an injected script tried to send it elsewhere.

HTTP security headers
Content-Security-Policydefault-src 'self'; script-src 'self' plus inline scripts; connect-src limited to this site and the OCR CDN; object-src 'none'; frame-ancestors 'self'.
Strict-Transport-SecurityHTTPS only, for 2 years, including subdomains.
X-Frame-OptionsSAMEORIGIN: other sites can't embed our pages.
Cross-Origin-Opener-Policysame-origin.
X-Content-Type-Optionsnosniff.
Referrer-Policystrict-origin-when-cross-origin.
Permissions-PolicyCamera, microphone, geolocation, payment, USB and ad topics are switched off.

We don’t load third-party scripts: no analytics, ads, chat widgets or tag managers. The fonts are served from this site.

Password protection (AES-256)

Protect PDF encrypts files in your browser with AES using a 256-bit key, the strongest method in the PDF standard. The password is never sent to us, so we can’t recover it. Permission restrictions (printing, copying, editing) are honored by PDF readers but aren’t encryption; the open password is what protects the content.

When you open a password-protected PDF in a tool, it’s decrypted in your browser after you type the password. Files the tools produce from it aren’t password protected unless you run Protect PDF on them.

Redaction and hidden data

Redact PDF deletes the text, image pixels and drawings under each box rather than covering them and, by default, removes metadata, attachments and scripts. It then checks the output twice: it re-reads the text to confirm none is left inside the boxes, and it draws each box’s area again without the box to confirm no image or drawing still shows. A page that fails the second check is turned into an image with the box burned in, then checked again. If anything is still left, the tool tells you not to share the file. It runs in your browser, so the document you’re redacting isn’t uploaded.

Sanitize PDF removes what a file carries besides its pages, such as metadata, scripts, attachments, hidden layers and invisible text, writes a new file, then scans that file again for each kind you selected. The second scan looks for the same things as the first, so text colored to match the background or covered by a shape isn’t caught by either.

AI requests, if the assistant is enabled

The assistant isn’t available on this site right now. If it’s enabled on this site, its requests are handled like this:

  • Requests go from your browser to our server, which adds the API key and forwards them to the AI provider. The key never reaches your browser, and the provider sees our server, not your IP address.
  • The assistant shows what each question sends: the full text or which excerpts, from which pages, and how much.
  • Each request is limited in size (600,000 characters of document text) and rate, and each account has a daily allowance.
  • The server doesn't store the document text, questions or answers. Answers are streamed back to your browser and not kept.

Details of what each request contains are on the Privacy page.

Accounts and sessions

  • Passwords are hashed with bcrypt (cost 12). We never store or log the password itself.
  • Your session is a signed token in an HTTP-only cookie (SameSite=Lax, Secure over HTTPS), valid for 30 days.
  • Signing out revokes the session on the server, so a copied cookie stops working too. Changing your password signs out your other sessions, and resetting it signs out all of them.
  • Password reset links work once and expire after 30 minutes. We store only a hash of each link, so a copy of our database can't be used to reset a password.
  • Deleting your account asks for your password again, so a session left open on a shared computer can't be used to do it.
  • Sign-in, sign-up and password reset attempts are rate-limited per email address and per IP address.
  • Requests that change data are rejected unless they come from this site.

My documents

  • Only files you choose to save are stored. Each is stored under a random 128-bit name, and every request checks that the file belongs to your account.
  • Uploads must be PDFs, up to 100 MB each, and are limited per hour.
  • Stored files aren't end-to-end encrypted: our server can read them to send them back to you. For documents that should never leave your device, use the tools without saving.
  • Deleting a document removes the file from storage.

Reporting a security problem

If you find a vulnerability, email support@documentcloud.ai with the details and steps to reproduce it. Please give us a chance to fix it before you publish it.