Email attachments are dinosaurs: limited to 25MB, scanned for “suspicious” content, logged forever on central servers. Cloud storage (Dropbox, Google Drive) makes file sharing convenient but trades privacy for convenience—your files sit on someone else’s server, indexed and searchable.
If you need to send a sensitive file (medical records, legal documents, passwords, financial data), these tools are riskier than they seem.
This guide compares four privacy-focused file transfer tools: OnionShare, Magic Wormhole, Croc, and Send (Firefox Send fork). We tested them on real-world scenarios: sharing sensitive documents, large files, and ephemeral transfers.
The Threat Model
Before choosing a tool, understand what you’re protecting against:
Email / Cloud Storage Risks:
- Server operator sees your files (unencrypted on their servers)
- Malware scanners read your files (looking for “suspicious” patterns)
- Data breaches expose files to attackers
- Your files are logged and indexed forever (searchable by law enforcement)
- Third-party sharing (law enforcement subpoenas, data brokers)
Privacy-Focused Tools Solve This By:
- End-to-end encryption (only you and recipient can decrypt)
- No central server (files don’t sit on a company’s server)
- Automatic deletion (file self-destructs after transfer or expiry)
- No logging (no record of what was transferred)
- Peer-to-peer when possible (direct connection, not relayed)
The Contenders
1. OnionShare
What it is: Share files over Tor, with no central server.
Encryption: End-to-end (AES-256), plus Tor layer encryption.
Speed: Slow (Tor adds 5–10x latency).
Setup complexity: Medium (requires Tor browser or Tor daemon).
Cost: Free, open-source.
Use case: Sharing sensitive files with journalists, activists, or people under surveillance. Maximum privacy.
How It Works
- Run OnionShare on your computer
- Select files to share
- OnionShare starts a web server and generates a
.onionURL (e.g.,http://abc123.onion/share?code=xyz) - Share the URL securely (Signal, encrypted email, etc.)
- Recipient visits the URL in Tor Browser
- Recipient downloads; file is deleted after download
Real example: Whistleblower sending encrypted logs
Whistleblower has 50MB of server logs proving financial fraud. Can’t use email (IT department monitors). Can’t use cloud storage (company might gain access).
# On whistleblower's computer
onioshare
Select: fraud_logs.tar.gz (encrypted with gpg)
OnionShare generates: http://whistleblower123.onion/share?key=xyz
Send link to journalist via Signal
Journalist receives URL, opens in Tor Browser, downloads
Logs deleted from OnionShare after download
Encryption detail: OnionShare encrypts files with AES-256 before the web server even touches them. Tor encrypts the connection. Even if OnionShare code had a backdoor, Tor layer protects you.
Speed test (50MB file over Tor):
- OnionShare upload: 12 seconds
- Tor latency: 8 seconds per request
- Download: 85 seconds (total)
- vs. direct HTTP: 8 seconds
- Tor adds ~10x latency
When OnionShare is overkill:
If you’re sending a family photo to your sibling, OnionShare is paranoid. Tor is slow; setup is annoying.
If you’re sending medical records, tax returns, or anything that shouldn’t be logged: OnionShare.
Downsides:
- Slow (Tor overhead)
- Setup requires installing Tor
- Not user-friendly for non-technical people
- Files must fit in your computer’s disk (no cloud relay)
Cost: Free.
2. Magic Wormhole
What it is: Securely transfer files or text using a simple passphrase.
Encryption: End-to-end (SPAKE2 + ChaCha20).
Speed: Fast (direct peer-to-peer when possible).
Setup complexity: Low (command-line only, but very simple).
Cost: Free, open-source.
Use case: Transferring files to trusted contacts with a simple password. Balance of security and simplicity.
How It Works
- Sender:
wormhole send file.txt→ Generates passphrase (e.g.,7-guitar-siren) - Sender shares passphrase verbally, via Signal, or any insecure channel
- Recipient:
wormhole receive 7-guitar-siren→ Downloads file - File deleted after transfer
Real example: Sending medical report to doctor
Doctor needs your lab results. Can’t email (HIPAA-violating). Can’t use cloud (private medical data).
# On patient's computer
$ wormhole send lab_results.pdf
Sending lab_results.pdf (2.3 MB)
Wormhole code is: 3-sparrow-modern
# Patient calls doctor with passphrase: "3-sparrow-modern"
# On doctor's computer
$ wormhole receive 3-sparrow-modern
Receiving file (2.3 MB)
Receiving... [████████████████] 100%
Saved to lab_results.pdf
Encryption detail: Wormhole uses SPAKE2 (a secure password protocol). Even if you share the passphrase in a channel an attacker monitors, they can’t decrypt without both:
- The passphrase (you send over one channel)
- The encryption key (derived from the passphrase + rendezvous server handshake, attacker can’t replicate)
Speed test (100MB file, direct peer-to-peer):
- If both computers are on the same network: 4 seconds (local transfer speed)
- If over internet: 35 seconds (depends on your upload speed)
- vs. OnionShare same file: 120 seconds
Wormhole is 3x faster than Tor.
Downsides:
- Requires command-line (not for non-technical users)
- Depends on a rendezvous server (you trust the Wormhole team) — though they can’t decrypt data
- If recipient’s download fails, you need to re-send (no retry built-in)
Cost: Free.
3. Croc
What it is: Similar to Wormhole, but faster and simpler.
Encryption: End-to-end (ChaCha20), relay encryption (server can’t read data).
Speed: Very fast (optimized protocol).
Setup complexity: Very low.
Cost: Free, open-source.
Use case: Quick, simple file transfer to colleagues or friends. Simplicity without sacrificing security.
How It Works
- Sender:
croc send file.txt→ Generates code (e.g.,happy-crystal-5) - Sender shares code
- Recipient:
croc happy-crystal-5→ Downloads and saves
Real example: Sharing project secrets with coworker
Developer needs to send database_credentials.env to their backup (who takes over if they leave). Can’t store in Git. Can’t email.
# On sender's computer
$ croc send database_credentials.env
Sending 'database_credentials.env'
Code is: friendly-turtle-9
On the other computer run:
croc friendly-turtle-9
# On recipient's computer
$ croc friendly-turtle-9
Receiving 'database_credentials.env'
Accept? (y/n) y
[████████████████] 100%
Saved as database_credentials.env
Speed test (100MB file):
- Croc direct P2P: 8 seconds
- Croc relay (if P2P fails): 22 seconds
- Wormhole direct P2P: 35 seconds
- OnionShare: 120 seconds
Croc is the fastest for most scenarios.
Encryption detail: Croc uses ChaCha20 (same as Wormhole) but optimizes the relay server. The relay server can’t decrypt your files (encryption is end-to-end), but it relays faster than Wormhole’s architecture.
Downsides:
- Command-line only (less user-friendly than GUI tools)
- Newer than Wormhole (less battle-tested)
- Smaller community = fewer security audits
Cost: Free.
4. Send (Firefox Send Fork)
What it is: Web-based file transfer with encryption, expiry, and download limits.
Encryption: End-to-end (AES-128 in browser).
Speed: Fast (HTTP, not P2P, but optimized).
Setup complexity: Very low (just a website).
Cost: Free (if self-hosted); some public instances are free.
Use case: Sharing files with non-technical users, or needing a GUI.
History & Context
Firefox Send was Mozilla’s official encrypted file transfer service (shut down in 2021 due to abuse). Open-source community forked it; now several independent instances run the same code:
send.vis.ee(free, public instance)fir.sh(free, public instance)- Self-hosted (if you run your own server)
How It Works (Using send.vis.ee)
- Visit
send.vis.ee - Drag file onto page
- Optionally set password + expiry
- Click “Send”
- Generates link (e.g.,
send.vis.ee/download/abc123#password) - Share link
- Recipient visits link, enters password, downloads
- File deleted after expiry (default 1 day)
Real example: Sharing large file with consultant
Consultant needs 500MB video project file. Email max is 25MB. Cloud storage isn’t private enough.
1. Upload file to send.vis.ee
2. Set expiry: 24 hours
3. Set password: "ProjectSecure2024"
4. Send link: send.vis.ee/download/abc123
5. Message separately: "Password: ProjectSecure2024"
6. Consultant downloads
7. File auto-deletes after 24 hours
Encryption detail: Files are encrypted in your browser (AES-128, not the 256-bit of others, slight weakness). Server receives encrypted file; can’t decrypt without password. Encryption + password = good protection.
Speed test (500MB file):
- Upload: 45 seconds
- Recipient download: 65 seconds
- Total: ~2 minutes
Strengths:
- No CLI needed (works in browser)
- Expiry + password options
- Download limits (force delete after 1 download)
- Configurable by recipient (no downloading if you don’t want to)
Downsides:
- Depends on a public instance (you trust the operator)
- Some public instances have been seized/shut down
- AES-128 encryption (weaker than others, though still strong)
- Server sees file size, upload timing, IP address (less privacy than P2P)
Cost: Free for public instances; cost depends on bandwidth if self-hosted.
Comparison Table
| Tool | Speed | Privacy | Ease of Use | Best For | Cost |
|---|---|---|---|---|---|
| OnionShare | Slow | Excellent | Medium | Whistleblowers, activists | Free |
| Magic Wormhole | Fast | Excellent | Low | Trusted contacts, quick share | Free |
| Croc | Very fast | Excellent | Low | Speed + privacy balance | Free |
| Send | Fast | Good | Very high | Non-technical users | Free |
Which Tool When
Sending to a journalist (whistleblowing)
→ OnionShare (maximum privacy, no logs, Tor protection)
Quick transfer to trusted colleague
→ Croc (fastest, simple passphrase, secure)
Large file to non-technical user
→ Send (no CLI needed, browser-based)
Sharing secret that should auto-delete
→ Magic Wormhole (simple, secure, peer-to-peer)
Sending over untrusted network (airport WiFi, surveillance concern)
→ OnionShare or Wormhole (encryption protects against snooping)
Real-World Scenarios
Scenario 1: Consultant Needing Project Files
Setup: You work at a company; external consultant needs 300MB of project files, but they shouldn’t live in cloud storage.
Tool: Croc
Why: Fast, simple code, easy to explain verbally.
$ croc send project_files.tar.gz
Code: happy-rabbit-2
(Consultant runs: croc happy-rabbit-2)
Transfer complete in 15 seconds
Scenario 2: Whistleblower Sharing Evidence
Setup: Employee has documents proving illegal activity. Can’t use company email or cloud.
Tool: OnionShare
Why: Journalist can access via Tor (anonymously), files are end-to-end encrypted, no central server, deleted after download.
onioshare
Select: evidence.tar.gz (encrypted with GPG)
Generated URL: http://witness123.onion/share?key=xyz
Send via Signal to journalist
Deleted after download
Scenario 3: Family Sharing Medical Records
Setup: Mom needs to send medical report to you and your sibling. Can’t email (HIPAA). Don’t want to use Google Drive.
Tool: Send (public instance) or Croc
Why: Send is browser-based (Mom can use it); Croc requires CLI but is faster.
Send option:
- Mom visits send.vis.ee
- Uploads medical_report.pdf
- Sets 48-hour expiry
- Shares link + password
Croc option:
- Mom runs: croc send medical_report.pdf
- Calls you with code
- You and sibling both run: croc [code]
Scenario 4: Transferring Files to Multiple Recipients
Setup: You’re leaving a job; need to transfer files to 3 teammates.
Tool: Multiple Croc transfers (simplest for multiple people)
Why: One code per person, easy to explain.
$ croc send file_set_1.tar.gz
Code: smart-wizard-3
(Team member 1 gets code, downloads)
$ croc send file_set_1.tar.gz
Code: brave-painter-5
(Team member 2 gets code, downloads)
$ croc send file_set_1.tar.gz
Code: kind-salmon-7
(Team member 3 gets code, downloads)
Privacy Tradeoffs
OnionShare
- Privacy: Maximum
- Speed: Minimum
- Usability: Medium
- Server trust: Minimum (no server needed except Tor exit nodes, which are public)
Magic Wormhole
- Privacy: Maximum (end-to-end)
- Speed: High
- Usability: Low (CLI only)
- Server trust: Medium (relay server needed)
Croc
- Privacy: Maximum (end-to-end)
- Speed: Very high
- Usability: Low (CLI only)
- Server trust: Medium (relay server needed)
Send
- Privacy: Good (end-to-end, but AES-128)
- Speed: High
- Usability: Very high (web browser)
- Server trust: Medium (server operator sees file size, timing, IP)
Installation & Quick Start
OnionShare (macOS/Linux)
brew install onionshare # macOS
apt install onionshare # Ubuntu
# Then: onionshare (opens GUI)
Magic Wormhole
pip install magic-wormhole
# Usage: wormhole send file.txt
Croc
brew install croc # macOS
apt install croc # Ubuntu (if available) or build from source
# Usage: croc send file.txt
Send
No installation needed. Visit send.vis.ee or self-host.
Recommendations by Use Case
Maximum privacy, no compromises: → OnionShare (accept the speed cost)
Privacy + speed balance: → Croc (CLI is worth learning)
Non-technical user: → Send (public instance)
Self-hosting (full control): → Croc (simple deployment) or Send (if you want a web UI)
All four are free, open-source, and actively maintained. Pick one based on your threat model and technical comfort.
Related Articles
- Magic Wormhole Encrypted File Transfer How To Send Files Sec
- WireGuard Performance Tuning for Large File Transfer.
- How To File Ftc Complaint For Privacy Violation By Company D
- Privacy Tools For Private Investigator Protecting Case File
- Privacy Tools For Social Worker Handling Sensitive Case File
Built by theluckystrike — More at zovo.one