A native macOS browser built on Chromium, with Spaces, profiles and a keyboard-first launcher.
Shaar (Hebrew שער) means “gateway”.
Download · Features · Build from source · Architecture · Contributing
Note
Shaar is in early public beta. It is usable day to day, but expect rough edges and missing features. Please report problems and ideas in GitHub Issues.
Organize browsing into Spaces, each with its own tabs, pinned tabs, folders and theme color. Spaces belong to profiles, and every profile keeps its own cookies, sign-ins, history and extensions, so work and personal browsing never mix. Library → Spaces shows every Space at a glance in its own color.
A new profile takes four short steps: name and color, then connect Google and Microsoft, including Google Workspace and Microsoft work or school accounts that sign in through Okta, Azure AD, ADFS or Ping. Gmail, Drive, Outlook and Teams then open signed in for every Space that uses the profile.
Search open tabs, favorites, history, bookmarks and browser actions. Four round buttons beside the search field filter results. The selected row shows what Enter will do, and the panel respects Reduce Motion.
Command-Shift-C copies the current page's link without tracking parameters: utm_*, fbclid, gclid, Instagram igsh, X share codes, Amazon referral segments and more. Parameters a page needs, such as a YouTube timestamp, stay.
Install extensions from the Chrome Web Store and manage them per profile, from the toolbar or from Settings → Profiles. Shaar asks before installing and shows exactly which sites an extension can access.
- Search engines per profile: Google, DuckDuckGo, Brave Search, Kagi, Startpage, Ecosia, Bing or Perplexity.
- Library: downloads and media in a Library drawer, recently closed tabs and find in page.
- Private windows that leave nothing behind.
- Automatic updates through Sparkle, signed with EdDSA and served from this repository's releases.
- Website permissions that follow macOS privacy settings for the camera, microphone and location.
- macOS 26 or later
- A Mac with Apple silicon
Download the latest Shaar_<version>_aarch64.dmg from Releases, open it and drag Shaar to Applications. Releases are signed with Developer ID and notarized by Apple. Shaar checks for updates automatically; you can also choose Shaar → Check for Updates….
You need Xcode 26 with Swift 6.2, plus bash, curl, jq, rg and Python 3.
git clone https://github.com/arcusis/shaar.git
cd shaar
# Build the full app with the pinned Chromium engine
bash scripts/bundle-app.sh --with-engine
open build/Shaar.appThe bundle script downloads the pinned engine, verifies its digest and payload, and signs the result ad hoc for local use. For a quick UI-only shell without the engine:
swift build
swift run ArcusisBrowserMore detail, including building the engine from source, is in Build and Run.
┌──────────────────────────────────────────────────────────────┐
│ Shaar (executable) │
│ └─ ArcusisBrowser SwiftUI + AppKit app: windows, sidebar, │
│ Spaces, settings, launcher, consent UI │
│ ├─ BrowserCore sessions, profiles, search, links, │
│ │ update feed — pure Swift, no UI │
│ └─ ChromiumBridge Objective-C++ bridge to the engine │
│ └─ Chromium Framework (pinned Shaar build) │
└──────────────────────────────────────────────────────────────┘
ShaarVerification — separate harness that drives the real engine in tests; never shipped
| Module | Role |
|---|---|
Sources/ArcusisBrowser |
The app: windows, sidebar, Spaces, Library, settings, Nativ, extension and permission consent. |
Sources/BrowserCore |
Platform-independent model: sessions, profiles, workspaces, search, clean links, update feed. |
Sources/ChromiumBridge |
Objective-C++ bridge between Swift and the Chromium framework. |
Sources/Shaar |
The thin executable that starts the app. |
Sources/ShaarVerification |
Verification harness for engine probes; built separately and never distributed. |
Design notes live in the Notebook, starting with Browser Architecture and the Engine Interop Boundary.
swift test # unit and integration tests
swift format lint --strict --recursive Package.swift Sources Tests
.venv/bin/python scripts/test-python.py # script and release tooling tests
bash scripts/test-engine.sh # real-engine probes (initial and restart)Every pull request runs the same checks on GitHub-hosted macOS runners, including the engine probes against the pinned Chromium build, a release bundle build and visual captures. See Test Coverage and the Verification Harness.
| Path | Contents |
|---|---|
Sources/ |
App, core model, Chromium bridge, executable and verification harness |
Tests/ |
Swift unit, integration and visual tests; Python tests for scripts |
Resources/ |
App resources, icons and the bundled extension manager |
Branding/ |
Logo, app icon and the brand guide |
ThirdParty/ |
Pinned upstream inputs with their licenses and notices |
scripts/ |
Build, bundle, release and verification tools |
Notebook/ |
Architecture, design and verification notes |
Planned work is tracked in GitHub Issues. Highlights:
- Install an extension once for every profile
- Split View with two tabs in one page card
- Passkeys from iCloud Keychain in release builds
- Per-profile download folders and site-data controls
- Content blocking, tab suspension and importing from other browsers
Contributions are welcome. Read CONTRIBUTING.md for the build, test and commit conventions, and the Code of Conduct. Good places to start are issues labeled good first issue and help wanted.
Please report vulnerabilities privately through GitHub Security Advisories, not public issues. See SECURITY.md.
Shaar's design is inspired by Arc by The Browser Company; Shaar is independent and not affiliated with them. It is built on Chromium through the Shaar engine and uses Sparkle for updates. See CREDITS.md for full acknowledgements, and NOTICE and THIRD_PARTY_NOTICES.md for third-party licenses.
Shaar is licensed under the Mozilla Public License 2.0. Copyright © 2026 Arcusis LTD.



