English | 简体中文
End-to-end encrypted note synchronization — AES-256 encryption, 12-word mnemonic recovery, real-time collaboration via WebSocket.
- E2E Encryption — AES-256-GCM, keys never leave the client
- Mnemonic Recovery — BIP39-style 12-word seed phrase for key backup
- Real-Time Sync — WebSocket-based instant synchronization
- Offline Support — Local-first with conflict resolution on reconnect
- Markdown Editor — Rich text editing with live preview
- Multi-Device — Sync across browsers/devices via mnemonic
- Frontend: React 18 + TypeScript + Tailwind CSS
- Backend: Express + Socket.IO
- Encryption: Web Crypto API (AES-256-GCM)
- Storage: IndexedDB (client) + SQLite (server)
# Install dependencies
npm install
# Start development
npm run dev
# Build for production
npm run build- Generate or Import a 12-word mnemonic phrase
- Derive encryption key from mnemonic using PBKDF2
- Create/edit notes — encrypted locally before sync
- Real-time sync — encrypted blobs transmitted via WebSocket
- Multi-device — import same mnemonic on another device to decrypt
- Keys derived client-side from mnemonic, never sent to server
- Server only stores encrypted blobs — zero-knowledge architecture
- AES-256-GCM with unique IV per encryption operation
MIT License