Enable origin-keyed process isolation for improved security
Verified with Microsoft Edge 152.0.4191.53 — updated on July 10, 2026
Supported on: Microsoft Edge version 141, Windows 7 or later
Path in the GPO console
Computer Configuration\Administrative Templates\Microsoft Edge - Default Settings (users can override) User Configuration\Administrative Templates\Microsoft Edge - Default Settings (users can override) Description
This policy enables origin-keyed process isolation for most pages, which improves security by separating content from different origins into distinct processes. This can increase the number of processes created. Users can override this setting by using command-line flags or edge://flags to turn the feature on or off. If you enable this policy, most origins are isolated, even from other origins within the same site. For related configuration, see the IsolateOrigins and SitePerProcess policies. If you disable this policy, origins can't be isolated from the rest of their site unless the origin explicitly requests isolation. If you don’t configure this policy, the browser decides which origins to isolate and when. By default, this feature is disabled. The default state can change in the future.
Registry
Software\Policies\Microsoft\Edge\Recommended Software\Policies\Microsoft\Edge\Recommended Value name: OriginKeyedProcessesEnabled
Enabled: OriginKeyedProcessesEnabled = 1
Disabled: OriginKeyedProcessesEnabled = 0
Export Builder
BETAConfigure the state, scope and options, then generate .reg, PowerShell, Intune and SCCM outputs — or add the setting to a multi-setting collection.
These exports write the registry — this is not a managed GPO. ⓘ
Applying both scopes creates an ambiguous configuration (computer takes precedence over user). Only do this intentionally.
.reg file
Windows Registry Editor Version 5.00
; Exported from gporais.com
; Policy: Enable origin-keyed process isolation for improved security
; State: Enabled
; Scope: Computer (HKLM)
; Supported on: Microsoft Edge version 141, Windows 7 or later
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge\Recommended]
"OriginKeyedProcessesEnabled"=dword:00000001 More formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Enable origin-keyed process isolation for improved security
# State: Enabled
# Scope: Computer (HKLM)
# Supported on: Microsoft Edge version 141, Windows 7 or later
$path = 'HKLM:\Software\Policies\Microsoft\Edge\Recommended'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'OriginKeyedProcessesEnabled' -Value 1 -Type DWord Intune XML
No direct Policy CSP / OMA-URI mapping for this policy. Use the Intune Remediation tab, or ingest the ADMX in Intune. Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Enable origin-keyed process isolation for improved security
# State: Enabled
# Scope: Computer (HKLM)
# Supported on: Microsoft Edge version 141, Windows 7 or later
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Edge\Recommended' -Name 'OriginKeyedProcessesEnabled' -Expected 1 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Enable origin-keyed process isolation for improved security
# State: Enabled
# Scope: Computer (HKLM)
# Supported on: Microsoft Edge version 141, Windows 7 or later
$path = 'HKLM:\Software\Policies\Microsoft\Edge\Recommended'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'OriginKeyedProcessesEnabled' -Value 1 -Type DWord SCCM scripts
# Exported from gporais.com
# Policy: Enable origin-keyed process isolation for improved security
# State: Enabled
# Scope: Computer (HKLM)
# Supported on: Microsoft Edge version 141, Windows 7 or later
# SCCM Configuration Item guidance:
# Create a Configuration Item of type "Setting: Script".
# Discovery script: use the Detection script below.
# Remediation script: use the Remediation script below.
# Compliance rule: the Discovery script output equals 'Compliant'.
# === Detection script ===
# Exported from gporais.com
# Policy: Enable origin-keyed process isolation for improved security
# State: Enabled
# Scope: Computer (HKLM)
# Supported on: Microsoft Edge version 141, Windows 7 or later
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Edge\Recommended' -Name 'OriginKeyedProcessesEnabled' -Expected 1 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Enable origin-keyed process isolation for improved security
# State: Enabled
# Scope: Computer (HKLM)
# Supported on: Microsoft Edge version 141, Windows 7 or later
$path = 'HKLM:\Software\Policies\Microsoft\Edge\Recommended'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'OriginKeyedProcessesEnabled' -Value 1 -Type DWord Building a multi-setting collection? Add this setting and generate combined .reg / PowerShell / GPO scripts.