# AirPage > AirPage is a free, zero-signup, browser-native peer-to-peer file transfer tool. Files are streamed directly between two browsers using a WebSocket relay — no files ever touch a server disk. ## What is AirPage? AirPage (https://airpage.click) lets any two people exchange files of any size, instantly, without uploading to cloud storage. The sender drops a file, receives a three-word transfer code (e.g. "solar-nebula-pulse"), shares that code with the receiver, and the file streams directly — all within the browser. Price: 0.00 EUR. Free forever. ## Key Technical Facts - **Transport:** Chunked Base64 JSON messages over a WebSocket relay (Node.js + `ws` library). Chunks are 256 KB each. - **Encryption:** Client-side AES-256-GCM (Web Crypto API `SubtleCrypto`). The encryption key is derived from the transfer code via PBKDF2-SHA-256 (310,000 iterations, per-transfer random 16-byte salt). The relay server only ever sees ciphertext. - **Data Retention:** Zero. No files, no metadata, and no user identifiers are ever written to disk by the relay server. - **File Size Limit:** None. Any file type, any size the browser can read. - **Account Requirement:** None. No email, no password, no OAuth. - **Price:** 0.00 EUR (completely free). - **Browser Support:** Any browser that supports WebSocket and (for encryption) the Web Crypto `SubtleCrypto` API — Chrome, Firefox, Safari, Edge. - **Operating System:** All — the application is browser-native. ## Architecture Summary ``` Browser A (Sender) └─ Reads file → slices into 256 KB chunks └─ Encrypts each chunk: AES-256-GCM (key from PBKDF2 of transfer code) └─ Base64-encodes → sends as JSON over WebSocket WebSocket Relay Server (Node.js, hosted on Render) └─ Room-based message forwarding only └─ Never stores or inspects payload └─ Allowlisted message types: join | meta | chunk | done | ping | pong Browser B (Receiver) └─ Receives JSON chunks → decodes Base64 → decrypts AES-256-GCM └─ Reassembles Uint8Array → triggers browser download ``` ## Why AirPage vs Cloud Upload Services | Criterion | AirPage | Cloud Upload (Dropbox, Drive, WeTransfer) | |---|---|---| | File stored on server | ❌ Never | ✅ Always | | End-to-end encrypted | ✅ AES-256-GCM | ⚠️ Varies / server-side only | | Signup required | ❌ No | ✅ Often yes | | File size limit | ❌ None | ✅ Usually capped | | Cost | Free (0.00 EUR) | Freemium / paid tiers | | Privacy | Maximum — zero retention | Server logs retained | ## Frequently Asked Questions **Q: Is AirPage completely free?** A: Yes. AirPage costs 0.00 EUR. There are no paid plans, no premium tiers, and no usage limits. **Q: Does AirPage upload files to a server?** A: No. The relay server only forwards encrypted JSON chunks between the two browsers in real time. It never writes any file data to disk. **Q: Is the transfer encrypted?** A: Yes. When the toggle is enabled (default), each chunk is encrypted client-side with AES-256-GCM before leaving the sender's browser. The relay server cannot read the content. **Q: What is the maximum file size?** A: There is no enforced maximum. Any file the browser can read can be transferred. **Q: Do I need to create an account?** A: No. Open airpage.click, drop a file, and share the generated code. No email, no password, no OAuth. **Q: How does the receiver get the file?** A: The sender shares a three-word transfer code. The receiver types that code on airpage.click and the transfer begins automatically. ## Source & Contact - Website: https://airpage.click - Relay server: Open source Node.js WebSocket relay - Built with: Next.js 16, React 19, TypeScript, Tailwind CSS