WebRTC without the jargon
How P2P file transfer works
P2P means devices attempt to create a direct path to each other. In Senddfile, WebRTC provides that browser channel; the server helps set up the connection but does not store the file content.
Transfer with P2PWhat P2P means here
After sender and receiver join the same session, their browsers negotiate a WebRTC connection. When the network allows it, file bytes travel through the DataChannel from one peer to the other.
Two stages, two kinds of data
1. Signaling through the server
Firestore exchanges SDP, ICE candidates, and the temporary code needed to establish the session.
2. Content through the DataChannel
The name, control metadata, and file bytes travel between browsers; neither the name nor the content is stored in Firestore.
Encrypted in transit with DTLS
WebRTC protects the DataChannel during transmission with DTLS. This protects content along the network path, but the code should still be shared only with the intended recipient.
What Senddfile can observe
The infrastructure uses technical data to connect devices, monitor transfer state, and diagnose problems. It may include network and browser information, timing, and byte counts, but operational and diagnostic records do not include the file name, file content, or transfer code.
Read the privacy policyLimits of the direct model
- Both devices must stay online throughout the transfer.
- With no storage, there is no later download after the sender leaves.
- Receiving uses memory: 300 MiB on mobile and 1 GiB on desktop are preventive limits.
- Without TURN, some corporate networks, VPNs, and restrictive NATs can block the connection.
When P2P is a good fit
Choose P2P
When both people are online, want to avoid sign-up, and do not need the file hosted for later access.
Choose storage
When the recipient needs to download later, several people need the same file, or a direct connection is not possible.