Privacy policy
PDF processing stays in your browser. Loading the website still creates ordinary network traffic, described below.
Last updated: August 27, 2026
Short summary
PDFChamp has no accounts and its tools process the files you choose locally in browser memory. Your PDF file contents are not uploaded to a PDFChamp file-processing server. The website itself is served by Cloudflare, OCR downloads language data from jsDelivr when you run it, and Google Analytics is loaded only if you explicitly accept analytics. Those providers receive the network requests addressed to them; accepting analytics never sends your PDF files or their contents to Google Analytics.
1. Local file processing and its limits
The PDF tools use JavaScript, WebAssembly, Web Workers, the File API, and browser memory on your device. Files selected in a tool are not submitted to a PDFChamp backend for processing. Closing or reloading the page normally releases that in-memory working state, subject to your browser's own memory and caching behavior.
“No upload” refers to the contents of files you select for a tool; it does not mean the Site works without network requests. Your browser must request the Site's HTML, scripts, styles, fonts, and images. The OCR exception and optional analytics traffic are described in Sections 4 and 5. Following an external link or sending email also contacts the destination you choose.
2. Accounts and data entered in tools
PDFChamp does not offer an account, sign-up, login, or user profile. Text, passwords, signatures, images, spreadsheet rows, and other values you provide to a PDF tool are handled by that tool in the browser and are not intentionally included in analytics events.
3. Hosting and content delivery
Cloudflare hosts and delivers the Site from its edge network. Cloudflare necessarily receives a request when it serves a page or same-origin asset. A request can include your IP address, requested URL, timestamp, user-agent and other HTTP headers, and response details. Cloudflare processes that traffic under its own terms and privacy documentation. PDFChamp does not claim a specific access-log retention period here because the owner has not verified and published the relevant account settings.
4. OCR language downloads
The OCR engine code and WebAssembly files are served from the PDFChamp origin. When you start OCR, Tesseract.js downloads the selected recognition language data from jsDelivr. jsDelivr therefore receives a normal asset request, including network metadata such as your IP address and user-agent. The OCR worker uses the downloaded model locally; the PDF itself is not sent to jsDelivr.
5. Google Analytics 4 — explicit opt-in
With no stored choice or after rejection, PDFChamp does not add a Google tag script or Google preconnect and does not send an analytics request, consent ping, or page_view. If you select “Accept analytics,” the browser loads Google Analytics 4 (measurement ID G-RRYH92YLYK) from Google. PDFChamp manually queues one page-view command for the current route and one for each later in-site route change; repeated initialization and search-query typing do not add duplicate manual page-view commands. Depending on the remote GA4 stream's Enhanced Measurement settings, Google's tag may also collect configured interaction events after consent, such as history-based page changes, scrolls, outbound clicks, site search, file downloads, or engagement. Those property settings are controlled outside this codebase and have not been represented here as “page views only.”
Google LLC is the analytics recipient. The analytics request can include the page URL and title, referrer, event time, browser, device and language information, a cookie-based client identifier, and your IP address as network metadata. Google states that GA4 uses the IP address at collection time to derive approximate location and discards it before the address is logged. The tag is configured with advertising storage, ad personalization, and Google Signals disabled; PDFChamp does not send selected file contents to GA4.
You can change or withdraw your choice at any time. Withdrawal blocks future PDFChamp analytics events and removes known first-party cookies named _ga or _ga_*where the browser permits. It cannot retract events Google already received.
6. Cookies and local storage
PDFChamp stores the analytics choice in local storage under pdfchamp_consent_v1. Current builds store JSON in this form: {"analytics":"granted","updatedAt":"…"} or the same record with "denied". updatedAt is the ISO 8601 time when that choice was written. The record contains no name, account ID, or file content and remains until you change it or clear the Site's storage.
Google Analytics may set first-party _ga cookies only after acceptance. Browsers and extensions may block storage; if PDFChamp cannot persist the choice, it may ask again on a later visit.
7. Browser privacy signals
PDFChamp treats Global Privacy Control and common Do Not Track browser values as analytics rejection. While either signal is active, analytics cannot be enabled through the Site controls. The Site remains usable without analytics.
8. Retention and international processing
The local consent record remains on your device as described above. Cloudflare, jsDelivr, and—only after analytics acceptance—Google may process their requests in multiple countries under their respective policies. Exact Cloudflare log and Google Analytics property retention settings require confirmation by the Site owner and are therefore not represented here as fixed periods.
9. Questions and privacy requests
Privacy rights vary by jurisdiction and may include access, deletion, objection, restriction, or withdrawal of consent. This policy describes the Site's current behavior; it is not a blanket compliance certification for every jurisdiction. For a question or request, email contact@pdfchamp.app or use the Contact page.
10. Operator details — owner input required
The Site is currently published under the PDFChamp project name. The operator's legal name and postal address have not been supplied for publication. The Site owner must add those details here where required; this policy does not invent a company or controller identity. Until then, the published operator contact is contact@pdfchamp.app.
11. Changes to this policy
If the Site's data flows or providers change, this page should be updated and the date above changed. A policy update does not turn on analytics or replace the choice stored in your browser.