Freedom251 › Parental control apps
ScreenGuard

What ScreenGuard is
ScreenGuard is a free parental-control system for Linux that applies screen-time rules through a systemd agent. Administrators create profiles with daily limits and weekly schedules, then manage devices through a web interface, REST API, or companion Android app. When allowed time ends, the agent can lock graphical sessions; an optional mode preserves running applications and unsaved work. Users can receive warnings 15, 10, 5, and 1 minute before lockout, and administrators can send desktop messages. Devices may discover a local server using mDNS. ScreenGuard supports self-hosted LAN use that works offline, or the hosted cloud-account model described by the project. The agent reports machine and account identifiers, active-time totals, idle status, session counts, and daily usage, but not window titles, application names, keystrokes, screenshots, or file contents. Agents initiate connections, with TLS-protected WebSockets in cloud mode. Managed machines need Linux with systemd, x86_64 or aarch64, and a compatible graphical session manager. The server uses SQLite by default and can use PostgreSQL.
Who it suits
ScreenGuard suits administrators managing Linux machines who need scheduled limits, session lockouts, usage reporting, and either offline self-hosting or hosted management.
What it does well
- Free and self-hostable
- Supports daily limits and weekly schedules
- Offers web, REST API, and Android management
- Warns users before lockout
- Does not report keystrokes or screenshots
What to know first
- Managed machines require Linux with systemd
- Requires a compatible graphical session manager
- Cloud endpoint and enrollment flow may change
- Agent reports identifiers and usage totals
Verdict
ScreenGuard provides Linux-focused parental controls with local or hosted deployment. Its documented data limits and session-lock options help administrators control usage while preserving specified application state.
Facts from ScreenGuard's own pages
- Activity reports
- Yes · github.com, 22 Sept 2026
- Administration
- Administrators manage profiles and devices through a web UI or REST API. · github.com, 12 Oct 2026
- Agent permissions
- The README says the server cannot run arbitrary commands, read files, or open a shell on the agent, but it can request a privileged agent update from GitHub releases. · github.com, 12 Oct 2026
- Cloud status
- The README describes the hosted service as young and says its endpoint and enrollment flow may change. · github.com, 12 Oct 2026
- Content filtering
- Yes · github.com, 22 Sept 2026
- Database options
- The server uses SQLite by default and can be configured to use PostgreSQL. · github.com, 12 Oct 2026
- Data collected
- The agent reports machine and local account identifiers, active-time and usage totals, idle status, and open-session counts; the README says it does not send window titles, application names, keystrokes, screenshots, or file contents. · github.com, 12 Oct 2026
- Data collection
- The README says the agent reports machine and user identifiers, active-time totals, idle status, session counts, and daily usage, but not window titles, app names, keystrokes, screenshots, or file contents. · github.com, 12 Oct 2026
- Deployment
- ScreenGuard can be self-hosted on a LAN or used with a hosted cloud account; the project says LAN use works offline without cloud access. · github.com, 12 Oct 2026
- Discovery
- Agents can discover a server automatically on the local network using mDNS. · github.com, 12 Oct 2026
- Enforcement
- A systemd agent enforces limits and can lock graphical sessions when time runs out. · github.com, 12 Oct 2026
- Free plan
- Yes · github.com, 22 Sept 2026
- Hosted option
- The README describes hosted cloud accounts for managing machines without running a server, with device approval and account-specific profiles, devices, and usage history. · github.com, 12 Oct 2026
- License
- The repository README identifies the project license as GPL-3.0. · github.com, 12 Oct 2026
- Mobile app
- A companion Android app manages profiles, devices, schedules, and daily limits through the same REST API as the web UI. · github.com, 12 Oct 2026
- Network behavior
- Agents initiate outbound connections, and cloud mode uses a TLS-protected WebSocket; LAN discovery uses mDNS. · github.com, 12 Oct 2026
- Network security
- The agent always initiates connections, and the README says cloud connections use a TLS-protected WebSocket. · github.com, 12 Oct 2026
- Notifications
- The agent can warn users 15, 10, 5, and 1 minute before lockout, and administrators can send desktop messages. · github.com, 12 Oct 2026
- Offline and hosting
- The project says it works offline and can be self-hosted without requiring cloud service. · github.com, 12 Oct 2026
- Purpose
- ScreenGuard provides parental controls for Linux, with screen-time schedules and daily limits enforced by an agent that can lock sessions. · github.com, 12 Oct 2026
- Remote control
- The documented server messages include configuration updates, lock and notification actions, log retrieval, and a privileged agent update; the README says there is no message for arbitrary commands, file reads, or shell access. · github.com, 12 Oct 2026
- Requirements
- Managed machines require Linux with systemd, an x86_64 or aarch64 CPU, and a graphical session manager supporting loginctl terminate-session. · github.com, 12 Oct 2026
- Schedule controls
- Each user profile can have daily time limits and weekly schedules. · github.com, 12 Oct 2026
- Schedules
- Administrators can set daily time limits and weekly schedules per profile. · github.com, 12 Oct 2026
Where ScreenGuard stands on Freedom251
- Parental control apps#40 of 107