Bromure icon      Bromure Agentic Coding icon

Bromure

Secure, ephemeral computing in disposable Linux VMs on macOS.

โ†’ Full details, screenshots, and downloads at bromure.io

--- This repo ships two sibling apps, both built on Apple's [Virtualization.framework](https://developer.apple.com/documentation/virtualization): - **Bromure** โ€” every browser session runs in a throwaway Linux VM. Close the window, the VM is destroyed. - **Bromure Agentic Coding** โ€” a sandboxed environment for AI coding agents (Claude Code, Codex). A host-side MITM proxy swaps fake credentials for real ones on the wire so secrets never enter the VM, then adds supply-chain scanning, prompt-injection detection, a multi-model panel, local/hybrid inference, and remote access โ€” all enforced at that one boundary.
How Bromure Agentic Coding compares Isolation, keeping secrets out of the agent, scoping their use, scanning the supply chain, catching prompt injection: most tools pick one. Bromure does all five at a single boundary, then adds what a secret-broker never could: a model panel, local inference, and a way in from anywhere. Here is the same threat model run across the tools people reach for, and where each one stops. A more detailed feature matrix is available at [bromure.io/en/feature-matrix](https://bromure.io/en/feature-matrix). | Protection | Dev Container
VS Code | nono
kernel sandbox | agent-vault
octokraft | Agent Vault
Infisical | Docker Sandboxes
microVM | Capsem
air-gapped VM | **Bromure**
Agentic Coding | | --- | --- | --- | --- | --- | --- | --- | --- | | **Security** | | | | | | | | | **Isolation boundary**
Where the blast radius stops | ๐ŸŸก Same container, shared kernel | ๐ŸŸก Kernel allow-lists, no own kernel | โŒ Agent runs in place | โŒ Proxy only; agent unboxed | โœ… microVM, its own kernel | โœ… Hardware VM, its own kernel | โœ… Hardware VM, its own kernel | | **Keep secrets out of the agent**
Can it ever read the real credential? | โŒ Forwards SSH agent + git creds | ๐ŸŸก Blocks key files; proxies some | โœ… Piped in; no read path | โœ… Proxy attaches on the wire | โœ… Host proxy injects headers | โŒ Real API keys live in the VM | โœ… Stub swapped at the wire | | **Credential scope & approval**
Per-use limits, read-only, expiry, consent | โŒ No per-use scoping | ๐ŸŸก Approval flow + egress filter | ๐ŸŸก Per-secret TTL; blocks shells | ๐ŸŸก Egress filter per endpoint | ๐ŸŸก Domain allow-list; in-VM code can still use it | ๐ŸŸก Domain + method/path egress rules | โœ… Per-destination consent + TTL | | **Supply-chain scanning**
Catching malicious / vulnerable packages | โŒ No registry scanning | โŒ Signing only, no pkg scan | โŒ Out of scope | โŒ Out of scope | โŒ No package scanning | โŒ No package scanning | โœ… Age-gate, OSV, socket.dev, Delpi | | **Prompt-injection detection**
Scanning untrusted content & rules files | โŒ | โŒ | โŒ | โŒ | โŒ | โŒ | โœ… PromptGuard + ModernBERT | | **Audit trail**
Recording what the agent did | โŒ Container logs only | ๐ŸŸก Immutable local audit | โŒ | ๐ŸŸก Request logging | ๐ŸŸก Request logging | ๐ŸŸก Full HTTP bodies in SQLite | โœ… Full session trace, encrypted | | **Supply-chain inventory** (Enterprise)
A record of every package fetched | โŒ | โŒ | โŒ | โŒ | โŒ | โŒ | โœ… Every dependency + verdict, searchable | | **Productivity** | | | | | | | | | **Token usage** (Enterprise)
Which files burn the most tokens | โŒ | โŒ | โŒ | โŒ | โŒ | โŒ | โœ… Per file, repo, and model | | **Multi-model fusion**
A panel of models, judged & synthesized | โŒ | โŒ | โŒ | โŒ | โŒ | โŒ | โœ… Panel + judge, on the wire | | **Local & hybrid models**
Inference on your own silicon or in the cloud, local fallback when cloud is down | โŒ | โŒ | โŒ | โŒ | โŒ | โŒ | โœ… Local or hybrid, on the wire | | **Reach it from anywhere**
Attach to the sandbox remotely | ๐ŸŸก VS Code remote | โŒ | โŒ | โŒ | ๐ŸŸก docker exec, local | โŒ | โœ… App, CLI, or SSH | โœ… Full โ€” built in, enforced  ยท  ๐ŸŸก Partial โ€” limited or optional  ยท  โŒ None โ€” not addressed > Hiding a token isn't the same as governing its use. Docker Sandboxes keeps the raw value out of the VM โ€” but its proxy still attaches that credential to any outbound request the sandbox makes, so a compromised package installed on the side can spend it against an allow-listed domain without ever seeing it. Only Bromure scans the package before it runs and gates each use โ€” consent, read-only, a TTL โ€” enforcing all five controls at one boundary the agent can't reach around. The same boundary is where Fusion, local inference, and remote access plug in. Compiled from each project's public documentation, June 2026. Here, agent-vault refers to [octokraft/agent-vault](https://octokraft.github.io/agent-vault/) (pipe-based secret injection), distinct from Infisical's Agent Vault (HTTP credential proxy). Docker Sandboxes is an experimental preview whose brokered credentials stay usable by anything inside the VM. Bromure's fleet-wide package inventory and token-usage rollups are surfaced in Bromure Enterprise Manager. These tools move fast โ€” see something out of date? Open an issue.
How Bromure Web compares Every secure browser polices the web. Bromure isolates it. Talon and Island harden Chromium on your machine. Menlo isolates the web โ€” in its cloud. Bromure runs every session in a disposable VM on your own Mac: real isolation, locally. A more detailed feature matrix is available at [bromure.io/en/feature-matrix](https://bromure.io/en/feature-matrix). | Capability | Talon
Prisma Access Browser | Island
Enterprise Browser | Menlo
Remote isolation | **Bromure**
Web | | --- | --- | --- | --- | --- | | **Isolation & containment** | | | | | | Isolates untrusted web code from your real OS | โŒ | โŒ | โœ… | โœ… | | Host stays safe if the browser is exploited | ๐ŸŸก | โŒ | โœ… | โœ… | | Disposable sessions that leave no trace | ๐ŸŸก | โŒ | โœ… | โœ… | | Isolation that runs locally, not in a vendor cloud | โŒ | โŒ | โŒ | โœ… | | **Device & data controls** | | | | | | Real webcam and mic inside a secure session | โœ… | ๐ŸŸก | ๐ŸŸก | โœ… | | Download and upload controls | โœ… | โœ… | โœ… | โœ… | | Malware scanning of downloads | โœ… | ๐ŸŸก | โœ… | โœ… | | Copy-paste and screenshot controls | ๐ŸŸก | โœ… | ๐ŸŸก | โœ… | | Blocks data leaving to local printers, NAS and USB | ๐ŸŸก | ๐ŸŸก | ๐ŸŸก | โœ… | | **Web protection** | | | | | | Phishing detection | โœ… | โœ… | โœ… | ๐ŸŸก | | URL and category web filtering | โœ… | โœ… | โœ… | ๐ŸŸก | | Built-in per-session VPN and IP masking | ๐ŸŸก | โŒ | ๐ŸŸก | โœ… | | Browser extension governance | โœ… | โœ… | ๐ŸŸก | ๐ŸŸก | | **Enterprise management** | | | | | | Central console and managed profiles | โœ… | โœ… | โœ… | โœ… | | Session logging and full audit trail | โœ… | โœ… | โœ… | โœ… | | SIEM and OpenTelemetry export | โœ… | โœ… | โœ… | โœ… | | Enforce use via Okta, Workspace or Entra | โœ… | โœ… | โœ… | โœ… | | Access auto-revoked when a user is offboarded | ๐ŸŸก | โœ… | ๐ŸŸก | โœ… | | Content-aware DLP and file sanitization | โœ… | โœ… | โœ… | ๐ŸŸก | | BYOD and unmanaged devices | โœ… | โœ… | โœ… | โœ… | | **Platform & model** | | | | | | Runs on every major platform | โœ… | โœ… | โœ… | ๐ŸŸก | | Open source and free to use | โŒ | โŒ | โŒ | โœ… | | Runs on-device with no per-seat cloud | ๐ŸŸก | ๐ŸŸก | โŒ | โœ… | โœ… Built in  ยท  ๐ŸŸก Partial or limited  ยท  โŒ Not offered > Talon and Island make the browser a better-policed front door โ€” but it still runs on your real OS. Menlo adds true isolation, then routes every page through its cloud. Bromure is the only one that seals each session in a disposable VM on your own machine: nothing reaches your Mac, nothing leaves your device, and closing the window erases all of it. Compiled from public product documentation (Palo Alto Networks, Island, Menlo Security) in June 2026. Partial marks capabilities that are limited, optional, licensing-gated, or โ€” for Bromure phishing detection โ€” still in beta.
## Build ```bash ./build.sh # browser app ./build.sh bromure-ac # agentic-coding app swift test # tests ``` Outputs land in `.build/arm64-apple-macosx/release/`. ## Architecture Three SPM targets: | Target | Path | Notes | | --------------- | ------------------------- | --------------------------------------------------------------- | | `bromure` | `Sources/Browser/` | Browser app + SwiftUI + AppKit window management | | `bromure-ac` | `Sources/AgentCoding/` | Agentic-coding app + MITM proxy + cloud-credential plumbing | | `SandboxEngine` | `Sources/SandboxEngine/` | Shared VM lifecycle, image management, virtio bridges | Both apps pre-warm a pool of VMs in the background so new sessions open in under a second. Guest โ†” host communication runs over vsock (clipboard, file transfer, MITM proxy). ## Requirements - macOS 14 (Sonoma) or later - Apple Silicon (M1 or newer) โ€” `Virtualization.framework` only supports ARM64 guest VMs on Apple Silicon hosts. ## Author - [Renaud Deraison](https://www.linkedin.com/in/rderaison/) (prompting) - [Claude + Opus 4.7](https://www.anthropic.com) (implementation)