Send files.
Skip the cloud.
Private, post-quantum file transfer directly between your devices. No account. No size limit. Not one byte through Pike.
The product is the homepage.
Drop a file and create a direct, encrypted link between two browsers. This interactive demo runs the complete sender and receiver flow locally.
Drop any file here
or click to choose from your device
No upload. No size limit.Enter a tap code
Ask the sender for their three-word code.
YOUR TEMPORARY TAP CODE
Waiting for the other device…
VERIFY ON BOTH DEVICES
Safety code
Compare this code with the other device. If both match, no one is between your devices.
Transferring directly…
Encrypted pieces are moving browser to browser.
Introduced by Pike.
Carried by nobody.
The directory behaves like a disposable phone book, never a courier. It forgets the introduction as soon as your devices meet.
Choose a file
Pike encrypts it locally and prepares resilient coded pieces.
Share three words
A temporary tap code lets the receiving device find yours.
Transfer direct
The directory entry disappears. The file streams device to device.
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.
Hard to intercept. Easy to verify.
Multiple layers work together so privacy is an architectural property, not a promise.
POST-QUANTUM
Hybrid X25519 + ML-KEM-768 protects connections today and against future quantum computers.
HUMAN VERIFIED
A short safety code lets both people rule out an active person-in-the-middle.
RATELESS CODING
Recover the file from whichever coded pieces arrive, without waiting on missing packets.
Your network is the limit
Fast enough to disappear behind your connection speed, even for huge files.
Two commands.
One direct path.
Use Pike from macOS, Linux, or Windows. Local devices discover each other automatically; internet transfers use a disposable tap code.
curl -fsSL https://pike.sh/install | sh~ pike send holiday-film.mkv Preparing 8.42 GB file… ✓ Encrypted with XChaCha20-Poly1305 Share this tap code: orbit-coral-frost Waiting for receiver… Direct connection · 64% 612 MB/s
Inspect every layer.
Start quickly, understand the protocol deeply, or audit every line.
Don't trust. Verify.
Read the implementation. Audit the cryptography. Rebuild the protocol. Pike's behavior is available to inspect, not hidden behind a policy.
Explore the source ↗pike-core/ ├── crypto/ ├── transport/ ├── coding/ └── discovery/
In the open, end to end.
Every layer is auditable. Here's exactly what runs.
Frontend
- Astro 7.1.6
- Preact 10.29.8
- Pico CSS 2.1.1
- TypeScript strict —
- Vite (bundler) —
- Bun package manager
Cryptography
- ml-kem 0.2
- x25519-dalek 2.0.1
- chacha20poly1305 0.10.1
- blake3 —
- sha2 —
- wasm-bindgen 0.2.126
Transport
- WebRTC DataChannel —
- STUN-only ICE —
- 8 KB chunks —
- ACK flow control window 8
Signaling
- Rust workers-rs 0.8.5
- Cloudflare Workers —
- Tap-code directory short TTL
Integrity
- BLAKE3 Merkle root —
- SHA-256 file hash —
- 8-hex SAS MITM check
Hosting
- Cloudflare Pages site
- Cloudflare Workers signaling
- wrangler 4.x
Your file has one destination.
The other device. Nowhere else.