SecretsCLI is a lightweight command-line interface tool for securely managing and retrieving your secrets across devices. With an intuitive login system, it ensures your sensitive information such as API keys, passwords, and other private data remains protected while being easily accessible from any environment. Designed for simplicity and security, SecretsCLI allows seamless integration with your development workflow.
Project description
SecretsCLI
Secure, simple secrets management for developers
Stop sharing .env files over Slack.
The Problem
We've all been there:
- "Hey, can you send me the database credentials?"
- "Which
.envfile is the latest one?" - "I just set up a new laptop and now I need to ask everyone for secrets again"
Sharing secrets through Slack, email, or sticky notes is a mess. It's insecure, hard to track, and honestly just annoying.
What SecretsCLI Does
It's simple: one command to pull all your secrets, anywhere.
pip install secretscli-py
secretscli login
secretscli project use my-app
secretscli secrets pull
That's it. Your .env file is ready. No asking around. No digging through old messages.
How It Works
- You store secrets once - encrypted, in the cloud
- Your team pulls them anywhere - new laptop, CI/CD, staging server
- Server never sees plaintext - zero-knowledge encryption
No more "which version is correct?" - there's one source of truth.
Getting Started
First Time Setup
New to SecretsCLI? Here's how to get started:
pip install secretscli-py
# Create your account
secretscli init
# Create a project for your app
secretscli project create my-app
# Add your secrets
secretscli secrets set DATABASE_URL=postgresql://... API_KEY=sk_live_...
# Or if you already have a .env file, just push it
secretscli secrets push
Setting Up a New Machine
Already have an account? Just pull your secrets:
pip install secretscli-py
secretscli login
# Connect to your project
secretscli project use my-app
# Pull all secrets
secretscli secrets pull
# Done - your .env is ready
Creating a Project in a Specific Workspace
Want to create a project in a team workspace instead of your personal one?
# See all your workspaces
secretscli workspace list
# Switch to the workspace you want
secretscli workspace switch "Backend Team"
# Now create your project - it goes into the selected workspace
secretscli project create api-service
Team Collaboration
Got a team? Here's how to share secrets securely:
# Create a team workspace
secretscli workspace create "Backend Team"
# Invite your teammates
secretscli workspace invite alice@company.com
secretscli workspace invite bob@company.com
# Create a shared project
secretscli project create shared-api
# Your teammates just need to:
pip install secretscli-py
secretscli login
secretscli project use shared-api
secretscli secrets pull
# They now have all the secrets
Everyone in the workspace gets the same secrets. When you update something, they get it on their next pull.
Security (the boring-but-important part)
- Zero-knowledge - API never sees your plaintext secrets
- End-to-end encryption - X25519 + Fernet (industry standard)
- Your keys, your control - stored in your system keychain
We can't read your secrets even if we wanted to.
Full Documentation
- Command Reference - Every command explained
- Developer Guide - Contributing, testing, architecture
Other Languages
This is the Python implementation, but SecretsCLI can be built in any language - Go, Rust, JavaScript, whatever you prefer.
If you want to create an implementation in another language:
- Open an issue with the title "New Language Implementation: [Language]"
- We'll create an official repository under our org
- You build it, we help maintain it
This keeps all implementations organized and gives contributors proper credit.
Requirements
- Python 3.9+
- Internet connection
Contributing
Found a bug? Got an idea? PRs are welcome.
Check out CONTRIBUTING.md to get started.
Links
If this saves you time, consider giving it a star. It helps others find it.
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file secretscli_py-1.0.0.tar.gz.
File metadata
- Download URL: secretscli_py-1.0.0.tar.gz
- Upload date:
- Size: 30.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.6.87.2-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ac79f63e991435fb3bc888ed457d4093f2d11ffcd85527d51a82feade6aaf34
|
|
| MD5 |
2cc2cffea2752b1f27211eaa28e717a8
|
|
| BLAKE2b-256 |
898464b021e9aa6a0084c89af0d614c7576013913fbeb8b7857b531895423fe6
|
File details
Details for the file secretscli_py-1.0.0-py3-none-any.whl.
File metadata
- Download URL: secretscli_py-1.0.0-py3-none-any.whl
- Upload date:
- Size: 36.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.6.87.2-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8f6f7eba90577cbb608efa09ccb4c98ead65a01cc3c6779a44c879e1be2e08c
|
|
| MD5 |
db11653c64a1791a699fb9ca3f73fa85
|
|
| BLAKE2b-256 |
e5e92eed155c20fa5f58749c724acb81c9fd6d698c559c886a031fb9ed5f699e
|