Open Bug 1018667 Opened 10 years ago Updated 1 year ago

Import Safari logins/passwords (from macOS Keychain)

Categories

(Firefox :: Migration, enhancement, P2)

All
macOS
enhancement
Points:
13

Tracking

()

People

(Reporter: MattN, Unassigned)

References

Details

(Whiteboard: [fxgrowth] [fxprivacy] [passwords:import])

User Story

As a new user of Firefox, I'd like to be able to access the passwords I have saved while previously using Safari/Chrome on OS X.
Bug 326698 to import passwords from Keychain was WONTFIXED a long time ago stating that the proper solution is to instead integrate password manager with Keychain (bug 106400) to avoid duplicating the passwords.

There are some things that have changed since that decision:
* Chrome now exists and also uses Keychain (plus its own table for extra metadata[1]).
* We now have Sync integrated in the browser which includes Password Sync.
* Bug 106400 has had no progress.

I think we should come up with a plan for easy migration for users with passwords saved in Chrome/Safari as they may currently feel locked into them because of the tedious task to manually migrate the passwords one-by-one.

[1] http://dev.chromium.org/developers/design-documents/os-x-password-manager-keychain-integration
Flags: firefox-backlog+
Blocks: 326698
User Story: (updated)
Doesn’t the Keychain Services Integration add-on adequately fill this requirement for the time being?

https://addons.mozilla.org/en-US/firefox/addon/keychain-services-integration/
Points: --- → 13
Whiteboard: [fxgrowth]
Moving to migration so it's easier to find.
Component: Firefox Operations → Migration
Keywords: meta
Product: Tracking → Firefox
Version: --- → unspecified
Blocks: 1193404
Flags: qe-verify?
Priority: -- → P1
Whiteboard: [fxgrowth] → [fxgrowth] [fxprivacy]
Priority: P1 → P2
Priority: P2 → P4
Fyi, the passwords aren't migrated on Windows too.
Safari 5.1.7, Fx 45b4, Win 7.
I have a slightly different user story: I am happy with certain accounts in my Keychain, that is also where other macOS native applications can access them. (Note that is not just Safari - any app can ask access to internet accounts in your Keychain, and I have a number that do).

So instead of an import, I would prefer to have the ability to simply use/lookup credentials from the Keychain without importing anything in Firefox.
(In reply to Stefan Arentz [:st3fan] from comment #4)
> So instead of an import, I would prefer to have the ability to simply
> use/lookup credentials from the Keychain without importing anything in
> Firefox.

That's bug 106400 but my understanding is that since iCloud keychain it's not as useful. You can continue that discussion there.
This should be at least a P2, perhaps a P1.  Need PM input.
Flags: needinfo?(abovens)
Priority: P4 → P2
From http://dev.chromium.org/developers/design-documents/os-x-password-manager-keychain-integration:
"Note: As of version 45, the password manager is no longer integrated with Keychain, since the interoperability goal discussed in the Background section is no longer possible. This document is here for historical purposes only."

It's possible Chromium still stores somethings in keychain (that will need investigation) but for now it seems clear Chrome/Chromium imports on OS X should probably be tracked in a separate bug as it will require separate code.
No longer blocks: 589589
Severity: normal → enhancement
Summary: Create a plan for accessing/importing Safari/Chrome passwords (in OS X Keychain) → Create a plan for accessing/importing Safari passwords (from OS X Keychain)
Not quite my field of expertise. Looping in Peter.
Flags: needinfo?(abovens) → needinfo?(pdolanjski)
cmore, what's your input on the priority of doing password imports on MacOS/Safari for helping retention?
Flags: needinfo?(pdolanjski) → needinfo?(chrismore.bugzilla)
(In reply to Peter Dolanjski [:pdol] from comment #9)
> cmore, what's your input on the priority of doing password imports on
> MacOS/Safari for helping retention?

I thought I replied here already. Putting assumptions aside, we would have to test to see if it has a positive, negative or neutral impact on engagement and retention. My guess would it have a positive impact on retention because Mac and iOS people have a pretty good user experience with keychain saving passwords/syncing them across devices. Even if it has a positive impact on retention, we have to weight it by the size of the audience, which is a small fraction of the size of the Windows audience. So, if this ability takes away from work on Windows importing, then I would de-prioritize it, but if Windows importing is good-to-go and is successful, having something equivalent on the Mac would be nice for likely people who are slightly more power users than the general audience on Windows. 

All that said, bouncing back to Chrome where their passwords are stored is a real thing that users do that reduces the chances of getting value from Firefox and thus building a habit and sticking with Firefox for the long term.
Flags: needinfo?(chrismore.bugzilla)
not eveyone on macOS uses iCloud with Keychain. Many of us enjoy the benefits of the built-in, encrypted, local password database. We'd like this to work the way it used to.
There is demand, and if nsILoginManagerStorage is all that is needed, we're willing to contribute. Please consider us users too.

I looked into this again recently and it seems like we would require the "Automation" (or "Accessibility") permission on macOS in order to automate the macOS password re-authentication dialog for the user e.g. https://gist.github.com/rmondello/b933231b1fcc83a7db0b. This means we would have to ask the user for their macOS password in order to populate the macOS dialog for them for each password. The user would see this process play out quickly in front of their eyes so it would be kinda dirty.

It's possible we could bypass all APIs and instead read from the Keychain file directly but I don't know how the key is derived, how stable the file format is, or what file format/encoding is used. This would probably require the Full Disk Access permission but we already need that for Safari bookmark/history import anyways.

Severity: normal → N/A
Summary: Create a plan for accessing/importing Safari passwords (from OS X Keychain) → Import Safari logins/passwords (from macOS Keychain)
Whiteboard: [fxgrowth] [fxprivacy] → [fxgrowth] [fxprivacy] [passwords:import]
Summary: Import Safari logins/passwords (from macOS Keychain) → [meta] Import Safari logins/passwords (from macOS Keychain)
Keywords: meta
Summary: [meta] Import Safari logins/passwords (from macOS Keychain) → Import Safari logins/passwords (from macOS Keychain)

There is proof-of-concept code that works with the newer Safari/iCloud KeyChain storage but not if a T1 or T2 chip is in the machine: https://github.com/n0fate/iChainbreaker

Any update on this topic ?

Changing qe-verify? to qe-verify+.

Flags: qe-verify? → qe-verify+
You need to log in before you can comment on or make changes to this bug.