A secure, offline-first desktop application for managing environment variables across multiple projects. Built with Electron, React, and modern web technologies.
- π Secure Encryption - AES-256-GCM encryption for all environment variables
- π₯οΈ Desktop Application - Native cross-platform desktop app (Windows, macOS, Linux)
- π Project Management - Organize variables by projects
- π€ Import/Export - Support for .env and JSON formats
- π Copy Between Projects - Easily duplicate configurations across environments
- π Audit Logging - Track all changes to your environment variables
- π Dark Theme - Beautiful dark-themed UI
- π Master Password - Single password to access all your secrets
- πΎ Offline First - All data stored locally, no cloud required
- Node.js 20 or higher
- npm (comes with Node.js)
# Clone the repository
git clone https://github.com/curiouscoder-cmd/ENV_Storage.git
cd ENV_Storage
# Install dependencies
npm install
# Generate Prisma client
npx prisma generate
# Run in development mode
npm run electron:dev# Build for your platform
npm run electron:build
# The built application will be in the dist folder- Launch the application
- Create a master password (remember this - it cannot be recovered!)
- Start creating projects and adding environment variables
- Click "New Project" to create a project
- Select a project from the sidebar to view its variables
- Delete projects by clicking the delete icon
- Click "Add Variable" to create a new environment variable
- Toggle visibility to show/hide values
- Copy values to clipboard with one click
- Edit or delete variables as needed
Export:
- Click "Export .env" or "Export JSON" to download your variables
- Choose the format that suits your needs
Import:
- Click "Import" button
- Upload a .env or JSON file, or paste content directly
- Choose to skip or overwrite existing variables
- Comments in .env files are preserved as descriptions
- Select variables using checkboxes
- Click "Copy to Project (N)" button
- Choose target project
- Toggle overwrite mode if needed
- Review and confirm
- Electron 38 - Desktop application framework
- Node.js 20+ - Runtime environment
- Prisma ORM - Database management
- SQLite - Local database
- Node.js Crypto - AES-256-GCM encryption
- React 19 - UI framework
- Vite 7 - Build tool and dev server
- Ant Design 5 - UI component library
- Tailwind CSS 4 - Utility-first CSS
- shadcn/ui - Additional UI components
- Lucide React - Icon library
- All environment variables are encrypted using AES-256-GCM
- Master password is hashed using PBKDF2 with 100,000 iterations
- Data is stored locally in an SQLite database
- No data is sent to any external servers
- Encryption keys are derived from your master password
ENV_Storage/
βββ electron/ # Electron main process
β βββ main.js # Application entry point
β βββ preload.js # IPC bridge
β βββ ipc-handlers.js # Backend handlers
β βββ crypto.js # Encryption utilities
β βββ database.js # Prisma client
βββ src/ # React frontend
β βββ components/ # React components
β βββ lib/ # Utility functions
β βββ assets/ # Static assets
βββ prisma/ # Database schema
β βββ schema.prisma # Prisma schema
βββ public/ # Public assets
Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run linting (
npm run lint) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Electron
- UI powered by Ant Design
- Icons from Lucide
- Database management with Prisma
- π« GitHub Issues
- π¬ GitHub Discussions
- π§ Email
This project participates in Hacktoberfest! Check out the official Hacktoberfest site for contribution ideas and guidelines.
Made with β€οΈ by the ENV Storage Manager team