A zero-knowledge password manager built with React and MongoDB Realm.
CoilCrypt is a client-side encrypted password manager that stores your sensitive data securely. The application supports:
- Logins - Store and manage website credentials with automatic favicon fetching
- Secure Notes - Encrypted text notes with markdown support
- Credit Cards - Safely store payment card information
- Identities - Manage personal information profiles
- Password Generator - Built-in tool for generating strong passwords
- Cross-device Sync - MongoDB Realm sync keeps your vault synchronized across devices
- Zero-knowledge Architecture - All encryption happens client-side; the server never sees your unencrypted data
- Node.js 16+
- npm or yarn
- MongoDB Atlas account with Realm configured
# Install dependencies
npm install# Start the development server
npm start# Build for production
npm buildThe application will be available at http://localhost:3000
CoilCrypt uses a zero-knowledge architecture where all cryptographic operations occur in the browser. User data is encrypted client-side before being synchronized to MongoDB Realm, ensuring that even the database administrators cannot access your passwords or sensitive information.
I chose MongoDB Realm because it provides built-in synchronization between devices with minimal backend infrastructure. The flexible schema works well with the varied data types (logins, cards, notes, identities) while Atlas handles scaling and availability.
Zero-knowledge architecture ensures user privacy by design. All encryption and decryption happens in the browser using Web Crypto APIs, meaning the server only stores encrypted blobs. This eliminates the risk of server-side data breaches exposing sensitive credentials.