Private/Write-EFMenuHelp.ps1

function Write-EFMenuHelp {
    [CmdletBinding()]
    param(
        [switch]$NoColor,

        [ValidateRange(20, 240)]
        [int]$Width = 80
    )

    Write-EFMenuLine -Text '' -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text 'Help - everyday words used by EndpointForge' -Color Cyan -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text ('-' * [math]::Min(72, $Width)) -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text 'Checklist: a list of things you expect to be true, such as a setting being enabled, a file existing, a recent event being recorded, or a service accepting a connection. Choosing one does not run it. PowerShell scripts call it a baseline.' -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text 'Computer checkup: reads health and checklist information, then explains the result. It never changes Windows.' -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text 'Text log check: looks for exact ordinary words near the end of one local file. It never includes matching lines in the report.' -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text 'Windows event ID: a number recorded when something happens. Its meaning depends on the event log and usually the event source.' -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text 'TCP connection check: briefly asks whether one named host accepts a connection on one numbered port. It sends no application data, but the destination may record the attempt. A connection does not prove the app is healthy.' -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text 'Preview: shows the exact supported changes EndpointForge would try. A preview never changes Windows. PowerShell calls this WhatIf.' -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text 'EndpointForge can fix: a supported setting that can be changed only after selection, preview, Administrator permission, and typing APPLY exactly.' -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text 'You need to review: EndpointForge can explain the item but will not change it automatically.' -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text 'Could not check: Windows did not provide a definite answer. This does not mean the setting failed or was fixed.' -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text 'Administrator: a PowerShell window opened with Run as administrator. Normal checks work without it, but protected details and approved fixes may need it.' -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text 'Before-and-after receipt: records observed values around an approved change. EndpointForge does not promise automatic rollback because policy or later Windows changes may control the setting.' -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text 'Reports: HTML is easiest for people; JSON is for scripts. Both may contain private device and security information.' -NoColor:$NoColor -Width $Width
    Write-EFMenuLine -Text 'EndpointForge never creates or deletes a file named by a checklist item, edits logs, clears events, opens firewall ports, restarts a computer, installs itself elsewhere, enables remote access, turns on BitLocker, or changes firmware or TPM settings.' -Color Yellow -NoColor:$NoColor -Width $Width
}