Introduction
Power Platform governance strongly depends on Environment Types and Solution Types. Understanding how Managed/Unmanaged Environments work together with Managed/Unmanaged Solutions is critical for proper ALM, security, and enterprise-scale delivery.
This article covers:
What is an Environment
What is a Managed Environment
What is an Unmanaged Environment
Feature comparison
How solutions relate to each environment
Why unmanaged solutions are not allowed in Managed Environment
ALM Lifecycle
What is a Power Platform Environment?
An Environment is an isolated container that holds:
Each environment enforces:
Access control
Data governance
ALM lifecycle boundaries
Environment Types
| Environment Type | Purpose | Solution Approach | Who Uses It |
|---|
| Unmanaged Environment | Development, experimentation | Unmanaged solutions allowed | Makers, Developers |
| Managed Environment | Governance, control, production-quality deployments | Only managed solutions | Admins, Production Teams |
| Default Environment | Open sandbox for everyone | Not secure, not for ALM | All users automatically |
What is a Managed Environment?
A Managed Environment is a governance-enabled environment with strict controls.
Key Features:
Only Managed Solutions are allowed
Maker Operation Reporting
Sharing Controls – restrict who can share apps
Data Loss Prevention Enforcement
Environment Routing
Solution Checker Enforcement
AI-powered insights
Why Unmanaged Solutions Not Allowed Here?
Unmanaged allows editing components - risk
Unmanaged allows adding tables, flows, columns - uncontrolled
Managed environment must remain stable + secure
Hence, development must not happen in a Managed Environment.
What is Unmanaged Environment?
These environments allow:
Canvas App building
Flow creation
Creating Dataverse tables
Creating unmanaged solutions (editable)
Experimentation and testing
Used For:
Managed vs Unmanaged Environments
| Feature / Capability | Unmanaged Environment | Managed Environment |
|---|
| Create/edit solutions | Allowed | Not allowed (only managed allowed) |
| Create tables/columns | Yes | Restricted |
| Maker freedom | High | Low / Controlled |
| Solution checker | Optional | Forced |
| Sharing controls | No | Yes |
| GitHub/ALM pipelines | Yes | Yes |
| Production safety | Low | Very high |
| Governance | Minimal | Strongest |
Relation Between Environment Type and Solution Type
Unmanaged Solution - Used only in the Development Environment
Unmanaged solution is:
Editable
Changeable
Version not locked
Source of truth for ALM
You can modify anything (tables, flows, app components).
Default rule:
| Environment Type | Solution Type |
|---|
| Dev | Unmanaged |
| Test | Managed |
| UAT | Managed |
| Prod | Managed |
| Managed Environment | Managed Only |
Managed Solution
A managed solution is:
Managed solutions are created by exporting unmanaged solution as Managed from Dev.
The ALM Lifecycle
ALM Flow:
Developer Environment (Unmanaged)
Build components
Test
Fix
Own source of truth
Export as Managed
Import Managed Solution into Managed Environment (Production/Test)
No direct edits allowed
All changes must go back to Dev - update unmanaged - re-export managed.
Why Enterprises Use This Model
Benefits:
100% controlled production
Consistent deployments
No direct modification in live apps
Repeatable releases
Stable audit + governance
Risk if Unmanaged is deployed to production:
Summary
Unmanaged Environments - Unmanaged Solutions: For development & building components.
Managed Environments - Only Managed Solutions: For production-like governance.
Unmanaged solutions cannot exist in a Managed Environment.
All changes must originate from the Development Environment.