VaultX is a full-stack, state-of-the-art password manager designed with privacy and security at its core. It features a stunning React dashboard, a dedicated Chrome Extension for seamless autofill, and a robust Firebase backend.
VaultX operates on a strict Zero-Knowledge Architecture, ensuring that your data is encrypted on your device before it ever leaves your browser. Not even the server administrators can read your passwords.
👉 Live Demo 👈
- Zero-Knowledge Encryption: AES-256-GCM client-side encryption guarantees only you have the keys.
- Master Password Security: Bcrypt hashing with high cost-factors.
- Two-Factor Authentication (2FA): Fully supports TOTP authenticator apps (Google Authenticator, Authy, etc.).
- Chrome Extension Integration: Intelligent URL detection and secure credential autofill across all your websites.
- Password Generator: Instantly create complex, cryptographically secure passwords with customizable character sets.
- Security Audit Dashboard: Real-time detection of duplicate passwords, old credentials, and compromised accounts.
- Premium UI/UX: Designed with a sleek dark-mode, glassmorphism elements, and buttery smooth micro-interactions.
- Frontend Environment: React.js, Vite, TailwindCSS
- Backend API: Node.js, Express.js
- Database Engine: Firebase Firestore (NoSQL)
- Deployment & Hosting: Firebase Hosting
- Authentication: Custom JWT (JSON Web Tokens) with Refresh Token Rotation
- Extension: Manifest V3 Chrome Extension architecture
Follow these steps to run VaultX locally on your machine.
VaultX relies on Firebase for its database. You will need to create a Firebase project and obtain the Service Account credentials.
- Go to Firebase Console and create a new project.
- Navigate to Project Settings > Service Accounts.
- Click Generate new private key and download the JSON file.
- Rename the downloaded file to
firebase-config.jsonand place it directly inside thebackend/directory. (Note: This file is ignored by.gitignoreto prevent accidental leaks).
The Node.js server handles authentication validation and database operations.
- Navigate to the backend directory:
cd backend - Install necessary NPM packages:
npm install
- Set up your environment variables:
Edit the
cp .env.example .env
.envfile and provide strong cryptographic strings for your JWT secrets. - Start the development server:
The API will be live at
npm run dev
http://localhost:5000.
The React application powers the user interface.
- Navigate to the frontend directory:
cd frontend - Install dependencies:
npm install
- Launch the application:
The dashboard will be available at
npm run dev
http://localhost:3000(orhttp://localhost:5173).
- Open Google Chrome and navigate to
chrome://extensions/. - Toggle on Developer mode in the top right corner.
- Click Load unpacked and select the
extensionfolder from this project directory. - Usage: Simply log in to the VaultX web dashboard. The extension will automatically sync your secure session, allowing you to seamlessly autofill credentials on external sites.
For a detailed breakdown of our security protocols, encryption algorithms, and vulnerability reporting procedures, please read our comprehensive SECURITY.md.
WARNING: Never commit your
.envorfirebase-config.jsonfiles to public version control. Ensure all environment secrets are rotated before deploying to a production environment.
This project is open-source and intended for educational and personal use. The developers assume no liability for data loss or security breaches. Please see the SECURITY.md file for more details.
Developed with ❤️ by Shaurya Tiwari
Support Contact: tiwarishaurya395@gmail.com