Via StreamSaver.js or experimental showSaveFilePicker().
Note: Safari doesn’t support streaming browser-generated data directly to disk (no File System Access API, and service-worker downloads aren’t truly streamed). Libraries must buffer the whole file in memory, which can exhaust RAM for large files. That’s why a safeguard blocks processing over 500 MB on Safari. On iOS safari, even smaller files can cause crashes.
| File | Operation | Size | Download | Notes |
|---|
Notes: Encrypted files include a self-describing header (scheme, params, salt, etc.). Decryption uses this embedded header automatically. You only need the passphrase.