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, and carries no size limit. 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. Once the connection opens, no file data goes back through it.

Direct

Direct. Straight across, most of the time.

Device to device, with no server carrying the file. There is no size limit, 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 TURN relay both devices can reach forwards encrypted packets it cannot read; 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 with WebRTC's DTLS. The keys exist only on the 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.