I wanted a simple way to move a file between two devices without installing an app, creating an account, or uploading it somewhere first.
So I built Iriszip.
Open the site on both devices, scan a QR code or enter the 9-digit pairing code, and send files or text directly from the browser.
On the same network, transfers can stay device-to-device and run at LAN speed. Across the internet, Iriszip tries a direct WebRTC connection first and falls back to a relay when a direct connection isn't possible. The relay only handles ciphertext.
No file or message content is persisted on the server. On relayed connections, encrypted data only passes through memory, and session state is discarded when the session ends.
The security side ended up becoming a much bigger part of the project than I originally expected. Iriszip uses end-to-end encryption, and the cryptographic protocol design went through an independent security review.
Everything is open source. The browser client is MIT-licensed, the crypto core is Apache-2.0, and the server is AGPL-3.0. The server can also be self-hosted with Docker Compose.
Try it: https://iriszip.com
Source: https://github.com/iris-zip/iris
This is still a solo project and it only recently went public. I'd especially like feedback from people working with WebRTC, cryptography, networking, privacy, or self-hosted software.
If you find something weird, manage to break something, or think part of the design could be better, I'd genuinely like to hear about it.


Top comments (0)