Skip to main content

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.

PyPI version Python Version License: MIT


The Problem

We've all been there:

  • "Hey, can you send me the database credentials?"
  • "Which .env file 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

  1. You store secrets once - encrypted, in the cloud
  2. Your team pulls them anywhere - new laptop, CI/CD, staging server
  3. 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


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:

  1. Open an issue with the title "New Language Implementation: [Language]"
  2. We'll create an official repository under our org
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

secretscli_py-0.1.0.tar.gz (29.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

secretscli_py-0.1.0-py3-none-any.whl (35.7 kB view details)

Uploaded Python 3

File details

Details for the file secretscli_py-0.1.0.tar.gz.

File metadata

  • Download URL: secretscli_py-0.1.0.tar.gz
  • Upload date:
  • Size: 29.6 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

Hashes for secretscli_py-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c24f5ec6d9a51f319c161e88642a606386f567a3b2e806aa87e91d1c22bf9674
MD5 a855974b76cdbaef13c1f1889c5e927d
BLAKE2b-256 af475fb14d84e4d93776bf3a1728ee7b27ea49e354d11be2304f066724f7359f

See more details on using hashes here.

File details

Details for the file secretscli_py-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: secretscli_py-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 35.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

Hashes for secretscli_py-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9bc126f0f7cb628276832ca5efaf6ea00ae484b28c86786d27b678197b33f325
MD5 67a04f4c691322fdca5168bbba0eed99
BLAKE2b-256 36c859586e6468c73956ea2348617dffdfa39621ecef63a95a14ec563890de7b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page