---
title: Development, staging, and production tenant environments
description: Each PingOne Advanced Identity Cloud account includes a development, a staging, and a production tenant environment. These three environments let you build, test, and deploy your IAM applications:
component: pingoneaic
page_id: pingoneaic:tenants:environments-development-staging-production
canonical_url: https://docs.pingidentity.com/pingoneaic/tenants/environments-development-staging-production.html
keywords: ["ESV", "Promotion", "Tenants", "Migration"]
page_aliases: ["pingoneaic::concepts-tenant-environments.adoc", "pingoneaic::environments/tenant-environments.adoc"]
section_ids:
  manage-configuration: Manage configuration
  promote-static-configuration: Promote static configuration
---

# Development, staging, and production tenant environments

Each PingOne Advanced Identity Cloud account includes a development, a staging, and a production tenant environment. These three environments let you build, test, and deploy your IAM applications:

| Tenant Environment | Description                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Development        | Used for building and adding new features.&#xA;&#xA;The number of identity objects in a development environment is limited to 10,000.&#xA;&#xA;The 10,000 limit applies to the total sum of all identity object types combined, including applications, assignments, custom identity objects, groups, OAuth 2.0 clients, organizations, relationships, roles, SAML entities, policies, and users. |
| Staging            | Used for testing development changes, including stress tests and scalability tests with realistic deployment settings.                                                                                                                                                                                                                                                                            |
| Production         | Used for deploying applications into operation for end users.                                                                                                                                                                                                                                                                                                                                     |

## Manage configuration

Advanced Identity Cloud has two types of configuration, dynamic and static. Learn more about the difference between them in [What kind of configuration changes can my company make?](self-service-promotions-faqs.html#what-kind-of-configuration-changes-can-my-company-make).

You can change dynamic configuration in any environment, but you can only change static configuration in your development environment. Advanced Identity Cloud therefore uses a *promotion* model to move static configuration changes through the three environments.

### Promote static configuration

The development environment is *mutable*. This means that you can make static configuration changes to the environment through one of the [admin UIs](../getting-started/getting-started-explore-platform.html) or through the [REST API](../developer-docs/postman-collection.html).

The staging and production environments are not mutable. This means that you cannot make static configuration changes to these environments directly. Instead, you must move the changes from the development environment to the staging environment by [running a promotion](self-service-promotions.html), then move the changes from the staging environment to the production environment by running a further promotion.

In situations where you want a static configuration value (such as an authentication token) to be distinct in each environment, you can set the value as an [ESV](esvs.html) in each environment, then insert the ESV [placeholder](configuration-placeholders.html) into your configuration, then move the configuration to your staging and production environments by running sequential promotions. Learn more in [Configure placeholders to use with ESVs](configuration-placeholders.html).

| Tenant environment | Mutable                  | Make static configuration changes                                                                                                                 |
| ------------------ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| Development        | [icon: check, set=fa]Yes | Use [admin UIs](../getting-started/getting-started-explore-platform.html) or [REST API](../developer-docs/authenticate-to-rest-api-overview.html) |
| Staging            | [icon: times, set=fa]No  | [Promote configuration](self-service-promotions.html)                                                                                             |
| Production         | [icon: times, set=fa]No  | [Promote configuration](self-service-promotions.html)                                                                                             |
