<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://radegast.app/rss.xml" rel="self" type="application/atom+xml" /><link href="https://radegast.app/" rel="alternate" type="text/html" /><updated>2026-06-01T07:22:21+00:00</updated><id>https://radegast.app/rss.xml</id><title type="html">Radegast EDR</title><subtitle>Open-source, privacy-first endpoint detection and response. All your EDR data is end-to-end encrypted.</subtitle><author><name>Radegast EDR Team</name><email>admin@radegast.app</email></author><entry><title type="html">Designing a Privacy-First EDR Platform</title><link href="https://radegast.app/blog/2026/05/31/designing-privacy-first-edr/" rel="alternate" type="text/html" title="Designing a Privacy-First EDR Platform" /><published>2026-05-31T00:00:00+00:00</published><updated>2026-05-31T00:00:00+00:00</updated><id>https://radegast.app/blog/2026/05/31/designing-privacy-first-edr</id><content type="html" xml:base="https://radegast.app/blog/2026/05/31/designing-privacy-first-edr/"><![CDATA[<p>For a long time, we’ve felt like there is something missing in the antivirus/EDR software market. If you are running Windows, you have (at least) Microsoft Defender installed and running. If you are running Linux, you may have ClamAV – but good luck getting it to work properly without spending at least a day figuring out how to integrate it with your Downloads folder. If you are running macOS, you most likely have nothing.</p>

<p>But even having an antivirus running today may not be enough. It is great that it will stop you from running your <code class="language-plaintext highlighter-rouge">fortnite-money-hack.exe</code> file, but it won’t be as helpful when a <a href="https://www.microsoft.com/en-us/security/blog/2025/08/21/think-before-you-clickfix-analyzing-the-clickfix-social-engineering-technique/">ClickFix attack</a> makes you execute a malicious command on your own. This is where EDR comes in! Let’s start by looking at our options.</p>

<h2 id="current-edr-options">Current EDR Options</h2>

<p>Before designing a new EDR platform, it is best to ask if somebody hasn’t done it already – maybe they did, and maybe they did it better than you ever could. So what can you get today for your EDR?</p>

<h3 id="enterprise-level-commercial-edr">Enterprise-Level Commercial EDR</h3>

<p>Big names like <a href="https://www.crowdstrike.com/en-us/platform/">CrowdStrike Falcon</a>, <a href="https://www.microsoft.com/en-us/security/business/endpoint-security/microsoft-defender-endpoint">Microsoft Defender for Endpoint</a>, or SentinelOne’s <a href="https://www.sentinelone.com/platform/singularity-endpoint/">Singularity Endpoint</a> are the best things money can buy! But who among us, individually, has the money to buy an entire enterprise license for these tools? They offer great capabilities, detailed telemetry, and long-term storage with super-fast search. But they also cost what they are worth, which rules them out for individuals to buy and use.</p>

<h3 id="wazuh-xdr-and-siem">Wazuh XDR and SIEM</h3>

<p>If you want to go the fully open-source route, you can deploy your own state-of-the-art <a href="https://wazuh.com/">Wazuh</a> platform. You can deploy the server, connect your clients/agents to it, and control everything from one place. This is great for any company or startup that wants to avoid spending a large portion of their limited budget on an EDR solution. However, the limiting factor is the technical knowledge required to deploy and maintain the solution long-term. Sure, you can ask somebody else to maintain the Wazuh instance for you, but then you are sending them a lot of private telemetry from your device that you may not want to share.</p>

<h3 id="velociraptor-threat-hunting">Velociraptor Threat Hunting</h3>

<p>Let’s say that you don’t want to share <em>every</em> command you executed or file you opened on your machine all the time. Instead, you would like to be able to just search for threats in your environment on demand. If this is what you are looking for, then <a href="https://docs.velociraptor.app/">Velociraptor</a> is the right tool for you. With it, you are able to query all your clients on demand with the powerful Velociraptor Query Language. This is great for monitoring, but it lacks the response part. You will know that somebody started encrypting your family photos, but you will have no way to stop it.</p>

<h2 id="what-radegast-does-differently">What Radegast Does Differently</h2>

<p>Radegast is built on a few foundational ideas:</p>

<ul>
  <li><strong>Easy to deploy:</strong> Knowing how to run a single command in the CLI must be enough to get your device onboarded into the system.</li>
  <li><strong>Always private:</strong> Only the data that is <em>absolutely necessary</em> should be sent over the network, and even then, <em>only you</em> should be able to see it.</li>
  <li><strong>Fully transparent &amp; free:</strong> How can you trust that a piece of software is not doing anything other than what it promised? By letting you look under the hood. Everything must be open-source with a permissive license.</li>
