Skip to content

Security EN

github-actions[bot] edited this page Aug 12, 2026 · 5 revisions

Security — English

Privilege model

  • Normal runtime runs without administrator privileges.
  • Switching the default output does not require elevation.
  • Changing Windows Audio Enhancements launches a one-off UAC helper, performs the change, verifies it and exits.

Downloads

The installer gets SoundVolumeCommandLine (svcl.exe) from NirSoft. The ZIP is checked against an expected SHA-256 before installation. If NirSoft publishes another version and the hash changes, installation fails safely: do not disable that check without verifying the official hash first.

The one-line bootstrap also downloads the latest release and requires its matching .sha256 asset before extraction.

Logitech G HUB

PRO X 2 mode uses a local WebSocket:

ws://localhost:9010

This is not a public/official Logitech API and can change in future G HUB versions. Connections have bounded timeouts; failure is treated as unknown state, never as “headset off”.

IDs and local data

config.json stores Windows audio endpoint Item IDs for the current machine. They are local identifiers required to target outputs, not secrets, and should not be copied between machines.

The volatile G HUB deviceId is not persisted; it is rediscovered.

The repository/releases should never contain user-specific GUIDs, tokens or credentials.

Fail-safe policy

On Unknown, invalid CSV export, inaccessible G HUB or any untrustworthy state read, AutoSwitch does not switch output. Doing nothing is safer than interpreting a failure as a disconnect.

See also SECURITY.md.

Clone this wiki locally