Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

AI-generated. This document was written by an AI assistant using training-data knowledge (cutoff Aug 2025). Verify specific claims before relying on them — project activity, feature sets, and security properties change.

Secret Management Alternatives

Why another tool?

  • We like to have a decentralized tool that works well together with git.
  • We need a tool that is easy to understand and reason about.
  • None of the above decentralized tools support leveled access.
  • Central tools are targeting really large organisations.

In general, our background is with git-secret. It was working kinda, but had way too much bugs, pitfalls, inconveniences and missing features to keep it for any longer.

Decentralized / Git-native tools

Overview

ToolLangSinceMaintenanceGit integrationEncryption
git-cryptC++2013slowtransparent (clean/smudge)AES-256-GCM
TranscryptBash2014activetransparent (clean/smudge)AES-256-CBC¹
git-secretBash2015activeexplicit hide/revealGPG (RSA/curve)
keyringerBash2012dormantexplicit encrypt/decryptGPG
BlackBoxBash2013dormantexplicit encrypt/decryptGPG
gopassGo2017activegit backend (pass-compatible)GPG / age
sopsGo2015very activenone native²age / PGP / KMS
ageboxGo2021moderatenone native²age (X25519)
Sealed SecretsGo2018activecommit sealed YAMLRSA-OAEP + AES-GCM
sesamGo2025in developmenttransparent (clean/smudge, planned) + pre-commitage / ChaCha20-Poly1305

¹ AES-CBC via OpenSSL — considered weaker than GCM/ChaCha20.
² Works alongside git but requires explicit encrypt/decrypt invocation.

Access control

ToolMulti-userDecl. configPer-file ACLLeveled access
git-cryptGPG or symmetric
Transcryptsymmetric (shared secret)
git-secretGPG keyring
keyringerGPG keyring
BlackBoxGPG keyring
gopassteam mounts
sopsyes
ageboxage recipients
Sealed Secretscluster RBAC✓ (cluster RBAC)
sesamage recipients

Security

ToolNo GPGSigned entriesAudit logKey rotationRekey on removal
git-cryptpoor (manual)
Transcryptpoor
git-secretmanual
keyringermanual
BlackBoxmanual
gopasspartialmanual
sopssops rotatemanual
ageboxpartialmanual
Sealed Secretsk8s auditkey renewal
sesam✓ (encrypted, signed, hash-chained)

Centralized / service-based tools

These require a running service or cloud dependency. Trade operational simplicity for availability risk.

ToolModelEncryptionAudit logLeveled accessDecl. configGit workflow
HashiCorp Vaultself-hosted serverAES-GCM (transit engine)✓ (detailed)✓ (policies + roles)✓ (HCL)env-inject or agent
InfisicalSaaS / self-hostedAES-256-GCM✓ (roles)env-inject, SDKs
DopplerSaaSAES-256✓ (roles)env-inject, CLI sync
1Password CLISaaS (op)AES-256-GCM✓ (vault permissions)partialenv-inject (op run), SDKs
AWS Secrets ManagerAWS managedAES-256 (KMS)✓ (CloudTrail)✓ (IAM policies)✓ (IaC/CDK)SDK / env-inject
GCP Secret ManagerGCP managedAES-256 (CMEK opt.)✓ (Cloud Audit)✓ (IAM roles)✓ (IaC/Terraform)SDK / env-inject
Ansible Vaultfile-based (no server)AES-256✓ (playbooks)committed ciphertext

When centralized tools win: large teams, compliance requirements (SOC2, HIPAA), dynamic secrets (database credentials), or when you need secret leasing / TTLs.
When git-native tools win: small teams, offline-first, no extra infrastructure, secrets version-controlled alongside code.


sesam vs. closest alternatives

git-cryptageboxsesam
Transparent git UX✓ (planned)
Modern crypto (no GPG)✗ (GPG mode)
Per-user access control
Declarative config
Leveled access (admin/user)
Signed + chained audit log
Rekeying on user removalmanual
Production-ready✗ (in development)
Built 2026-05-02 10:41:38 • commit: 2cce566