Mozilla › Firefox › Cookies
Cookie Behavior in private browsing
Supported on Firefox 95 or later, Firefox 91.4 ESR or later
What it does
If this policy is enabled, you can configure cookie behavior in private browsing. If this policy is not configured or disabled, in private browsing, cookies are rejected for known trackers and third-party cookies are partitioned.
What it writes
- Hive
- HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
- Registry key
Software\Policies\Mozilla\Firefox\Cookies
Options
| Option | Type | Registry value | Allowed values |
|---|---|---|---|
| Cookie Behavior in private browsing | Drop-down list | BehaviorPrivateBrowsing |
|
Configure and deploy
Choose a state and the option values; the output below is generated from the template for exactly that.
Enabled · Computer · template defaults
Registry file (.reg)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Firefox\Cookies]
"BehaviorPrivateBrowsing"="accept"
PowerShell
$ErrorActionPreference = 'Stop'
function Set-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $PropertyType,
[Parameter(Mandatory = $true)][object] $Value
)
if (-not (Test-Path -LiteralPath $Path)) {
New-Item -Path $Path -Force | Out-Null
}
New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
}
function Remove-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (Test-Path -LiteralPath $Path) {
Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
}
}
function Clear-RegistryKeyValues {
param(
[Parameter(Mandatory = $true)][string] $Path
)
if (-not (Test-Path -LiteralPath $Path)) {
return
}
foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
}
}
# Policy: Cookie Behavior in private browsing
# Name: Cookies_BehaviorPrivateBrowsing
# Scope: Machine
# State: Enabled
# Source: firefox.admx
Set-RegistryValue -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Firefox\Cookies' -Name 'BehaviorPrivateBrowsing' -PropertyType 'String' -Value 'accept'
- The OMA-URI is an inferred ADMX-backed Policy CSP candidate derived from the source ADMX file name and policy name.
- Some Microsoft policies use built-in Policy CSP pages whose area names don't match the ADMX file name, so verify the candidate against Microsoft Learn before deployment.
- The generated payload is incomplete because one or more ADMX element values were not supplied: Cookies_BehaviorPrivateBrowsing
ADMX profile candidate (OMA-URI)
./Device/Vendor/MSFT/Policy/Config/ADMX_firefox/Cookies_BehaviorPrivateBrowsingIntune remediation scripts
Detection
$ErrorActionPreference = 'Stop'
$reasons = [System.Collections.Generic.List[string]]::new()
function Test-RegistryValueExists {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (-not (Test-Path -LiteralPath $Path)) {
return $false
}
return $null -ne (Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue)
}
function Test-RegistryValueEquals {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $Kind,
[Parameter(Mandatory = $true)][object] $Expected
)
if (-not (Test-Path -LiteralPath $Path)) {
return $false
}
$valueObject = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue
if ($null -eq $valueObject) {
return $false
}
$actual = $valueObject.$Name
switch ($Kind) {
'String' { return [string]$actual -ceq [string]$Expected }
'ExpandString' { return [string]$actual -ceq [string]$Expected }
'DWord' { return [uint32]$actual -eq [uint32]$Expected }
'QWord' { return [uint64]$actual -eq [uint64]$Expected }
'MultiString' {
$actualArray = @($actual)
$expectedArray = @($Expected)
if ($actualArray.Count -ne $expectedArray.Count) { return $false }
for ($index = 0; $index -lt $actualArray.Count; $index++) {
if ([string]$actualArray[$index] -cne [string]$expectedArray[$index]) { return $false }
}
return $true
}
'Binary' {
$actualArray = [byte[]]$actual
$expectedArray = [byte[]]$Expected
if ($actualArray.Length -ne $expectedArray.Length) { return $false }
for ($index = 0; $index -lt $actualArray.Length; $index++) {
if ($actualArray[$index] -ne $expectedArray[$index]) { return $false }
}
return $true
}
default { return [string]$actual -ceq [string]$Expected }
}
}
# Policy: Cookie Behavior in private browsing
# Name: Cookies_BehaviorPrivateBrowsing
# Scope: Machine
# State: Enabled
# Source: firefox.admx
$isMatch = Test-RegistryValueEquals -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Firefox\Cookies' -Name 'BehaviorPrivateBrowsing' -Kind 'String' -Expected 'accept'
if (-not $isMatch) {
$reasons.Add('Value mismatch: HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Firefox\Cookies\BehaviorPrivateBrowsing') | Out-Null
}
if ($reasons.Count -eq 0) {
Write-Output 'Compliant'
exit 0
}
$reasons | ForEach-Object { Write-Output $_ }
exit 1
Remediation
$ErrorActionPreference = 'Stop'
function Set-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $PropertyType,
[Parameter(Mandatory = $true)][object] $Value
)
if (-not (Test-Path -LiteralPath $Path)) {
New-Item -Path $Path -Force | Out-Null
}
New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
}
function Remove-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (Test-Path -LiteralPath $Path) {
Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
}
}
function Clear-RegistryKeyValues {
param(
[Parameter(Mandatory = $true)][string] $Path
)
if (-not (Test-Path -LiteralPath $Path)) {
return
}
foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
}
}
# Policy: Cookie Behavior in private browsing
# Name: Cookies_BehaviorPrivateBrowsing
# Scope: Machine
# State: Enabled
# Source: firefox.admx
Set-RegistryValue -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Firefox\Cookies' -Name 'BehaviorPrivateBrowsing' -PropertyType 'String' -Value 'accept'
History 85 retained releases
- 7.513 Nov 2025
- Translations changed; choose a language above to compare its wording.
- 7.220 Aug 2025
- Translations changed; choose a language above to compare its wording.
- 6.69 Jan 2025
- Translations changed; choose a language above to compare its wording.
- 6.526 Nov 2024
- Translations changed; choose a language above to compare its wording.
- 6.011 Jul 2024
- Translations changed; choose a language above to compare its wording.
- 4.126 Jun 2023
- Translations changed; choose a language above to compare its wording.
- 4.418 Oct 2022
- Translations changed; choose a language above to compare its wording.
- 3.102 Jun 2022
- Translations changed; choose a language above to compare its wording.
- 3.99 May 2022
- Translations changed; choose a language above to compare its wording.
- 3.48 Dec 2021
- Added in this release.
43 later releases left it unchanged.
Template
- Internal name
Cookies_BehaviorPrivateBrowsing- Namespace
Mozilla.Policies.Firefox- Template file
firefox.admx- Release
- Mozilla Firefox 7.9.1 · file set
a735e5407dca0f19…
Definition, editor controls and support
Definition
<policy class="Both" displayName="$(string.Cookies_BehaviorPrivateBrowsing)" explainText="$(string.Cookies_BehaviorPrivateBrowsing_Explain)" key="Software\Policies\Mozilla\Firefox\Cookies" name="Cookies_BehaviorPrivateBrowsing" presentation="$(presentation.Cookies_BehaviorPrivateBrowsing)" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Mozilla.Policies.Firefox:Cookies" />
<supportedOn ref="Mozilla.Policies.Firefox:SUPPORTED_FF95" />
<elements>
<enum id="Cookies_BehaviorPrivateBrowsing" valueName="BehaviorPrivateBrowsing">
<item displayName="$(string.Cookies_Behavior_Accept)">
<value>
<string>accept</string>
</value>
</item>
<item displayName="$(string.Cookies_Behavior_RejectForeign)">
<value>
<string>reject-foreign</string>
</value>
</item>
<item displayName="$(string.Cookies_Behavior_Reject)">
<value>
<string>reject</string>
</value>
</item>
<item displayName="$(string.Cookies_Behavior_LimitForeign)">
<value>
<string>limit-foreign</string>
</value>
</item>
<item displayName="$(string.Cookies_Behavior_RejectTracker)">
<value>
<string>reject-tracker</string>
</value>
</item>
<item displayName="$(string.Cookies_Behavior_RejectTrackerAndPartitionForeign)">
<value>
<string>reject-tracker-and-partition-foreign</string>
</value>
</item>
</enum>
</elements>
</policy>Editor controls
<presentation id="Cookies_BehaviorPrivateBrowsing" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<dropdownList refId="Cookies_BehaviorPrivateBrowsing" />
</presentation>Supported platforms and category
Mozilla.Policies.Firefox:category:Cookies
<category displayName="$(string.Cookies_group)" name="Cookies" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Mozilla.Policies.Firefox:firefox" />
</category>
Mozilla.Policies.Firefox:category:firefox
<category displayName="$(string.firefox)" name="firefox" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Mozilla.Policies:Cat_Mozilla" />
</category>
Mozilla.Policies.Firefox:definition:SUPPORTED_FF95
<definition displayName="$(string.SUPPORTED_FF95)" name="SUPPORTED_FF95" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
Mozilla.Policies:category:Cat_Mozilla
<category displayName="$(string.mozilla)" name="Cat_Mozilla" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
Mozilla.Policies.Firefox:category:Cookies
<category displayName="$(string.Cookies_group)" name="Cookies" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Mozilla.Policies.Firefox:firefox" />
</category>
<strings><string id="Mozilla.Policies.Firefox:Cookies_group">Cookies</string></strings>
Mozilla.Policies.Firefox:category:firefox
<category displayName="$(string.firefox)" name="firefox" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Mozilla.Policies:Cat_Mozilla" />
</category>
<strings><string id="Mozilla.Policies.Firefox:firefox">Firefox</string></strings>
Mozilla.Policies.Firefox:definition:SUPPORTED_FF95
<definition displayName="$(string.SUPPORTED_FF95)" name="SUPPORTED_FF95" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="Mozilla.Policies.Firefox:SUPPORTED_FF95">Firefox 95 or later, Firefox 91.4 ESR or later</string></strings>
Mozilla.Policies:category:Cat_Mozilla
<category displayName="$(string.mozilla)" name="Cat_Mozilla" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="Mozilla.Policies:mozilla">Mozilla</string></strings>