> For the complete MongoDB documentation index, see www.mongodb.com/docs/llms.txt

# Queryable Encryption

## Introduction

Queryable Encryption lets you perform the following tasks:

- Encrypt sensitive data fields from the client-side.

- Store sensitive data fields as fully randomized encrypted data on the database server-side.

- Run expressive queries on the encrypted data.

The server has no knowledge of the data it processes.

Sensitive data is encrypted throughout its lifecycle: in-transit, at-rest, in-use, in logs, and in backups. Data is decrypted only on the client-side, since only you have access to the encryption keys.

Queryable Encryption introduces an industry-first, fast, searchable encryption scheme developed by the pioneers in encrypted search. The feature supports equality, range, prefix, suffix, and substring queries.

You can set up Queryable Encryption using the following mechanisms:

- Automatic Encryption: Enables you to perform encrypted read and write operations without adding explicit calls to encrypt and decrypt fields.

- Explicit Encryption: Enables you to perform encrypted read and write operations through your MongoDB driver's encryption library. You must specify the logic for encryption with this library throughout your application.

## Considerations

When implementing an application that uses Queryable Encryption, consider the points listed in [Security Considerations.](https://www.mongodb.com/docs/manual/core/queryable-encryption/about-qe-csfle.md#std-label-qe-csfle-security-considerations)

For limitations, see [Queryable Encryption limitations.](https://www.mongodb.com/docs/manual/core/queryable-encryption/reference/limitations.md#std-label-qe-reference-encryption-limits)

### Compatibility

To learn which MongoDB server products and drivers support Queryable Encryption, see [Compatibility.](https://www.mongodb.com/docs/manual/core/queryable-encryption/reference/compatibility.md#std-label-qe-compatibility-reference)

### MongoDB Support Limitations

Enabling Queryable Encryption on a collection redacts fields from some diagnostic commands and omits some operations from the query log. This limits the data available to MongoDB support engineers, especially when analyzing query performance. To measure the impact of operations against encrypted collections, use a third party application performance monitoring tool to collect metrics.

For details, see [Redaction.](https://www.mongodb.com/docs/manual/core/queryable-encryption/reference/limitations.md#std-label-qe-redaction)

## Features

To learn about the security benefits of Queryable Encryption for your applications, see the [Queryable Encryption Features](https://www.mongodb.com/docs/manual/core/queryable-encryption/features.md#std-label-qe-features) page.

## Installation

To learn what you must install to use Queryable Encryption, see the [Install a Queryable Encryption Compatible Driver and Dependencies](https://www.mongodb.com/docs/manual/core/queryable-encryption/install.md#std-label-qe-install) and [Install and Configure a Query Analysis Component](https://www.mongodb.com/docs/manual/core/queryable-encryption/install-library.md#std-label-qe-csfle-install-library) pages.

## Quick Start

To start using Queryable Encryption, see the [Queryable Encryption Quick Start.](https://www.mongodb.com/docs/manual/core/queryable-encryption/quick-start.md#std-label-qe-quick-start)

## Fundamentals

To learn about encryption key management, see [Encryption Keys and Key Vaults.](https://www.mongodb.com/docs/manual/core/queryable-encryption/fundamentals/keys-key-vaults.md#std-label-qe-reference-keys-key-vaults)

To learn how Queryable Encryption works, see the [Queryable Encryption Fundamentals](https://www.mongodb.com/docs/manual/core/queryable-encryption/fundamentals.md#std-label-qe-fundamentals) section, which contains the following pages:

- [Encrypted Fields and Enabled Queries](https://www.mongodb.com/docs/manual/core/queryable-encryption/fundamentals/encrypt-and-query.md#std-label-qe-fundamentals-encrypt-query)

- [Create an Encryption Schema](https://www.mongodb.com/docs/manual/core/queryable-encryption/qe-create-encryption-schema.md#std-label-qe-create-encryption-schema)

- [Encrypted Collections](https://www.mongodb.com/docs/manual/core/queryable-encryption/fundamentals/manage-collections.md#std-label-qe-fundamentals-collection-management)

- [Queryable Encryption with Explicit Encryption](https://www.mongodb.com/docs/manual/core/queryable-encryption/fundamentals/manual-encryption.md#std-label-qe-fundamentals-manual-encryption)

- [Rotate and Rewrap Encryption Keys](https://www.mongodb.com/docs/manual/core/queryable-encryption/fundamentals/manage-keys.md#std-label-qe-fundamentals-manage-keys)

## Tutorials

To learn how to perform specific tasks with Queryable Encryption, see the [Queryable Encryption Tutorials](https://www.mongodb.com/docs/manual/core/queryable-encryption/tutorials.md#std-label-qe-tutorials) section.

## Reference

For reference, see the [Queryable Encryption Reference](https://www.mongodb.com/docs/manual/core/queryable-encryption/reference.md#std-label-qe-reference) section.

The reference section contains the following pages:

- [Queryable Encryption Limitations](https://www.mongodb.com/docs/manual/core/queryable-encryption/reference/limitations.md#std-label-qe-reference-encryption-limits)

- [Supported Operations for Queryable Encryption](https://www.mongodb.com/docs/manual/core/queryable-encryption/reference/supported-operations.md#std-label-qe-reference-automatic-encryption-supported-operations)

- [MongoClient Options for Queryable Encryption](https://www.mongodb.com/docs/manual/core/queryable-encryption/reference/qe-options-clients.md#std-label-qe-reference-mongo-client)
