Readit News logoReadit News
callahad commented on Email verification protocol   github.com/WICG/email-ver... · Posted by u/sgoto
8organicbits · a month 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.
callahad · a month ago
Step 5.2; the browser binds the KB-JWT to the site it's on, so Site A would receive a JWT that is only valid for Site A.
callahad commented on Email verification protocol   github.com/WICG/email-ver... · Posted by u/sgoto
kbaker · a month ago
This section

https://github.com/WICG/email-verification-protocol/blob/mai...

could easily be done by malicious JS, an ad script, or the website itself, and then as the RP gets the output of 6.4) email and email_verified claims.

I'm guessing that this proposal requires new custom browser (user-agent) code just to handle this protocol?

Like a secure <input Email> element that makes sure there is some user input required to select a saved one, and that the value only goes to the actual server the user wants, that cannot be replaced by malicious JS.

callahad · a month ago
> This section could easily be done by [...]

Less easily than you'd think.

You'd have to make an authenticated cross-origin request to the issuer, which would be equivalent to mounting a Cross-Site Request Forgery (CSRF) attack against the target email providers.

Even if you could send an authenticated request, the Same Origin Policy means your site won't be able to read the result unless the issuer explicitly returns appropriate CORS headers including `Access-Control-Allow-Origin: <* or your domain>` and `Access-Control-Allow-Credentials: true` in its response.

Browsers can exempt themselves from these constraints when making requests for their own purposes, but that's not an option available to web content.

> I'm guessing that this proposal requires new custom browser (user-agent) code just to handle this protocol?

Correct; which is going to be the main challenge for this to gain traction. We called it the "three-way cold start" in Persona: sites, issuers, and browsers are all stuck waiting for the other two to reach critical mass before it makes sense for them to adopt the protocol.

Google could probably sidestep that problem by abusing their market dominance in both the browser and issuer space, but I don't see the incentive nor do I see it being feasible for anyone else.

callahad commented on Email verification protocol   github.com/WICG/email-ver... · Posted by u/sgoto
philipwhiuk · a month 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.

callahad · a month ago
I largely agree, but I still think there's a compelling argument that blinding the issuer implicitly precludes API gatekeeping or censorship. Sites wouldn't need to pre-register with any issuer, nor could the issuer refuse to provide tokens on the basis of where they'll be used.
callahad commented on Email verification protocol   github.com/WICG/email-ver... · Posted by u/sgoto
Etheryte · a month 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.
callahad · a month ago
The key mitigation is that the protocol - as envisioned - is mediated by the user agent; you as a website cannot silently fire off probes that tell you anything.
callahad commented on Email verification protocol   github.com/WICG/email-ver... · Posted by u/sgoto
ErikBjare · a month ago
Apparently Persona was even based on some prior work called "VerifiedEmailProtocol", eerily similar to the OP
callahad · a month ago
The Verified Email Protocol got renamed to BrowserID, and Persona was its reference implementation.

This looks broadly similar to that, but with some newer primitives (SD-JWT) and a focus on autocomplete as an entrypoint to the flow. If I recall correctly, the entire JOSE suite (JWT, JWK, JWE, etc.) was still under active iteration while we were building Persona.

And hey, I applaud the effort. Persona got a lot of things right, and I still think we as an industry can do better than Passkeys.

For historic interest, the Persona After Action Report has a few key insights from when we spun down the project: https://wiki.mozilla.org/Identity/Persona_AAR

callahad commented on Leaving Gmail for Mailbox.org   giuliomagnifico.blog/post... · Posted by u/giuliomagnifico
nine_k · 4 months ago
Can you use GrapheneOS with your bank app? With a digital wallet for NFC cards? With Uber or Lyft? (Asking seriously, not rhetorically.)
callahad · 4 months ago
My understanding from looking into this two years ago is that it's hit or miss for banks (depending on if they opt into device attestation stuff), no for NFC / Google Wallet, and yes for Uber / Lyft.

Apparently the common workaround for the Google Wallet stuff is to pair a GrapheneOS phone with a stock Android smartwatch.

Edit: Here's some additional information on banking apps: https://privsec.dev/posts/android/banking-applications-compa...

Apparently the common recommendation these days is to use Curve Pay as a virtual card provider on GrapheneOS, which can then route to arbitrary underlying cards. And evidently Google Wallet does work for things that aren't payment cards (airline tickets, transit passes, etc.) on GrapheneOS.

