Skip to content
Back to HeliosHelios / Diagnostics

How diagnostics work

Helios uses four precisely defined diagnostic report types. The server accepts only data matching the known schema and rejects unknown properties.

Automatic health

A lightweight health report for understanding long-term reliability. It is disabled by default and starts only after explicit opt-in.

  • the first report after diagnostics are enabled
  • a periodic health report
  • a report after the Helios version changes
  • a report after the macOS build changes

Manual health

A one-shot health report initiated by the user. It can be prepared even while automatic diagnostics are disabled. Helios shows a preview before sending and transmits the report only after a separate Send confirmation.

Manual compatibility

A more detailed one-shot report intended for investigating new or problematic hardware. Helios shows a preview before sending and transmits the report only after a separate Send confirmation.

  • detected SMC telemetry keys and technical metadata
  • thermal sensor read and decode results
  • fan topology and discovered ranges
  • telemetry provider failure categories
  • hardware-channel classifications produced by Helios

Weekly compatibility (optional)

The same content as a manual compatibility report, sent automatically about once a week. It has its own switch, separate from automatic health reports, and is off by default. Settings › Privacy & Diagnostics and the welcome screen show an example built from your Mac before you turn it on. Helios reads the sensors only, never writes anything, and waits a few minutes after launch so the reading does not slow anything down.

Fan-control statistics (optional)

A separate switch in Settings, off by default and independent of fan control itself. When it is on, health reports gain one extra section describing how the fan layer behaved since Helios was launched. The statistics are kept in memory only and are discarded when you switch the option off or quit Helios. The preview shows the exact section before anything is sent.

  • whether the Mac supports fan control, whether you enabled it, and whether the speed limit is unlocked
  • which modes you used (Auto, Manual, Boost) and whether Auto follows a curve
  • how many takeovers macOS accepted, refused or timed out, as ranges such as 2-5
  • a typical takeover duration as a range, for example 6-10 s
  • how many times the fans were handed back to macOS
  • how many refusals happened on battery power or in Low Power Mode, as ranges
  • the highest temperature and fan speed reached, as ranges

Validation before storage

The backend accepts only bounded UTF-8 JSON. It rejects duplicate keys, unknown properties, prohibited identifying data, invalid values and inconsistent combinations of fields.

Report acceptance

The server reports a request as accepted only after the validated report has been successfully persisted. If persistence is unavailable, the request fails closed instead of returning a false acceptance.

No remote commands

The diagnostics endpoint does not send configuration, commands or the server-side report ID back to Helios. Its response only indicates whether the request was accepted or rejected.

SNEJDA
1 / 8

01 · I need

What do you need?