A secure, offline personal information manager with AES-256 encryption. Keep your sensitive data safe on your device without relying on cloud storage.
- 🔒 End-to-End Encryption: AES-GCM-256 encryption for all private data
- 📱 Progressive Web App: Install on your phone or desktop
- 🔐 PIN Protection: Secure access with PIN and lockout policy
- 💾 Local Storage: All data stays on your device using IndexedDB
- 📂 Multiple Categories: Cards, Net Banking, Accounts, and Notes
- 🔍 Smart Search: Fuzzy search across all your data
- 📤 Export/Import: Encrypted backups for data portability
- 🌐 Fully Offline: Works completely without internet
npm installnpm run devOpen http://localhost:3000 in your browser.
npm run buildThe production build will be in the dist folder.
npm run preview- PBKDF2 Key Derivation: 300,000 iterations with SHA-256
- AES-GCM-256: Authenticated encryption for all private data
- Lockout Policy: Exponential backoff after failed PIN attempts
- Auto-Lock: Automatic locking after inactivity
- Clipboard Security: Auto-clear clipboard after 2 minutes
- Web Crypto API: Uses browser's native cryptography
- React 18: Modern UI library
- TypeScript: Type-safe code
- Vite: Fast build tool
- Tailwind CSS: Utility-first styling
- Lucide React: Beautiful icons
- Fuse.js: Fuzzy search
- IndexedDB: Browser storage
- Web Crypto API: Encryption
- ✅ All data stored locally in your browser
- ✅ No external API calls
- ✅ No analytics or tracking
- ✅ No cloud storage
- ✅ No account required
- ✅ Open source and transparent
The easiest way to deploy Pocket is using Vercel:
- Install Vercel CLI
npm install -g vercel- Login to Vercel
vercel login- Deploy
# From your project directory
vercel
# For production deployment
vercel --prod- Push your code to GitHub:
git add .
git commit -m "Ready for deployment"
git push origin main- Go to vercel.com
- Click "Add New Project"
- Import your GitHub repository
- Vercel will auto-detect Vite settings
- Click "Deploy"
Your app will be live at: https://your-project-name.vercel.app
- Go to your project settings in Vercel
- Navigate to Domains
- Add your custom domain
- Update DNS records as instructed
✅ HTTPS Only: Vercel provides HTTPS by default
✅ No Server-Side Code: Static hosting means no server vulnerabilities
✅ Client-Side Encryption: All encryption happens in your browser
✅ No Backend: No database or API to compromise
✅ Local Storage: Data never leaves your device
✅ Security Headers: Configured in vercel.json
✅ Open Source: Code is auditable by anyone
You can also host this on:
- Netlify: Drag and drop the
distfolder or connect GitHub - GitHub Pages: Use GitHub Actions workflow
- Cloudflare Pages: Connect your GitHub repository
- Self-hosted: Copy the
distfolder to any web server
For all hosting options, ensure:
- HTTPS is enabled
- No server-side processing is added
- No analytics or tracking scripts are injected
MIT License - Feel free to use and modify as needed.
Contributions are welcome! Please feel free to submit a Pull Request.