--- title: Column Level Encryption Enterprise description: Column Level Encryption Enterprise uses the Key Management Framework \(KMF\) to enable you to customize and manage how fields and attachments are encrypted and decrypted on your instance. A subscription is required to use Column Level Encryption Enterprise. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/platform-security/now-platform-encryption-2.html release: australia topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 9 breadcrumb: [Exploring Column Level Encryption, Column Level Encryption, Encryption] --- # Column Level Encryption Enterprise Column Level Encryption Enterprise uses the Key Management Framework \(KMF\) to enable you to customize and manage how fields and attachments are encrypted and decrypted on your instance. A subscription is required to use Column Level Encryption Enterprise. **Important:** Starting with the Zurich release, Column Level Encryption \(CLE\) and Column Level Encryption Enterprise \(CLEE\) are being prepared for future deprecation. They will be hidden and no longer activated on new instances but will continue to be supported. [Field Encryption](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-security/field-encryption.md) and [Field Encryption Enterprise](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-security/now-platform-encryption.md) provide the latest experience for this functionality. For details, see the Deprecation Process \[[KB0867184](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0867184)\] article in the Now Support knowledge base. Column Level Encryption Enterprise is premised with Column Level Encryption and uses the Key Management Framework and its full support of key management functions. Column Level Encryption Enterprise provides key-protection and key life-cycle management for application-level field encryption. All keys are protected with a key-wrapping hierarchy ultimately rooted in FIPS \(Federal Information Processing Standards\) 140-2-L3 Hardware Security Modules \(HSM\). **Important:** This topic covers the enterprise version of Column Level Encryption. For information on the standard version of Column Level Encryption, or to learn the differences between the two versions, see [Exploring Field Encryption](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-security/exploring-fe.md). Field Encryption Enterprise gives you the ability to manage how supported fields are encrypted and decrypted in accordance with [NIST 800-57](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt1r5.pdf) practices. It also uses the most updated version of field-level encryption, including integration for proper key protection and management. Specifically, Column Level Encryption Enterprise uses the KMF encryption modules, granting you more control of server-side encryption. KMF verifies proper data encryption key protection using key hierarchy and envelope encryption. Your instance encrypts data through cryptographic modules that you configure. You can create an access policy for each module then configure cryptographic specifications and access policies and control key life-cycle management control. Column Level Encryption Enterprise supports module access policies based on: - Scope - Role - Script - Resource Exchange - System User See [Create a module access policy](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-security/platform-encryption/create-module-access-policy.md) for additional information. **Note:** For details on the supported features of Column Level Encryption and how to upgrade and subscribe to the Column Level Encryption Enterprise entitlement refer to [Encryption and Key Management subscription bundle](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-security/platform-encryption/encryption-sku.md). ## Encryption terms
| Term | Description |
|---|---|
| \[Omitted image "keys-on-ring.png"\] Alt text: Key management | Support for key managementFundamental to Column Level Encryption Enterprise is the Key Management Framework \(KMF\). Gain the following capabilities: - Key life-cycle management. - Key rotation. See [Rotate keys](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-security/platform-encryption/rotate-cust-supplied-keys.md) for details. - Key protection and key generation with FIPS 140-2-L3 Hardware Security Modules \(HSMs\). - Segregation of roles and duties. - The secure transfer of data encryption keys between instances, such as production and non-production instances. - Customer Supplied Keys \(CSK\) with key-wrapping. - Non-deterministic encryption. - Mass encryption/decryption. - Auditing of key access/use. See [Key Management Framework Reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-security/platform-encryption/understanding-kmf.md) for details. |
| \[Omitted image "keys-on-ring-csk-icon.png"\] Alt text: Customer-supplied key | Support for customer supplied keysOne of the biggest benefits of Column Level Encryption Enterprise is that you can use your own keys for encryption. Administrators have the choice to use ServiceNow supplied keys or your own customer-supplied keys \(CSK\) for encryption on the ServiceNow AI Platform®. You can also manage the key life cycle and decide when to revoke, rotate, and inactivate the keys. After you enable customer-supplied keys and create a cryptographic module, you download a token and public ephemeral key. You use the token and public key to wrap your key and then upload to the instance. To use customer-supplied keys, see [Configure field encryption settings to select key type](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-security/platform-encryption/configure-field-encryption-settings.md) and [Using customer-supplied keys with Field Encryption Enterprise](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-security/csk-landing.md). |
| \[Omitted image "lock-locked.png"\] Alt text: Field Encryption | Support for both field encryption and attachment encryptionBoth field encryption and attachment encryption use cryptographic modules and access policies through Encrypted Field Configurations. The Encrypted Field Configuration form is used to choose an encryption type of column or attachment encryption. See [Set encrypted field configurations](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-security/set-encrypted-field-config.md) for more information and supported field types. |
| \[Omitted image "non-deterministic-encryption.png"\] Alt text: Non-deterministic encryption | Support for non-deterministic encryptionColumn Level Encryption Enterprise supports non-deterministic encryption for enhanced security. If the system encrypts the same data more than once, the ciphertexts are different each time. Non-deterministic encryption is available with Advanced Encryption Standard \(AES\) encryption with Cipher Block Chaining \(CBC\). You can enable this feature through the Equality Preserving option on the Algorithm Definition stage of the cryptographic specification. Create a cryptographic specification for a crypto module and define an algorithm for encryption and generate the key. See [Create a cryptographic module](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-security/platform-encryption/create-cryptographic-module.md) to define the mechanisms used for cryptographic operations and for more information on enabling non-deterministic encryption. |
| \[Omitted image "resource-exchange.png"\] Alt text: Resource Exchange | Resource Exchange Column Level Encryption Enterprise keys instance to instance in a secure manner using the KMF cryptographic APIs to provide confidentiality, integrity, authentication, and non-repudiation. Resource Exchange is a KMF feature that gives you the capability to exchange resources between instances in a secure manner. See [Key Management Framework Resource Exchange](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-security/platform-encryption/resource-exchange.md) for details. |
| API | Description | Parameters | Return type |
|---|---|---|---|
| ``changeEncryptionContext()`` | Updates an active Encryption Context \(EC\) used to encrypt an attachment. When CLE is enabled with the CLE Starter plugin using KMF Crypto Module \(CM\), the API locates the CM for the EC and uses it to encrypt the attachment. **Note:** This API is only available in the Global scope. | - sourceTable – Name of table that has the attachment - sourceID – Table record system id. - attachmentID – The sys\_attachment record system id. - newEncryptionContextID - System ID of the new context. | Boolean |
| `changeCryptoModule()` | Updates an active encryption module used to encrypt an attachment.**Note:** This API is only available in the Global scope. | - sourceTable – Name of table that has the attachment. - sourceID – Table record system id. - attachmentID – The sys\_attachment record system id. - newCryptoModuleId - System ID of the new encryption module to encrypt the attachment. | Boolean |
| `disableEncryption()` | Disable active encryption on an attachment. | - sourceTable – Name of table that contains the attachment. - sourceID – Table record system id. - attachmentID – The sys\_attachment record system id. | Boolean |
| `getDisplayValue()` | Returns the cleartext display value of an encrypted field. | String | |
| `getValue()` | Returns the cleartext value of an ecrypted field when glide\_encryption.set\_value\_support\_cle.disabled is false \(requires Module Access Policy \(MAP\)\). Returns the encrypted value of an encrypted field when glide\_encryption.set\_value\_support\_cle.disabled is true. | String | |
| `setDisplayValue()` | Inserts encrypted data into an encrypted field for display purposes. | - name – Field name. - value – Field value. | Boolean |
| `setValue()` | Inserts encrypted data into an encrypted field, controlled by a system property. Encrypts data when glide\_encryption.set\_value\_support\_cle.disabled is false \(requires MAP\); writes unencrypted data when set to true \(no MAP required\), when glide\_encryption.set\_value\_support\_cle.disabled is true. | - name – Field name. - value – Field value. | Boolean |