Inspiration
The inspiration behind CryptMyPassword stems from the need for an open-source password manager that not only stores credentials but also raises the security standard.
What it does
- Secure Password Generation: Quantum entropy for maximum security
- Auto-Save: Automatically save passwords when you register/login on websites
- Breach Detection: Check passwords against HIBP (Have I Been Pwned) database
- Multi-Device Sync: Synchronize passwords securely across your devices
- Smart Detection: Automatically detects password fields and registration forms
- Refined UX: Features one-click clipboard copying, visibility toggles, and an intuitive management dashboard for total control over your digital identity.
- Extension client: To interact with websites.
- Mobile client: To list your passwords from another view.
How we built it
- Frontend (Extension): WebExtensions API for cross-browser compatibility (Chrome & Firefox).
- Backend: FastAPI (Python) for high-speed asynchronous communication.
- Database: MongoDB for flexible storage of encrypted credentials.
- Mobile: Developed with Kotlin to bring password management to mobile devices.
- Security: Integration of Quantum Randomness APIs and HIBP’s k-Anonymity model for private breach checking.
Challenges we ran into
Our biggest hurdle was device discovery. Ensuring two devices could find each other and synchronize securely without a centralized middleman required a dive into network protocols. We eventually implemented a robust system using multicast and P2P communication to allow seamless syncing within local networks.
Accomplishments that we're proud of
- Quantum Integration: Successfully bridged complex quantum randomness APIs into a practical, everyday consumer tool.
- P2P and multicast Synchronization: Built a functional peer-to-peer discovery engine that handles device handshakes without compromising user privacy.
What we learned
We gained in-depth knowledge about handling modern cryptography in the browser and the importance of user experience (UX) in security tools. We also managed secure communication between content scripts and background workers in browser extensions. Device discovery was...
- Security vs. UX: We discovered that a security tool is only as good as its ease of use. If the interface is clunky, users will revert to unsafe habits.
- P2P Communication: Building a device discovery system taught us the intricacies of local networking—specifically how to help devices "find" each other securely without a middleman.
- Modern Crypto: We gained hands-on experience implementing industry-standard encryption libraries within the constraints of a browser environment.
What's next for CryptMyPassword
- Improved Onboarding: Refining the installation and setup process for non-technical users.
Log in or sign up for Devpost to join the conversation.