About WebSend
A secure, end-to-end encrypted photo transfer app designed for environments where data privacy is paramount. Photos never leave your device unencrypted, and only the intended recipient can decrypt them, no middleman, not even the server, ever has access.
Tech Stack
- Frontend: Vanilla HTML, CSS, JavaScript (no frameworks)
- Transport: WebRTC peer-to-peer data channels
- Encryption: ECDH key exchange + AES-GCM (Web Crypto API)
- Signaling: Express.js server (SDP relay only)
- QR Codes: qrcode.js / jsQR
- TURN Relay: coturn (fallback when direct P2P fails)
Security
- Photos are encrypted before leaving your device
- The server only relays connection metadata (SDP)
- Keys are generated fresh for each session
- Fingerprint verification prevents MITM attacks
Credits
Built with Claude Code (AI-assisted development).
Source code on GitHub (AGPLv3)
Third-Party Libraries
- qrcode.js v1.5.1, QR code generation (MIT)
- jsQR v1.4.0, QR code scanning (Apache-2.0)
- client-zip, ZIP export (MIT)
- scribe.js-ocr v0.10.1, OCR engine (AGPL-3.0)
- Express.js, server-side HTTP framework (MIT)
All client-side libraries are vendored directly in the repository (no CDN at runtime). All licenses are compatible with AGPL-3.0.