The discussion revolves around the password reset process in Discourse, specifically the message displayed when a user enters a valid or invalid username/email. Initially, the system responds with the same message regardless of whether the account exists, for security reasons.
amyehawthorne suggests that this approach can be confusing for non-technical users who may not understand why they don’t receive an email and may contact the site admin for assistance. codinghorror argues that revealing whether an email has an account on the site or not is a security issue, as it can be used for username enumeration and social engineering.
However, after further discussion, the team decides to optimize for reducing support requests over security in this specific case. codinghorror announces that the password reset process will be changed to inform users if no email or username exists by default, with a site setting to opt-in to the previous more secure behavior.
The conversation then shifts to the sign-up process, where sam suggests that instead of showing an error message when a user tries to create an account with an email that is already in use, the system should pretend to send an activation email but do nothing. This approach is deemed secure by default.
However, sam later discovers that popular sites like Tumblr, Twitter, and Facebook disclose email addresses in use, making this approach not as secure as initially thought.
The team decides to use the existing forgot password strict setting to also work on account creation and rename it to “do not disclose email addresses in use” as suggested by michaeld. When someone signs up with an email that has already been taken, the system will respond as if the signup was successful and send an email to the email address suggesting they change their password, similar to Hipchat’s approach.
neil partially implements this change, but notes that the “account created” page doesn’t show the necessary buttons to maintain the illusion, and the setting is renamed to hide email address taken. The change email form in user preferences is also updated to respond as if it was successful and send an email to the owner of the other account.