Choose a file and optional share password. The browser first
hashes the whole original file, then encrypts and uploads one
16 MiB plaintext block at a time. Memory use stays bounded;
the final block may be smaller. Empty files have one
authenticated 28-byte encrypted block.
Pause or refresh without clearing site data. Select the
original file again to resume: Parcel checks its entire
SHA-256, rather than trusting its name or size. Completed
blocks stay in R2; retries use fresh nonces. The browser must
retain its local upload key and the task must remain valid.
Copy the complete share link, including #k=…, and
send the optional password separately. Keep a copy of the
link. On the share page, use “Back up / import local share
keys” to export a small encrypted key backup with a separate
passphrase of at least 12 bytes. Import it before managing
passwords on another browser. An administrator session alone
cannot recover missing keys or filenames.
The recipient unlocks the file locally and downloads
authenticated ciphertext blocks into this browser’s IndexedDB.
After reception, “Save decrypted file” verifies, decrypts, and
streams the original file to disk; it never builds one
whole-file Blob. Refreshing can resume from complete cached
blocks. Repeated requests in the same valid download session
do not consume another download qualification.
Allow space for both the temporary ciphertext and final file,
roughly twice the file size plus headroom. Browser storage
quotas, private mode, device free space, download permissions,
and storage eviction can limit large files. Long-term storage
permission is optional and does not block reception. Keep the
page open while saving; clear its local resume cache after
confirming the file is saved.
Keys in the creating browser’s site data are not protected
against someone who controls that browser. Back them up before
clearing site data or changing devices. Losing all local keys,
complete links, and backups is unrecoverable by the server.
Earlier unencrypted Worker shares are not compatible and must
be uploaded again; the upgrade does not delete existing D1 or
R2 data. Go and origin-backed Pages remain separate, non-E2EE
modes.