hashicorp/vault

A tool for secrets management, encryption as a service, and privileged access management

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 42 minutes ago
Added to GitGenius on April 8th, 2021
Created on February 25th, 2015
Open Issues & Pull Requests: 1,429 (+0)
Number of forks: 4,738
Total Stargazers: 36,161 (+0)
Total Subscribers: 777 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 10.5 days
Mean response time: 291.9 days
90th percentile: 1176.9 days
Tracked items: 912

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "question" is answered fastest, typically in about 2 days, while "enhancement" waits about 16 months. 73% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 3% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 518
New in 7 days: 6
Closed in 7 days: 1
Avg open age: 690 days
Stale 30+ days: 491
Stale 90+ days: 458

Recent activity

Opened in 7 days: 6
Closed in 7 days: 1
Comments in 7 days: 4
Events in 7 days: 19

Top labels

  • bug (348)
  • enhancement (211)
  • ui (143)
  • feature-request (71)
  • agent (60)
  • docs (60)
  • ecosystem (59)
  • secret/pki (57)

Detailed Description

Vault is HashiCorp's open-source tool for secrets management, encryption as a service, and privileged access management, written in Go. It provides a unified interface for securely storing, accessing, and managing secrets such as API keys, passwords, certificates, and database credentials across modern infrastructure environments.

The core functionality of Vault centers on secure secret storage with encryption at rest. Vault encrypts all data before writing it to persistent storage, whether that storage is local disk, Consul, or other backends, ensuring that raw storage access alone does not compromise secrets. Beyond static storage, Vault generates dynamic secrets on demand for systems like AWS and SQL databases. When an application requests credentials, Vault creates temporary keypairs with appropriate permissions and automatically revokes them after the lease expires, eliminating the need to manage long-lived credentials.

Vault implements a leasing and renewal system where every secret carries an associated lease. Clients can renew leases through built-in APIs, and Vault automatically revokes secrets when leases expire. The platform also supports encryption and decryption of data without storing it, allowing security teams to define encryption parameters while developers store encrypted data in external systems like SQL databases without designing custom encryption schemes. Revocation capabilities extend beyond individual secrets to entire trees of secrets, enabling administrators to revoke all secrets accessed by a specific user or all secrets of a particular type, which is critical for incident response and key rolling.

The repository shows active development and maintenance.

Development of Vault requires Go and uses Go Modules for dependency management. The repository includes comprehensive testing infrastructure with standard unit tests invoked via make test, acceptance tests for secret and auth methods that create and modify real resources, and Docker-based testing mechanisms for more complex scenarios. The project publishes two importable libraries: github.com/hashicorp/vault/api and github.com/hashicorp/vault/sdk, though importing the main Vault product itself is not a supported use case.

The repository maintains strong security practices with a dedicated security contact at [email protected] for responsible vulnerability disclosure. Documentation is extensive, available at developer.hashicorp.com/vault, with getting started guides, tutorials, and certification exam materials available through HashiCorp's learning platform. The project also maintains example repositories and sample applications demonstrating Vault integration across different programming languages. An enterprise version of Vault is available with additional features beyond the open-source offering.