callahad commented on Miles from the ocean, there's diving beneath the streets of Budapest   cnn.com/2025/08/18/travel... · Posted by u/thm
adriand · 4 months ago
I truly don't understand the appeal. What is enjoyable about this experience? I like risky and athletic stuff and have done a bit of climbing (nothing technical) and the appeal there seems quite obvious - in addition to the adrenaline rush, you've got clean air, beautiful vistas and scenery, etc. A pitch-black, dank hole in the ground - ugh. The thought of getting lost, especially getting lost and losing illumination, seems like the ultimate nightmare. On the plus side, those big caverns with various mineral formations do look quite spectacular. But you tell me, what's fun about this?
callahad · 4 months ago
For me, it was the challenge and allure of doing something relatively difficult and rare. The first time I saw a Stop - Prevent Your Death sign[0] at depth, I knew I wanted the training to go beyond it.

It's also really peaceful underground.

Amusingly enough, I can't handle blue-water or wall dives (vertigo), nor wrecks (those aren't supposed to be there!), but caves are no problem. You've got walls, floor, and ceiling as a frame of reference, and everything is nice and cozy. It's like the Earth is giving you a hug.

[0]: https://commons.m.wikimedia.org/wiki/File:Vortex_Spring_cave...

callahad commented on Miles from the ocean, there's diving beneath the streets of Budapest   cnn.com/2025/08/18/travel... · Posted by u/thm
Zenbit_UX · 4 months ago
Cave diver here, the article asserts how rare warm caves are but I think that is a very European mindset.

The Mecca for cave diving is in the Yucatán and surrounding areas and the caves there are exceptionally warm. The surface water can be chilly, coming in around 21c at one of the many cenotes (sinkholes, which are the entry points into the system) as rainwater fills them, but the further into the cave you penetrate you will eventually cross the halocline, at which point deeper = warmer ocean water. It’s quite unintuitive but delightful to warm up after a 2+ hour dive. It’s common for divers to go deeper, pull their wetsuit open a little to fill it with warmer water (24c+) and then rise up back to the planned depth.

Cold cave diving is a very different experience and is usually found in Florida and Europe. Don’t recommend.

callahad · 4 months ago
I found Florida's caves positively delightful at 21 C; never felt the need to dive dry.

I am envious of the speleothems in Yucatán cenotes. Florida's caves are all phreatic, so you don't get any real decoration beyond scalloping. Still fun to dive, just not much to see aside from water, wet rocks, and a line. And not even that if you blow the viz.

callahad commented on Wikipedia loses challenge against Online Safety Act   bbc.com/news/articles/cjr... · Posted by u/phlummox
djeastm · 4 months ago
Can you cite said law for us?
callahad · 4 months ago
It's the Online Safety Act. As the government says about the OSA:

"Ofcom is the independent regulator for Online Safety. [...] Ofcom has strong enforcement powers"

https://www.gov.uk/government/collections/online-safety-act

Okay, so what does Ofcom say?

"It doesn’t matter where you or your business is based. The new rules will apply to you (or your business) if the service you provide has a significant number of users in the UK, or if the UK is a target market."

https://www.ofcom.org.uk/online-safety/illegal-and-harmful-c...

callahad commented on Yearly Organiser   neatnik.net/calendar/... · Posted by u/anewhnaccount2
thefluffytoucan · 5 months ago
Useful, thanks!

Now if someone made one with the ability to drag colored blocks of days around..

callahad · 5 months ago
Cassidy Williams recently published an open source calendar that might scratch that itch: https://pocketcal.com

Source at https://github.com/cassidoo/pocketcal

u/callahad

KarmaCake day11304February 17, 2008
About
Now: F5 (Director, Engineering), 2023-.

Prev: Suborbital, Element, Mozilla (RIP Persona).

Contact me:

- Matrix: https://matrix.to/#/@callahad:matrix.org

- Email: python3 -c "s='callahad'; print(f'{s[-1]}an.{s[:-1]}n@gmail.com')"

Keybase Proof:

[ my public key: https://keybase.io/callahad; my proof: https://keybase.io/callahad/sigs/vfNSwqxVwElLD-T563yfgqb4Qx-7diX8eybLvnulnEM ]

View Original