noid-privacy/Modules/Privacy/Privacy.psm1
NexusOne23 da9f937ee8 release: v2.2.3 - Fix Restore Mode module selection crash
CHANGELOG:
- Fixed: Restore Mode manual module selection crash (Critical)
- Root cause: .Split(',', ';', ' ') triggered wrong .NET overload
- Fix: Replaced with native PowerShell -split '[,; ]' operator
- Reported by: KatCat2

VERSION BUMP: 2.2.2 -> 2.2.3
- Updated 48 files with new version number
- CHANGELOG.md: Added v2.2.3 release notes
- README.md: Updated badge, module table, project status
2026-01-07 18:46:14 +01:00

70 lines
1.9 KiB
PowerShell

#Requires -Version 5.1
#Requires -RunAsAdministrator
<#
.SYNOPSIS
Privacy & Telemetry hardening module loader
.DESCRIPTION
Loads all Privacy module functions for Windows 11 telemetry control,
personalization settings, bloatware removal, and OneDrive configuration.
Supports 3 operating modes:
- MSRecommended: Fully supported by Microsoft (default)
- Strict: Maximum privacy (AllowTelemetry=0 only on Enterprise/Education, other settings work everywhere)
- Paranoid: Hardcore mode (not recommended)
.NOTES
Module: Privacy
Version: 2.2.3
Author: NoID Privacy
#>
# Get module root path
$script:ModuleRoot = $PSScriptRoot
# Import private functions
$privateFunctions = @(
'Backup-PrivacySettings',
'Set-TelemetrySettings',
'Set-PersonalizationSettings',
'Set-AppPrivacySettings',
'Set-OneDriveSettings',
'Set-PolicyBasedAppRemoval',
'Disable-TelemetryServices',
'Disable-TelemetryTasks',
'Remove-Bloatware'
)
foreach ($function in $privateFunctions) {
$functionPath = Join-Path $ModuleRoot "Private\$function.ps1"
if (Test-Path $functionPath) {
. $functionPath
}
}
# Import Test-PrivacyCompliance (located in module root)
$testCompliancePath = Join-Path $ModuleRoot "Test-PrivacyCompliance.ps1"
if (Test-Path $testCompliancePath) {
. $testCompliancePath
}
# Import public functions
$publicFunctions = @(
'Invoke-PrivacyHardening',
'Restore-Bloatware'
)
foreach ($function in $publicFunctions) {
$functionPath = Join-Path $ModuleRoot "Public\$function.ps1"
if (Test-Path $functionPath) {
. $functionPath
}
}
# Export public functions + Test-PrivacyCompliance (needed for Invoke-PrivacyHardening verification)
Export-ModuleMember -Function @($publicFunctions + 'Test-PrivacyCompliance')
# Alias for naming consistency (non-breaking change)
New-Alias -Name 'Invoke-Privacy' -Value 'Invoke-PrivacyHardening' -Force
Export-ModuleMember -Alias 'Invoke-Privacy'