FireSync

Take your Mozilla vault — passwords and autofill — to any Chromium browser.

End-to-end encrypted with your own Sync key. No FireSync server, no account, no telemetry.

ChromiumChromeBrave EdgeVivaldi

Loading the latest release…

Install

Two routes. The first needs no Developer mode and keeps itself updated.

Chromium · Brave · Vivaldi · ungoogled-chromium — one command

curl -fsSLO https://dixonsolutions.github.io/FireSync/install.sh
less install.sh          # it runs as root; read it first
sudo bash install.sh

Restart the browser. FireSync installs itself, pins to the toolbar, updates itself from this site, and switches off the browser's own password manager so you do not get two save prompts. No Developer mode involved.

Or try it in 30 seconds

  1. Download the CRX above.
  2. Open chrome://extensions.
  3. Turn on Developer mode.
  4. Drag the .crx onto the page and confirm.

Quickest way to look at it. No auto-updates on this route.

Google Chrome · Microsoft Edge · anything else

Stock Chrome refuses off-store .crx files, so use the zip — this works everywhere.

  1. Download the ZIP above and unzip it.
  2. chrome://extensionsDeveloper modeLoad unpacked.
  3. Select the unzipped folder.

On a managed Chrome — AD, Entra ID, MDM, or a free Chrome Enterprise Core enrolment — the one-command install works there too, Developer mode included.

Then, once

  1. Sign in to your Mozilla account. Two-factor codes and confirmation emails are handled.
  2. Turn off the browser’s own password manager at chrome://settings/autofill — otherwise every login form gives you two save prompts. The one-command install already did this.

That is it. FireSync starts syncing immediately.

What it does

Firefox Sync is an open, documented, end-to-end encrypted protocol. FireSync speaks it directly from a Chromium extension, so logins you save in Firefox appear in Chrome, and logins you save in Chrome appear back in Firefox. No bridge service, no export file, no third party holding your vault.

Nothing to invent

Setup is one button. No passphrase, no second account. A passphrase is available in Settings if you want one.

Two-way sync

Passwords and addresses over Sync 1.5, with last-writer-wins conflict resolution — the same rule Firefox uses.

Autofill & save prompts

FireSync draws its own, because Chrome does not let extensions into the native ones.

Per-site preferences

Never-save, match strategy, menu behaviour — kept in a private synced collection.

Encrypted at rest

AES-256-GCM under a non-extractable key the browser holds for this extension. Nothing to remember.

Local Firefox import

An optional bridge reads your profile off disk. No account, no network.

No server

Nothing to breach, nothing to trust. The extension talks to Mozilla and nobody else.

Supported browsers

BrowserStatusHow to install
ChromiumworksDrop in the CRX, load unpacked, --load-extension, or policy
Brave · Vivaldi · ungoogled-chromiumworksSame as Chromium
Microsoft EdgeworksLoad unpacked, or policy with self-hosting
Google ChromeconditionalDeveloper mode, or enterprise policy on a managed browser
Why Chrome is fussier. Chrome requires a Web Store-issued publisher proof inside every CRX and rejects anything else off-store with CRX_REQUIRED_PROOF_MISSING. There is no way to generate one yourself. The exemptions are developer mode and enterprise policy on a managed browser. Chromium enforces none of this, which is why it is the recommended target.

Updates

Installed with the one-command script? The browser really does update FireSync for you. That was tested rather than assumed: a new version was published, the browser restarted, and it fetched and installed the update unattended in about six seconds. Chrome checks on startup and roughly every five hours.

Loaded unpacked instead? Nothing updates it — Chrome has no mechanism, and no extension can install a new version of itself. That is the main practical reason to prefer the one-command install.

Either way FireSync checks its own release manifest and tells you. The popup shows the running version, whether the browser is managing updates, and a Check for updates button.

SettingDefaultBehaviour
Check automaticallyonReads update.json on a timer
How often24 hClamped to 1 hour – 14 days
Update manifestthis siteRepoint it if you self-host or run a fork
NeverNo requests at all; even “Check now” will not override it

Feeds: update.json (FireSync’s own) · update.xml (Chrome’s enterprise-policy format).

Documentation

Install

Every platform, first run, uninstalling.

Architecture

The five layers and how they fit.

Protocol

Every request, key derivation and record format.

Security

Threat model, key hierarchy, what is not defended.

Autofill

Detection heuristics and the overlay design.

Bridge

The optional local helper.

Testing

355 tests, and how to try it safely.

FAQ

Short answers to the obvious questions.

Status, honestly

Alpha. The protocol layers are complete and covered end to end against an in-memory Sync server, but have not been exercised against a large real account. Test with a throwaway Mozilla account first, and export your logins from Firefox before you point it at anything you care about.

Credit cards are read-only and off by default. The OAuth client identifier is borrowed from Mozilla, because they offer no way to register one — it works, it is unsanctioned, and it is stated plainly in the notice.