</ul>

<p>Basically, what we lacked personally (and wanted to build) was a platform that would allow anybody to onboard their personal computers and servers, as well as those of their family, friends, or small team. There is always a tradeoff between privacy, required maintenance time, and capabilities. From a regular user’s perspective, the tools we have today require sacrificing either privacy or maintenance time. Radegast decided to sacrifice a little of the last factor – capabilities.</p>

<p>However, we strongly believe it is a worthy tradeoff because it allowed us to maximize privacy and ease of use instead. So, how does Radegast work exactly? Radegast operates on a classical server/client architecture. The server is a central console platform to which all clients connect and send telemetry. But the catch is that all detections (and responses) run fully locally on your machine. The only telemetry sent is when a local detection actually triggers a rule, and even then, the telemetry is fully end-to-end encrypted using the user’s public key. This means that nobody, not even server administrators, can see any details about what happened. On the other hand, nothing that the local agent is set to detect is <em>ever</em> sent to the server. So, for the cost of privacy, you are sacrificing some visibility (and investigation capability).</p>

<p>This tradeoff means you may not spot the newest state-level attackers targeting your multi-billion-dollar company, but that is not who Radegast is targeting. Radegast’s target user base is primarily smaller user groups, families, and teams that currently do not have any other EDR installed. They will most likely not face an APT-level advesary, but they may very well be targeted by the newest supply-chain attack. For this user group (of which the Radegast founders are members), having <em>some</em> visibility is infinitely better than having <em>no</em> visibility at all.</p>

<h2 id="radegast-tech-stack">Radegast Tech Stack</h2>

<p>We want onboarding to Radegast to be as simple as possible. You can either use our public <a href="https://console.radegast.app/">Console instance</a>, or simply spin up your own via our official <a href="https://hub.docker.com/r/radegastedr/console">Docker image</a> and a few environment variables. The Radegast platform is divided into four main components. Starting from your endpoint device, these are:</p>

<ul>
  <li>EDR Agent</li>
  <li>EDR Agent Connector</li>
  <li>Console Backend &amp; Database</li>
  <li>Console Web UI</li>
</ul>

<p>Let’s look at each of them in detail.</p>

<h3 id="edr-agent">EDR Agent</h3>

<p>The EDR agent is probably the most important part of the stack because it is the part running all the detections and executing responses. For the detections to be useful, it must have high privileges within the system. Because of that, it needs to be trusted. In our stack, the software that plays this part is the amazing <a href="https://github.com/Karib0u/rustinel">Rustinel</a> – a single binary written in Rust and running as root that takes a folder with Sigma/YARA rules or IoCs, with hot-reloading enabled. It uses its high privileges to hook into system events and monitors for anything that matches any known detection. If it finds something, it records an event into a JSONL file and optionally kills the process that caused the detection to trigger. Notice that there is no communication with our backend at this stage – this is an intentional decision to minimize the attack surface against this highly privileged piece of software.</p>

<h3 id="edr-agent-connector">EDR Agent Connector</h3>

<p>The defining feature of the <a href="https://github.com/radegast-edr/radegast-agent-python">EDR agent connector</a> is that it has write access to the agent’s rules and read-only access to the detection alert logs, and nothing else. Running on your computer, it periodically connects to the Console to check if there are any detection rule updates that should be downloaded. If yes, it fetches them for Rustinel to use. It also checks for new alerts in Rustinel’s log files, and if there are any, it:</p>

<ul>
  <li>Encrypts the alert using the user’s public keys</li>
  <li>Signs it using its own private key</li>
  <li>Sends the encrypted alert to the console</li>
</ul>

<p>It is currently written in Python, with a planned rewrite in Rust for the future. Because it is the only piece of the stack running on the user’s device with network access, it has the least privileges possible. The encryption part is handled using <a href="https://age-encryption.org/">age</a> because of its ease of use and wide platform support.</p>

<h3 id="console-backend--database">Console Backend &amp; Database</h3>

<p>The <a href="https://github.com/radegast-edr/radegast-console-backend">backend</a> uses FastAPI together with asyncio SQLAlchemy over an SQLite database. This is great for fast deployment and API access, as everything can be bundled inside a single Docker image. FastAPI also provides automatic OpenAPI specs and allows for clearly defined dependencies for server workers. Asyncio allows for better resource allocation. Other than that, there is nothing unexpected going on with the backend. As the platform is E2EE, the encryption is handled at the endpoints, and the backend only provides mindless storage of the encrypted data.</p>

