Skip to content
arcusisPublic

About

Shaar, a native macOS browser built on Chromium.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

698 Commits

Folders and files

Shaar app icon

Shaar

A native macOS browser built on Chromium, with Spaces, profiles and a keyboard-first launcher.

Shaar (Hebrew שער) means “gateway”.


Source checks Latest release Status: beta License: MPL-2.0
macOS 26+ Apple silicon Swift 6.2 Chromium 155 Open issues

Download · Features · Build from source · Architecture · Contributing


Shaar with Nativ open over a Space

Status

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.

Features

Spaces and profiles

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.

Library Spaces overview with each Space tinted in its theme color

Profile onboarding with your accounts

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.

New profile onboarding, step one: name and color   Settings, Profiles: color, search engine, Spaces and connected accounts

Nativ (⌘T)

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.

Clean links

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.

Extensions

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.

Extensions section in profile settings

And more

  • 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.

Requirements

  • macOS 26 or later
  • A Mac with Apple silicon

Install

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….

Build from source

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.app

The 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 ArcusisBrowser

More detail, including building the engine from source, is in Build and Run.

Architecture

┌──────────────────────────────────────────────────────────────┐
│ 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.

Testing

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.

Project layout

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

Roadmap

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

Contributing

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.

Security

Please report vulnerabilities privately through GitHub Security Advisories, not public issues. See SECURITY.md.

Credits

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.

License

Shaar is licensed under the Mozilla Public License 2.0. Copyright © 2026 Arcusis LTD.


Shaar logo

About

Shaar, a native macOS browser built on Chromium.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages