Overview
How Floe works
Two devices, one line between them. A server makes the introduction and leaves. Most transfers go straight across. When a network blocks the way, the transfer can take a relay instead, capped at 2 GB per session.
Signaling
Signaling. The server introduces, then leaves.
It puts your two devices in a room and passes the offer, the answer, and each side's network addresses between them. None of your file data ever passes through it.
Direct
Direct. Straight across, most of the time.
Device to device, with no server carrying the file. Floe sets no size limit, but a receiving browser can only hold so much, and speed is whatever the slower of your two connections allows. The badge shows Direct with a green dot.
Relay
Relay. The detour, when the way is blocked.
A relay, a server both devices can reach, passes the encrypted data along without being able to read it; on floe.one that relay is Cloudflare's. The badge shows Relay with an amber dot.
Relay bandwidth costs money, so a relayed session is capped at 2 GB. The sender checks once, before any file data moves; exactly 2 GB passes.
On every route
Every transfer is encrypted end to end, so only the two devices can read it. The encryption is WebRTC's DTLS, with keys that exist only on those two devices, and no file is stored on any server. The browser, Floe Desktop for Windows, and the CLI all speak the same protocol.
Want the full technical detail?
Six pages take each stop on the line apart at depth, the known limitations included.