-
Notifications
You must be signed in to change notification settings - Fork 18
Conversation
Looks pretty good! It feels like either method should be able to work with both GridSync and "plain Tahoe-LAFS". The latter would be "todo later" -- only after the So but for the email method should we also offer people the chance to download GridSync (along with instructions on how to skip the "invite code" method and configure manually)? It would be nice to have a "more detailed instructions" page (perhaps part of GridSync docs?) including instructions on what the signatures are and how to verify them. |
Good stuff! :) +1 to everything @meejah said. To expand on the verification instructions suggestion, I was thinking that we could perhaps have a help/question-mark link (a simple "(?)" or whatever should suffice) next to the "[sig]" that would take users to a simple page briefly explaining what a signature is, why it's important, and how to go about verifying. I can write this up in the Gridsync docs but would argue that we should mirror its contents somewhere under the leastauthority.com domain as well (and mirror the release signing key there too), that way the user gets a stronger sense that the information is coming from the same "trusted" source (particularly in the case of non-technical users who may not even know what "a GitHub" is --and who are already very unlikely to check the sigs.. Doubly so if they have to go to some "other" site to read about it). A few other/misc. comments:
Related: What does the user see just before this page? How do they select between traditional "introducer fURL"-style signup and the new wormhole-based one? Can they choose? How can I test this? In any case, it might be a good idea, in the same vein as meejah's suggestion above, to always provide both options together (perhaps in the form of a "manual configuration" link/button below the invite code that reveals the introducer fURL, etc.). |
@chris you can select between the two by deleting a cookie; you can create the cookie via https://s4.leastauthority.com/s4-signup-style?style=wormhole edit: +2 to @exarkun for easy-to-grep docstrings that made this easy to find :) |
Ideally we could provide some kind of real progress-updates here .. like at minimum a progress-bar (via websockets or whatever's cool by the time we get to this). Bonus points if said progress-bar is Fritz going from black-and-white to colour or something. |
New thought: what if the only way is "via wormhole", but we can deliver the code one of two ways: in a Web page, or via email? Justification: I think people are used to "instant" email communication, clicking on links etc to verify accounts -- and we're already planning to keep the wormhole active for potentially quite a while. I really doubt anyone paying money to sign up for a thing will wait days before activating it? Edit: alternatively, what about delivering the introducer-furl via the web-page instead of email -- I think that would be 100x more secure than sending it via email (rough estimate ;) |
Thanks guys. I've addressed some of the simpler feedback. For some of the deeper stuff:
Yep, that makes sense. I think this means that at some point the content that includes a wormhole code needs multiple sets of instructions that the user can easily select between. The Gridsync intructions, the
That might be good. It seems like this might be something the users themselves might want to choose between? If so then we need to expand our signup form a bit to capture this information. I haven't looked at that code much but it doesn't seem like it would be too difficult. There's a definite advantage to email in that it's basically persistent. Instead of a fragile cookie in a browser we can rely on the user not losing their initial subscription email. OTOH the downside is that email is basically always entirely insecure, so that's a bummer. Did we have some discussion about another service that decided to have no kind of persistent identity apart from ability to receive email at a specified address? Like, any time you want to log in, you click a button and you get an email with a short-duration log in link? Perhaps something like that could be viable. OTOH, email is still entirely insecure so I'd want to think about what new kinds of attacks that opens up (attacker can request a login link for themselves on demand??? aaaa)
I guess we need to settle on an opinion about email. :) I agree this idea is more secure than what we do now. OTOH, usability wise, I think anything based on a furl is almost a 100% failure. Gridsync and "tahoe invite" are big advances over what we do with email now - even if we just email the wormhole code. |
basically placeholder links though
Yeah, that's "sandstorm" the "other" capability-based web-service thing ;) But yes, they have no accounts: every time you "log in" it's exactly like a "password reset" flow, except you get a cookie at the end instead of a new password. |
The codify my thoughts a little better here:
So my suggestion about putting a fURL in the Web page was to replace sending it in an email -- that is, for "expert" users who know what to do with a fURL, it'd be better to give it to them via the Web page rather than email. Sending a wormhole code via email is definitely less secure than displaying it on a web page, but also way more secure than sending a fURL via email. Actually, typing that out, maybe that's how we should handle this: if you "sign up" you get the wormhole code via the Web page. If you forget, or it doesn't work or whatever, then you can "re-request" it via email (but only the same email as the one you signed up with). That is, don't do any of the "cookie" stuff for now. Alternatively to the last thing: if you click "i forgot" then we send a one-time link to their registered email, and then once they click that they get a new wormhole code (although honestly this sounds like just more moving parts than sending them the wormhole code via email). IMO, anything in email will leak, so a one-time code is cool (whether that's a link or a wormhole code) but a long-term secret is not. |
p.s. the last 4 changes look great 👍 |
Fixes #495
For reviewer convenience, attached are screenshots of the two signup confirmation pages, one for email-based signup and the other for wormhole-based signup.
email:
wormhole: