Email verification protocol

github.com

188 points by sgoto 9 days ago


0x073 - 14 hours ago

Make everything what works complicated.

There is no advantage.

"User privacy is enhanced as the issuer does not learn which web application is making the request as the request is mediated by the browser." Every web application nowadays send you a welcome, onboarding, reminder after the verification. (No user privacy enhancement)

So we get a new process that solves nothing, but makes everything complicated. (And complicated helps the big and hurt the little in th long run)

Not verified but feels like a Google draft that closes the web.

Arch-TK - 21 hours ago

Cool, so if I want to use myname+yourdomainname.here@myemail.com to register on your application I now first have to go to some third party(?*) to verify that myname+yourdomainname.here@myemail.com is valid**. And then, once I've gone through the hassle of that, I have to go back to your website to use the third party service to verify my email. Thanks I guess...

* It's not clear if this service would be provided by a third party (in which case, the problem has merely just been moved) or the email provider. It sounds like the former, but in case it's the latter, then this doesn't have as big an impact I guess.

** While _I_ as the owner of an email address can decisively know that all emails of the form `myname+<whatever>@myemail.com` will go to me, you as the owner of a website attempting to verify my email cannot know that. The standards specify that + is valid in an email user part, but they do not require plus addressing to work.

hypeatei - 19 hours ago

The ideas proposed in here aren't bad, but it does seem like you'll need to maintain two user flows as a site owner because:

1) Not all email providers will implement this, and

2) Users may not be signed into their email at the moment they signup

As a developer, I would find it easier to have one "verification code" flow for all users rather than fragmenting the process; it's much easier to document for your support staff. Again, not a bad proposal but perhaps not very useful in practice.

neilv - a day ago

* It's lowering the friction to the site identifying the user (separate from the identification done now by the more sophisticated third-party tracking by surveillance companies like Google and Meta), even for sites that previously couldn't justify the friction of trying to do that.

* It's putting surveillance companies even more in the loop, building on the recent "log in with [surveillance company]" buttons, while existing login methods are destroyed through dark pattern practices or simply removed.

* It can be a ready-made platform, waiting for the next authoritarian government directives that say, now that everyone is hooked up or can easily be hooked up, turn on oppressive feature X, Y, or Z for all targeted Web sites/people.

phyzome - a day ago

I don't know if this is the solution, but we desperately need one. It's to the point where "email bombing" is forcing service providers to add captchas to login and registration because those forms are being abused as mail-flooders.

mcny - 5 hours ago

If this is a proposal, how do I politely refuse and ask these people to stop working on this?

Or is this one of those things they will shove in our faces whether we like it or not?

stavros - a day ago

This is what Mozilla Persona did, too. I loved the UX, but it wasn't very successful, unfortunately.

Etheryte - 18 hours ago

I haven't managed to formulate the exact issue yet, but if I squint, I swear there's a path to track and/or deanonymize someone visiting your site. If you have any kind of previous information about the user, such as Meta, or Google or etc, you could easily try and see if the user holds any number of emails you think they might hold. From there on out we're practically back to third party cookie tracking.

yomismoaqui - a day ago

"There are privacy implications as the email transmission informs the mail service the applications the user is using and when they used them."

Not really, as I can enter any email on a service login page that uses magic links for auth. The owner of that email will receive the login link but that doesn't mean they tried to login on that system.

jesprenj - 3 hours ago

This needs to be implemented in Firefox ASAP. Although this would require firefox to gain support for IMAP.

8organicbits - 10 hours ago

Is there a nonce relay vulnerability here? You try to verify your email with site A. Site A starts an email verification with site B. Site B sends a nonce to A, A relays the nonce to the user. The user generates the proof, sends it to A. Then A sends it to B.

philipwhiuk - a day ago

> User privacy is enhanced as the issuer does not learn which web application is making the request as the request is mediated by the browser.

This seems extremely marginal. The point of verifying an email address is to subsequently use it to send email.

nine_k - 19 hours ago

This is sort of missing the point of email verification. It's to test that the email from this particular site is deliverable and visible to the user, not just that it's a legitimate address known to work by some third party.

