Each upload encrypts client-side with a fresh AES-256-GCM key in the STREAM construction (1 MiB chunks). The storer only ever sees ciphertext. Files of any size work — uploads stream over a WebTransport bidi stream.
Shape: /#<blob_id><key> — both 28+44 base58 chars
concatenated. Browsers never send fragments to the server, so the key
stays in the browser. Keep the link in messengers / private channels.