# Is it possible to hash the email database?

**URL:** https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072
**Category:** Feature
**Created:** [10월 9, 2018, 6:02오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072 "2018-10-09T06:02:53Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![lqiz5bso7g](https://avatars.discourse-cdn.com/v4/letter/l/43a26b/32.png) [@lqiz5bso7g](https://meta.discourse.org/u/lqiz5bso7g)
#### Post date: [10월 9, 2018, 6:02오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/1 "2018-10-09T06:02:54Z")

</div>

Hi, I’m interested in using discourse for a whitelisted, anonymous discussion board.  
Is it possible to hash the emails stored in the database right after it’s verified?

I understand this means that if the user forgot his/her password then it can’t be recovered.

Thank you.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [10월 9, 2018, 8:03오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/2 "2018-10-09T08:03:41Z")

</div>

What do you mean? The passwords are already hashed in the database. Read the security.md doc in our github repository.

---

<div class="post-metadata">

### Author: ![lqiz5bso7g](https://avatars.discourse-cdn.com/v4/letter/l/43a26b/32.png) [@lqiz5bso7g](https://meta.discourse.org/u/lqiz5bso7g)
#### Post date: [10월 9, 2018, 8:12오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/3 "2018-10-09T08:12:24Z")

</div>

Hi Jeff, thanks for the reply. What I meant is not just hashing the password, but the emails as well. So even as the website/forum owner, we don’t know which emails the users use after it’s been verified.

I guess what we want to achieve is similar to [https://www.teamblind.com/](https://www.teamblind.com/)

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [10월 9, 2018, 8:22오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/4 "2018-10-09T08:22:45Z")

</div>

That.. doesn’t make any sense, because we need the email to _send_ emails. Which you do on “forgot password” and signup, if nothing else.

---

<div class="post-metadata">

### Author: ![lqiz5bso7g](https://avatars.discourse-cdn.com/v4/letter/l/43a26b/32.png) [@lqiz5bso7g](https://meta.discourse.org/u/lqiz5bso7g)
#### Post date: [10월 9, 2018, 8:29오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/5 "2018-10-09T08:29:19Z")

</div>

I agree that one of the consequences would be that “forgot password” wouldn’t be working. As for signup, we thought of only keeping it until it’s verified, then we hash it.

We want to know as little as possible about our users, aside from the initial email domain whitelist.

That’s the idea we have right now haha

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [10월 9, 2018, 8:34오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/6 "2018-10-09T08:34:01Z")

</div>

Not possible and we have no plans to do it. Email is central to identity in Discourse. You could maybe use invalid emails to sign up, but I have no idea how you’d confirm your signup via email in that case 🤷‍♂️

---

<div class="post-metadata">

### Author: ![lqiz5bso7g](https://avatars.discourse-cdn.com/v4/letter/l/43a26b/32.png) [@lqiz5bso7g](https://meta.discourse.org/u/lqiz5bso7g)
#### Post date: [10월 9, 2018, 8:35오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/7 "2018-10-09T08:35:45Z")

</div>

Yes, invalid emails wouldn’t work either.

Thanks a lot for the replies, Jeff.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [10월 9, 2018, 8:50오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/8 "2018-10-09T08:50:33Z")

</div>

You could create and manually activate users with intentionally invalid email addresses, disable all email globally in the site setting.. people would be out of luck if they ever forgot their password, though. Each and every signup would require manual activation by staff.

---

<div class="post-metadata">

### Author: ![lqiz5bso7g](https://avatars.discourse-cdn.com/v4/letter/l/43a26b/32.png) [@lqiz5bso7g](https://meta.discourse.org/u/lqiz5bso7g)
#### Post date: [10월 9, 2018, 8:55오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/9 "2018-10-09T08:55:29Z")

</div>

I see, I guess that’s an option.  
We do want to verify the email domain though.

Thank you.

We’ll also explore other ways to achieve the goal.

Cheers 🙂

---

<div class="post-metadata">

### Author: ![TheBestPessimist](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thebestpessimist/32/247704_2.png) [@TheBestPessimist](https://meta.discourse.org/u/TheBestPessimist)
#### Post date: [10월 9, 2018, 9:55오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/10 "2018-10-09T09:55:45Z")

</div>

what about signing in with 10 minutes mails ?

---

<div class="post-metadata">

### Author: ![lqiz5bso7g](https://avatars.discourse-cdn.com/v4/letter/l/43a26b/32.png) [@lqiz5bso7g](https://meta.discourse.org/u/lqiz5bso7g)
#### Post date: [10월 9, 2018, 9:57오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/11 "2018-10-09T09:57:22Z")

</div>

We do want to limit registration from whitelisted email domains. Using temp emails doesn’t work for that purpose.

---

<div class="post-metadata">

### Author: ![TheBestPessimist](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thebestpessimist/32/247704_2.png) [@TheBestPessimist](https://meta.discourse.org/u/TheBestPessimist)
#### Post date: [10월 9, 2018, 10:08오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/12 "2018-10-09T10:08:35Z")

</div>

But wouldn’t that bring the greatest secrecy? The user must remember his email, or else.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [10월 9, 2018, 11:39오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/13 "2018-10-09T11:39:03Z")

</div>

People would sign up with their real email address and then change their address to a temporary one.

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [10월 9, 2018, 11:48오전 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/14 "2018-10-09T11:48:22Z")

</div>

That means log entries at mailgun or similar for the original email, so not anonymous.

---

<div class="post-metadata">

### Author: ![lqiz5bso7g](https://avatars.discourse-cdn.com/v4/letter/l/43a26b/32.png) [@lqiz5bso7g](https://meta.discourse.org/u/lqiz5bso7g)
#### Post date: [10월 9, 2018, 2:18오후 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/15 "2018-10-09T14:18:20Z")

</div>

> [@TheBestPessimist](#):
>
> But wouldn’t that bring the greatest secrecy? The user must remember his email, or else.

Agreed, but we still need the initial filter that the user originated from a certain group. We want to verify their work email.

> [@pfaffman](#):
>
> People would sign up with their real email address and then change their address to a temporary one.

Hm…that’s definitely something to consider. Seems like it’s doable. Thanks for the input!

> [@Stephen](#):
>
> That means log entries at mailgun or similar for the original email, so not anonymous.

Agh…that’s true…

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [10월 9, 2018, 2:19오후 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/16 "2018-10-09T14:19:40Z")

</div>

You should use SSO, then you can handle authentication outside Discourse and do whatever you want, and return invalid emails back, since your app will handle authentication.

---

<div class="post-metadata">

### Author: ![lqiz5bso7g](https://avatars.discourse-cdn.com/v4/letter/l/43a26b/32.png) [@lqiz5bso7g](https://meta.discourse.org/u/lqiz5bso7g)
#### Post date: [10월 9, 2018, 2:22오후 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/17 "2018-10-09T14:22:36Z")

</div>

Very interesting.  
This might be beyond me for now, I’ll need to consult with my partner.  
Thank you!

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [10월 9, 2018, 3:09오후 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/18 "2018-10-09T15:09:42Z")

</div>

How about relying on an anonymous email service like Protonmail ?

---

<div class="post-metadata">

### Author: ![lqiz5bso7g](https://avatars.discourse-cdn.com/v4/letter/l/43a26b/32.png) [@lqiz5bso7g](https://meta.discourse.org/u/lqiz5bso7g)
#### Post date: [10월 9, 2018, 3:14오후 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/19 "2018-10-09T15:14:16Z")

</div>

The issue is that we want to confirm that the users only come from whitelisted work email domains.

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [10월 9, 2018, 3:51오후 UTC](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072/20 "2018-10-09T15:51:32Z")

</div>

So you want to identify users by email, but not use email thereafter?

Are you worried about the users being identifiable due to the content being discussed?

[다음 페이지](https://meta.discourse.org/t/is-it-possible-to-hash-the-email-database/99072.md?page=2)
