---
title: "Content Delivery (CD)"
slug: "content-delivery--cd-"
abstract: "Overview of Sitecore Content Delivery supported infrastructure, references, scaling, and privacy and security."
---
# Content Delivery (CD)

The Content Delivery (CD) role handles requests from visitors across channels, determines which content to serve, and renders output in the relevant format for the channel.

You can configure one or more content delivery servers for improved scalability and better performance. If you expect to have high numbers of visitors or want to configure servers in different geographic locations, you can arrange content delivery servers into clusters.

<details>
<summary><h2>Supported infrastructure</h2></summary>

You can host the CD role on:

- IIS
- [Azure App Service](https://azure.microsoft.com/en-us/services/app-service/)

Refer to the [Sitecore compatibility table](https://kb.sitecore.net/articles/087164) for compatible versions.

</details>

<details>
<summary><h2>Reference structure</h2></summary>

The CD role has its place in the Sitecore reference structure. It can be referenced by other roles, and it can also reference other roles.

![Illustration showing the Content Delivery role's place in the Sitecore reference structure.](https://doc.sitecore.com/api/markdown-image/xp/en/developers/104/platform-administration-and-architecture/images/content-delivery-104.png)

### Referenced by

The CD role is not referenced by other roles.

### References

The CD role references the following roles:

#### Storage roles

| Role name | Connection string name | Port | Type | Notes |
| --- | --- | --- | --- | --- |
| [Security database](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/security-database.html) | security | 1433 | SQL | Optional. Federated authentication is recommended if you have multiple CD clusters. |
| [Web database](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/web-database.html) | web | 1433 | SQL |  |
| [Forms database](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/forms-database.html) | experienceforms | 1433 | SQL | The connection strings for the Forms database and for file storage are the same by default. You can create your own file storage provider with a custom connection string. See [Manage file storage for forms](https://doc.sitecore.com/xp/en/developers/104/sitecore-experience-manager/en/manage-file-storage-for-forms.html) and [The security roles in Sitecore Form](https://doc.sitecore.com/xp/en/developers/104/sitecore-experience-manager/en/the-security-roles-in-sitecore-forms.html) for details. |
| [Message Bus](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/message-bus.html) | messaging | 1433 | SQL | If you install Sitecore using SIF, SQL is the default provider. Not applicable to Experience Manager. |
|  |  | 443 | Azure Service Bus | If you install Sitecore on Azure, Azure Service Bus is the default provider. Azure Service Bus is available in 9.2 and later. |
| [Private Session State Store](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/private-session-state-store.html) | session | 1433 | SQL | Optional, for SQL session state provider |
|  |  | 6379 | HTTP | Optional, for Redis session state provider |
| [Shared Session State Store](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/shared-session-state-store.html) | sharedsession | 1433 | SQL | Optional, for SQL session state provider |
|  |  | 6379 | HTTP | Optional, for Redis session state provider |

#### Application roles

| Role name | Connection string name | Default Port | Type | Notes |
| --- | --- | --- | --- | --- |
| [xConnect Collection service](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/xconnect-collection-service.html) | xconnect.collection |  | HTTPS |  |
| [Reference Data service](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/reference-data-service.html) | xdb.referencedata.client |  | HTTPS |  |
| [Marketing Automation Operations service](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/marketing-automation-operations-service.html) | xdb.marketingautomation.operations.client |  | HTTPS | Generally the same as reporting, unless you split the operations and reporting roles. Used to trigger live events. |

The following client certificates and keys are required in a secure production environment:

| Used for, role | Connection string name | Type | Notes |
| --- | --- | --- | --- |
| [xConnect Collection service](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/xconnect-collection-service.html) | xconnect.collection.certificate | Certificate |  |
| [Reference Data service](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/reference-data-service.html) | xdb.referencedata.client.certificate | Certificate |  |
| [Marketing Automation Operations service](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/marketing-automation-operations-service.html) | xdb.marketingautomation.operations.client.certificate | Certificate |  |
| [EXM Dispatch](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/exm-dispatch.html) | EXM.CryptographicKey | Key | Must match keys on EXM Dispatch and Content Management. |
| [EXM Dispatch](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/exm-dispatch.html) | EXM.AuthenticationKey | Key | Must match keys on EXM Dispatch and Content Management. |

#### Search indexes

> [!note]
> The Content Search provider determines how the CD role connects to the indexes. Sitecore supports Solr. Support for Azure Search was deprecated in 10.0 and 10.1, and is removed in 10.2.

| Index | Port, Solr | Type | Notes |
| --- | --- | --- | --- |
| [Web index](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/web-index.html) | 8983 | HTTPS |  |
| [FXM Web index](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/fxm-web-index.html) | 8983 | HTTPS | Only for XP installations |
| [Web Marketing Definitions index](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/web-marketing-definitions-index.html) | 8983 | HTTPS |  |
| [Web Marketing Assets index](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/web-marketing-assets-index.html) | 8983 | HTTPS |  |

For more information, see:

- [Configure Solr provider](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/walkthrough--setting-up-solr.html "Walkthrough: Setting up Solr")

#### Cloud Services

| Role Name | Port | Type | Endpoint URL |
| --- | --- | --- | --- |
| [IP Geolocation](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/ip-geolocation.html) | 443 | HTTPS | geoip-ces.cloud.sitecore.net |
| [Device Detection](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/device-detection.html) | 443 | HTTPS | devicedetection-ces.cloud.sitecore.net |

For more information, see:

- [Setting up IP Geolocation](https://doc.sitecore.com/xp/en/developers/104/sitecore-experience-manager/en/set-up-sitecore-ip-geolocation.html)
- [Configure Device Detection](https://doc.sitecore.com/xp/en/developers/104/sitecore-experience-manager/en/configure-sitecore-device-detection.html)

#### Other

The Content Delivery role includes a reference to the Package Management Service via the `PackageManagementServiceUrl` connection string.

</details>

<details>
<summary><h2>Privacy and security</h2></summary>

The CD role handles personal data in the following ways:

- Reads and utilizes the contact information from the Sitecore Experience Database.
- Handles user logins (for example, via federated authentication).
- Data submission (for example, via Experience Forms).
- Has access to session state data, which includes the following:
    - A configurable list of contact facets.
    - Any known identifier passed into the `IdentifyAs()` method.
    - The contact ID (loaded into session state in Sitecore 9.2 and later)

Refer to the [Security Guide](https://doc.sitecore.com/xp/en/developers/104/platform-administration-and-architecture/securing-experience-manager.html "Securing Experience Manager") for steps to secure the CD role.

</details>