Privacy and security
Everything stays on your computer#
- The app never connects to the internet and has no telemetry, no accounts and no ads.
- Your history is a few CSV files in your home folder. Delete them whenever you like.
- Optimized charging stores a list of unplug times on your computer. Nothing leaves it.
- The only network activity involved is opening a link in your browser when you click one, such as this manual.
The root helper#
Changing the battery's charge limit requires administrator rights, because the firmware settings are protected. The app itself never runs as root. Instead:
- A small program,
bhc-helper, is the only part that runs as root. It is started through PolicyKit, so you approve it with your password. - It uses only Rust's standard library (plus libc for the local time), accepts nothing but validated arguments, and refuses anything else.
- It writes only: the battery's
charge_control_start_thresholdandcharge_control_end_thresholdfiles; its own configuration files in/etc(the saved limit and the charging schedule); and a list of unplug times in/var/lib/battery-health-centerfor optimized charging. - With Keep After Restart on, a small systemd service re-applies the limit at startup and after sleep. With a schedule saved, a second service (started by a
.pathunit only while a schedule exists) lifts and restores the limit at the right times without asking for a password each time.
Everything else (reading battery data, drawing charts, power modes, GNOME settings) is done as you, with no extra permissions.
In the snap, the sandbox doesn't allow pkexec, so the same helper runs as a service inside the snap instead. The app sends it the same validated requests over a local socket, without asking for a password, and the service re-applies the saved limit and follows the schedule. Its files are in /var/snap/battery-health-center/common.
Open source#
The app is free software under the GPL-3.0-or-later. You can read exactly what it does in the source code. Packages are published from a signed apt repository, Fedora's COPR and the Snap Store, so your usual updates keep it current.