A secure encrypted secret store application providing both command-line and web interfaces for managing sensitive credentials across different profiles.
secret_store/
├── backend/ # Rails 7 API application
├── frontend/ # React TypeScript application
├── cli/ # Ruby CLI gem
├── docs/ # Documentation
└── scripts/ # Setup and deployment scripts
- Secure Secret Storage: All secrets encrypted with user passwords
- Command Line Interface: Bulk loading and individual secret management
- Web Interface: Modern React-based dashboard for secret management
- Profile Management: Separate profiles for different contexts (work, personal, etc.)
- API Access: Token-based authentication for application integration
- Multi-User Support: User isolation with separate encrypted stores
-
Backend Setup:
cd backend bundle install rails db:create db:migrate rails server -
Frontend Setup:
cd frontend npm install npm run dev -
CLI Setup:
cd cli gem build secrets.gemspec gem install secrets-*.gem
secrets set API_KEY abc123 company # Set a secret
secrets get API_KEY company # Get a specific secret
secrets list company # List all secrets in profile
secrets load company # Load all secrets as env vars
secrets profile create work # Create new profileNavigate to http://localhost:3000 and log in to manage secrets through the web dashboard.
- All secrets encrypted at rest using AES-256-GCM
- User passwords used as encryption keys with PBKDF2 key derivation
- Transport encryption handled by proxy layer
- Multi-tenant architecture with per-user SQLite databases
- Secure authentication with session and token-based access
See individual README files in each directory for detailed development instructions.
MIT License