Command line tool for Keeper Secrets Manager
Project description
Keeper Secrets Manager CLI
The Keeper Secrets Manager command line interface
For more information see our official documentation page https://docs.keeper.io/secrets-manager/secrets-manager/secrets-manager-command-line-interface
Change History
1.3.0
- Feature: KSM-800 - OS-native keyring storage for CLI configuration
- New profiles store configuration in the OS keyring by default (macOS Keychain, Windows Credential Manager, Linux Secret Service)
- Existing
keeper.iniprofiles continue to work without migration - Added
--ini-fileflag to opt into explicit file-based storage - Added
keyringas an optional dependency:pip install keeper-secrets-manager-cli[keyring]
- Fix: KSM-814 -
--ini-fileflag now respected by all profile and config subcommands:profile list,profile active,profile export,profile import,profile init,profile setup;config show,config color,config cache,config record-type-dir,config editor - Fix: KSM-691 - keeper.ini now written with owner-only permissions (0600)
- Breaking: KSM-799, KSM-817 - Minimum Python raised from 3.7 to 3.10
- Breaking: KSM-817 - boto3 is now an optional dependency; AWS sync users must install the
[aws]extra:pip install keeper-secrets-manager-cli[aws] - Dependency: Updated keeper-secrets-manager-core to >=17.2.0 and keeper-secrets-manager-helper to >=1.1.0
- Security: KSM-761 - Fixed CVE-2026-23949 (jaraco.context path traversal vulnerability)
- Fix: Updated prompt-toolkit from ~=2.0 to >=3.0 (fixes dependency resolution conflicts)
- Fix: KSM-804 - Warn on stderr when keyring is active but empty and a keeper.ini file exists at CWD or standard locations, including hint to use
--ini-file - Fix: KSM-805 - SHA-256 integrity hash now persisted as a separate Keychain entry and verified on every load; tampered entries raise a
KsmCliIntegrityExceptionwith a clear recovery hint - Fix: KSM-810 - Added
ksm profile delete <name>command; fixed keyring storage to clear the active profile pointer when the active profile is deleted, preventing a broken state on subsequent invocations - Fix: KSM-702 - Record create payload now always includes
custom: []; previously the key was silently omitted when no custom fields were set - Fix: KSM-815 - Profile name is now validated before redeeming the one-time token; invalid names (containing whitespace or exceeding 64 characters) are rejected immediately, preventing the token from being consumed on a failed init
- Fix: KSM-818 -
ksm shellno longer crashes on any command when click>=8.2 is installed; pinned click-repl to <0.3.0 (0.3.0 incompatible with click>=8.2) - Fix: KSM-820 -
ksm secret get --jsonnow outputs custom fields under"custom"key (was"custom_fields"), matching the canonical V3 record format used by Commander and the Keeper Vault - Fix: KSM-828 - Unit tests no longer write mock data to the real system keyring; added
KeyringConfigStorage.is_availablemock to all tests that callProfile.init()as scaffolding (secret_test.py,exec_test.py,secret_inflate_test.py) - Fix: KSM-829 - Profile name validation before OTT redemption now uses the same strict pattern as keyring storage (
[a-zA-Z0-9_-]{1,64}); previously the early check allowed path-traversal characters and special characters through, consuming the one-time token before the stricter validator fired - Fix: KSM-831 -
--ini-fileno longer fails withMissing import dependencies: boto3for non-AWS profiles;AwsConfigProviderimport is now deferred to theawsstorage branch in_load_config, so users without the[aws]extra are unaffected - Fix: KSM-832 - removed lkru utility integration;
is_available()now correctly returnsFalsewhenkeyringis not installed or no Secret Service daemon is running, falling back tokeeper.inifile storage in both cases
1.2.0
- KSM-649 Added AWS KMS JSON support for sync command
- KSM-465 Implemented ksm interpolate command for shell built-in compatibility
1.1.7
- KSM-668 Restored ? command to cli
1.1.6
- KSM-558 Fixed crashes with mutually required options in shell mode
- KSM-567 Added KSM_CLI_TOKEN environment variable
- KSM-568 Removed dependency on legacy distutils
- KSM-644 Added delete-attachment option
- Bumping KSM SDK to 17.0.0 and helper module to 1.0.6
1.1.5
- Bumping KSM SDK to 16.6.5
1.1.4
- KSM-507: Added
ksm secret deletecommand - KSM-508: Added search by title to
ksm secret listcommand - KSM-509: Added
ksm folder ...commands
1.1.3
- KSM-496: Added upload file option
- KSM-495: Added query option to ksm secret list command
- KSM-494: Added folder support to secret list command
- KSM-493: Added CLI options to update title and notes
- KSM-492: Added clone option
- KSM-485: Added sub-folder support to ksm secret add command
1.1.1
- KSM-429 - Add
--profile-nametoksm profile importcommand
1.1.0
- KSM-395 - New feature to load configurations from AWS Secrets Manager
1.0.17
- KSM-392 - Ability to update fields where the label is a blank string (
"") - Pinned KSM Core version to 16.5.1
1.0.16
- KSM-362 - Synchronize secrets to GCP
- Dropped support for Python 3.6 (EOL 2021-12-23)
1.0.15
- Update pinned KSM SDK version. The KSM SDK has been updated to use OpenSSL 3.0.7 which fixes CVE-2022-3602, CVE-2022-3786.
1.0.14
- Accept JSON via the KSM_CONFIG environmental variable. K8S secrets will show up as JSON in the environmental variable.
- Add
--rawparameter tosecret getcommand. When using--querythis flag will remove the double quotes around the value, if a string. - Add
synccommand to sync Vault secrets to AWS and Azure secret managers.
1.0.13
- For the Windows and macOS application create the keeper.ini file in the user's "HOME" directory.
1.0.12
- Fix problem with the same temp file being opened when exporting profile. Was causing a
Permission deniederror.
1.0.11
- Fix missing linefeed when selecting
immutablefor k8s token init.
1.0.10
- Prevent keeper.ini from being created when using config from environment variables.
- Fixed problem with params that use '=' from converting the value to lowercase.
- Throw exception is record(s) do not exist for
get
1.0.9
- Fixed environment variables starting with "keeper", that are not notation, from throwing an error.
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 keeper_secrets_manager_cli-1.3.0.tar.gz.
File metadata
- Download URL: keeper_secrets_manager_cli-1.3.0.tar.gz
- Upload date:
- Size: 78.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e72c088258174ee1b86d486a82cdc02b117d6c1196d51b7edea273752d87bdfd
|
|
| MD5 |
bfac8063055010074e59d71a36df4e8e
|
|
| BLAKE2b-256 |
513c3537be6f5c8270288bdebf3951001a1792453a758c5fb57b4c9c240ea632
|
File details
Details for the file keeper_secrets_manager_cli-1.3.0-py3-none-any.whl.
File metadata
- Download URL: keeper_secrets_manager_cli-1.3.0-py3-none-any.whl
- Upload date:
- Size: 82.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec9463cc0e368bd0d6b652f80d57f9e8b75083240ce15737d34c3f8bd6d2265d
|
|
| MD5 |
c31a403ead6fd41cd2bbdc31c55c2332
|
|
| BLAKE2b-256 |
c046ae496d7c78522a346706afe744af6900b63ee785550ffde69e9acd14aba9
|