HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
mozilla
persona
JavaScript2011–2024
mozilla / persona · Archived

persona

Persona is a secure, distributed, and easy to use identification system.

27Distinct people
46Mentions
0Explicit recommenders
1.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Persona is a secure, distributed, and easy to use identification system.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year46 dated mentions

Observed mentions: 2011-07-15 00:17:16 UTC to 2024-03-29 15:04:33 UTC.

0510152011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 6 mentions; 2 submissions, 4 comments20112012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 16 mentions; 0 submissions, 16 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 15 mentions; 0 submissions, 15 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC624
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC16016
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC15015
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC505
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
This repository contains the core Mozilla Persona services. Persona is a login system based on the BrowserID protocol. To learn about using Persona on your site, check out our documentation on MDN. Repository Contents This repository contains several projects related to Persona: The Persona Fallback IdP: A fallback Identity Provider (IdP) for users without native support for Persona via their email provider. Written in node.js, hosted at https://login.persona.org. The Persona Remote Verification Service: A stateless node.js server which handles cryptographic verification of identity assertions. Hosted at verifier.login.persona.org, but easy to run locally. The Cross-Browser Persona Support Library: The include.js file that provides the navigator.id API for browsers without native support for Persona. This also includes the code for the dialog shown to users of those browsers. Sample and Test Code: For all of the above. Getting Started The Persona team uses Git and GitHub for all of our development and issue tracking. If you'd like to contribute code back to us, please do so using a Pull Request. If you get stuck and need help, you can find the core team on our public mailing list or in #identity on irc.mozilla.org. Install Dependencies BrowserID needs the following dependencies before it can run: node.js (>= 0.8.11) libgmp3 g++ For detailed instructions for your specific operating system, check out the SETUP docs in the docs/ folder. Running BrowserID Locally To run the BrowserID service locally: Clone the repository to your machine. Run npm install from the root of your clone. Run npm start from the root of your clone. When you run npm start, it will print several URLs to your terminal. You can test that everything is working by visiting the URL for the example (RP) site. Look for a line like this in the terminal: example (10361): running on http://127.0.0.1:10001 You can stop the services by typing Control-C in the terminal. Staying Up to Date To stay up to date with BrowserID: Use git pull to retrieve new changes. Delete both the var and node_modules folders in the root of your local clone. Run npm install from the root of your local clone. Testing Local testing: Unit tests can be run by invoking npm test at the top level. At present, there are three classes of unit tests to be run: Backend unit tests against a custom, zero-dependency JSON database. Backend unit tests against MySQL, what we use in production. Frontend unit tests run headlessly against PhantomJS. You can control which tests are run using the WHAT_TESTS env var, see scripts/test for details. Continuous Integration Testing: Integration tests are done with Travis-CI. It is recommended that you setup Travis-CI for your BrowserID fork so that tests are automatically run when you push changes. This will give the BrowserID team confidence that your changes both function correctly and do not cause regressions in other parts of the code. Configuration files are already included in the repo but some setup is necessary. Sign in to GitHub Open Travis-CI Click "Sign in with GitHub" if you are not signed in. If you are signed in, click on your username then "Profile" and go to step 5. Click "Allow" if this is your first time signing in. Find "browserid" in "Your Repositories" Move the switch from "OFF" to "ON" Open your fork of BrowserID on GitHub Click the "Settings" button Click "Service Hooks" and find the "Travis" Service Hook Paste in your "Token" which you can find it on your Travis-CI Profile. Ensure that "Travis" has a green radio button Push to your fork and return to Travis-CI. Watch the tests run. LICENSE All source code here is available under the MPL 2.0 license, unless otherwise indicated.
Read the full README on GitHub

What Hacker News says

