Skip to main content

Files and media

Pombo moves files two ways, and you choose per file from the attach menu: Storage or P2P.

StorageP2P
Travels overThe channel's stored streamThe ephemeral stream, peer to peer
Sender must stay onlineNoYes, at least one seeder
Available forThe channel's retention periodWhile someone is seeding
Leaves a trace in storageYesNo
Size limitPractically unbounded, in chunks of about 240 KB500 MB per file

Use Storage for anything people should be able to grab later, and for images in DMs. Use P2P to push something big to people who are online right now.

What happens on send

Storage: the file is split into chunks, published across nine partitions, verified as stored, and only then announced in the chat. A receiver can start any time.

P2P: a pull-based swarm, in spirit like BitTorrent. Receivers request pieces and anyone holding pieces serves them, with a hash check on each one. Seeded files stay in a local cache, capped at 700 MB, for up to 7 days.

In private channels

Both transports are sealed with the same key that protects messages, so storage nodes and the network carry ciphertext either way. A new member receives every key the channel still retains, so older files open for them exactly like older messages, as long as the chunks are still in storage.

Uploads follow the channel's identity on the wire: sealed, the chunks travel under the shared publish key and the network cannot tell who uploaded; visible, your account signs every chunk.

In DMs, file content is sealed end-to-end like the messages themselves.

Managing transfers

Transfers in progress live in the notification bell, and completed downloads save automatically. You can pause and resume on both transports. Storage downloads can also be cancelled, which discards what was fetched, while a pause keeps it. When you stop seeding a file, the bytes stay as an inactive record you can re-seed later; deleting them is a separate, explicit action.