Version: v0.2 draft · Updated: 2026-05-17 · Supersedes: v0.1 (2025-04-23)
Forward-looking plan for Vigil Browser — a lean, privacy-respecting Chromium fork built on
ungoogled-chromium-windows with a
Brave-style chromium_src/ overlay system, a dark new-tab page, and uBlock Origin pre-installed.
This roadmap is dense by design. Every claim about a competitor or upstream is footnoted to a URL in the Appendix. Items with no source are internal observations from this repo's tree.
Charter. Vigil ships the privacy-and-defaults browser that an IT admin would build for themselves — preconfigured for a sysadmin/clinic/power-user audience, with no telemetry, no rewards, no crypto, no in-browser LLM, no in-browser VPN service. The reference is "Brave Origin, but free" — Brave's own $60 one-time paid bloat-removal tier confirms the audience exists.12
Non-goals. These are off-table by design (see Rejected for full reasoning): crypto wallets, Web3 name resolution, BAT-style sponsored ads, integrated LLM chatbots, integrated paid VPN service, integrated mail/calendar/feeds, gamer/RGB features, novelty tab paradigms (Arc), referral-link rewriting,3 and telemetry-by-default.
Audience signal. The maintainer's sibling projects — BetterNext (a NextDNS companion) and VoyanceFirewall (a clinic/enterprise Windows lock-down tool) — point at the same user: the person who installs the browser on someone else's machine and wants the result to stay clean. Wherever the roadmap mentions clinic/kiosk/admin features, that's the alignment.
What ships in master today:
- v0.1.0 · Chromium 145.0.7632.1594 · Windows-only build pipeline.
- Brave-style
chromium_src/overlay system targetingchrome://settings,chrome://flags,chrome://history,chrome://bookmarks,chrome://downloads,chrome://extensions, and the security-interstitial CSS, with a single dark "IT-admin" Vigil theme. initial_preferencesJSON sets first-run defaults: bookmark bar on, Safe Browsing off, DNT on, autofill off, translate off, network prediction off, default search = Google withsuggest_url.setup_extensions.pyfetches the latest uBlock Origin Chromium build fromgorhill/uBlock's GitHub Releases and stages it underExtensions/cjpalhdlnbpafiamejdnhcphjbkeiagm/<v>/plus adefault_extensions/<id>.jsonexternal-extensions pointer.- Patches restore the Chrome Web Store and Google search engine (otherwise stripped by ungoogled).
- Custom dark new-tab HTML (
ntp/newtab.html) with clock, search, configurable shortcuts, settings panel. - Generated Vigil "shield + eye" icon set via Pillow (
branding/generate_icons.py); branding text/icons applied frombranding.jsonat build time viaapply_overlays.py. - CI: hand-chained 12-stage build for x64, 16-stage for x86, additional chain for arm64, all dodging the GitHub Actions 6-hour single-job limit.
What's stubbed, broken, or missing on inspection (drives the Now tier):
- The custom NTP is copied to
chrome/browser/resources/new_tab_page_custom/andbuild_outputs/ntp/, but nothing rewriteschrome://newtabto serve it, so the dark NTP inntp/newtab.htmllikely never loads as the default new tab. Seeapply_overlays.py:47-68&package.py:106-112. default_search_provider_dataships Google withsuggest_url— contradicts the "privacy-focused defaults" line in the README, and is exactly the issue the audience left Chrome over.- Safe Browsing disabled with no offline replacement; users lose phishing protection.
- No code signing ⇒ SmartScreen Defender warning on every install, hurting trust badly.
- No auto-updater — users must manually grab releases.
CHANGELOG.mdis malformed (literal%Y->-and merge-commit text on the version line).- No test suite, no
CONTRIBUTING.md, noARCHITECTURE.md— bus-factor of one. - The 28-stage CI chain is a known time-bomb: any single failed step requires manual restart.
| ID | Theme | Posture |
|---|---|---|
| T1 | Privacy hardening (curated, not novelty) | Adopt patches that work; reject anything that breaks parity-fingerprinting |
| T2 | Anti-bloat & audit-defaults | Vigil's wedge: ship Brave Origin's promise free |
| T3 | IT-admin / clinic readiness | ADMX, kiosk, policy-managed defaults, MSI installer |
| T4 | Build & distribution pipeline maturity | Code-signed, attested, auto-updated, multi-channel |
| T5 | First-run & sensible defaults | The defaults are the product |
| T6 | Extension ecosystem (MV2 long-tail) | Preserve Manifest V2 against upstream removal |
| T7 | UX polish — parity wins, no novelty tax | Verticals, workspaces, split, reader; not Arc-style invention |
| T8 | Platform coverage | Windows-first; Linux earned; macOS later |
| T9 | Sibling-project integration | BetterNext & VoyanceFirewall as native panels, not extensions |
| T10 | Project health | Docs, tests, contributing, governance |
Things that are wrong or missing today and are cheap to fix. Each lands with a unit-test or smoke-test where applicable.
N1· Fix the search-engine contradiction. Swapdefault_search_provider_datafrom Google to a privacy-respecting default. Recommended primary: DuckDuckGo (HTML form & suggest endpoint); ship Brave Search, Startpage, Kagi, Mojeek and Google as one-click alternates. Rationale: matches the README line and removes the implicit handshake that the currentsuggest_urlperforms on every keystroke. (Seeinitial_preferences:19-30.) Source: PrivacyGuides DNS/Search list.5N2· HTTPS-First (Balanced) ON by default. SetHttpsOnlyMode& thechrome://flags/#https-only-mode-settingflag so Vigil ships HTTPS-First now, ahead of Chrome 154's October 2026 default-on plan.67 Marketing copy writes itself.N3· Wire the custom NTP correctly. Todayntp/newtab.htmlis installed but not registered aschrome://newtab. Either (a) override the NTP via a smallchromium_src/patch tochrome/browser/ui/views/new_tab_page/, or (b) ship it as a bundled extension that claimschrome_url_overrides.newtab(the Brave/Cromite approach). Option (b) is the smaller blast radius and is the recommended first path.N4· Restore replacement for disabled Safe Browsing. Either (a) ship a local hosts-file blocklist via--host-rules-filebaked into theinitial_preferencesdistribution block, or (b) keep Safe Browsing enabled but disable the upload-side telemetry only. Current "off entirely" position is a usability regression with no privacy benefit because uBO already covers most of it. Source: PrivacyGuides browser criteria.8N5· Permissions-Policy default-deny for high-risk surfaces. Set Permissions-Policy at the enterprise-policy level forusb=(),serial=(),hid=(),bluetooth=(),idle-detection=(),local-fonts=(),payment=(). CVE-2026-5276 (Edge WebUSB)9 and CVE-2026-4680 (Chrome FedCM UAF)10 make this hardening, not paranoia. Override via avigil://device-accesssettings page in a later release. Reference: Permissions-Policy spec.11N6· Drop the Privacy Sandbox retired-surface flags. Topics, Protected Audience API, and Attribution Reporting were retired by Google in October 20251213; even if upstream Chromium still exposes the flags, Vigil should disable them ininitial_preferencesand remove their entries from the Vigil settings overlay.
N7· CI refactor — reusable workflow + matrix. The current 28-stage hand-chained workflow (.github/workflows/main.yml) is brittle. Split into one reusable workflow accepting(arch, stage), called by a matrix(arch × stage)withneeds:only on the prior stage of the same arch. Move arm64 onto the GitHub-hosted ARM64 runner (GA in private repos as of Jan 202614) to halve arm build time.N8· Code-sign Windows binaries via SignPath Foundation. SignPath has a free OSS program that issues an HSM-backed cert to "SignPath Foundation" and signs releases via approved GitHub Actions.1516 Fallback: Azure Trusted (Artifact) Signing, $9.99/mo for 5k sigs.1718 This single change removes the SmartScreen warning that is currently the #1 trust issue.N9· SLSA build provenance attestations. Addactions/attest-build-provenanceto every artifact-emitting job. Free for public repos, single step.1920N10· Reproducible-build groundwork. Setenable_resource_allowlist_generation=falseonly in instrumented PGO builds (per Chromium's own deterministic-build doc),21 document the env-var diff between build hosts in a newdocs/build-environment.md. Brave's reproducible-builds issue is still open after 7 years22 — partial determinism is the realistic target.N11· FixCHANGELOG.md. Replace the literal%Y->-placeholder; adopt the Keep-a-Changelog format and write a tag-driven generator indevutils/changelog.py.N12· Pin and document toolchain versions.flags.windows.gnshould record clang, rustc, ninja, gn revisions per release; expose atchrome://versionvia overlay.
N13· WriteCONTRIBUTING.mdandARCHITECTURE.md. ARCHITECTURE = how thechromium_src/overlay, patches, andinitial_preferencesinteract (Brave's docs are an excellent model23); CONTRIBUTING = how to add an overlay, how to add a patch, how to bump Chromium. Both unblock external PRs.N14· Add a smoke test in CI. Boot the built installer in a Windows VM, navigate to a test page, confirm: bundled uBO loaded,initial_preferencesapplied, new-tab page = Vigil NTP, search-engine default =N1choice. Use [Playwright]24 or Selenium with the already-builtchromedriveroutput.N15· Publish a winget manifest.Vigil.Browserinmicrosoft/winget-pkgs, auto-PR on every release tag via a small action (the upstream project ships.github/actions/winget/infra to crib from).2526
X1· Carry an MV2-retention patch set against each Chromium bump. Chrome 138 was the last MV2-supporting stable; 139 removed it including theExtensionManifestV2Availabilitypolicy.2728 Brave, Thorium, Cromite, and Supermium all carry MV2-keep-alive patches.2930 This is the feature that justifies a Chromium fork to a sysadmin audience in 2026. Publish a written "MV2 Policy" doc as part of v0.3.X2· AMO → CRX bridge (research, not commit). Investigate a Vigil-side converter that ingests a Firefox.xpiand re-packs as CRX3 viacrx3npm tool, then surfaces in a Vigil-branded installer page. CRX3 requires Web-Store-signed keys for off-store install since Chrome 7531 — the practical implementation is a developer-mode allowlist plus the conversion tool. MarkRESEARCHin v0.3, ship in v0.5 if feasible.X3· Force-installVigil-recommendedextension set. Use the existing external-extensions JSON mechanism plus a Vigil-onlyExtensionInstallForcelisttemplate (defaults to just uBO, documented). Reference: uBO deploy guide,32 Chromium extension-policy admin doc.33X4· Sideload-without-developer-mode-warning toggle. Patch the warning banner so signed CRX from an admin-trusted publisher key list installs cleanly. (Already in roadmap v0.1; keep.)
X5· Backport Iridium's WebRTC patches. Per-connection identity (no 30-day reuse), fresh ECDHE keypair per connection, RSA self-signed-cert keysize 2048. Small, network-layer, no Web-API spoofing — the safe kind.3435X6· DoH first-run picker (sticky, no fallback). Pre-populate Quad9, NextDNS, Cloudflare, Mullvad, AdGuard, ControlD as named entries; offer "custom" with hostname validation. Reference: PrivacyGuides DNS list,36 AdGuard DNS provider list.37 Pair withBetterNextintegration inY1.X7· Strip Client Hints (UA-CH). UA-CH was retained from the Privacy Sandbox cull,12 but is a fingerprinting vector. Defaultaccept_ch_browser_policy=disabledor equivalent; offer per-site override via a flag.X8· Anti-fingerprinting "Strict" toggle (off by default). A curated, opinionated subset of Cromite's protections (canvas, audio, font-list clamp,navigator.hardwareConcurrencybucketed to {2,4,8}, screen.avail* hidden)38 — not full Brave farbling. Documented breakage list. Off by default per the Mullvad caveat that customization defeats fingerprint uniformity.8X9· Encrypted Client Hello (ECH) audit. ECH is on by default upstream;39 Vigil should never expose a "disable ECH" toggle (some corporate filters demand it). Document.
X10· Ship a Vigil ADMX template (vigil.admx+vigil.adml). A documented subset of Chrome's ~400 enterprise policies:40URLBlocklist,URLAllowlist,ExtensionInstallForcelist,ExtensionInstallBlocklist,HomepageLocation,NewTabPageLocation,IncognitoModeAvailability,ProxyMode,ManagedBookmarks,DefaultSearchProviderEnabled,AlwaysOpenPdfExternally,AutofillAddressEnabled,ScreenCaptureAllowed,ClipboardAllowedForUrls,DownloadDirectory,ManagedConfigurationPerOrigin. Mirror Microsoft Edge's ADMX pattern.41 This is the single biggest IT-admin adoption blocker.X11· Ship an MSI installer alongside the EXE. Required for Group Policy / Intune Win32App deployment.42 Use the [WiX Toolset]43 to wrap the existingmini_installeroutputs.X12· Vigil-Kiosk variant. A separately-branded build that boots straight into a pinned URL, hides chrome, auto-restarts on crash, integrates with Windows Task Scheduler watchdog. Reference: Chromium kiosk-public-session doc.44 Clinic alignment with VoyanceFirewall.X13·chrome://policyVigil-themed override. Currently the overlay set themesflags,settings, etc.; addpolicy— the page sysadmins check first.
X14· Vertical tabs. Edge ships,45 Zen built its identity on it,46 Brave just relit#brave-scrollable-tab-stripand ships a toolbar toggle.47 Chromium has the#side-panel-pinned-2family; expose a built-in toggle in Vigil's themed settings page.X15· Split view (2-pane). Brave shipped 2026 split-view, Zen does 2×2.48 Vigil ships 2-pane only; multi-pane deferred.X16· Tab hibernation (a.k.a. Sleeping Tabs). Chromium has the discard primitive; Edge49 exposes it. Surface in Vigil's settings overlay with per-domain exception list.X17· Reader Mode (proper). Chromium ships a "Distill page" prototype; Brave's SpeedReader is MPL-2.0 and well-documented50 but heavy. Phase 1: expose the upstream distiller as a one-click toolbar button + Markdown export.X18· Command palette (Ctrl+Shift+P). Floorp 12.14.0 shipped one;51 Vivaldi's "Quick Commands" is the model.52 Wraps existing chrome actions; no new commands needed.X19· NTP widgets shipv2. Today: clock, search, shortcuts, settings. Add: weather (Open-Meteo, no API key), top-sites (existing Chromium MV API), bookmark folder, RSS quick-feed (3 items), notes (localStorage). All optional, all in the existing settings panel. Keep<320 KB total.
X20· Auto-updater via Velopack. Cross-platform Rust updater with delta packages, GitHub-Releases backend, staged rollouts (added 2026).5354 Avoid Omaha 4 — too heavy for a solo-maintained fork.5556X21· Scoop + Chocolatey manifests. Auto-publish on tag.57X22· Two release channels.vigil-stablefollows upstream stable;vigil-canaryfollows upstreambeta/canaryonce a week. Both via the same matrix workflow fromN7.X23· Portable build (no installer). Sentinel fileportable_data/next tochrome.exetriggers--user-data-dir=.\portable_data; already a Supermium pattern.30
L1· Linux build (AppImage + deb + rpm + Flatpak). Use the samechromium_src/overlay set; package theungoogled-chromiumLinux scripts. Validate by mirroring Cromite's release matrix.58 Defer macOS until L1 is stable for two releases.L2· macOS build. Inherit from upstream [ungoogled-chromium-macos]59; reuse Vigil overlays. Code-sign separately (Apple Developer ID, ~$99/yr).L3· ARM64 native runner for builds. Move arm64 stages to the GA ARM64 GitHub-hosted runner.14
L4· Migrate from bundled uBO toadblock-rustconsumed as a crate. Brave's network-layer engine; MPL-2.0; supports ABP + uBO syntax + cosmetic + scriptlet + resource-replacement; 2026 FlatBuffers refactor cut memory ~75% / ~45 MB per platform;6061 Firefox 149 silently shipped it Mar 2026. Two-phase: consume as a bundled extension first (gasanache wrapper pattern), then absorb into the binary in v0.7+. Bundled uBO remains the default until parity is verified.
Y1· "Network Filter Companion" panel. Detects NextDNS / Pi-hole / AdGuard Home / Mullvad DNS in the active network stack and surfaces a live block-stats & allow/deny side panel. This is the natural home for BetterNext's feature surface, brought in-tree as a bundled extension or achrome://network-filteroverlay. Existing community NextDNS browser extensions are weak,626364 confirming the gap.Y2· VoyanceFirewall hand-off. A "Locked-Down Profile" wizard (1-click) that loads a documented Vigil ADMX subset for clinic/kiosk and writes a sentinel for VoyanceFirewall to detect and supplement at the network layer.Y3· "Panic" hotkey. Opera GX has it;65 clinic audience needs it (patient walks up to a kiosk).Ctrl+Alt+Shift+P: close all windows, clear session, return to lock screen.
L5· Local Workspaces (no M365 lock-in). Match Edge's Workspaces feature without requiring an Entra ID + OneDrive for Business license.66 Storage = a JSON file in the profile, with optional WebDAV/SMB share endpoint for shared-team usage.L6· Tab Stacks & Tab Islands. Vivaldi's three stacking styles;67 Opera's Tab Islands.65 Cheap UI win, all primitives already in Chromium.L7· Mouse gestures & rocker gestures. Floorp 12.x has them native, Vivaldi has them as Command Chains.52 Ship a small built-in implementation; reject the bundled-extension route.L8· CPU/RAM/Network throttle (Opera GX "GX Control" equivalent). Per-tab caps for kiosk/clinic where the browser must not starve the host.65
L9· Vigil Sync (BIP39 seed, AES, self-hostable). Brave'sgo-syncserver is AGPL/MPL6869 and uses 32-byte BIP39 seeds with AES-128-CTR + HMAC; fork it asvigil-sync, host nothing, document running it on a NAS / Synology / Raspberry Pi. Decision required: do we want to host anything. Default answer: no.L10· Offline filter updates. Bundle a 24h-fresh EasyList + EasyPrivacy + uBO-cosmetics + PeterLowe in the installer so a freshly-installed Vigil works air-gapped for the first month. Auto-update afterwards.
L11· "Private window with Tor connectivity" (Brave parity). Brave's onion-routed private mode — not Tor Browser parity, with the warning Brave ships.70 Decision required: maintenance cost of carrying Tor patches vs. value.
U1· Tampermonkey-compatible user-script loader, no extension. Eliminates a popular sideload need.U2· Android build via upstream [ungoogled-chromium-android]71. Real cost of carrying a mobile pipeline solo is unknown; Cromite proves it's possible but it's a second-class effort.58U3· Per-site default-search override. "Onaccounting.examplealways use DuckDuckGo; onwikipedia.orguse Mojeek." Niche but matches the IT-admin audience.U4· "Glance" hover-preview tabs. Zen feature;72 users either love it or never touch it.U5· Reading-mode Markdown export. Pairs withX17; trivial if reader-mode ships; decided in v0.5 onceX17lands.U6· Boost-style per-site CSS overrides. Arc's defining feature;73 Arc is dead.74 Useful, niche, kinda spooky from a security standpoint — would need a separate "user styles" enable-toggle.U7· Aero-glass titlebar option for legacy Windows. Supermium ships it.30 Vigil's audience overlaps; check installation telemetry (which we don't have, so — ask).U8· Built-in PWA installer + Tabbed PWA support. Tabbed-PWA is OT only and Chrome-OS-prioritized;75 Vigil could be the Windows-first first mover. Decision gate: clinic single-app deployments asking for it.U9· SponsorBlock / ClearURLs / I Still Don't Care About Cookies as opt-in default extensions. Was in v0.1 roadmap; demote to UC until user signal — Vigil's default-extension set should stay one item long.U10· CRX-from-AMO converter. SeeX2. Defer to v0.5+ once research is done.U11· "Spoof WebGPU info" patch. Open ungoogled-chromium enhancement request (#3670, Feb 2026).76 Track upstream.U12· UDP SOCKS5 for QUIC. Open ungoogled-chromium enhancement request (#3696, Mar 2026).76U13· Per-profile avatars. Open ungoogled-chromium enhancement request (#3747, Apr 2026).76U14· Multi-column bookmark dropdown. Open ungoogled-chromium enhancement request (#3781, May 2026).76U15· Accessibility audit. Verify the Vigil dark theme overlays pass WCAG AA contrast on allchrome://pages we override; addprefers-contrast: moreoverrides where they fail. No source — this is internal review of our own settings overlaychromium_src/chrome/browser/resources/settings/settings.html.U16· Telemetry: explicit no-telemetry posture document. Vigil has no telemetry today by virtue of inheritance from ungoogled-chromium. State it. Define what would count as telemetry (e.g. uBO update pings to GitHub Releases — we keep, document).U17· Internationalization. Vigil currently inherits all of Chromium's locales. Our overlays ofsettings.html/flags.html/history.html/etc. only ship the English copy; audit whether$i18n{}placeholders are preserved through overlays.U18· First-run import wizard for Chrome / Edge / Brave. Todayinitial_preferencesdisables import on first run (import_bookmarks: false,import_history: false,import_search_engine: false— seeinitial_preferences:11-17). That is the right default for privacy, but it strands the migrating user. Add a post-first-run "Import from another browser" wizard in the Vigil-themed settings page, with a clear "what gets imported" list and per-category toggles. Reuses Chromium'schrome://settings/importData.U19· Per-tab network inspector and tracker log. A human-readable side-panel log of blocked requests, source extension, and rule that fired — surfaced from uBO's logger API. Was in v0.1 roadmap; demote to UC pending user signal.U20· Site-specific profile launcher. "This domain always opens in a clean session." Pairs withL6(tab stacks); decision in v0.5.
Each line is the contradiction between a competitor feature and Vigil's philosophy. If a future maintainer wants to revisit, they need to argue against the source linked here.
- Crypto wallet, BAT-style sponsored ads, Web3 name resolution (
.brave/.eth/.bit). Brave's full implementation;777879 Mises is the Web3 fork.8081 Audience mismatch + recurring user complaints about the surface.82 Vigil's wedge is being the un-crypto privacy browser. - Integrated LLM chatbot ("Leo AI" equivalent). Brave Leo,83 Edge Copilot,84 Sidekick,85 Dia (post-Arc).74 Each adds a CVE class (e.g. prompt injection in Leo86), telemetry, and a maintenance burden Vigil cannot afford. Users who want this can install a Chrome extension.
- Integrated paid VPN service. Brave Firewall+VPN at $9.99/mo87 is squarely a SaaS product. Vigil ships integration with already-deployed VPNs (Mullvad, Tailscale, ProtonVPN via the system stack), not its own.
- Brave Talk / integrated video conferencing. Jitsi exists.88 Out of scope.
- Integrated mail / calendar / RSS reader (Vivaldi pattern).89 Floorp couldn't sustain a feed reader; the maintenance cost is 2× the rest of the project.
- Razer Chroma / RGB lighting / gamer features (Opera GX).65 Audience mismatch.
- Referral-link rewriting / install-source affiliate codes.3 Vigil's install must be telemetry-free.
- Telemetry on by default (Edge / Chrome behavior). Audited via the [Brave deviations list]90 as the floor.
- Novelty tab paradigms (Arc Spaces as a UI primitive). Arc died.74 Vigil's vertical tabs / workspaces / split view ship as features on top of the standard chrome, not as a replacement chrome.
- Closed-source UI layer (Vivaldi pattern).91 Vigil is MIT/BSD from the
installer to the icon-PNG renderer in
branding/generate_icons.py. - Web Environment Integrity / Privacy Sandbox Topics & Protected Audience APIs. Topics /
Protected Audience / Attribution Reporting retired Oct 2025;12 disable in
initial_preferencesregardless of upstream state. - Backwards compatibility with Windows 7/8. Supermium covers that audience.30 Vigil targets Win 10 22H2 minimum.
| Risk | Trigger | Mitigation |
|---|---|---|
| Upstream Chromium ships a patch that breaks an overlay | Every 4-6 weeks (Chromium stable cadence) | chromium_src/ is per-file replacement — the build fails to compile rather than silently misbehaves,23 which is detected by N14 smoke test |
| Manifest V2 enforcement tightens further | Possible Chromium 150-155 window | X1 (carry MV2 patch); fallback L4 (adblock-rust at network layer means uBO is not the only line of defense) |
| uBO MV3-only release (uBO Lite) becomes the only release | gorhill/uBlock cadence | L4; documented user-facing notice |
| SignPath OSS program declines Vigil | Possible — clinic/political concerns | Fallback to Azure Trusted Signing at $9.99/mo17 — budget <$120/yr |
| GitHub Actions 6h job limit changes | Unlikely but historical precedent | N7 matrix means each stage is <5h; reusable workflow means a runner switch is a one-line change |
| GitHub Releases hosting limits hit | At ~50 releases × 3 arch × 200MB | Add a CDN mirror (Cloudflare R2 free tier covers it); document |
| Solo maintainer bus-factor | Always | N13 (docs); N14 (tests); accept the risk — this is OSS |
| Brave Origin captures the no-bloat audience first | They have momentum1 | Stay free + open-source + on winget; Brave's $60 is the moat we beat |
| Arc-style "browser death" cycle | Industry, not technical | Refuse novelty (Rejected list); never depend on a service we don't host |
- Cadence. Track ungoogled-chromium-windows releases (currently every ~2-3 weeks within a
major)92. Vigil version =
<chromium>-<ucw>-vigil.<n>. Drop0.xprefix when v1.0 ships (target: afterN1-N15+X1+X10+X20all land — the smallest set that defines the product). - Channels. Stable (default) + Canary (
X22). No "Beta" channel until a third contributor exists. - Source of truth. GitHub Releases. winget & scoop & chocolatey pull from there. No third-party mirrors authoritatively distribute Vigil installers.
- Default search engine (
N1) — DuckDuckGo, Brave Search, Startpage, or Kagi as the first-run pick? - DRM (Widevine) — ship enabled (clinic training-video reality93) or off like Helium?
- Telemetry posture document — do uBO update pings to GitHub Releases count as telemetry that needs an opt-out?
- Brave Origin response — do we publish a comparison table on the README?
- Sibling-project boundary — does BetterNext become a Vigil-only extension shipped in
the installer (
Y1), stay a separate browser extension, or ship as both?
These are the v0.2 design-review prompts, not yet decisions.
The following list is the union of citations across this roadmap. Sources are grouped by research direction. Every roadmap claim above maps to one of these URLs.
Footnotes
-
PrivacyGuides news: Brave Launches Paid Bloat-Free Brave Origin — https://www.privacyguides.org/news/2026/04/21/brave-launches-paid-bloat-free-brave-origin/ ↩ ↩2
-
PrivacyGuides forum on Brave Origin — https://discuss.privacyguides.net/t/brave-launches-paid-bloat-free-brave-origin/37300 ↩
-
PrivacyGuides Brave caveats — https://www.privacyguides.org/en/desktop-browsers/#brave ↩ ↩2
-
Internal: see
CHANGELOG.md(note: malformed;N11). ↩ -
PrivacyGuides search engines — https://www.privacyguides.org/en/search-engines/ ↩
-
Google security blog: HTTPS by default — https://security.googleblog.com/2025/10/https-by-default.html ↩
-
chrome://flags HTTPS-Only Mode (via roundup) — https://techpp.com/2026/04/07/best-chrome-flags/ ↩
-
PrivacyGuides desktop browsers — https://www.privacyguides.org/en/desktop-browsers/ ↩ ↩2
-
CVE-2026-5276 Edge WebUSB — https://windowsnews.ai/article/cve-2026-5276-microsoft-edge-webusb-vulnerability-requires-immediate-patching.409595 ↩
-
CVE-2026-4680 Chrome FedCM — https://windowsnews.ai/article/chrome-fedcm-vulnerability-cve-2026-4680-critical-use-after-free-flaw-patched-in-version-14607680165.408068 ↩
-
Permissions-Policy on developer.chrome.com — https://developer.chrome.com/docs/privacy-security/permissions-policy ↩
-
Privacy Sandbox status — https://privacysandbox.google.com/overview/status ↩ ↩2 ↩3
-
Google retires Topics/PAAPI (AdExchanger, Oct 2025) — https://www.adexchanger.com/privacy/google-pulls-the-plug-on-topics-paapi-and-other-major-privacy-sandbox-apis-as-the-cma-says-cheerio/ ↩
-
GitHub Actions ARM64 GA in private repos (Jan 2026) — https://github.blog/changelog/2026-01-29-arm64-standard-runners-are-now-available-in-private-repositories/ ↩ ↩2
-
SignPath Foundation — https://signpath.org/ ↩
-
SignPath OSS solutions — https://signpath.io/solutions/open-source-community ↩
-
Azure Trusted Signing pricing — https://azure.microsoft.com/en-us/pricing/details/trusted-signing/ ↩ ↩2
-
Azure Artifact Signing FAQ — https://learn.microsoft.com/en-us/azure/artifact-signing/faq ↩
-
actions/attest-build-provenance — https://github.com/actions/attest-build-provenance ↩
-
GitHub docs: artifact attestations — https://docs.github.com/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds ↩
-
Chromium deterministic builds doc — https://chromium.googlesource.com/chromium/src/+/HEAD/docs/deterministic_builds.md ↩
-
Brave reproducible-builds issue #5830 — https://github.com/brave/brave-browser/issues/5830 ↩
-
Brave wiki: Patching Chromium / chromium_src overlays — https://github.com/brave/brave-browser/wiki/Patching-Chromium ↩ ↩2
-
Playwright (Chromium-channel automation) — https://playwright.dev/docs/browsers#google-chrome--microsoft-edge ↩
-
microsoft/winget-pkgs — https://github.com/microsoft/winget-pkgs ↩
-
winget repository guide — https://learn.microsoft.com/en-us/windows/package-manager/package/repository ↩
-
Chrome Manifest V2 deprecation timeline — https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline ↩
-
Chromium MV2 phase-out blog — https://blog.chromium.org/2024/05/manifest-v2-phase-out-begins.html ↩
-
Thorium MV2 retention — https://github.com/Alex313031/thorium/releases ↩
-
Supermium repo — https://github.com/win32ss/supermium ↩ ↩2 ↩3 ↩4
-
CRX3 npm tool — https://www.npmjs.com/package/crx3 ↩
-
uBlock Origin deploy guide — https://github.com/gorhill/uBlock/wiki/Deploying-uBlock-Origin ↩
-
Chromium extension policy admin doc — https://www.chromium.org/administrators/configuring-policy-for-extensions/ ↩
-
Iridium differences-from-Chromium — https://github.com/iridium-browser/tracker/wiki/Differences-between-Iridium-and-Chromium ↩
-
Iridium customizations (DeepWiki) — https://deepwiki.com/iridium-browser/iridium-browser-windows/6-iridium-customizations ↩
-
PrivacyGuides DNS providers — https://www.privacyguides.org/en/dns/ ↩
-
AdGuard DNS providers reference — https://adguard-dns.io/kb/general/dns-providers/ ↩
-
Cromite FEATURES.md — https://github.com/uazo/cromite/blob/master/docs/FEATURES.md ↩
-
Chrome ECH chromestatus — https://chromestatus.com/feature/6196703843581952 ↩
-
Chrome Enterprise policy list — https://chromeenterprise.google/policies/ ↩
-
Microsoft Edge configure-for-enterprise docs — https://learn.microsoft.com/en-us/deployedge/configure-microsoft-edge ↩
-
Edge Intune MAM overview — https://learn.microsoft.com/en-us/intune/intune-service/apps/mamedge-overview ↩
-
WiX Toolset (MS-RL/MIT) — https://wixtoolset.org/ ↩
-
Chromium kiosk public-session docs — https://chromium.googlesource.com/chromium/src/+/main/docs/enterprise/kiosk_public_session.md ↩
-
Edge vertical tabs — https://www.microsoft.com/en-us/edge/features/vertical-tabs ↩
-
Zen Workspaces manual — https://docs.zen-browser.app/user-manual/workspaces ↩
-
Brave latest release notes (2026) — https://brave.com/latest/ ↩
-
Zen Split-view manual — https://docs.zen-browser.app/user-manual/split-view ↩
-
Edge sleeping tabs — https://www.microsoft.com/en-us/edge/features/sleeping-tabs ↩
-
Brave SpeedReader blog — https://brave.com/blog/speed-reader/ ↩
-
Floorp 12.14.0 command palette — https://github.com/Floorp-Projects/Floorp/releases ↩
-
Vivaldi feature surface — https://vivaldi.com/features/ ↩ ↩2
-
Velopack — https://velopack.io/ ↩
-
Velopack docs: migrating from Squirrel — https://docs.velopack.io/migrating/squirrel ↩
-
Omaha 4 tutorial — https://omaha-consulting.com/chromium-updater-omaha-4-tutorial ↩
-
Omaha 4 protocol — https://chromium.googlesource.com/chromium/src/+/f4b7e04ec3114a76e645dc49ff09adb90643821b/docs/updater/protocol_4.md ↩
-
Scoop app-manifests wiki — https://github.com/ScoopInstaller/Scoop/wiki/App-Manifests ↩
-
Cromite repo — https://github.com/uazo/cromite ↩ ↩2
-
ungoogled-chromium-macos — https://github.com/ungoogled-software/ungoogled-chromium-macos ↩
-
brave/adblock-rust — https://github.com/brave/adblock-rust ↩
-
Brave adblock memory-reduction post — https://brave.com/privacy-updates/36-adblock-memory-reduction/ ↩
-
NextDNS extension (community) — https://github.com/JackStuart/NextDNS-Extension ↩
-
NextDNS browser-plugin request — https://help.nextdns.io/t/p8hfsaw/browser-plugin-extension-for-easy-allow-and-block ↩
-
NXEnhanced (NextDNS) — https://github.com/hjk789/NXEnhanced ↩
-
Opera GX features — https://www.opera.com/gx/features ↩ ↩2 ↩3 ↩4
-
Edge Workspaces docs — https://learn.microsoft.com/en-us/deployedge/microsoft-edge-workspaces ↩
-
Vivaldi tab stacks — https://help.vivaldi.com/desktop/tabs/tab-stacks/ ↩
-
Brave Sync v2 docs — https://github.com/brave/brave-browser/wiki/Brave-Sync-v2 ↩
-
Brave go-sync server — https://github.com/brave/go-sync ↩
-
Brave: What is a Private Window with Tor — https://support.brave.app/hc/en-us/articles/360018121491 ↩
-
ungoogled-chromium-android — https://github.com/ungoogled-software/ungoogled-chromium-android ↩
-
Zen Browser feature page — https://zen-browser.app/ ↩
-
Arc Spaces docs — https://resources.arc.net/hc/en-us/articles/19228064149143 ↩
-
Arc browser discontinuation, ghacks — https://www.ghacks.net/2025/05/27/arc-browser-has-been-discontinued-but-the-companys-building-a-new-browser-dia/ ↩ ↩2 ↩3
-
Tabbed application mode docs — https://developer.chrome.com/docs/capabilities/tabbed-application-mode ↩
-
ungoogled-chromium open issues — https://github.com/ungoogled-software/ungoogled-chromium/issues ↩ ↩2 ↩3 ↩4
-
Brave Wallet — https://brave.com/wallet/ ↩
-
Brave Rewards — https://brave.com/brave-rewards/ ↩
-
Brave
.braveTLD — https://brave.com/blog/brave-tld/ ↩ -
Mises browser — https://www.mises.site/ ↩
-
Mises browser core — https://github.com/mises-id/mises-browser-core ↩
-
Brave issue #43030 (Disable crypto by default) — https://github.com/brave/brave-browser/issues/43030 ↩
-
Brave Leo AI — https://brave.com/leo/ ↩
-
Edge Copilot disable guide — https://www.datastudios.org/post/how-to-disable-microsoft-copilot-in-windows-edge-microsoft-365-apps-and-organizational-environmen ↩
-
Sidekick browser review — https://browserprompt.com/tool-specific/sidekick-browser-review ↩
-
Brave issue #55576 (Leo prompt injection) — https://github.com/brave/brave-browser/issues ↩
-
Brave Firewall + VPN — https://brave.com/firewall-vpn/ ↩
-
Brave Privacy Features (incl. Brave Talk) — https://brave.com/privacy-features/ ↩
-
Vivaldi mail/calendar/feed bundle announcement — https://vivaldi.com/blog/vivaldi-mail-calendar-feed-reader-are-here/ ↩
-
Brave wiki: Deviations from Chromium — https://github.com/brave/brave-browser/wiki/Deviations-from-Chromium-(features-we-disable-or-remove) ↩
-
Vivaldi closed-source UI explainer — https://vivaldi.com/blog/technology/why-isnt-vivaldi-browser-open-source/ ↩
-
ungoogled-chromium-windows releases — https://github.com/ungoogled-software/ungoogled-chromium-windows/releases ↩
-
Helium DRM caveat write-up — https://browsers.to/helium ↩