• Overview
    Key features
    • Observability
    • Auto-scaling
    • Multiframework
    • Security
    • Django
    • Next.js
    • Drupal
    • WordPress
    • Symfony
    • Magento
    • See all frameworks
    • PHP
    • Python
    • Node.js
    • Ruby
    • Java
    • Go
  • Industries
    • Consumer Goods
    • Media/Entertainment
    • Higher Education
    • Government
    • Ecommerce
  • Pricing
  • Featured articles
    • Switching to Platform.sh can help IT/DevOps organizations drive 219% ROI
    • Organizations, the ultimate way to manage your users and projects
  • Support
  • Docs
  • Login
  • Request a demo
  • Free Trial
Meet Upsun. The new, self-service, fully managed PaaS, powered by Platform.sh.Try it now
Cover image

Environment Types, a simpler way to manage user permissions

environmentsuser permissions
01 June, 2021
Augustin Delaporte
Augustin Delaporte
VP Product

When we launched Platform.sh, we wanted to make our user permissions model extremely flexible and granular by allowing you to grant your contributors different permissions for every single environment within your projects.

However, after analyzing the data and listening to your feedback, it became clear that this flexibility can be confusing and lead to unexpected behaviors. Also, it can be hard to manage or audit, when the number of projects and contributors that you own grows. This is because it requires you to update many environments in order to update user permissions.

This is why we’re excited to introduce Environment Types.

Environment types offer a simple way to group your environments together (Production, Staging or Development) and to set user permissions on those types at the project level.

In the future, we’ll introduce additional environment types and features that will simplify user permissions even more.

With Environment Types:

  • User permissions are granted per environment type at the project level.
  • Environments can share the same type. (You can have multiple Staging or Development environments, but you can only have a single Production environment.)
  • Environments can change their type from Staging to Development and vice versa.

Note that our flexible branching model remains exactly the same. You can always deploy code from any environment to production directly without having to follow a constrained pattern (Development > Staging > Production).


Environment Types will be rolled out to all projects in the coming weeks. There’s no action required on your end to get access to this feature.

During the migration, an environment type will be assigned to every existing environment as follows:

  • Production: assigned to your default branch (usually called master or main).
  • Staging: assigned to the child of the Production environment only if there is a single child.
  • Development: assigned to every other environment.


Environment types only impact user permissions. After the migration, the user permissions defined on your Production and Staging environments will remain unchanged.

However, permissions defined on your Development environments will be the union of the permissions of all development environments. Some of your contributors might gain access to additional development environments. If you want to restrict access to some development environments, you simply need to change their types to Staging and set up permissions accordingly.

You can learn more about user roles and environment type access in our documentation. And you can always ask us questions directly on our public Slack channel.

Get the latest Platform.sh news and resources

Related Content

Simple. Streamlined. Secure. Effortless user management has arrived with Teams

Simple. Streamlined. Secure. Effortless user management has arrived with Teams

AboutSecurity and complianceTrust CenterCareersPressContact us
Thank you for subscribing!
Field required
Leader Winter 2023
System StatusPrivacyTerms of ServiceImpressumWCAG ComplianceAcceptable Use PolicyManage your cookie preferencesReport a security issue
© 2024 Platform.sh. All rights reserved.
Supported by Horizon 2020's SME Instrument - European Commission 🇪🇺