SECRETS QUICK REFERENCE - nself-org/cli GitHub Wiki
nself CLI version: 0.9.6+
# Generate all secrets
nself config secrets generate
# Generate specific secret
nself config secrets generate API_KEY 32 hex# List all (masked)
nself config secrets list
# Get specific (masked)
nself config secrets get POSTGRES_PASSWORD
# Get actual value (⚠️ use carefully!)
nself config secrets get POSTGRES_PASSWORD --reveal# Rotate one secret
nself config secrets rotate POSTGRES_PASSWORD
# Rotate all secrets
nself config secrets rotate --all# Run all security checks
nself doctor
# Validate secrets only
nself config secrets validate# Encrypt secrets
nself config secrets encrypt
# Decrypt secrets
nself config secrets decrypt# Import from Vault
nself config secrets import vault secret/nself
# Export to Vault
nself config secrets export vault secret/nself# Import from AWS
nself config secrets import aws nself/production
# Export to AWS
nself config secrets export aws nself/production# Set environment variables
export NSELF_SECRET_DATABASE_PASSWORD="secure"
export NSELF_SECRET_API_KEY="another-secure"
# Import
nself config secrets import env- Run
nself doctor(passes all checks) - Secrets are 16+ characters
- No weak passwords detected
- File permissions are 600
- File is in .gitignore
- Not tracked by git
- Backup created and stored securely
# Fix permissions
chmod 600 .env.secrets
# Add to gitignore
echo ".env.secrets" >> .gitignore
# Remove from git
git rm --cached .env.secrets
# Rotate weak secrets
nself config secrets rotate --allnself init # Auto-generates secrets
nself doctor # Verify security
nself config secrets list # Review secretsnself config secrets rotate API_KEY # Generate new value
nself restart # Apply changesnself config secrets rotate --all # Rotate everything
nself restart # Apply changes# Generate production secrets
nself config secrets generate
# Export to AWS (recommended)
nself config secrets export aws myapp/prod
# Or encrypt for manual transfer
nself config secrets encrypt
# Transfer .env.secrets.enc securely
# On server:
nself config secrets decrypt| Issue | Command | Fix |
|---|---|---|
| Weak password | nself doctor |
nself config secrets rotate <KEY> |
| Wrong permissions | nself doctor |
chmod 600 .env.secrets |
| In git | nself doctor |
git rm --cached .env.secrets |
| Not in .gitignore | nself doctor |
echo ".env.secrets" >> .gitignore |
| Lost file | N/A | Restore from backup or regenerate |
| Type | Length | Characters | Use Case |
|---|---|---|---|
| hex | 32-64 | 0-9, a-f | API keys, tokens |
| base64 | 24-48 | A-Z, a-z, 0-9, +/= | Binary data |
| alphanumeric | 16-32 | A-Z, a-z, 0-9 | Passwords |
✅ DO:
- Use
nself config secrets generate - Rotate secrets regularly
- Encrypt backups
- Use external secret managers in production
- Run
nself doctorbefore deployment
❌ DON'T:
- Use weak defaults (postgres, admin, password)
- Commit secrets to git
- Share secrets in plain text
- Reuse secrets across environments
- Skip validation
# Command help
nself config secrets --help
# Full documentation
cat docs/configuration/SECRETS-MANAGEMENT.md
# Run diagnostics
nself doctorQuick Reference Version: 1.0 Last Updated: January 31, 2026