Privacy
The short answer: nothing leaves your machine. The long answer takes a few paragraphs, and it is checkable.
-
The work happens in the app
pdf-lib, pdf.js and libheif run inside Papyx's own window. The PDF is read from your disk, transformed in memory, written back to your disk.
-
The Rust does the minimum
Native dialogs, reading and writing the files you point at, "show in folder". No command takes a URL.
-
Resources are bundled
pdf.js's font tables are copied into the app at install time. They are served from disk, never from a CDN.
-
The code is readable
Papyx is published under GPL-3.0. The absence of network requests is not a marketing promise: it is something you can go and read.
What is collected
Nothing. Papyx has no account, no telemetry, no install identifier, no update check. The app does not know you exist, and has no way to tell us.
What happens to your documents
They are read from where you point, transformed in memory, then written back where you point. Nothing is copied elsewhere, nothing is cached beyond the session, nothing is sent.
Passwords for protected documents are typed into the app, used to open the document, and forgotten along with it.
What this site does
This site is a set of static pages. It has no cookies, no analytics, no third-party scripts. Fonts are served from the same domain as the pages.
Download links point at GitHub releases: clicking one has your browser contact github.com, as any link would.
How to check
Papyx is published under GPL-3.0, complete source included. There is no HTTP client in the binary and no native command takes a URL; the app's content security policy is fixed in its configuration file.
If that is not enough: a firewall, or a network monitor, will confirm in seconds what this paragraph claims.
Three engines, and the split matters
This is not an implementation detail: it is what decides whether your document keeps its text.
-
pdf-lib
Structural edits
Pages, order, rotation, watermarks, numbers, metadata. Text stays text, vectors stay vectors.
-
pdf.js
Anything that needs rendering
Thumbnails, image export, compression, text extraction. Destructive by nature: compressing rasterizes the pages.
-
libheif
HEIC, and nothing else
Compiled to WebAssembly, loaded at the first HEIC file. It is the one image format a webview cannot read: it holds HEVC.
All of it inside a Tauri 2 shell: React 19 and Tailwind v4 in front, a little Rust behind, and a few megabytes of installer at the end.