A user may make a typo in the email, and that email might still be a valid email know to work (but for another, unrelated person). The user's email agent (such as GMail or Outlook) can mark the email unimportant and make it hard to notice, or even mark as spam. All these issues are much better to find out and iron out before the user sees themself unable to communicate, or successfully bound to an email they cannot access.

The whole point of email verification is to make certain that a channel of alternative communication exists for a case when the user would be unable to identify themself normally, for whatever reason. A working email alone is not always sufficient for successful credentials reset, but almost always it's much easier to when the user has it.

deknos - 6 hours ago

to be honest, i am kinda wondering, why mailserver do not publish on some http service:

- whom the accept mails from under which conditions - who's blocked and why - perhaps hashed-and-salted-email-addresses for verification - how much spam (as the receiver understands it) happened from where - that you produce tokens with hashcash, so you unknown senders can verify themselves with that per mail/receiver

mvid - a day ago

Might want to take a look at https://github.com/zkemail

meonkeys - a day ago

Skimming that I'm thinking yes, sure, why not, but this repo is missing useful context. Who are you, authors? Why should I bother learning this protocol? Is anyone using or going to use this? If it's new, has it been shopped around at conferences? Any related research?

ericpauley - a day ago

Hard to see how this provides substantial benefits over OIDC. Either one requires support from the email provider, but one is already standardized and has widespread support.

timedrun - 10 hours ago

Creating a email/messaging protocol to solve spam, which is a different problem from verifying sign ups to solve spam sign ups in this thread, but is relevant for people in this thread interested in the issue of spam. It is directly compatible with email/messengers, including all of the large email providers, low false negative rate compared to current spam filtering, free for senders.

Check this profile for the email if you wanna ask for more info or get updates.

turnsout - a day ago

This is sorta interesting, but it fails on several levels. First, email verification as it exists currently is fairly simple, there are a lot of different ways to do it, and it works universally for all email addresses (as long as you don't expire codes too fast for servers that use greylisting).

This protocol solves a pretty contrived problem ("By sending the email verification code, the inbox provider knows the user is using that service!") by making email verification exponentially more complex, with only one correct flow, and will only work for domains that have opted in and configured this protocol.

Importantly, the protocol seems to rely on 1st party web cookies, which means you could no longer run a "pure" MTA that offers IMAP; you would need to have some web interface where your users can log in, even if there is no webmail functionality.

The bigger question is: why would the company who is hosting the email have any economic incentive to invest time and money in implementing and maintaining this protocol which currently has zero adoption? It's a chicken-and-egg with no upside.

gsich - 2 hours ago

Talk about overengineering. Why not allow users to use the service (or parts of it) without verification?

jiveturkey - 8 hours ago

Surprising proposal. Normally I'd review the credentials of the authors but it's late Sunday night so nevermind.

I like the idea in general - an OIDC-like flow without needing any a priori setup. But, the RP has only a signed token with the pubkey in DNS, so this doesn't prove anything about the user unless the RP also verifies against some trusted and known email providers. This is absolutely awful for the Internet and makes sure power stays concentrated. PLEASE don't let this become a thing.

Second, this doesn't improve privacy. Most RPs will send an email right at signup, or soon thereafter. Thus the email provider does learn of the individual's association with that web application.

A last issue that's immediately obvious, is that you have to use a webmail interface.

bullen - 14 hours ago

Or you just use SMTP and read the 200 response on the SEND?

jauntywundrkind - 19 hours ago

I am a little sad the original pretty interesting FedCM work got reduced to this. There was some neat work underway to allow using identity providers without the site even knowing the provider! https://github.com/w3c-fedid/FedCM/issues/677

But after some work the team scoped down, to focusing on email verification. I think that's what lead to this spec? https://groups.google.com/a/chromium.org/g/blink-dev/c/rwu9w...

portaouflop - 21 hours ago

Is it reinventing OIDC or what is the benefit of this?

No way in hell I’m gonna learn another of these nightmarish protocols unless this is somehow much much better.

l___l - a day ago

Why must apps require email? Why not only username and password?