System sources
The PC data the app reads and shares: CPU, GPU, media, and the rest.
The app reads the PC once and shares the result with every widget that asked for it. A widget lists the sources it reads in its manifest, under permissions.sources, then binds them in its view ("bind": "@gpu/percent") or reads them in its collector (ctx.sources.gpu.percent).
A source is read only while a widget on screen uses it, at the fastest rate any of them asks for.
Sources
cpumemorygpunetworkdisksbatteryaudiosystemtemperaturesmediaAsks firstprocessesAsks firstactive-windowAsks firstOn Windows the app reads every source here. The macOS and Linux helpers are still being built: until they are, the board's PC widgets wait for data there.
Sources that ask first
Media, processes and the active window say something about what you're doing, so installing a widget that reads them asks you first. A widget that reads one of them and can also reach the network, or an app on your PC, could send what it reads off your PC: it gets a stronger prompt, and always a human review.
Never offered
To any widget, ever: your files, your clipboard, your keystrokes, what's on your screen, running commands, and other widgets' secrets.
Temperatures
GPU temperatures come from the vendors' own interfaces. Reading a CPU's temperature on Windows needs a kernel driver, which ShiftPane won't ship; for now that comes from apps that have one, like LibreHardwareMonitor, through a local permission. The Temperatures widget does exactly that.