Password Manager
Productivity · React + Node (Express) · 15 @molecule/* packages
1Password-like vault with encrypted credentials, password generator, and sharing — with built-in Stripe-backed subscription tiers
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (16)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Vault
/vault(signed in) - ItemDetail
/vault/:id(signed in) - NewItem
/vault/new(signed in) - Generator
/generator(signed in) - SharedVaults
/shared(signed in) - SecurityReport
/security(signed in) - Settings
/settings(signed in) - Notifications
/notifications(signed in) - Trash
/trash(signed in) - Profile
/profile(signed in) - SharedVaultDetail
/shared/:id(signed in)
Data model (10 tables)
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- password_history — id, item_id, user_id, created_at, updatedAt, password_hash, password_preview
- resource_tags — id, tagId, resourceType, resourceId, createdAt
- security_findings — id, owner_id, user_id, item_id, kind, severity, detected_at, dismissed, …
- tags — id, name, slug, color, description, createdAt, updatedAt
- two_factor_setups — id, user_id, method, secret_or_credentials, verified_at, created_at, updated_at, updatedAt
- vault_items — id, vault_id, owner_id, user_id, name, type, username, url, …
- vault_recovery_keys — id, user_id, recovery_kit, created_at, updatedAt
- vault_shares — id, vault_id, shared_by, shared_with_user_id, user_id, permission, created_at, accepted_at, …
- vaults — id, owner_id, user_id, name, description, icon, created_at, updated_at, …
API (8 handlers)
- generator
api/src/handlers/generator.ts - items
api/src/handlers/items.ts - password-history
api/src/handlers/password-history.ts - recovery-keys
api/src/handlers/recovery-keys.ts - security
api/src/handlers/security.ts - shares
api/src/handlers/shares.ts - two-factor
api/src/handlers/two-factor.ts - vaults
api/src/handlers/vaults.ts
Subscription tiers
free / pro / team — gated by: maxGenerator, maxItems, maxVaults, advancedFeatures, canExport, retentionDays
Built from 15 @molecule/* packages
@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-encryption-aes@molecule/api-entitlements@molecule/api-password-bcrypt@molecule/api-payments-stripe@molecule/api-resource-payment@molecule/api-resource-tag@molecule/api-resource-user@molecule/api-search-postgres@molecule/app-billing-react@molecule/app-command-palette-cmdk@molecule/app-keyboard-shortcuts-hotkeys@molecule/app-virtual-scroll-tanstack
Required secrets
DATABASE_URLPostgreSQL connection stringENCRYPTION_KEYMaster encryption key for vault data
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing