What problem does it solve?
Go projects often struggle to securely store and access credentials. This Skill provides a production-grade approach to managing secrets in Go, using envelope encryption and integration with go-config to load and interpolate sensitive values safely at startup and runtime.
Core Features & Use Cases
- Envelope encryption for per-secret keys: derives a per-secret Data Encryption Key (DEK) and binds ciphertext to scope/name via AAD.
- Master-key lifecycle and rotation: supports envvar-based master keys and multi-key rotation for zero-downtime upgrades.
- go-config integration: allows loading secrets as a config source or resolving ${secret:NAME} references during config parsing.
- Memory-safety and auditing: includes zeroization of plaintext after use and optional audit logging for secret access.
- Production-ready patterns: file-based encrypted stores, rotation hooks, and provenance tracking.
Quick Start
Initialize the sample to securely load secrets using envelope encryption and integrate with go-config in your Go application.