Hardened Fedora Atomic · secureblue · bootc
The Linux workstation that won't unlock for a tampered boot.
scroll-secure signs everything from the bootloader to /usr with your keys, then seals the disk to that exact boot chain. To open it you need the TPM2 PIN and your FIDO2 key, its PIN and a touch. It brings the Anti Evil Maid idea from Qubes OS to a fast, everyday tiling desktop.
Every layer signed. Every key yours.
No Microsoft CA. No shim. No GRUB. No "trust us" anywhere in the boot chain.
Your own Secure Boot keys
Your PK, KEK and db replace the vendor's. The firmware runs only what you signed. Your discrete GPU's option ROM is allowlisted by hash from the TPM event log, so your screen doesn't go black.
Sealed, signed UKI
Kernel, initramfs and kernel command line are signed as one file. The command line carries the composefs digest of the OS, so a modified /usr doesn't boot.
Anti Evil Maid unlock
The TPM releases its share only for your boot chain: PCR 7 plus a PCR 11 policy signed with your key, plus the TPM2 PIN. Change the bootloader, kernel or firmware keys and the disk stays shut.
Two tokens. AND, never OR.
Outer layer AES-256-XTS on the TPM2, inner layer Serpent-256-XTS on the FIDO2 key (PIN + touch). Two cipher families, two separate devices. Either one alone opens nothing.
Sealed again after boot
When the initramfs hands over, PCR 11 moves on. From then on, even root on the running system can't get the TPM to release its share again.
Hardware lock screen
A GTK4 ext-session-lock locker: FIDO2 PIN plus touch, then your password. If the locker crashes, the session stays locked. Without the key, the password prompt never appears.
Compartments on KVM
libvirt with a virtual TPM and Secure Boot in the guests. Do risky work in a VM, Qubes-style, with your desktop still native and GPU-fast.
Atomic, signed updates
One container image, cosign-verified on install. bootc upgrade swaps in a newly signed UKI, with rollback from the boot menu.
Remote desktop, no GPU needed
A software-rendered (pixman) headless scroll session with wayvnc, listening on a Unix socket in the user's private runtime directory and reached over SSH.
Tested the way an attacker would try it.
Every unlock path and every failure path runs end to end in KVM, with OVMF Secure Boot in custom mode, swtpm, and a virtual CTAP2 key on a USB gadget. Nothing is mocked.
The build fails if the signed UKI is missing a section, its PCR signature or any unlock component in the initramfs. bootc container lint --fatal-warnings gates every image.
Built on giants. Honest about the gaps.
- secureblue supplies the hardened Fedora Atomic base: hardened kernel and memory allocator,
lockdown=confidentiality, enforced module signatures, SMT off, usbguard. Its sealed-UKI pipeline is vendored here, and upstream still labels it "testing". - systemd does the heavy lifting:
systemd-cryptenroll, signed PCR policies,ukify, systemd-boot. - Qubes OS inspired the Anti Evil Maid goal. This is not Qubes: KVM doesn't give you Xen's isolation. See the full comparison.
Unaudited, so far. This runs on one real machine, and its test suite is the only evidence we have. That's the invitation: read the threat model, find what we missed, and report it. Every confirmed bug gets fixed, credited and turned into a regression test.