---
reference:
  js:
    - key: encrypt
      id: encrypt_data
      url: /reference/vault/key/encrypt-data
      title: vault.encrypt()
      parameters:
        - key: data
          type: string
          description: (data_encryption.plaintext)
        - key: context
          type: object
          description: (object_metadata.context)
        - key: associatedData
          type: string
          optional: true
          description: (data_encryption.aad)
      returns:
        - key: encryptedData
          type: string
          description: (data_encryption.ciphertext)
  go:
    - key: Encrypt
      id: encrypt_data
      url: /reference/vault/key/encrypt-data
      title: vault.Encrypt()
      parameters:
        - (ctx)
        - key: opts
          type: vault.EncryptOpts
          expanded: true
          properties:
            - key: Data
              type: string
              description: (data_encryption.plaintext)
            - key: KeyContext
              type: vault.KeyContext
              description: (object_metadata.context)
            - key: AssociatedData
              type: string
              optional: true
              description: (data_encryption.aad)
      returns:
        - key: ciphertext
          type: string
          description: (data_encryption.ciphertext)
  python:
    - key: encrypt
      id: encrypt_data
      url: /reference/vault/key/encrypt-data
      title: vault.encrypt()
      parameters:
        - key: data
          type: str
          description: (data_encryption.plaintext)
        - key: key_context
          type: vault.KeyContext
          description: (object_metadata.context)
        - key: associated_data
          type: str
          optional: true
          description: (data_encryption.aad)
      returns:
        - key: ciphertext
          type: str
          description: (data_encryption.ciphertext)
originalPath: .tmp-workos-clone/packages/docs/content/reference/vault/key/encrypt-data.mdx
---

## Encrypt data

Perform a local encryption option. A data key is generated based on the provided key context and used to encrypt the data. The operation happens locally and neither the plaintext nor encrypted data are sent over the network.

<CodeBlock referenceId="encrypt_data">
  <CodeBlockTab title="Request" file="encrypt-data-request" />
  <CodeBlockTab title="Response" file="encrypt-data-response" />
</CodeBlock>
