---
layout: docs
page_title: Key/Value v2
description: >-
   Store arbitrary static secrets in Vault with the Key/Value v2 secrets engine
   plugin.
---

# Key/Value v2 plugin

The key/value (`kv`) secrets engine stores and versions arbitrary static secrets
stored in Vault physical storage.

The `kv` v2 plugin uses soft deletes to make data inaccessible while allowing
data recovery. When an entry is permanently deleted, Vault purges the underlying
version data and marks the key metadata as destroyed.


<Tabs>

<Tab heading="How-to guides" group="how-to">

Step-by-step instructions:

- [Upgrade from `kv` v1](/vault/docs/secrets/kv/kv-v2/upgrade)
- [Set up the `kv` v2 plugin](/vault/docs/secrets/kv/kv-v2/setup)

</Tab>

<Tab heading="Cookbook" group="cook">

Basic examples:

- [Read data](/vault/docs/secrets/kv/kv-v2/cookbook/read-data)
- [Set max data versions](/vault/docs/secrets/kv/kv-v2/cookbook/max-versions)
- [Write data](/vault/docs/secrets/kv/kv-v2/cookbook/write-data)
- [Patch and update data](/vault/docs/secrets/kv/kv-v2/cookbook/patch-data)
- [Read subkeys](/vault/docs/secrets/kv/kv-v2/cookbook/read-subkey)
- [Soft delete data](/vault/docs/secrets/kv/kv-v2/cookbook/delete-data)
- [Restore soft deleted data](/vault/docs/secrets/kv/kv-v2/cookbook/undelete-data)
- [Destroy data](/vault/docs/secrets/kv/kv-v2/cookbook/destroy-data)
- [Write custom metadata](/vault/docs/secrets/kv/kv-v2/cookbook/custom-metadata)

</Tab>

<Tab heading="Reference" group="ref">

Technical references:

- [KV v2 CLI commands](/vault/docs/command/kv)
- [KV v2 plugin API docs](/vault/api-docs/secret/kv/kv-v2)

</Tab>

<Tab heading="Tutorials" group="tutorial">

Detailed tutorials:

- [Versioned Key Value Secrets Engine](/vault/tutorials/secrets-management/versioned-kv) -
  Learn how to compare data in the KV v2 secrets engine and protect data from
  accidental deletion.

</Tab>

</Tabs>