46 sources
Compared to what other companies are doing, Persona's source-code is open source [1] and you or others are free to continue that project if you think it makes a difference. As it happens Mozilla isn't under any obligation to you or anybody else to continue a project that is draining resources and given its open-source nature, if nobody picks it up, then I doubt its viability. Firefox OS from an "open web" perspective, was primarily a vehicle to push for the standardization of web APIs needed for mobile devices. It has succeeded in doing that and many Firefox OS improvements are now incorporated into Firefox for Android. But given the complete dominance of Android on the low end, it would have been extremely foolish to continue it, as that would have been literally burning through cash. Consider that even Microsoft has failed spectacularly
Read the rest
, given all their resources and experience in building operating systems. > Ok, Eich wasn't fired, but he resigned because his own employees were calling for him to be fired. Wait, people are allowed to speak their own mind? Oh, the horror. [1] https://github.com/mozilla/persona
In Mozilla launches new brand identity
> what do you guys need help with? I'll post some trailheads to dev-identity by Friday; we're just now rebooting some coordinated development effort. Generally speaking, our greatest challenge is an enormous amount of technical debt in the main Persona repo[0]. The cruft and complexity hinder maintenance, slow feature development, and present a huge challenge for potential contributors. We're specifically trying to tease apart the verifier, frontend, and backend into independent components, but literally any contribution to reduce code complexity / cruft would be welcome. Some ideas: audit / upgrade our node dependencies, replace npm-lockdown with npm-shrinkwrap, try to get Persona running locally and file documentation bugs about what did / didn't work, open a random .js or .ejs file and see if you can make it less verbose or complex. Al
Read the rest
l would be useful contributions. > the IRC channel was dead for three days and the dev-identity list looks overrun with spam. Right now our IRC coverage isn't great, but the mailing list should be better. The spam is an unfortunate side-effect of Mozilla's weird NNTP/SMTP hybrid lists -- certain incoming messages are somehow bypassing the filters set up in Mailman. I'll look into it more tomorrow. Otherwise, if you mention my nick on IRC or GitHub, I'll see it. :) [0]: https://github.com/mozilla/persona/
In Passwordless authentication: Secure, simple, and fast to deploy
> "needing ... supporting IdPs (email providers)" Over at FastMail we seriously looked into implementing Persona across the board. We're one of the bigger "small" email providers and we figured that it would be a good thing to get in on the ground floor if it succeeded, and have a(nother) feature to differentiate us from our competition, and to be able to give feedback on the system from the iDp perspective. The hard requirement for HTTPS or DNSSEC is what raised the bar too high for us in the end (see https://github.com/mozilla/persona/issues/1523 for more info). Basically, the domain owner needs to securely delegate to the identity provider. Since we provide DNS and basic web hosting for most user domains, that means we have to provide HTTPS certificates for every domain we manage (and at least one IP per domain) or be able to serve pro
Read the rest
per DNSSEC records for every domain we manage (difficult when many registries we use still don't support it). DNSSEC is something we're working towards, and I'd really like to have full support available this year. HTTPS without needing one IP per domain and multiple certificates is still not yet feasible, though there are specs gradually coming down the pipeline for it (DANE, DNA, POSH, etc). Without all this tech in place, Persona seems to be a non-starter for a IdP that wants to manage lots of domains. I don't blame the Persona guys for this. I know they tried and they got a lot of it right, and should be applauded for that. Maybe the next round of federated authentication will work. I have no idea, but I know we'd still like to be involved, and we'll be watching the space with interest.
In Transitioning Persona to Community Ownership
Persona is already using DNS for resolution, just very badly. I just went looking. There's a whole thread over here: https://github.com/mozilla/persona/issues/1523 & https://groups.google.com/forum/#!msg/mozilla.dev.identity/d... where the developers effectively shitcanned the idea of using SRV records because they fear DNSSEC. Hilariously ignoring the huge elephant in the room viz. that they were already relying on DNS to resolve endpoints. The verification, the trust, comes from TLS with a valid cert, and that doesn't change, however you located the https listener in the first place. Even better, though, if you did use DNSSEC you can validate a self-signed cert via DANE/TLSA rather than having to buy one from CrappyCA. And that would make the ISPs very happy.
In What did Persona get right? Why did Persona fail to gain wide adoption?
The best things in Persona's favour: 1) A lot of people are working on it (hopefully eyeballs translate to fewer flaws) 2) You can host your own 3) Eventually when browsers are in on the game, it can be decentralised The best response Mozilla could give is to highlight the above and ask for more help from those able to give it to make those things come true sooner. We all know where we are today, so let's just get to where we want to be tomorrow. And finally add a link to Github: https://github.com/mozilla/browserid
In Mozilla Persona and Surveillance

Showing the 15 most recent of 46 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.