Back to all news
Published on · by The Bromure team

Bromure Web 4.0.0 — new floor, new browser, faster install

Bromure Web 4.0.0 rebuilds the ground every session stands on. Alpine gives way to Ubuntu 24.04, a real glibc guest — which means the official Google Chrome now runs inside the sandbox alongside Chromium, picked per profile. Installing no longer bakes an image on your Mac: Bromure downloads a signed, prebuilt one and verifies it before it ever boots. And Chrome-based profiles can enroll in Chrome Enterprise Core, so your Google Workspace admin manages a browser that evaporates at the end of every session. Free and open source, on Apple Silicon.

Every Bromure session runs inside a disposable virtual machine. That has been true since day one, and it is not what changed in 4.0.0. What changed is everything underneath it. We pulled up the floor and poured a new one — and on top of it, for the first time, sits a browser we did not compile ourselves.

Out with Alpine, in with Ubuntu

The browser VM has always been Alpine Linux: tiny, quick, and built on musl. Wonderful — right up until you want to run the software the rest of the world ships for glibc. Every proprietary Linux binary needed a shim to survive in there: a compatibility layer here, an LD_PRELOAD there, a hand-written resolver stub to keep DNS honest.

4.0.0 replaces all of it with Ubuntu 24.04 LTS — a real glibc guest, with systemd running the show and one service per Bromure agent. Vendors' own .deb packages now install the way their authors intended, with nothing propping them up. The compatibility layer is gone, and so is the class of bugs that came with it.

We used the move to put the image on a diet, too: roughly 320 MB of guest disk trimmed, a base disk down from 8 GB to 5 GB, and a fresh install that boots to about 3.3 GB used. And a nasty networking papercut went with it — sessions no longer stall on an unroutable IPv6 address the virtual NIC used to advertise, the one behind those mystery ERR_NETWORK_CHANGED failures.

Installing no longer means building

Until now, installing Bromure meant your Mac built the base image itself: netboot an installer, fetch packages, bake, wait. It worked, and it took about ten minutes of watching a progress bar.

Now Bromure downloads a prebuilt image — around a gigabyte, compressed — and you are browsing in a fraction of the time. Nothing about that download is taken on faith: every artifact is sha256-verified, and the catalog naming them is signed with the same ed25519 key that signs Bromure's own app updates. The signature covers the disk, the kernel, the initramfs, and every postinstall command, because those commands run as root inside your image — a compromised CDN must not be able to rewrite them. If the download can't be reached, the old local build is still there as a fallback.

That image is rebuilt and republished every week with current packages and the latest Chrome. So 4.0.0 also adds a quiet piece of hygiene: once your installed image is more than 30 days old, Bromure offers to fetch the current one — framed as what it is, security updates. Once per month at most, with a "never ask again" checkbox for anyone who would rather it didn't.

Two browsers, one sandbox

Here is what glibc bought us. Each profile now has a Browser picker in General settings, with two entries: Chromium or the official Google Chrome, installed as Google's own arm64 .deb and running inside the same disposable VM, under the same isolation, with the same profile policy applied. Want your bank in stock Chrome and everything else in Chromium? That's two profiles and two clicks.

Getting Bromure's own extensions to load under branded Chrome took some work — Chrome 151 ignores --load-extension outright — so they are now packed and signed into CRXs at bake time and force-installed by policy, resolving to the same extension ID under both browsers. The upshot for you is that nothing is second-class: the link sender, file picker, credential bridge, phishing guard, WebRTC block, and session tracing all work exactly the same whichever browser you pick.

One caveat worth knowing: a profile's browser locks once it has saved browsing data, since Chromium and Chrome can't read each other's profile directory. Delete the profile data in General settings and the picker unlocks.

Managed browsing: enroll in Chrome Enterprise Core

Chrome unlocks something Chromium never could. In a profile's Enterprise tab, paste an enrollment token from your Admin console (Devices → Chrome → Managed browsers) and that profile's sessions enroll in Chrome Enterprise Core, also known as CBCM — the same cloud management your Workspace admin already uses for desktop Chrome.

Policies, extension allowlists, and reporting land on a browser that is destroyed at the end of every session and rebuilt clean at the start of the next. Enrollment is stable rather than noisy: each profile appears in the Admin console as one managed browser, not a fresh record every time someone opens a window.

Also in 4.0.0

  • First-run setup, properly localized. A line in the setup flow had lost its translation key and was rendering English everywhere — reworded, re-keyed, and restored in all eight languages.
  • Boots on any host. The image now comes up correctly no matter which network-interface naming scheme the boot command line asks for.
  • Webcam support carried over. The loopback video module is rebuilt against Ubuntu's kernel through DKMS, and a distribution build refuses to publish without it.

Bromure Web is free and open source. Grab 4.0.0 on the downloads page, or learn more on the Bromure Web page →.