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-1.0.1.tar.gz (31.5 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-1.0.1-py3-none-any.whl (38.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: secretscli_py-1.0.1.tar.gz
  • Upload date:
  • Size: 31.5 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-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ef2db1fdd8dcbfc2b33b5bb89da973b672fc3e761ead9ddeb123e60eb1deb4c7
MD5 fd70ce78068437e12ac71740067e291b
BLAKE2b-256 53d5dbe1dc4ece7b7d50fc9bd0653a1b6ded7c629fc86aed6e1caf318f08abeb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: secretscli_py-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 38.3 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-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a4409e4febdad8de378d58f3d6e5bd6f5e987d58e12f3801aed8e53d569f8640
MD5 a640facfef8e019502740ee78d81944a
BLAKE2b-256 c838fe46e961fa6e16401daf654034df8209727d8b6ac69453aaf64cf91eeca3

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