mirror of
https://github.com/NexusOne23/noid-privacy.git
synced 2026-03-02 23:20:33 +01:00
v2.2.1: Critical multi-run session bugfix, .Count property fix, ASR prompt improvement, code quality review
This commit is contained in:
parent
c6f8291d50
commit
b3efcf35fd
68 changed files with 307 additions and 159 deletions
|
|
@ -1,6 +1,6 @@
|
|||
# NoID Privacy - Complete Feature List
|
||||
|
||||
**Framework Version:** v2.2.0
|
||||
**Framework Version:** v2.2.1
|
||||
**Total Security Settings:** 633 (Paranoid mode)
|
||||
**Modules:** 7 (All Production-Ready)
|
||||
**Last Updated:** December 8, 2025
|
||||
|
|
@ -11,13 +11,13 @@
|
|||
|
||||
| Module | Settings | Status | Description |
|
||||
|--------|----------|--------|-------------|
|
||||
| **SecurityBaseline** | 425 | ✅ v2.2.0 | Microsoft Security Baseline for Windows 11 v25H2 |
|
||||
| **ASR** | 19 | ✅ v2.2.0 | Attack Surface Reduction rules |
|
||||
| **DNS** | 5 | ✅ v2.2.0 | Secure DNS with DoH encryption |
|
||||
| **Privacy** | 78 | ✅ v2.2.0 | Telemetry control, OneDrive hardening (Strict: 70 Registry + 2 Services + 6 OneDrive) |
|
||||
| **AntiAI** | 32 | ✅ v2.2.0 | AI lockdown (15 features, 32 compliance checks) |
|
||||
| **EdgeHardening** | 24 | ✅ v2.2.0 | Microsoft Edge browser security (24 policies) |
|
||||
| **AdvancedSecurity** | 50 | ✅ v2.2.0 | Advanced hardening beyond MS Baseline (incl. Wireless Display, Discovery Protocols, IPv6) |
|
||||
| **SecurityBaseline** | 425 | ✅ v2.2.1 | Microsoft Security Baseline for Windows 11 v25H2 |
|
||||
| **ASR** | 19 | ✅ v2.2.1 | Attack Surface Reduction rules |
|
||||
| **DNS** | 5 | ✅ v2.2.1 | Secure DNS with DoH encryption |
|
||||
| **Privacy** | 78 | ✅ v2.2.1 | Telemetry control, OneDrive hardening (Strict: 70 Registry + 2 Services + 6 OneDrive) |
|
||||
| **AntiAI** | 32 | ✅ v2.2.1 | AI lockdown (15 features, 32 compliance checks) |
|
||||
| **EdgeHardening** | 24 | ✅ v2.2.1 | Microsoft Edge browser security (24 policies) |
|
||||
| **AdvancedSecurity** | 50 | ✅ v2.2.1 | Advanced hardening beyond MS Baseline (incl. Wireless Display, Discovery Protocols, IPv6) |
|
||||
| **TOTAL** | **633** | ✅ **100%** | **Complete Framework (Paranoid mode)** |
|
||||
|
||||
---
|
||||
|
|
@ -238,7 +238,7 @@ Clipchamp.Clipchamp, SpotifyAB.SpotifyMusic
|
|||
|
||||
## 🤖 Module 5: AntiAI (32 Policies)
|
||||
|
||||
**Description:** Disable 15 Windows AI features via 32 registry policies (v2.2.0)
|
||||
**Description:** Disable 15 Windows AI features via 32 registry policies (v2.2.1)
|
||||
|
||||
### 15 AI Features Disabled:
|
||||
|
||||
|
|
@ -724,7 +724,7 @@ Some UI elements in Paint and Photos apps may **still be visible** but non-funct
|
|||
|
||||
```
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
NoID Privacy v2.2.0
|
||||
NoID Privacy v2.2.1
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
Total Settings: 633 ✅
|
||||
|
|
@ -745,4 +745,4 @@ Framework Completion: 🎉 100% COMPLETE
|
|||
---
|
||||
|
||||
**Last Updated:** December 8, 2025
|
||||
**Framework Version:** v2.2.0
|
||||
**Framework Version:** v2.2.1
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ See [LICENSE](LICENSE) for full text.
|
|||
|
||||
**Impact:**
|
||||
- **v1.8.3 and earlier:** Remain under MIT License (cannot be changed retroactively)
|
||||
- **v2.2.0 and later:** Licensed under GPL v3.0
|
||||
- **v2.2.1 and later:** Licensed under GPL v3.0
|
||||
- Forks of v1.x can remain MIT-licensed
|
||||
- Forks of v2.x must comply with GPL v3.0
|
||||
|
||||
|
|
|
|||
|
|
@ -277,23 +277,54 @@ $env:NOIDPRIVACY_NONINTERACTIVE = "true"
|
|||
|
||||
---
|
||||
|
||||
## Return Codes
|
||||
## Exit Codes (v2.2.1+)
|
||||
|
||||
**Note:** Exit codes are currently not implemented. Error handling should be done via try/catch blocks and checking the log files.
|
||||
The framework returns structured exit codes for CI/CD integration:
|
||||
|
||||
### **Example: Error Handling in Scripts**
|
||||
| Code | Name | Description |
|
||||
|------|------|-------------|
|
||||
| **0** | `SUCCESS` | All operations completed successfully |
|
||||
| **1** | `ERROR_GENERAL` | General/unspecified error |
|
||||
| **2** | `ERROR_PREREQUISITES` | System requirements not met (OS, PowerShell, Admin) |
|
||||
| **3** | `ERROR_CONFIG` | Configuration file error (missing, invalid JSON) |
|
||||
| **4** | `ERROR_MODULE` | One or more modules failed during execution |
|
||||
| **5** | `ERROR_FATAL` | Fatal/unexpected exception |
|
||||
| **10** | `SUCCESS_REBOOT` | Success, but reboot is required for changes to take effect |
|
||||
|
||||
### **Example: CI/CD Exit Code Handling**
|
||||
|
||||
```powershell
|
||||
try {
|
||||
.\NoIDPrivacy.ps1 -Module All -ErrorAction Stop
|
||||
Write-Output "Hardening completed successfully"
|
||||
# Run hardening and capture exit code
|
||||
$process = Start-Process powershell -ArgumentList "-ExecutionPolicy Bypass -File `".\NoIDPrivacy.ps1`" -Module All" -Wait -PassThru
|
||||
$exitCode = $process.ExitCode
|
||||
|
||||
switch ($exitCode) {
|
||||
0 { Write-Host "SUCCESS: All modules applied" -ForegroundColor Green }
|
||||
10 { Write-Host "SUCCESS: Reboot required" -ForegroundColor Yellow; Restart-Computer -Force }
|
||||
2 { Write-Host "FAILED: Prerequisites not met" -ForegroundColor Red; exit 1 }
|
||||
3 { Write-Host "FAILED: Config error" -ForegroundColor Red; exit 1 }
|
||||
4 { Write-Host "FAILED: Module errors" -ForegroundColor Red; exit 1 }
|
||||
5 { Write-Host "FAILED: Fatal exception" -ForegroundColor Red; exit 1 }
|
||||
default { Write-Host "FAILED: Unknown error ($exitCode)" -ForegroundColor Red; exit 1 }
|
||||
}
|
||||
catch {
|
||||
Write-Error "Hardening failed: $_"
|
||||
```
|
||||
|
||||
### **Example: Simple Success/Failure Check**
|
||||
|
||||
```powershell
|
||||
.\NoIDPrivacy.ps1 -Module All
|
||||
$exitCode = $LASTEXITCODE
|
||||
|
||||
if ($exitCode -eq 0 -or $exitCode -eq 10) {
|
||||
Write-Host "Hardening completed successfully"
|
||||
if ($exitCode -eq 10) { Write-Host "Reboot recommended" }
|
||||
}
|
||||
else {
|
||||
Write-Host "Hardening failed with exit code: $exitCode"
|
||||
# Check logs for details
|
||||
$latestLog = Get-ChildItem "Logs" -Filter "NoIDPrivacy-*.log" | Sort-Object LastWriteTime -Descending | Select-Object -First 1
|
||||
Get-Content $latestLog.FullName | Select-String "ERROR"
|
||||
exit 1
|
||||
exit $exitCode
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue