Highlights
- Git-native — secrets live in your repo as encrypted values, access control is git commits
- No server required — no SaaS, no cloud dependency, no infrastructure to manage
- Team-friendly —
knock/admitworkflow for access requests, all through git - Encrypted at rest — age encryption by default, optional AWS KMS, GCP KMS, GPG
- Zero config —
dugout initand start adding secrets - Auto-detect —
dugout .detects your stack and runs with secrets injected - Fast — encrypts in ~100µs, single binary, no runtime dependencies
- Vendor-agnostic — works with any git host, any infrastructure, any language
Comparison
| dugout | sops | dotenvx | Vault | Doppler | Infisical | |
|---|---|---|---|---|---|---|
| Secrets in repo | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| No server | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| No config file | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ |
| Team access via git | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Auto-detect & run | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ |
| Single binary | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Encrypt speed | ~100µs | ~1ms | N/A | N/A | N/A | N/A |
| Free & open source | ✅ | ✅ | ✅ | ✅* | ❌ | ✅ |
| Written in | Rust | Go | JS | Go | — | TS |
*Vault BSL license
Installation
Install dugout with our standalone installers:
# On macOS and Linux.
|
# On Windows.
Or, from crates.io:
Or, from source:
&&
Quick Start
# One-time identity setup
# Initialize in your project
# Add secrets
# Run your app with secrets (auto-detect)
# Or run any command with secrets injected
Team Workflow
# Alice creates the project
&& &&
# Bob clones and requests access
&&
&& &&
# Alice approves
&&
# Bob pulls and runs
No Slack DMs. No shared password vaults. No .env files in git history. Access requests and approvals are git commits.
Commands
| Command | Description |
|---|---|
dugout setup |
Generate global identity |
dugout init |
Initialize vault in current directory |
dugout set KEY VALUE |
Set a secret |
dugout get KEY |
Get a secret value |
dugout add KEY |
Add a secret interactively |
dugout list |
List all secret keys |
dugout rm KEY |
Remove a secret |
dugout . |
Auto-detect project and run with secrets |
dugout run -- CMD |
Run a command with secrets injected |
dugout knock |
Request vault access |
dugout admit NAME |
Approve an access request |
dugout pending |
List pending requests |
dugout team add/rm/list |
Manage team members |
dugout secrets diff |
Compare vault and .env |
dugout secrets rotate |
Rotate encryption keys |
dugout secrets lock/unlock |
Lock or decrypt secrets |
dugout secrets import/export |
Import or export .env files |
dugout check status |
Vault overview |
dugout check audit |
Audit for leaked secrets |
Cipher Backends
| Backend | Flag | Use Case |
|---|---|---|
| age (default) | — | Local development, small teams |
| AWS KMS | --features aws |
AWS infrastructure, compliance requirements |
| GCP KMS | --features gcp |
Google Cloud infrastructure |
| GPG | --features gpg |
Legacy systems, existing GPG workflows |
# Install with AWS KMS support
# Initialize with a specific backend
Benchmarks
Measured with Criterion. See BENCHMARKS.md for methodology.
| Operation | 32B | 4KB | 16KB |
|---|---|---|---|
| Encrypt | 105µs | 113µs | 138µs |
| Decrypt | 135µs | 154µs | 195µs |
| Roundtrip | 258µs | 271µs | 355µs |
Contributing
See CONTRIBUTING.md for setup and guidelines.
License
Licensed under either of:
at your option.