Skip to content

au2001/icloud-passwords-firefox

Repository files navigation

Logo

Release Stars Users License

This Firefox extension lets you securely fill passwords from iCloud Keychain® when signing in to websites.
It also provides you with strong passwords, one-time codes, and passkeys to secure your online accounts.
Your passwords are automatically synchronized accross your Apple and other compatible devices.

Installation

➡️ Recommended: Download this extension from AMO (addons.mozilla.org).

Alternatively, download the latest GitHub release and install it on Firefox by navigating to about:addons.

Refer to the following table to see if your configuration is supported:

Platform Version Status
macOS >= Sonoma (14) ✅ Fully supported
macOS <= Ventura (13) ❌ Unsupported
Windows >= 7 ⚠️ Requires additional setup (see below)
Windows <= Vista ❌ Unsupported
Linux Any ❌ Unsupported

Additional setup

For some operating systems, additional steps are required for the extension to work:

  1. Install iCloud for Windows.
  2. Enable the Passwords option.
  3. Click on Install Extension... for either Microsoft Edge or Google Chrome.
  4. Download the icloud_passwords_install file from the latest GitHub Release.
  5. Run the downloaded executable as administrator.
  6. Restart Firefox, and you should be good to go!

Why is this required?

macOS Sonoma (14) and later come with PasswordManagerBrowserExtensionHelper.app preinstalled.
It's a utility which allows Apple's iCloud Passwords Chrome and Edge extensions to work.
This extension uses the same utility, so it works natively without any further steps.

Unfortunately, this utility is not available on previous versions of macOS, on Windows, nor on Linux.
For such operating systems, this utility needs to be replaced. iCloud for Windows serves this purpose.
By default, iCloud for Windows does not grant access to Firefox to access passwords.
The provided executable thus enables the communication between Firefox and iCloud for Windows.

The source code for the Golang executable is available in the scripts/install directory.

Need Help?

Features

Feature Status
List accounts for current website
Select an account to auto-fill
Copy account password to clipboard
Generate new secure passwords
In-page auto-complete suggestions
Search through existing accounts ⛅️
Auto-fill one-time codes
Copy one-time codes to clipboard
Register one-time codes
Save newly created accounts
Login with a passkey
Create new passkeys
Create new accounts manually
Delete existing accounts

The full list of planned features and known bugs is available under Issues.

Contributing

Contributions are welcome, whether that be code, documentation, testing, feature ideas, or bug reporting.

🤝 If you are willing to contribute to tackle a specific GitHub Issue, please add a comment stating your intentions.
👾 To submit code patches, please open a GitHub Pull Request.
📕 If you are not sure where to start, take a look at open GitHub Issues.

Thanks for your interest!

Development

To build and run the extension locally when developing, you should follow these instructions:

  1. Clone this repository.
  2. Open the folder in your favorite IDE.
  3. Run npm ci to install the required Node dependencies.
  4. Run npm build:watch to start building the code after each file change.
  5. Navigate to about:debugging#/runtime/this-firefox and click on Load Temporary Add-on....
  6. Find where you cloned this repository, and select the manifest.json file in the dist folder (NOT in meta).
  7. Click on Inspect to access the console which displays errors, warnings, and debug logs.
  8. All user interface components refresh live when you save files in your IDE.
  9. Background scripts do NOT refresh live, you need to click Reload under Temporary Extensions.
  10. The AMO version will be restored after closing Firefox, or when clicking Remove.

License

This extension is licensed under the Apache License 2.0.

⚠️ All forks of this repository should explicitly state their changes in a clear manner within the README.