macOS
Not published yetmacOS 12 Monterey or later. Apple silicon and Intel.
The bundle builds and runs, and it is not yet signed or notarised, so macOS would refuse to open it.
Release pageDownload · version 0.1.0 preview
Free, and no account. There is no signup, no trial, no card, and no email address to hand over: the app has no account to attach one to, so asking for it here would be theatre.
One file · No installer bundled with anything else · No telemetry
macOS 12 Monterey or later. Apple silicon and Intel.
The bundle builds and runs, and it is not yet signed or notarised, so macOS would refuse to open it.
Release pageWindows 10 version 1809 or later, 64 bit. WebView2, which Windows 11 already has.
The installer is not Authenticode signed yet, so SmartScreen would warn every household that downloaded it.
Release pageA glibc distribution with WebKitGTK 4.1: Ubuntu 22.04 or later, Fedora 38 or later, Debian 12 or later.
There is no package yet. The Linux CI lane compiles the core; the .deb, .rpm and AppImage are not built.
Release pageWhere this stands today, in full
The app is built and it runs. What is missing is a signature, and a signature is a purchase and an identity rather than a commit: an Apple Developer ID with notarisation, and an Authenticode certificate for Windows.
Roost could publish an unsigned build today and tell you to right-click, choose Open, and dismiss your operating system's warning. That is the exact habit a security product should not be teaching, and it would be the first thing this one ever asked of you. So it does not. The moment the signing is in place, these three cards carry files, sizes and checksums, and nothing else on this page changes.
Per platform
Local Network access, on the first scan. A scanner that cannot see the local network cannot scan it, and Roost refuses to report “nothing found” when it was blocked: it says the permission is missing and shows the numbered steps to grant it.
The checksum appears here with the release. The command to print it on macOS is shasum -a 256 ~/Downloads/Roost.dmg.
Drag Roost to the Trash. Its encrypted database and the keychain key that reads it are removed by Delete everything in Settings, which is the honest order to do it in: delete the data from inside the app, then remove the app.
The firewall prompt, the first time Roost looks for devices. Allow it on private networks; it is asking to send the discovery queries on your own network, not to accept connections from outside.
The checksum appears here with the release. The command to print it on Windows is Get-FileHash .\Roost-setup.msi -Algorithm SHA256.
Settings, Apps, Roost, Uninstall. Run Delete everything in Settings first if you want the encrypted database and its key gone as well.
Nothing, for the scan itself: discovery runs unprivileged. The traffic view needs a capture capability on the helper, and that step is documented rather than assumed, because a security product should not ask for root and leave it at that.
The checksum appears here with the release. The command to print it on Linux is sha256sum roost_0.1.0_amd64.deb.
apt remove roost, dnf remove roost, or delete the AppImage. Delete everything in Settings removes the encrypted database, its side files and the keychain key, and then proves the files are gone.
Build it yourself
The source is the whole product: the Rust scan core, the interface, and the signed check pack that holds every word you read in the app. Running it from source needs a Rust toolchain and Node.
git clone https://gitlab.com/raven-forge/roost.git
cd roost
pnpm --dir web install
cargo tauri dev
Or run the interface on its own against the stand-in core, in a browser, with pnpm --dir web dev. That is enough to read every screen and every string, and it needs no Rust at all.
Check the product's own claims while you are there
pnpm --dir web test offline
cargo test posture
cargo test store::tests::the_database_on_disk_is_not_readable_as_a_database
build/verify-pack.sh packs/home-core
cargo run --bin roost-probe network
In order: nothing in the interface reaches a remote origin; the egress posture holds; the database on disk is not readable as a database; the check pack's signature verifies; and the last one points the core at your own network, read only, and prints what it sees.
Updates, stated plainly
Roost does not phone home and does not check for its own updates. The release page is how you find out there is a new version. If an updater is ever built it will be something you press, going through the single function everything else goes through, with its host allowlisted in the same change. Silence about this would not be defensible; either answer is.
Before you install anything