<div dir="ltr">Hi folks,<br><br>I wanted to let people know of some significant changes coming to the<br>Firefox Accounts implementation in Fennec.  The native accounts<br>implementation is being replaced with a hybrid native-and-on-the-web<br>implementation.  The changes are broadly tracked by meta ticket Bug<br>1161223 and I intend to land them in Fennec 42 (current Nightly).<br><br>What's changing?<br>----------------<br><br>Most screens that are implemented with native Android widgets will<br>instead be delivered as web content from <a href="http://accounts.firefox.com">accounts.firefox.com</a> in a<br>Fennec tab.  The status activity will remain a native Android activity;<br>everything else (sign up/sign in/change password/update avatar) will<br>move to the web.<br><br>What's the motivation?<br>----------------------<br><br>The motivation is to get the Fennec team out of the Accounts team's<br>path.  The Desktop product has shown that hosting Firefox Account<br>interface on the web is a viable, iterable solution that lets us provide<br>a great user experience across our products.  By unifying our technical<br>approach across our products [2] we unlock the Accounts team to move<br>faster on features that would otherwise require Fennec team support: for<br>example, adding robust 2-factor authorization, or optimizing our sign up<br>experience.<br><br>Why might I care?<br>-----------------<br><br>I see two axes relevant to users.  First, it's likely that our sign<br>up/sign in experience will take slightly longer (since we need to load<br>and display content from <a href="http://accounts.firefox.com">accounts.firefox.com</a>) and it's possible our<br>experience will be perceived as less smooth.  However, we already do<br>this process on Firefox for iOS and mobile team will take feedback from<br>our iOS product in to account as we build the Fennec solution.  And,<br>other organizations, including Google, have at times delivered their<br>authentication flow over the web in this way.  Therefore, I'm not<br>concerned we will be bucking user expectation, and so far the experience<br>seems good. You can see a (now dated) demo video at [3].<br><br>Second, this changes the Firefox Accounts security story in Fennec.<br>Currently, your Firefox Account password never leaves your device: your<br>password is never stored (although a derivative is stored for a short<br>time) and is never exposed to web content.  This will change:<br><a href="http://accounts.firefox.com">accounts.firefox.com</a> will have access to your password.  An attacker who<br>compromises (or compels) Mozilla has an attack that they did not have<br>previously.  The Accounts team has considered this attack and takes<br>mitigating steps, but I can't find a good reference right now [4]!<br>After these changes, the Fennec security story will be similar to the<br>Desktop (and iOS) security story.  For that reason, I'm not concerned<br>about the security changes.<br><br>Comments?<br>---------<br><br>The mobile-firefox-dev and dev-fxacct mailing lists are the best places<br>to continue this discussion.  You can also reach out to me directly in<br>#mobile on <a href="http://irc.mozilla.org">irc.mozilla.org</a>.<br><br>Best,<br>Nick<br><br>[1] <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1161223">https://bugzilla.mozilla.org/show_bug.cgi?id=1161223</a><br><br>[2] Desktop has a robust web solution.  Firefox for iOS has a web<br>solution with some features missing or disabled.  Fennec has a native<br>only solution.<br><br>[3] <a href="http://people.mozilla.org/~nalexander/FxA.Web.Signin.1.webm">http://people.mozilla.org/~nalexander/FxA.Web.Signin.1.webm</a><br><br>[4] If you have a reference, please let me know!  I know dveditz from<br>the Mozilla security team has been involved in these discussions --<br>probably more times than he cares to have been.</div>