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.

A line runs from You to Them. Two thin spurs rise from each device and meet at the signaling server above them: it introduces the two devices and then takes no further part, carrying no file data itself. The direct line runs straight across, labeled Direct, with no size limit from Floe. A dotted second path dips through a relay and rejoins at Them, labeled Relay, and is 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.