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.