{"id":51030910,"url":"https://github.com/onyas/omnibox-shield","last_synced_at":"2026-06-22T00:30:36.173Z","repository":{"id":361197935,"uuid":"1253374377","full_name":"onyas/omnibox-shield","owner":"onyas","description":"Chrome Omnibox History Hider","archived":false,"fork":false,"pushed_at":"2026-05-29T14:38:05.000Z","size":758,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-29T16:17:28.908Z","etag":null,"topics":["chrome","hider","history","omnibox"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/onyas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-29T11:53:41.000Z","updated_at":"2026-05-29T14:45:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/onyas/omnibox-shield","commit_stats":null,"previous_names":["onyas/omnibox-shield"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/onyas/omnibox-shield","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onyas%2Fomnibox-shield","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onyas%2Fomnibox-shield/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onyas%2Fomnibox-shield/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onyas%2Fomnibox-shield/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onyas","download_url":"https://codeload.github.com/onyas/omnibox-shield/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onyas%2Fomnibox-shield/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34630753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chrome","hider","history","omnibox"],"created_at":"2026-06-22T00:30:35.576Z","updated_at":"2026-06-22T00:30:36.166Z","avatar_url":"https://github.com/onyas.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Omnibox History Hider\n\nA macOS native helper that visually shields Chrome's omnibox suggestion popup. It works outside Chrome extension limits by watching Chrome with macOS Accessibility APIs and placing a top-level shield window over the suggestion area.\n\nType `;;` in the address bar to reveal suggestions for the rest of that omnibox session. Press Enter, Escape, or move focus away to hide again next time.\n\n## Why\n\nChrome's address bar can expose browsing history and search suggestions as soon as the omnibox is focused. That is useful when you are alone, but awkward when you are presenting, screen sharing, recording a demo, or letting someone look at your screen.\n\nWithout Omnibox Shield, Chrome shows the native history and suggestion popup:\n\n![Chrome omnibox suggestions without shield](resources/history-without-shield.png)\n\nWith Omnibox Shield running, the suggestion area is covered until you intentionally reveal it:\n\n![Chrome omnibox suggestions covered by Omnibox Shield](resources/history-with-shield.png)\n\nThe app does not delete, rewrite, or sync any browser data. It only places a temporary visual cover over Chrome's native suggestion popup.\n\n## Usage\n\nBuild and run:\n\n```sh\nswift run omnibox-shield\n```\n\nThat command intentionally keeps running while the helper is active. Stop it with **Shield** → **Quit** in the macOS menu bar, or press `Ctrl-C` in the terminal.\n\nAfter the first build, you can run the compiled binary directly:\n\n```sh\n.build/debug/omnibox-shield\n```\n\n## Build a macOS app\n\nCreate a normal `.app` bundle:\n\n```sh\n./scripts/build_app.sh\n```\n\nThen open it:\n\n```sh\nopen \"dist/Omnibox Shield.app\"\n```\n\nTo install it permanently, move `dist/Omnibox Shield.app` into `/Applications`.\n\nThe build script also creates a GitHub release asset:\n\n```sh\ndist/Omnibox.Shield.zip\n```\n\nUpload that ZIP to a GitHub release. The app's **Check for Updates...** menu item checks the latest release at `onyas/omnibox-shield`, looks for `Omnibox.Shield.zip`, downloads it when the release tag is newer than the installed app version, replaces the current app, and reopens it.\n\nAfter launching the app version for the first time, grant Accessibility permission to **Omnibox Shield** in **System Settings** → **Privacy \u0026 Security** → **Accessibility**. You may need to quit and reopen the app after enabling the permission.\n\nThe app checks permission silently. If you want macOS to open the Accessibility prompt from the command line, run:\n\n```sh\n\"/Applications/Omnibox Shield.app/Contents/MacOS/omnibox-shield\" --prompt-accessibility\n```\n\nIf you rebuild and reinstall the app, macOS may ask again because local ad-hoc signed builds can look like a changed app identity to the privacy system.\n\nOn first launch, macOS should ask for Accessibility permission. If it does not, enable it manually:\n\n1. Open **System Settings**.\n2. Go to **Privacy \u0026 Security** → **Accessibility**.\n3. Enable permission for the terminal app running `omnibox-shield`.\n\nFor Ghostty:\n\n1. Open **System Settings** → **Privacy \u0026 Security** → **Accessibility**.\n2. Click **+**.\n3. Select **Ghostty.app** from `/Applications`.\n4. Turn the Ghostty toggle on.\n5. Fully quit Ghostty with `Cmd-Q`, reopen it, then run `swift run omnibox-shield -- --debug` again.\n\nIf Ghostty is not in `/Applications`, drag the Ghostty app icon from Finder into the Accessibility list.\n\nThe helper adds a small shield icon to the macOS menu bar with a Quit command.\nIts menu also shows whether Accessibility permission is granted. If it says **Accessibility: Missing**, use **Open Accessibility Settings** from that menu.\n\nThis does not delete or alter Chrome history. It covers the native suggestions visually, which is the part Chrome itself does not let extensions control.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonyas%2Fomnibox-shield","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonyas%2Fomnibox-shield","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonyas%2Fomnibox-shield/lists"}