What does it mean for Vault to be 'sealed,' and why does Vault seal itself on every restart?
Quick Answer
A sealed Vault has its storage backend encrypted at rest and cannot decrypt any secrets or serve any requests until it's unsealed by reconstructing the master encryption key — Vault seals itself on every startup (and can be sealed manually) as a security property: even someone with full access to the storage backend's raw data cannot read secrets without also performing the unseal process, which requires a quorum of separate key shares (or an auto-unseal mechanism) that no single person holds alone.
Detailed Answer
Vault encrypts all of its persisted data with a root encryption key, and that root key is itself never stored in plaintext — instead it's protected by Shamir's Secret Sharing, split into N key shares at initialization, with a threshold T of those shares required to reconstruct it (a common configuration is 5 shares, 3 required). On every process start, Vault has no way to derive the root key from the encrypted storage alone, so it starts sealed: vault status shows sealed=true, and every API call other than the unseal/status endpoints returns an error.
Unsealing means operators run vault operator unseal T times, each supplying one key share, until the threshold is met and Vault reconstructs the root key in memory (never writing it to disk). This is deliberately not a single password — the point is that no individual operator, and no single compromised credential, is sufficient to unseal Vault; you need collusion or compromise of a quorum of key holders.
For production HA deployments where manual unsealing after every restart isn't operationally acceptable, Vault supports auto-unseal mechanisms (cloud KMS like AWS KMS/GCP KMS/Azure Key Vault, or Vault's own Transit secrets engine acting as an unseal provider for another Vault cluster) which perform the unseal automatically using an external key management service instead of manual Shamir shares — trading a small amount of the 'no single point of trust' property for operational resilience, since restarts (e.g. during upgrades or node failures) no longer require paging someone with a key share.
Code Example
vault operator init -key-shares=5 -key-threshold=3 vault operator unseal <key-share-1> vault operator unseal <key-share-2> vault operator unseal <key-share-3>
Interview Tip
Mention Shamir's Secret Sharing by name and the shares/threshold concept — that's the specific mechanism interviewers are checking you actually understand, not just 'Vault needs an unseal key.'