Policy management for Linux desktops

Define, distribute, and enforce desktop configuration policies across your fleet — in real time. Open source, secure by default, built for enterprise Linux.

Get Started

Bor — Policy Management
Bor Policy Management dashboard

    How it works

    A central server, lightweight agents, real-time streaming

    Centralized management

    Author and manage policies from a web console built with PatternFly. Organize nodes into groups and control access with RBAC.

    Real-time delivery

    Policies stream to agents over gRPC the moment they change. Delta sync minimizes bandwidth; snapshot fallback guarantees consistency.

    Secure by default

    mTLS with an auto-generated internal CA. One-time token enrollment. No shared secrets, no polling, no plaintext.

    Built for enterprise Linux

    Lightweight, native, and open source

    Zero-touch enrollment On domain-joined machines, agents enroll automatically using their Kerberos ticket — no tokens, no manual steps. For machines outside a domain, a short-lived one-time token generated from the web UI is used instead. Either way, mTLS certificates are exchanged automatically after the initial authentication and stored securely on the agent.

    Real-time policy delivery Policies reach every enrolled node the moment they are published. Persistent gRPC streams and delta sync keep bandwidth minimal and guarantee consistency — even across thousands of nodes or through network interruptions.

    Compliance without complexity Every policy change, authentication event, and enforcement action is recorded in a tamper-evident audit log. Built-in RBAC, LDAP/AD integration, and support for Kerberos and WebAuthn align access controls with your existing directory services — ready for compliance reviews out of the box.

    Simple to deploy and operate A single server binary backed by PostgreSQL, and a single lightweight agent. No message queues, no sidecars, no external dependencies. Install from a native package, manage with systemd — from zero to your first enrolled node in minutes.

    Project Status

    What's built, what's in progress, and what's next

    Done 15
    Policy CRUD with draft / released / archived lifecycle
    gRPC streaming — delta sync and snapshot fallback
    Compliance reporting with per-item results
    Node status dashboard and fleet overview
    Policies: Firefox, Chrome, KDE/KConfig, dconf, polkit
    LDAP / AD with group-to-role mapping
    Kerberos (SPNEGO) — primary agent authentication, alternative to enrollment tokens
    WebAuthn / Passkey — web UI login
    PKCS#11 / HSM support for CA private keys
    Prometheus metrics endpoint
    Audit log with configurable retention
    RBAC — predefined roles, scope-aware
    Packages: .deb .rpm .apk .pkg.tar.zst, multi-arch
    Tamper protection — managed file modifications trigger audit log alerts
    mTLS connectivity between the server and the agents
    In Progress 2
    Multi-tenancy (RBAC scopes done, per-org data isolation pending)
    ACME / Let's Encrypt support for web UI TLS
    Planned 6
    systemd, package, and network policy types
    Flatpak and package management support
    Management of XDG Desktop portals
    FirewallD policy type
    Agent auto-update mechanism
    Policy templates library