Send an encrypted file
Secure file transfer for sensitive documents. Your files are encrypted locally on your device (AES-256-GCM, 5 MB chunks) before they are uploaded as an encrypted container.
What zero-knowledge gives you
- Browser-side encryption before upload (zero-knowledge)
- Files up to 50 MB via a temporary one-time link
- Per-chunk integrity protection against tampering
- Optional expiry and recipient approval
How file encryption works in the browser
Files are encrypted the same way messages are, but in 5 MB chunks so that a large upload does not have to sit in memory all at once. Each chunk is encrypted with AES-256-GCM and bound to the container header and its own position using additional authenticated data.
That binding matters more than it sounds. It means a manipulated server cannot reorder, drop or swap chunks without the recipient's browser noticing during decryption. Either the whole file comes back intact, or the decryption fails — there is no partially valid state.
The ceiling is 50 MB per link. That is a deliberate limit rather than a soft one: beyond that size a dedicated transfer service is the better tool, and we would rather name the boundary than let an upload fail halfway through.
Frequently asked questions
How does the zero-knowledge file transfer work?
The file is encrypted in your browser. The decryption key stays in the URL after # and is never sent to the server, which only stores encrypted chunks.
Are my files safe on the server?
The server only stores encrypted data blocks. Without the local key from the URL the container cannot be decrypted.
Related pages
Open the secure app at pcpx.one and create your encrypted link.