<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on Bor</title><link>https://getbor.dev/blog/</link><description>Recent content in Blog on Bor</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 02 Nov 2026 05:00:00 +0200</lastBuildDate><atom:link href="https://getbor.dev/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Bor at CfgMgmtCamp 2027 in Ghent</title><link>https://getbor.dev/blog/2026-11-02-bor-at-cfgmgmtcamp-2027/</link><pubDate>Mon, 02 Nov 2026 05:00:00 +0200</pubDate><guid>https://getbor.dev/blog/2026-11-02-bor-at-cfgmgmtcamp-2027/</guid><description>&lt;p class="has-text-centered"&gt;&#10; &lt;a href="https://cfgmgmtcamp.org/ghent2027/" title="CfgMgmtCamp 2027, Ghent"&gt;&#10; &lt;img src="https://getbor.dev/images/events/cfgmgmtcamp.png" alt="Config Management Camp" width="355" height="129"&gt;&#10; &lt;/a&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;From 1 to 3 February 2027, Bor goes to &lt;a href="https://cfgmgmtcamp.org/ghent2027/"&gt;CfgMgmtCamp&lt;/a&gt; in Ghent, Belgium, and I will give a talk there: &lt;strong&gt;Bor: Centralized Policy Management for Linux Desktops&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;CfgMgmtCamp is the conference of the infrastructure automation community. It started around configuration management and has grown to cover provisioning, orchestration and everything else that keeps infrastructure in a known state. It takes place at HoGent&amp;rsquo;s Campus Schoonmeersen, a short walk from Gent-Sint-Pieters station, in the days right after FOSDEM, so a lot of people make the two a single trip.&lt;/p&gt;</description></item><item><title>Bor v0.10.0 released</title><link>https://getbor.dev/blog/2026-11-02-bor-v0100-release/</link><pubDate>Mon, 02 Nov 2026 02:30:00 +0200</pubDate><guid>https://getbor.dev/blog/2026-11-02-bor-v0100-release/</guid><description>&lt;p&gt;Bor v0.10.0 is out, and it is the largest release so far. Five policy types arrive at once - &lt;strong&gt;Disk encryption&lt;/strong&gt;, &lt;strong&gt;Services &amp;amp; timers&lt;/strong&gt;, &lt;strong&gt;SELinux&lt;/strong&gt;, &lt;strong&gt;AppArmor&lt;/strong&gt; and &lt;strong&gt;Software updates&lt;/strong&gt; - the &lt;strong&gt;KDE Plasma&lt;/strong&gt; type is rebuilt on a catalogue of settings, signing in asks for the second factor before the password, and the documentation has its own site. It is also the first release under the AGPL, as &lt;a href="https://getbor.dev/blog/2026-10-16-bor-moves-to-agpl/"&gt;announced in October&lt;/a&gt;, and the first one with a commercial edition, &lt;strong&gt;Bor Enterprise&lt;/strong&gt;, next to it; that part is at the end of this post. The complete changelog is on the &lt;a href="https://github.com/VuteTech/bor/releases/tag/v0.10.0"&gt;GitHub release page&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Bor moves to the AGPL: what changes, and what never will</title><link>https://getbor.dev/blog/2026-10-16-bor-moves-to-agpl/</link><pubDate>Fri, 16 Oct 2026 00:00:00 +0300</pubDate><guid>https://getbor.dev/blog/2026-10-16-bor-moves-to-agpl/</guid><description>&lt;p&gt;Starting with the upcoming &lt;strong&gt;v0.10.0&lt;/strong&gt; release, Bor will be licensed under the &lt;strong&gt;GNU Affero General Public License, version 3&lt;/strong&gt; (AGPL-3.0) instead of the LGPL. At the same time, we&amp;rsquo;re introducing a &lt;strong&gt;Contributor License Agreement&lt;/strong&gt; for contributions, and a commercial edition, &lt;strong&gt;Bor Enterprise&lt;/strong&gt;, for organizations that need features like single sign-on.&lt;/p&gt;&#10;&lt;p&gt;License changes in open source projects often come with bad news, so let me start with the part that matters most:&lt;/p&gt;</description></item><item><title>Come meet Bor at OpenFest 2026</title><link>https://getbor.dev/blog/2026-10-15-bor-at-openfest-2026/</link><pubDate>Thu, 15 Oct 2026 00:00:00 +0300</pubDate><guid>https://getbor.dev/blog/2026-10-15-bor-at-openfest-2026/</guid><description>&lt;p&gt;On 7 and 8 November, Bor goes to &lt;a href="https://www.openfest.org/2026/"&gt;OpenFest&lt;/a&gt; in Sofia. We&amp;rsquo;ll have a stand for the whole weekend, and on Saturday I&amp;rsquo;ll be giving a talk about the project.&lt;/p&gt;&#10;&lt;p&gt;OpenFest has been the meeting point of the Bulgarian free software community for many years, and it&amp;rsquo;s where a lot of us first met the people we still work with today. Bringing Bor there feels a bit like bringing it home.&lt;/p&gt;</description></item><item><title>Managed full-disk encryption: the Disk encryption policy type coming in Bor v0.10.0</title><link>https://getbor.dev/blog/2026-09-24-disk-encryption-policy/</link><pubDate>Thu, 24 Sep 2026 00:23:22 +0300</pubDate><guid>https://getbor.dev/blog/2026-09-24-disk-encryption-policy/</guid><description>&lt;p&gt;The upcoming Bor v0.10.0 release will add a &lt;strong&gt;Disk encryption&lt;/strong&gt; policy type: managed LUKS2 full-disk encryption for the whole fleet. It verifies that the volumes that should be encrypted actually are, enrolls unattended unlocking through the &lt;strong&gt;TPM 2.0&lt;/strong&gt; chip and &lt;strong&gt;Tang&lt;/strong&gt; network servers, and escrows a per-volume &lt;strong&gt;recovery key&lt;/strong&gt; on the Bor server - the role Active Directory plays for BitLocker on Windows, now for Linux desktops.&lt;/p&gt;&#10;&lt;p&gt;This post walks through what will ship and the security design behind it.&lt;/p&gt;</description></item><item><title>Bor v0.9.0 released</title><link>https://getbor.dev/blog/2026-09-05-bor-v090-release/</link><pubDate>Sat, 05 Sep 2026 16:42:00 +0300</pubDate><guid>https://getbor.dev/blog/2026-09-05-bor-v090-release/</guid><description>&lt;p&gt;Bor v0.9.0 is out. This release adds two new policy types - &lt;strong&gt;Session Access&lt;/strong&gt; and &lt;strong&gt;Flatpak&lt;/strong&gt; - and turns every Bor server into a distribution point for its own agent packages, with a copy-paste &lt;strong&gt;deploy wizard&lt;/strong&gt;. Policies can now be &lt;strong&gt;exported and imported&lt;/strong&gt; as YAML bundles, and creating a policy is a guided four-step wizard. The complete changelog is on the &lt;a href="https://github.com/VuteTech/bor/releases/tag/v0.9.0"&gt;GitHub release page&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="thank-you-hacker-news-"&gt;Thank you, Hacker News !&lt;/h2&gt;&#10;&lt;p&gt;Shortly after v0.8.0 shipped, the release post went up on Hacker News as a &lt;a href="https://news.ycombinator.com/item?id=49142569"&gt;Show HN&lt;/a&gt; and spent a while at the top of the front page. The thread brought a lot of good questions - push versus pull delivery, how locked settings survive a curious user, mTLS versus SSH, what happens when two policies touch the same key - and one feature request that became the headline feature of this release. &lt;a href="https://news.ycombinator.com/item?id=49143691"&gt;jimmcslim asked&lt;/a&gt; whether Bor could enforce &amp;ldquo;screen time&amp;rdquo; on laptops given to children, hopefully more effectively than the built-in equivalents on iOS and Android.&lt;/p&gt;</description></item><item><title>Policies as YAML: the export/import format coming in Bor v0.9.0</title><link>https://getbor.dev/blog/2026-09-05-policy-export-import-format/</link><pubDate>Sat, 05 Sep 2026 00:00:00 +0300</pubDate><guid>https://getbor.dev/blog/2026-09-05-policy-export-import-format/</guid><description>&lt;p&gt;Policy &lt;strong&gt;export and import&lt;/strong&gt; will be published in the upcoming Bor v0.9.0 release. Any policy - or any set of policies, with their bindings - can be downloaded as a YAML bundle, kept in git, reviewed in a pull request, and imported into another Bor instance. The feature is already merged on &lt;code&gt;master&lt;/code&gt;, and you can try it today on the &lt;a href="https://getbor.dev/demo/"&gt;demo instance&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;This post is about the file format itself: what it looks like, why it is shaped the way it is, what was rejected along the way, and what happens at the import boundary.&lt;/p&gt;</description></item><item><title>Bor v0.8.0 released</title><link>https://getbor.dev/blog/2026-08-02-bor-v080-release/</link><pubDate>Sun, 02 Aug 2026 00:00:00 +0300</pubDate><guid>https://getbor.dev/blog/2026-08-02-bor-v080-release/</guid><description>&lt;p&gt;Bor v0.8.0 is out. This release adds three new policy types — &lt;strong&gt;Thunderbird&lt;/strong&gt;, &lt;strong&gt;Microsoft Edge for Business&lt;/strong&gt;, and &lt;strong&gt;Firewalld zones&lt;/strong&gt; — alongside a full web UI overhaul, finer-grained RBAC, and a dedicated security hardening pass. The complete changelog is on the &lt;a href="https://github.com/VuteTech/bor/releases/tag/v0.8.0"&gt;GitHub release page&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://getbor.dev/images/screenshots/policies-list.2bf4959e0cf643c29838b9d391fee829.png" srcset="https://getbor.dev/images/screenshots/policies-list_hu_7df9ef7d4accc206.webp 960w, https://getbor.dev/images/screenshots/policies-list_hu_ead742946ef5dce3.webp 1600w, https://getbor.dev/images/screenshots/policies-list_hu_89d08d1cb39b7c6c.webp 3200w" sizes="(min-width: 1024px) 960px, 100vw" alt="The Policies list in v0.8.0 — Thunderbird, Edge, and Firewalld join Firefox, Chrome, Package, and dconf" width="3200" height="2000" loading="lazy"&gt;&lt;/p&gt;&#10;&lt;h2 id="thunderbird-policy-type"&gt;Thunderbird policy type&lt;/h2&gt;&#10;&lt;p&gt;Mozilla Thunderbird can now be managed on enrolled desktops with the same mechanism used for Firefox ESR. The agent writes the managed &lt;code&gt;policies.json&lt;/code&gt; that Thunderbird expects, merged from all bound policies, and removing the last policy restores the original file. Flatpak installations are detected and enforced alongside RPM/DEB installations, and the managed file is protected by the tamper watcher — external edits are detected and immediately restored. The web UI ships a full policy editor with the complete Thunderbird policy catalogue.&lt;/p&gt;</description></item><item><title>Bor v0.7.0 released</title><link>https://getbor.dev/blog/2026-05-14-bor-v070-release/</link><pubDate>Thu, 14 May 2026 00:00:00 +0300</pubDate><guid>https://getbor.dev/blog/2026-05-14-bor-v070-release/</guid><description>&lt;p&gt;Bor v0.7.0 is out. This release introduces &lt;strong&gt;Package Management Policy&lt;/strong&gt; — a new policy type that lets administrators control software repositories and installed packages on enrolled Linux desktops, using the same publish-and-stream workflow as existing policies.&lt;/p&gt;&#10;&lt;h2 id="package-policy"&gt;Package policy&lt;/h2&gt;&#10;&lt;p&gt;A &lt;code&gt;Package&lt;/code&gt; policy has three sections:&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Repositories&lt;/strong&gt; — add APT (deb822 &lt;code&gt;.sources&lt;/code&gt;), DNF/YUM (&lt;code&gt;.repo&lt;/code&gt; INI), or Zypper (&lt;code&gt;.repo&lt;/code&gt; INI) repositories. The agent auto-detects the node&amp;rsquo;s package manager and writes the correct file format to the right location. GPG signing keys are supported for all repository types and are written to the appropriate keyring directory.&lt;/p&gt;</description></item><item><title>Bor v0.6.0 released</title><link>https://getbor.dev/blog/2026-05-11-bor-v060-release/</link><pubDate>Mon, 11 May 2026 00:00:00 +0300</pubDate><guid>https://getbor.dev/blog/2026-05-11-bor-v060-release/</guid><description>&lt;p&gt;Bor v0.6.0 is out. The two headline features are automatic TLS certificate provisioning via ACME and self-service password management for users.&lt;/p&gt;&#10;&lt;h2 id="acme--lets-encrypt-support"&gt;ACME / Let&amp;rsquo;s Encrypt support&lt;/h2&gt;&#10;&lt;p&gt;The server can now automatically obtain and renew TLS certificates from Let&amp;rsquo;s Encrypt or any RFC 8555-compatible CA. This removes the need to manage certificates manually or run a separate reverse proxy just for TLS termination.&lt;/p&gt;&#10;&lt;p&gt;To enable it, set three environment variables before starting the server:&lt;/p&gt;</description></item><item><title>Bor Video Tutorials on YouTube</title><link>https://getbor.dev/blog/2026-04-18-video-tutorials/</link><pubDate>Sat, 18 Apr 2026 21:33:18 +0300</pubDate><guid>https://getbor.dev/blog/2026-04-18-video-tutorials/</guid><description>&lt;p&gt;I&amp;rsquo;ve started a YouTube playlist with video tutorials covering how to install, configure, and use Bor. The series walks through the main workflows step by step — from setting up the server to enrolling nodes and publishing policies.&lt;/p&gt;&#10;&lt;div class="video-embed"&gt;&#10; &lt;iframe&#10; src="https://www.youtube.com/embed/TfOnHZc2vg4?list=PLRXRA0yaZ5T_0y8awfifPeMIsU33qU2QB"&#10; title="Bor Video Tutorials"&#10; frameborder="0"&#10; allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"&#10; allowfullscreen&gt;&#10; &lt;/iframe&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;New videos will be added to the playlist as the project evolves. You can follow the full playlist on &lt;a href="https://www.youtube.com/watch?v=TfOnHZc2vg4&amp;amp;list=PLRXRA0yaZ5T_0y8awfifPeMIsU33qU2QB"&gt;YouTube&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Announcing Bor: Open Source Linux Desktop Policy Management</title><link>https://getbor.dev/blog/2026-04-18-bor-linkedin-announcement/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://getbor.dev/blog/2026-04-18-bor-linkedin-announcement/</guid><description>&lt;p&gt;&lt;em&gt;This is the original announcement published on &lt;a href="https://www.linkedin.com/posts/blpetrov_linux-opensource-enterprisesecurity-activity-7449596723062095872-pmut?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAAAbrx7sByW-Flfp57OGyT78-U6K_I_g6644"&gt;LinkedIn&lt;/a&gt; on April 14, 2026.&lt;/em&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;I&amp;rsquo;m happy to announce Bor! — an open source Linux desktop policy manager I&amp;rsquo;ve been quietly building for the past several months. Today it&amp;rsquo;s finally available for download 🎉&lt;/p&gt;&#10;&lt;p&gt;If you&amp;rsquo;ve ever managed a fleet of Linux desktops in an enterprise or government environment, you know the pain: no native equivalent of Group Policy, no central way to enforce browser settings, restrict system access, or prove to an auditor that your configuration is consistent across hundreds of machines.&lt;/p&gt;</description></item><item><title>Introducing Bor</title><link>https://getbor.dev/blog/2025-06-01-introducing-bor/</link><pubDate>Sun, 01 Jun 2025 00:00:00 +0000</pubDate><guid>https://getbor.dev/blog/2025-06-01-introducing-bor/</guid><description>&lt;p&gt;Bor is an open-source policy management system for Linux desktops. It gives IT administrators a central web console to define configuration policies and push them to managed workstations in real time.&lt;/p&gt;&#10;&lt;h2 id="why-bor"&gt;Why Bor?&lt;/h2&gt;&#10;&lt;p&gt;Managing desktop configuration at scale on Linux has traditionally meant choosing between heavyweight enterprise suites and ad-hoc scripting. Bor fills the gap with a focused, purpose-built tool:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Web-based policy management&lt;/strong&gt; — create, version, and organize policies from a browser. Assign them to groups of machines with a few clicks.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Real-time delivery&lt;/strong&gt; — policy changes reach agents the moment they happen. No polling intervals, no waiting for a configuration run to complete.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Zero-touch enrollment&lt;/strong&gt; — generate a one-time token, pass it to the agent on first run. The agent provisions its own certificates automatically.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Role-based access control&lt;/strong&gt; — fine-grained permissions let you delegate policy authoring and node management to different teams.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="how-bor-differs-from-foreman-uyuni-and-configuration-management-tools"&gt;How Bor differs from Foreman, Uyuni, and configuration management tools&lt;/h2&gt;&#10;&lt;p&gt;Systems like Foreman and Uyuni are built around Infrastructure-as-Code engines — Ansible, Puppet, Salt, or Chef. These tools are powerful and flexible: you write code (playbooks, manifests, states) that can do virtually anything on a target machine. That flexibility comes with complexity. Someone has to write and maintain the code, review changes for safety, and reason about ordering, idempotency, and drift detection. For desktop fleets managed by IT teams rather than DevOps engineers, this is often more machinery than the problem requires.&lt;/p&gt;</description></item></channel></rss>