P2P Direct — WebRTC
Peer-to-peer file transfer
Send directly device-to-device. Nothing is stored on FileShot servers.
Send device-to-device
Status: idle
Share the link with the other device. When they open it, you'll connect automatically.
Drop files to send
Transfer starts after the peer connects.
No transfer yet.
Chat
Peer-to-peer (sent over the same encrypted WebRTC channel).
Chat connects when the peer connects.
Direct Connection
WebRTC creates a peer-to-peer tunnel. Files travel straight from sender to receiver with no middleman.
Zero Server Storage
Nothing is ever written to FileShot servers. The signaling channel only brokers the connection, not the data.
DTLS Encrypted
The WebRTC data channel is automatically encrypted with DTLS. Even network operators cannot read the transfer.
When to use P2P
- Quick transfers when both devices are online at the same time.
- Best when you don't need a permanent link.
- Maximum privacy: FileShot only helps connect you — it never receives the file.
Both tabs must stay open. Some strict NAT/firewalls may block direct connections.
When to use Upload (Zero-Knowledge)
- You want a shareable link that works later.
- The receiver can download even if you're offline.
- Better reliability for huge files (resumable, stored encrypted).
Zero-knowledge encryption means FileShot stores only encrypted blobs. The key stays client-side.
Important notes (so nobody gets surprised)
- Not —unlimited— in practice: browser memory and connection stability matter. For very large files, P2P may fail or require both devices to stay open for a long time.
- NAT traversal: most connections work using STUN, but some networks require a TURN relay. If FileShot provides TURN, we may incur bandwidth costs.
- No permanent link: if the receiver opens the link later and you're offline, it won't work. Use a regular FileShot upload for that.
How Peer-to-Peer Transfer Works
WebRTC establishes a direct encrypted tunnel between two devices. Files travel straight from sender to receiver without ever touching our servers. The connection is end-to-end encrypted with DTLS.