Nucc/secret_store

Sharing secrets and terminal environment variables among devices.

★ 0Forks 0RubyGitHub ↗Compare

README

Secret Store

A secure encrypted secret store application providing both command-line and web interfaces for managing sensitive credentials across different profiles.

Project Structure

secret_store/
├── backend/          # Rails 7 API application
├── frontend/         # React TypeScript application
├── cli/             # Ruby CLI gem
├── docs/            # Documentation
└── scripts/         # Setup and deployment scripts

Features

  • 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

Quick Start

  1. Backend Setup:

    cd backend
    bundle install
    rails db:create db:migrate
    rails server
  2. Frontend Setup:

    cd frontend
    npm install
    npm run dev
  3. CLI Setup:

    cd cli
    gem build secrets.gemspec
    gem install secrets-*.gem

Usage

CLI Commands

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 profile

Web Interface

Navigate to http://localhost:3000 and log in to manage secrets through the web dashboard.

Security

  • 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

Development

See individual README files in each directory for detailed development instructions.

License

MIT License

Contributors

Nucc

Issues