Skip to content

Bor documentation

Bor is an open-source policy management system for Linux desktops. A central server stores configuration policies and delivers them in real time to enrolled Linux endpoints. A lightweight agent on each endpoint receives the policies over an encrypted gRPC stream, enforces them locally, protects the managed files against tampering and reports compliance back to the server.

This is the official community documentation. It covers installing Bor from distribution packages, configuring the server and the agent, and managing policies through the web interface.

What Bor manages

Area Policy type
Web browsers Firefox, Chrome and Chromium, Microsoft Edge
Mail Thunderbird
Desktop environments KDE Plasma (KConfig / Kiosk), GNOME (dconf)
System privileges Polkit, Session access
Network Firewalld
Software Flatpak, Packages and repositories
Data protection Disk encryption (LUKS2)

How it fits together

flowchart LR
    admin(["Administrators<br/>(web browser)"])
    db[("PostgreSQL")]
    server["<b>bor-server</b><br/>web UI, REST API,<br/>internal CA"]
    agent["<b>bor-agent</b><br/>root daemon on every<br/>managed desktop"]
    local[("Policy files and<br/>system tools")]

    admin -- "HTTPS (web port, 443 or 8443)" --> server
    db --- server
    server <== "enrollment: web port (TLS)<br/>policy stream :8444 (mTLS)" ==> agent
    agent -- "enforces, watches,<br/>reports compliance" --> local
  1. An administrator creates policies in the web UI and releases them.
  2. Policies are bound to node groups.
  3. Each enrolled node (an endpoint running the agent) belongs to one or more node groups and receives every released policy bound to them.
  4. Changes reach connected agents immediately; agents that were offline catch up when they reconnect.

Read Concepts for a full explanation.

Where to start

License and community

Bor is licensed under the GNU Lesser General Public License v3.0 or later. The source code, issue tracker and releases are on GitHub. The project website is getbor.dev.