- API playgrounds that need the key to call an API
 - Better DX for your users, it’s annoying to create a new key and update it everywhere
 
Vault
Vault is our secure storage for secrets, such as keys. It follows a few principles:- Secrets are encrypted at rest
 - A leak of vaults data does not expose secrets
 - A leak of the main database does not expose secrets
 - A leak of the main encryption keys does not expose secrets
 
Opting in
By default we only store key hashes, not encrypted keys. If you want us to store keys in a way that we can recover them, you need to opt in:1
Root key permissions
When creating new keys, your root key must have permission to encrypt. Head over to the dashboard and make sure the 
encrypt_key permission is enabled.Do not skip this step. Otherwise your root key will get rejected when trying to create new keys.2
Contact us
To opt in to recovery, send us an email at support@unkey.dev.
Send us the email from the email address associated with your workspace and include the 
API ID that you want to enable recovery for.Please note that this is not retroactively applied. Existing keys were never stored and cannot be recovered. Only keys created after opting in to recovery can be recovered.
Creating keys
When creating a key, you can set therecoverable field to true. This will store the key in a way that we can recover it later.
Recovering plaintext keys
Both the getKey and listKeys endpoints accept adecrypt query parameter. If you set this to true, the key will be decrypted and returned in the response as plaintext.
When recovering keys, your root key must have permission to decrypt. Head over to the dashboard and make sure the 
decrypt_key permission is enabled.If you have any questions about recovery, please reach out to us at support@unkey.dev.For security concerns, please disclose them responsibly by emailing security@unkey.dev instead.