About Senddfile

Senddfile is a peer-to-peer (P2P) file transfer tool. In the current architecture, file content and names travel between browsers through a WebRTC DataChannel; they are not stored by Senddfile.

How it works, technically

P2P transfers on the web use WebRTC, a standard technology built into modern browsers. For two browsers to connect, they first need to exchange some network information — address, connection configuration, route candidates. This exchange is called signaling.

On Senddfile, signaling happens via Firebase Firestore: the session uses temporary documents to exchange this information, including during a possible reconnection.

File content and names are not stored in Firestore. In the current architecture, they flow through the WebRTC DataChannel between the two browsers.

What we see (and what we don't)

During signaling, the following data passes through our Firestore:

  • WebRTC connection metadata (SDP and ICE candidates), which describes how the browsers should connect and may include network addresses — not the file content.
  • The short transfer code (callId), used by the other side to find the session.

The infrastructure does not receive the file name or content and does not keep a personal history of what you transferred. We keep aggregated usage metrics and limited technical records for operation and diagnostics; see the privacy policy.

The honest trade-off

Because content is not hosted for later download, both sides must be online at the same time during the transfer. Closing the tab can interrupt it. This is the main trade-off of not storing the file in the service.

How to use it

To send a file

  1. Open the transfers page and drop the file you want to send (or click to pick one).
  2. Senddfile shows a short code (and a QR code). Share it with whoever is receiving — copy, the share sheet, or scanning the QR.
  3. Keep the tab open. The transfer starts after the other side joins, reviews the file details, and accepts it.

To receive a file

  1. Open the transfers page and paste the code you were given (or scan the QR with your phone's camera to open the link).
  2. Start receiving, review the file's name and size, then click "Accept".
  3. Every browser receives the file in memory. When it finishes, Senddfile tries to start the download; your browser may use its configured folder or ask where to save it.

Frequently asked questions

How is the content protected? Can you see my files?

WebRTC encrypts content in transit and sends it through the DataChannel between browsers. Senddfile does not store the file content or name. To keep the transfer secure, share the code only with the intended recipient.

Is there a file size limit?

Every web browser receives the file in memory. The preventive limit is 300 MiB on mobile and 1 GiB on desktop; it reduces memory pressure but does not measure free RAM or guarantee success.

Which browsers work?

Any modern browser with WebRTC: Chrome, Edge, Firefox, Safari, and their mobile versions. The app tries to start the download when the file is complete; the browser decides whether to use its configured folder or ask where to save it.

Why does a transfer sometimes fail to connect?

Some restrictive networks (corporate, symmetric NAT) block direct connections. We only use public STUN for now, with no TURN relay. Switching networks, turning off a VPN, or trying mobile data usually helps.

Is it free? Is there a catch?

The current web service is free and does not host file content. The infrastructure processes the signaling and operational data needed to establish, monitor, and diagnose transfers.

Guides for choosing and using direct transfer

Review the practical limits and understand the connection before you start:

Contact

Questions, bug reports, or feedback? Reach out and we'll get back to you.

omtrix.contact@gmail.com