Skip to content

Installation

Amir edited this page Sep 5, 2026 · 4 revisions

Language: English · فارسی

Installation

From the stores

Firefox — Add to Firefox

Published on addons.mozilla.org and screened by Mozilla. Use this: the add-on survives a restart and updates itself when a new version is released.

  1. Open the listing
  2. Add to FirefoxAdd
  3. Open https://web.bale.ai/chat — blurring is on by default

Chrome, Edge, Opera

Not submitted yet. Use the release package below; it is the same file that will go to the store. Follow Publishing and Releases for progress.

From a release (no build tools needed)

Every tag publishes ready-made packages on the releases page:

bale-privacy-<version>-chrome.zip
bale-privacy-<version>-firefox.zip

Download the one for your browser, unzip it, and load the unzipped folder as an unpacked extension with the steps below. This is the same artefact that goes to the stores, built from the tagged source by the release workflow.

From source

Requires Node 20 or newer (the repo pins 22 in .nvmrc).

git clone https://github.com/amiranmanesh/bale-privacy-extension.git
cd bale-privacy-extension
npm install
npm run build

That produces two unpacked extensions:

dist/chrome    — Chrome, Edge, Brave, Opera, Vivaldi
dist/firefox   — Firefox

Chrome, Edge, Brave

  1. Open chrome://extensions (edge://extensions, brave://extensions)
  2. Turn on Developer mode
  3. Load unpacked → select the dist/chrome folder
  4. Open https://web.bale.ai/chat — blurring is on by default

After rebuilding, press the reload icon on the extension card, then reload the Bale tab.

Firefox

  1. Open about:debugging#/runtime/this-firefox
  2. Load Temporary Add-on… → select dist/firefox/manifest.json
  3. Open https://web.bale.ai/chat

Temporary add-ons are removed when Firefox closes, so this is for development only. For everyday use install the signed add-on from addons.mozilla.org.

Browser requirements

Browser Minimum
Chrome / Chromium 111
Firefox 121

Both numbers come from the CSS :has() selector the extension relies on. They are declared in the generated manifests, so an older browser refuses the package rather than installing something that half works.

Updating

Pull, rebuild, reload:

git pull && npm install && npm run build

Your settings survive — they live in the browser's extension storage, not in the package.

Removing it

Remove the extension from the browser's extensions page. The page is restored exactly: the extension only ever adds one stylesheet and one attribute, and both go with it.

Clone this wiki locally