vault
A tool for secrets management, encryption as a service, and privileged access management
Vault: keeping secrets in one place, tightly
HashiCorp's tool for secrets management, encryption as a service, and privileged access management, treating API keys, passwords, and certificates as things to control.
What counts as a secret
Vault is a tool for secrets management, encryption as a service, and privileged access management. The README defines a secret as anything you want to tightly control access to, with API keys, passwords, and certificates as examples. Vault provides a unified interface to any secret, with tight access control and a detailed audit log. Go is the primary language.
The problem it exists to solve
A modern system needs many secrets: database credentials, API keys, and the rest. Knowing who accessed what is difficult and platform specific. Adding key rolling, secure storage, and detailed audit logs on top of that is almost impossible without a custom solution. Vault is presented as the answer to that gap.
How storage is protected
Vault can store arbitrary key value pairs, and it encrypts data before writing to persistent storage. Gaining access to the raw storage is therefore not enough to reach the secrets inside. The README names disk and Consul among the supported storage backends, with more available.
Security and resources
A security notice says Vault security and user trust are taken very seriously, and asks anyone who believes they found a security issue to responsibly disclose it by contacting a security email. Resources include the website, an announcement list, a discussion forum, documentation, tutorials, and a certification exam. The documentation source lives in a separate repository.
Editorial conclusion
The README rests on a single idea: access control and audit logging, with encryption before anything reaches disk. The security disclosure callout gets its own paragraph, which is the right emphasis for a tool that stores credentials.
Community notes