Encrypted File Transfer
End-to-End encrypted · P2P · no server storage
⚠️ Important Note
Files aresent directly from your device to the recipient's devicetransferred (Peer-to-Peer). Bothdevices must be online simultaneouslyand the page must remain open on both ends. If a page is closed or connection lost, transfer fails. With TURN servers active on both sides, data can be sent via server. Only private Stun and Turn servers are used.
🔒 Security notes
• ECDH P-256for key exchange – session key never leaves the browser
• AES-GCM 256-bitfor file encryption with a random IV per file
• Optional password sent viaPBKDF2 (100,000 iterations)derived and combined with ECDH via HKDF
• The server acts only as a signaling relay (WebRTC handshake) – No file storage
• Sessions expire automatically after 15 minutes
🔬 Technical details (for the curious)
Key exchange (ECDH):Both sides generate an ephemeral Elliptic-Curve Diffie-Hellman key pair (Curve P-256). Public keys are exchanged via the server. From the shared secret (Shared Secret), aHKDF-SHA-256256-bit AES key is derived. The private key never leaves the browser.
Password protection (optional):If a password is set, one is derived from it viaPBKDF2-SHA-256 (100,000 iterations)a 256-bit key is derived and bytewise XORed with the ECDH shared secret before HKDF is applied. Without the correct passwordandthe ECDH connection, no decryption is possible.
File encryption (AES-GCM):Each file is encrypted with a random 96-bit IV (Nonce) viaAES-256-GCMencrypted. GCM provides both confidentiality and authenticity – tampered data is detected and rejected.
Data transmission (WebRTC DataChannel):The encrypted data are sent over aWebRTC DataChanneltransmitted directly between browsers (P2P). The server only sees WebRTC signaling messages (SDP-Offer/Answer and ICE-Candidates), never the file contents. WebRTC uses DTLS and SRTP internally for transport encryption – files are thus doubly protected.
Session & signaling:The server holds the session exclusively in RAM (no database writing). After 15 minutes of inactivity, the session is automatically dropped. The code consists of 6 random characters (alphabet excluding ambiguous characters like O/0/I/l), resulting in ~109possible combinations.
Secure Peer-to-Peer File Sharing
Our Encrypted File Transfer tool utilizes WebRTC technology to establish a direct peer-to-peer connection between your device and the recipient's device. Instead of uploading files to a central cloud, data moves directly from one user to another. To begin, you simply select your files and generate a unique code. The recipient enters this code to initiate a secure link. This method ensures high-speed transfers while maintaining a private communication path that keeps your information away from third-party servers.
Advanced Encryption and Privacy
Security is a primary focus of this tool. Files are transferred end-to-end encrypted (AES-GCM) directly between devices (WebRTC) and never pass through our server in plain text – the server only mediates the connection setup (signaling). This architecture ensures that your data remains private because it does not reside on any central storage. By utilizing ECDH for key exchange, we provide a robust layer of protection during the entire transmission process between you and the recipient.
Frequently asked questions
Is my file encrypted during the transfer?
Yes, every file is protected using industry-standard AES-GCM encryption. Because the system uses a peer-to-peer architecture, your data is encrypted before it leaves your device and remains encrypted until it reaches the recipient's device, ensuring that no unauthorized parties can intercept or read your information during the transmission process.
Does the server store my files?
No, our servers do not store your files. The system works by establishing a direct connection between two devices via WebRTC. While our server helps coordinate and mediate the initial connection setup (signaling), the actual file data never touches our infrastructure in plain text or is stored on any external storage.
How do I share files with someone else?
To share a file, select your documents and generate a unique code. Provide this code to the recipient. They must enter the code into our tool to establish a direct peer-to-peer connection. Once connected, they can download the files directly from your device using the secure WebRTC data channel.