Repository navigation
Data Security and Privacy
The gateway exposes an authenticated API on the local network. The SBC calls it, stores projected device state and telemetry in SQLite, and serves the dashboard. Browsers connect to the SBC. The project does not require a cloud account for this local data path.
The database contains device identifiers, inventory, readings and timestamps, dashboard preferences, locations, and operational records. Treat it and its backups as household data. The current system overview documents the tables, health checks and retention behavior.
Optional Starlink monitoring polls configurable private-network router and dish endpoints. It is read-only and stores selected status fields and samples locally; it does not store dish identity, location or per-client identifiers. Dish metrics are terminal-reported and may be absent depending on firmware.
Use distinct, randomly generated gateway and dashboard tokens. Keep .env and service environment files private, restrict their permissions, and do not include tokens in screenshots, logs shared publicly or issue text.
The default local bind is intended for access on the host. For LAN access, bind to a trusted network interface and restrict the dashboard port with the host/router firewall. An SSH tunnel is suitable for occasional remote access. The deployment guide does not claim end-to-end TLS for direct HTTP access on a LAN; do not expose it directly to the public internet.
Profiles do not provide login, identity verification, authorization or private data separation. Anyone who can access the dashboard and provide its token has the dashboard's configured capabilities.
Back up the SQLite database before software upgrades and keep copies somewhere other than the Pi's system disk. Back up secrets separately and securely. The System dashboard provides an explicit preview-and-confirm workflow to purge telemetry older than 60 days; it preserves device configuration and latest projections. Purging history is destructive and cannot be undone without a backup.
The System dashboard guide describes exactly which historical tables are purged and the SQLite file-size behavior. Its optional integrity check is operator-triggered rather than run on every page refresh.