<h3 id="console-web-ui">Console Web UI</h3>

<p>The <a href="https://github.com/radegast-edr/radegast-console-web">web UI</a> is written in the Svelte framework, as it is the fastest to pick up with a batteries-included approach. To be able to decrypt the data sent from the EDR, upon first login, the browser generates a pair of age private keys – one for regular usage and a second one for recovery. The one for regular usage is stored encrypted at rest via a <a href="https://developer.mozilla.org/en-US/docs/Web/API/CryptoKey/extractable">CryptoKey with disabled exporting</a> inside the browser’s IndexedDB. The second recovery key has its private key encrypted using AES-256-GCM with a randomly generated key and is saved in the backend database. The AES key is then shown to the user and can be used to recover the private key in case the primary private key is deleted along with the browser session. If you log in from a new web browser, you will be prompted to copy the private key to the new browser with the actuall transfer being done with the help of ephemeral age keys.</p>

<h2 id="current-project-status--where-to-go-next">Current Project Status &amp; Where to Go Next</h2>

<p>At the moment, the Console is running as an MVP. It has some demo detections that allow you to test out the functionality on Windows and Linux (and macOS, <a href="https://github.com/Karib0u/rustinel/pull/42">hopefully soon</a>). The next step is to create a reliable process for testing real-world detections and subsequently publishing them for anybody to use via the Console. If you want to stay updated, consider:</p>

<ul>
  <li>Saving this blog’s <a href="https://radegast.app/rss.xml">RSS feed</a> in your reader</li>
  <li>Following us on <a href="https://infosec.exchange/@radegast_edr">Mastodon</a></li>
  <li>Trying out the <a href="https://console.radegast.app/">Console</a> to see what it already does</li>
</ul>]]></content><author><name>Adam Hlaváček</name></author><summary type="html"><![CDATA[For a long time, we’ve felt like there is something missing in the antivirus/EDR software market. If you are running Windows, you have (at least) Microsoft Defender installed and running. If you are running Linux, you may have ClamAV – but good luck getting it to work properly without spending at least a day figuring out how to integrate it with your Downloads folder. If you are running macOS, you most likely have nothing.]]></summary></entry><entry><title type="html">Under construction</title><link href="https://radegast.app/blog/2026/05/29/welcome/" rel="alternate" type="text/html" title="Under construction" /><published>2026-05-29T00:00:00+00:00</published><updated>2026-05-29T00:00:00+00:00</updated><id>https://radegast.app/blog/2026/05/29/welcome</id><content type="html" xml:base="https://radegast.app/blog/2026/05/29/welcome/"><![CDATA[<p>This site is currently under heavy development.</p>

<p>We’re working on properly launching <strong>Radegast EDR</strong> — an open-source, privacy-first endpoint detection and response platform. Expect rough edges, missing sections, and placeholder content until we’re ready to go live.</p>

<h2 id="what-to-expect">What to expect</h2>

<p>Over the coming weeks we’ll be filling in:</p>

<ul>
  <li>Full product documentation and getting-started guides</li>
  <li>Console walkthroughs and demo recordings</li>
  <li>Detection engineering write-ups (Sigma, YARA, IOC workflows)</li>
  <li>Team introductions and project backstory</li>
  <li>Release notes as the platform evolves</li>
</ul>

<h2 id="stay-in-the-loop">Stay in the loop</h2>

<p>The best way to follow progress is to <strong>subscribe to the RSS feed</strong> — every new post will show up there the moment it’s published.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://radegast.app/rss.xml
</code></pre></div></div>

<p>Drop that URL into your feed reader of choice (<a href="https://miniflux.app">Miniflux</a>, <a href="https://netnewswire.com">NetNewsWire</a>, <a href="https://feedly.com">Feedly</a>, or any RSS client) and you’ll get notified as soon as there’s something new.</p>

<h2 id="in-the-meantime">In the meantime</h2>

<p>If you’d like to take a look at the detection engine powering Radegast EDR today, head over to <a href="https://github.com/Karib0u/rustinel">Rustinel on GitHub</a> — it’s fully open-source, Apache 2.0 licensed, and already running in the wild.</p>

<p>Questions or early feedback? Reach out at <a href="mailto:admin@radegast.app">admin@radegast.app</a> or open an issue on the <a href="https://github.com/radegast-edr">GitHub org</a>.</p>]]></content><author><name>Adam Hlaváček</name></author><summary type="html"><![CDATA[This site is currently under heavy development.]]></summary></entry></feed>