bruhswer

a hardened browser wrapper that refuses to launch on an unproven control

CHARTER IV

If it cannot be proved, the software says UNKNOWN.

bruhswer runs Microsoft Edge inside a set of controls it verifies on every launch, and it is honest that this makes it a wrapper. One unelevated Python process launches the browser, hosts its real window in its own frame, and measures the same fixed list of properties every time: a program-scoped Windows Firewall rule keeping the browser off your router and LAN, a confined profile with real ACL probes, a download quarantine directory, and a signature check on the browser binary. There is a single fail-closed decision point, and it will not accept UNKNOWN as PASS.

The interesting question about a browser is never whether it is secure, which is unanswerable. It is which specific things were verified and how. So every verdict carries an evidence column, shown in the software's own interface as well as in its documentation, and the four kinds of evidence are kept apart: measured now, meaning bruhswer observed the property itself during this check; read-back, meaning it read a setting back from Windows just now; earlier measurement, meaning an experiment established it once on this hardware and nothing has re-run it; and reasoned, meaning it was derived from other facts and nothing was measured at all.

The firewall rows are the case that forced that distinction. bruhswer reads the rule back live and can honestly say it is present, enabled, scoped to the browser and covering every range. That the rule actually stops the browser rests on a separate experiment that nothing re-runs. Both statements are true, they are different claims, and a single green dot was making the stronger one on the weaker one's evidence.

The IPv6 rule is the same lesson applied a second time. bruhswer sets an outbound block for the IPv6 local ranges and verifies every launch that the rule is present and correctly scoped, but the IPv4 rule was measured empirically, router reachable, then blocked, then reachable again as the rule went on and came off, and there is no equivalent IPv6 result. A probe sent from bruhswer's own process would prove nothing, because the rules are scoped to the browser executable. So that panel reads RULE SET, EFFECT NOT MEASURED. It used to read BLOCKED, with exactly the same confidence as the rows that were actually measured, and that was an overclaim.

  • Python 90%
  • PowerShell 7%
  • Inno Setup 3%

Built from

  • Python
  • Tkinter
  • Windows Firewall
  • Windows ACLs
  • Microsoft Edge

What it does not do, and says so on screen

  • Localhost is reachable and bruhswer cannot stop it. Windows Firewall does not filter loopback traffic, and no rule changes that. Nineteen different routes in were tested and every one got through. It is reported as NOT ENFORCEABLE everywhere it is visible, and a regression test fails the build if it is ever described as anything else.
  • It does not sandbox the browser process. Profile isolation protects browser state, not host access.
  • It does not make anyone anonymous, and it is not a VM, a sandbox or a privacy product. It never claims to be.
  • DNS encryption is reported as UNKNOWN, because it cannot be confirmed without a capture driver.

Screenshots

bruhswer: enforcement check
Enforcement check
bruhswer: main window
Main window
bruhswer: network controls
Network controls

Roads out

Related articles

  • Local-first software

    Most software you use today runs on someone else’s computer. Local-first software runs on yours. Here is what that changes, what it costs, and why nearly everything I build works this way.

    5 min read · 2026-08-28
  • Browser hardening, and saying what you cannot enforce

    Bruhswer is a hardened browser for Windows. The most useful thing in it is not a protection. It is the words NOT ENFORCEABLE, printed whenever it cannot actually do what it claims.

    4 min read · 2026-08-28

Neighbouring holdings