skillfed

credstash

A utility for managing secrets in the cloud using AWS KMS and DynamoDB

credstash v1.17.1 490.2K downloads/30d#6,371 on PyPI2,063
Permissive license Apache2 Abandoned released

What it is and what it does

CredStash is a credential management tool that integrates AWS KMS (for key encryption) and DynamoDB (for credential storage) to securely store, version, and distribute secrets across your infrastructure. It wraps each secret with a unique data encryption key encrypted by your KMS master key, then stores both the encrypted secret and wrapped key in DynamoDB. When you retrieve a secret, CredStash fetches the encrypted credential and key from DynamoDB, decrypts the key via KMS, and uses it to decrypt the secret.

The tool is designed for teams that want a lightweight, AWS-native alternative to dedicated secret-management systems. It supports versioning (so you can rotate credentials by creating new versions), encryption context (for audit trails and fine-grained access control via KMS policies), and simple CLI operations (put, get, list). However, the project has been abandoned since 2022 with no active maintenance, so it may not be compatible with current AWS SDK versions or modern Python environments without manual updates.

Use it for:

  • Store database passwords and API keys in DynamoDB, encrypted by KMS, for retrieval during application bootstrap.
  • Rotate credentials by creating new versions of a secret and updating client code to fetch the latest version.
  • Audit credential access by associating encryption context with secrets and reviewing KMS CloudTrail logs.
  • Distribute secrets to multiple servers or containers by having them fetch from the same DynamoDB table using shared KMS permissions.
  • Manage TLS/SSL certificates and private keys with fine-grained access control via KMS Key Policy conditions.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

CredStash stores and retrieves secrets using AWS KMS for encryption and DynamoDB for storage, providing a simple credential management system for applications and infrastructure.

No—the project is abandoned (last release April 2020, last commit February 2022) and likely incompatible with current AWS SDK and Python versions. For new projects, use AWS Secrets Manager or Parameter Store instead. Only consider it for legacy systems already running CredStash that cannot be migrated.

Install

credstash on PyPI

pip

pip install credstash

uv

uv add credstash

poetry

poetry add credstash

Installing credstash

Before you install

Low install friction on macOS and Windows; Linux requires build tools and development headers for the cryptography dependency (libssl-dev, libffi-dev, build-essential on Debian/Ubuntu; gcc, libffi-devel, openssl-devel on Fedora/RHEL). Project is abandoned as of 2022, with no releases since April 2020.

License in practice

Licensed under Apache 2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions—suitable for most organizational contexts.

Quickstart

pip install credstash

import credstash

# Requires AWS credentials and KMS key setup
secret = credstash.getSecret(name='myapp.db.prod')

AWS credentials must be configured (environment variables, ~/.aws/credentials, or IAM role); a KMS key named 'credstash' and a DynamoDB table must exist; on Linux, build tools and libssl-dev/libffi-dev headers required before pip install.

Verify before relying

  • Current compatibility with modern versions of boto3 and cryptography, given the project's abandonment in 2022.
  • Whether the package works with current AWS API versions and DynamoDB behavior.
  • Support status for Python versions beyond those tested during active maintenance.

Package facts

License Apache2 (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 2 — cryptography, boto3
Maintenance abandoned — 2,316 days since the last release
Last repo commit
First released
Downloads 490,159/month — #6,371 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: credstash-1.17.1-py3-none-any.whl

Intended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: Apache Software License

Tags

AWS secret managementKMS credential storageDynamoDB secretscredential rotationencrypted secret distributionAWS credential managementsecret versioning
aws-integrationsecret-managementabandoned

More Security packages

SecretStorage

Provides Python bindings to the FreeDesktop.org…

permissive · top 1,000 on PyPI

msal

MSAL for Python handles OAuth2 and OpenID…

permissive · top 1,000 on PyPI

joserfc

joserfc implements JOSE standards (JWS, JWE,…

permissive · top 1,000 on PyPI

Authlib

Authlib provides a complete implementation of…

permissive · top 1,000 on PyPI

argon2-cffi-bindings

Provides low-level CFFI bindings to the…

permissive · top 1,000 on PyPI

adal

ADAL for Python authenticates applications with…

permissive · top 1,000 on PyPI

aws-cdk.aws-secretsmanager

AWS CDK construct library for provisioning and…

permissive · top 15,000 on PyPI

docker-pycreds

Provides Python bindings to interact with…

permissive · top 5,000 on PyPI

aws-encryption-sdk-cli

Command-line tool to encrypt and decrypt files…

permissive · top 15,000 on PyPI

dynamodb-encryption-sdk

Encrypts and decrypts DynamoDB items…

permissive · top 15,000 on PyPI

aws-encryption-sdk

Encrypts and decrypts data using AWS KMS keys…

permissive · top 5,000 on PyPI

aws-cdk.aws-kms

Provides AWS CDK constructs for defining and…

permissive · top 15,000 on PyPI

infisicalsdk

Fetch and manage secrets from Infisical, an…

unclear · top 5,000 on PyPI

infisical-python

Provides a Python SDK to retrieve secrets and…

unclear · top 15,000 on PyPI

aws-secretsmanager-caching

Caches AWS Secrets Manager secrets in-process…

permissive · top 5,000 on PyPI

ssm-parameter-store

Wrapper for AWS Systems Manager Parameter Store…

permissive · top 15,000 on PyPI