You send.
Run pike send file. Get three words.
Private, post-quantum file transfer directly between your devices. No account. No size limit. Not one byte through Pike.
…The directory behaves like a disposable phone book, never a courier. It forgets the introduction as soon as your devices meet.
Run pike send file. Get three words.
They type the three words. That's it.
The file goes straight through. No server. No cloud. No middleman.
The file path never includes us.
If a direct connection cannot be made, Pike stops. It never silently falls back to a server that carries your file.
Multiple layers work together so privacy is an architectural property, not a promise.
Hybrid X25519 + ML-KEM-768 protects connections today and against future quantum computers.
A short safety code lets both people rule out an active person-in-the-middle.
Recover the file from whichever coded pieces arrive, without waiting on missing packets.
mDNS discovery + SAS confirmation. On LAN, just run pike send. Done.
Drop a file and create a direct, encrypted link between two browsers. The post-quantum handshake, AEAD streaming, SAS confirmation, and hash verification all run in the open — from the same Rust code as the CLI, compiled to WASM.
—We couldn't read or carry your file even if we wanted to.
Use Pike from macOS, Linux, or Windows. Local devices discover each other automatically; internet transfers use a disposable tap code.
cargo install pike-transfer$ pike send movie.mkv Tap code: tunnel-gem-spark Waiting for receiver… $ pike tunnel-gem-spark SAS 6eed027b — same on your screen? [y/N] y ████████████████████████████████ 100% Done. Direct connection. No server touched it.
Yes — X25519 + ML-KEM-768 hybrid key exchange, then every chunk is encrypted with XChaCha20-Poly1305. Keys exist only on your devices.
No. The exchange is a phone book: code → address, with a 5-minute TTL. It never sees your file, your keys, or your plaintext.
Pike stops and tells you honestly. It never silently falls back to a server that carries your file.
No. Files stream chunk by chunk from device to device.