{"_id":"@air_raza/envsecure","name":"@air_raza/envsecure","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@air_raza/envsecure","version":"1.0.0","description":"Securely share .env files with your team using encrypted short codes. Zero setup, zero accounts, just works.","main":"src/index.js","bin":{"envsecure":"src/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["env","dotenv","secrets","sharing","cli","security","devtools","encryption","zero-knowledge","team-collaboration"],"author":"","license":"MIT","dependencies":{"axios":"^1.6.0","chalk":"^4.1.2","commander":"^11.0.0","dotenv":"^16.0.0","ora":"^5.4.1"},"engines":{"node":">=14.0.0"},"_id":"@air_raza/envsecure@1.0.0","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-cN3+Yz4RXHjmLyCJv3LCDj0XIwEzKZBU8+SGCKGUSlf15yjNfxy9w9Ovur7lbc5ae/VQLZAajNr4KIxfzej6gw==","shasum":"3350ab574633f99c17482ce4d60da9bfc478247e","tarball":"https://registry.npmjs.org/@air_raza/envsecure/-/envsecure-1.0.0.tgz","fileCount":11,"unpackedSize":22947,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHWZ9kIvXMJtajkSULrGhHrQiNUgiHIP6RLTdvO9ykQXAiEApOc4pLa2B6nrAcFTsn68Cmj/NQDOCakrdvzpWLp7Iwc="}]},"_npmUser":{"name":"air_raza","email":"webdevolopmentbyar@gmail.com"},"directories":{},"maintainers":[{"name":"air_raza","email":"webdevolopmentbyar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/envsecure_1.0.0_1771962475637_0.41209975563178114"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-24T19:47:55.556Z","1.0.0":"2026-02-24T19:47:55.789Z","modified":"2026-02-24T19:47:55.977Z"},"maintainers":[{"name":"air_raza","email":"webdevolopmentbyar@gmail.com"}],"description":"Securely share .env files with your team using encrypted short codes. Zero setup, zero accounts, just works.","keywords":["env","dotenv","secrets","sharing","cli","security","devtools","encryption","zero-knowledge","team-collaboration"],"license":"MIT","readme":"# envsecure\n\n[![npm version](https://img.shields.io/npm/v/envsecure.svg)](https://www.npmjs.com/package/envsecure)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)\n\n> Securely share .env files with your team using encrypted short codes. **No setup, no accounts, just works.**\n\n## 🎯 What Problem Does This Solve?\n\nSharing `.env` files over WhatsApp, Slack, or email is a security nightmare. **envsecure** solves this by:\n\n- ✅ **Zero-knowledge encryption** - The server never sees your decryption key\n- ✅ **Short, shareable codes** - Easy to share: `ENV-X7K2-9QMZ#<key>`\n- ✅ **Auto-expiration** - Files automatically expire after a set time\n- ✅ **One-time use option** - Burn codes that delete after first download\n- ✅ **Zero setup** - No accounts, no configuration, just works\n- ✅ **Free forever** - Powered by free tier services\n\n## 🚀 Quick Start\n\n### Installation\n\n```bash\nnpm install -g envsecure\n```\n\nOr use with `npx` (no installation needed):\n\n```bash\nnpx envsecure <command>\n```\n\n### That's It! No Setup Required\n\n```bash\n# Share your .env file\nnpx envsecure push\n\n# Your teammate downloads it\nnpx envsecure pull ENV-X7K2-9QMZ#<decryptionKey>\n```\n\n**No accounts, no configuration, no hassle.** Just works out of the box.\n\n## 📖 Commands\n\n### `envsecure push [file]`\n\nUpload and encrypt a `.env` file (or any file).\n\n**Options:**\n- `[file]` - File to encrypt (default: `.env`)\n- `--ttl <hours>` - Time to live in hours (default: 24, max: 168)\n- `--burn` - Delete after first download (one-time use)\n\n**Examples:**\n```bash\n# Push default .env file\nnpx envsecure push\n\n# Push a specific file\nnpx envsecure push .env.production\n\n# Push with 48-hour expiration\nnpx envsecure push --ttl 48\n\n# Push as one-time use (burn after download)\nnpx envsecure push --burn\n\n# Combine options\nnpx envsecure push .env.staging --ttl 72 --burn\n```\n\n**Output:**\n```\n✅ Your env has been shared!\n\n╔════════════════════════════════╗\n║ Code: ENV-X7K2-9QMZ            ║\n║ Expires in: 24 hours           ║\n╚════════════════════════════════╝\n\nShare this command with your teammate:\nnpx envsecure pull ENV-X7K2-9QMZ#a3f9bc2d...\n```\n\n### `envsecure pull <code>`\n\nDownload and decrypt a `.env` file using a share code.\n\n**Options:**\n- `-o, --output <file>` - Output file name (default: `.env`)\n\n**Examples:**\n```bash\n# Pull to default .env file (always quote the code!)\nnpx envsecure pull \"ENV-X7K2-9QMZ#a3f9bc2d...\"\n\n# Pull to a specific file\nnpx envsecure pull \"ENV-X7K2-9QMZ#a3f9bc2d...\" -o .env.production\n```\n\n**Important:** Always quote the code when using it in the terminal, as the `#` character has special meaning in shells.\n\n**Note:** If the output file already exists, you'll be prompted to confirm overwrite.\n\n### `envsecure delete <code>`\n\nManually delete a shared env code.\n\n**Example:**\n```bash\nnpx envsecure delete ENV-X7K2-9QMZ\n```\n\n### `envsecure --version` or `envsecure -v`\n\nDisplay the current version.\n\n### `envsecure --help` or `envsecure -h`\n\nDisplay help information.\n\n## 📚 Complete Usage Guide\n\nFor detailed usage instructions, examples, and troubleshooting, see [USAGE.md](USAGE.md).\n\n## 🔒 Security\n\n### Zero-Knowledge Architecture\n\n**envsecure** uses a zero-knowledge encryption model:\n\n1. **Encryption happens locally** - Your `.env` file is encrypted on your machine using AES-256-GCM\n2. **Key never leaves your control** - The decryption key is **never** sent to or stored on the server\n3. **Only encrypted data is stored** - The server only stores the encrypted blob, which is useless without the key\n4. **Key travels with the code** - The decryption key is appended to the share code after `#` (e.g., `ENV-XXXX-XXXX#<key>`)\n\n### What This Means\n\n- ✅ Even if the server is compromised, your data is unreadable without the key\n- ✅ Even if the server operator is malicious, they can't decrypt your secrets\n- ✅ The server has zero knowledge of your `.env` contents\n- ✅ All data auto-expires, nothing is stored permanently\n- ✅ Rate limiting and file size limits protect against abuse\n\n### Best Practices\n\n- Share codes through secure channels (encrypted messaging, password managers)\n- Use `--burn` flag for sensitive one-time shares\n- Set appropriate TTL based on your needs\n- Never commit `.env` files to git (use `.gitignore`)\n\n## 🏗️ Architecture\n\n**envsecure** uses a hosted backend architecture:\n\n- **CLI** → Your hosted API (Cloudflare Worker) → Your Upstash Redis\n- Users don't need accounts or configuration\n- You control rate limiting, file size limits, and abuse prevention\n- Free tier handles hundreds of users per day\n\n### For Package Maintainers\n\nIf you want to host your own backend, see the `backend/` directory for:\n- Cloudflare Worker implementation\n- Rate limiting and validation\n- Deployment instructions\n\nThe backend is open source and you can deploy it yourself if you prefer.\n\n## 📋 Requirements\n\n- Node.js >= 14.0.0\n- That's it! No other dependencies or accounts needed.\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- Built with [Commander.js](https://github.com/tj/commander.js) for CLI\n- Backend powered by [Cloudflare Workers](https://workers.cloudflare.com/)\n- Storage powered by [Upstash Redis](https://upstash.com/)\n- Encryption powered by Node.js built-in `crypto` module\n\n## 💬 Support\n\nFound a bug or have a feature request? [Open an issue](https://github.com/yourusername/envsecure/issues)!\n\n---\n\n**Made with ❤️ for developers who care about security**\n","readmeFilename":"README.md","_rev":"1-b30089e7cc9d54b56be60fc03dcff7e3"}