End-to-End Encrypted Transfer

P2P File Drop

Send files directly browser-to-browser with AES-256-GCM encryption. Your file content never touches any server.

Drag & Drop your file here

or click to browse from your device

Receive a File

Enter the connection code shared by the sender to establish a secure P2P link and receive the file directly.

AES-256 Encrypted

File data encrypted before transfer

Direct P2P Transfer

File goes browser-to-browser

Max Transfer Size

Detecting...

How It Works — Full Transparency

This Website: Fully static — hosted on GitHub Pages. No backend, no database, no server-side processing. All logic runs entirely in your browser.

File Content: Encrypted with AES-256-GCM using a key derived from the session code (PBKDF2 100k iterations). The encrypted data travels directly between browsers via WebRTC DataChannel (which adds another layer of DTLS encryption). No server ever sees your file.

Encryption Key: Derived from the session code you share — it never leaves your browser and is never sent to any server. Only someone with the exact code can decrypt the file.

!

Signaling (PeerJS Cloud): Since this is a static site, we use the free PeerJS public signaling server to broker the WebRTC handshake. It sees peer IDs and IP addresses, but never the file content. This server may have rate limits during high traffic — if connection fails, retry after a moment.

!

STUN Servers: WebRTC uses public STUN servers (Google, Cloudflare, Mozilla) for NAT traversal — they can see IP addresses but never file data. Multiple servers are configured for reliability.

Auto-Retry: Connection attempts include automatic retry with backoff (up to 2 retries) if the signaling server is temporarily unreachable.

Ko-fi