Building end-to-end encryption @excalidraw
summary
Excalidraw adds end-to-end encryption by encrypting JSON drawing blobs in the browser with AES-GCM and random 12‑byte IVs, exporting the key as a JWK string and placing it in the URL hash so the server stores only ciphertext. Implementation uses the Web Crypto API and Uint8Array, prepends the IV to the payload, and re‑imports the key on load. Project traction: repo hits 1.5K stars and ~12K active users within days, and the client‑side scheme works in modern HTTPS browsers.
AI-written summary · about
chapters (7)
- 0:00Start
- 1:28How this Project Was Started
- 5:30End-to-One Encryption
- 5:57How Encryption in General Works in Our Traditional Client Server Architecture
- 14:22Demo
- 16:54The Encrypt Api
- 22:12Decrypt Api
related talks
39mEncrypting Data in the Browser - Exploring Web Crypto APIs
34mEncrypting Data in the Browser - Exploring Web Crypto APIs
23mKeeping secrets with JavaScript
39mWeb Cryptography
23mProtecting Sensitive Data in Web Apps
50mBuilding Production-Grade End to End Encrypted App...
31mCreating Your Own Image Format in the Browser
57mBuild your own Secure Messenger
