How it works

A file, straight from one machine to another.

peeza doesn't upload your file to a server. It connects the two machines and streams the file across, encrypted end to end. Nothing stays on a server.

The path a file takes

A light native app drives a background engine that runs every transfer. The engine connects through a small relay, then sends directly when it can.

┌─────────────┐   localhost    ┌─────────────┐     signaling      ┌──────────────┐
│ Native app  │ ─────────────▶ │   engine    │ ◀────────────────▶ │ relay server │
│  (desktop)  │   token auth   │ (background)│  connection setup  │   (cloud)    │
└─────────────┘                └─────────────┘                    └──────────────┘
                                      │  ╔══════ direct peer-to-peer ══════╗
                                      └─ ║   or blind relay when blocked   ║ ─▶ other machine
                                         ╚═════════════════════════════════╝

The relay does signaling: it helps the two sides find each other. If a direct path is impossible, it forwards bytes it cannot read. It never stores a file.

01Why the relay can't read your files

Every transfer is encrypted. The key travels in the link, or sealed to the receiving device. The relay doesn't get it, with one exception, at your request. You trust our servers in two places: the web page that decrypts in a browser and the first key for a new device.

The key lives in the link, not our database

Your machine makes a key for each share and puts it in the link's fragment: g.peeza.app/7XK4M2QD#k=…. Browsers never send the part after # to a server. It stays on the two devices, which derive the AES-256-GCM transfer keys from it. The relay sees the room, not the key, unless you ask another of your devices for the link (§10.1). In a browser, our server delivers the page that reads the key (§10.2).

The relay keeps metadata, never file contents: your account, your devices and their public keys, one-time share links that expire after 48 hours, your teams with the names and sizes of their files, and a connected device's transfer list with file names, for your dashboard. IP addresses stay in memory: to connect devices, to rate-limit, and for up to 15 minutes when you connect a new device. Never written to disk, never logged. Details: our privacy policy and what the relay sees.

02Any size, constant memory

peeza streams. It never loads a whole file, so a 400 GB folder uses about as much memory as a 4 MB one.

03Resumable by default

Transfer state and partial downloads live on disk.

Close the window, quit the app, reboot. When both sides are back, the transfer resumes from the last byte written, not from zero.

04Staying direct

The relay is a fallback, not the default. Direct is faster and, for you, unlimited.

05One send, a whole team

A team is a standing group of people and their machines. Drop a file on the team and every member gets it, with the same encryption.

06Little to hold, by design

peeza never stores your files and cannot read them. It does process your account, your devices, your teams with the names of files shared there, and transfer metadata, on a relay in the United States. That is personal data, and privacy law applies. The full list is in the privacy policy.

Coming soon

← Back to home