Skip to content
Privacy Email Address Generator
Vue JavaScript HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
public
src
.browserslistrc
.env
.eslintrc.js
.gitignore
.travis.yml
LICENSE.md
README.md
babel.config.js
package-lock.json
package.json
postcss.config.js
screenshot.png
vue.config.js

README.md

Privacy Email Address Generator

Build Status Netlify Status

Privacy Email Address Generator is a little JavaScript-based tool, which generates email addresses in your browser. The idea is to improve security and privacy by using a unique email address for each web service, online shop etc. Each generated email address contains a short cryptographic hash value, making it very time-consuming for an attacker to guess the address you are using to access a website account. This adds an additional layer of security to (email address, password) authentication schemes. Additionally, the tool can optionally be configured to generate random trash email addresses.

Important: This tool only generates email addresses, it does not set up the email accounts! You will need to configure a catch-all email account for the domain you are using (see What do I need?).

Screenshot

Demo

You can find a demo of the email address generator here.

Bash Script Version

A bash script version of the tool for use in the terminal use can be found here.

How are email address generated?

  1. Based on the service name that you specify (e.g., facebook, amazon, linkedin), the tool generates a unique email address with the following format: {8-character-hash}-{service-name}@{domain-name}. The hash value is calculated based on the service name, as well as a random salt value, which you must specify when installing the generator. The email generation process is deterministic, i.e. for a given service name, the tool always generates the same email address. Salting the hash with a secret value that is only known to you ensures that only you are able to regenerate the address. VUE_APP_DOMAIN and VUE_APP_SALT must be configured (see Installation).

  2. If VUE_APP_DOMAIN_TRASH is configured (see Installation), the tool additionally generates a random email address with the following format: {8-character-random-value}-{service-name}@{domain-name-trash}. The random value is chosen whenever you regenerate an email address, i.e. the process is not deterministic. This email address is meant to be used as a disposable email address for newsletter sign-ups and stuff like that. It makes most sense to use a different domain than the one used for per-service email addresses.

What do I need?

  1. At least one domain name, where a catch-all/wilcard email account is configured. Let's say your domain name is privacy.com. Make sure that all emails sent to any arbitrary mailbox (e.g., info@privacy.com, contact@privacy.com, adf75v9s7@privacy.com) are delivered to your inbox (e.g., john.doe@privacy.com). You can get a cheap domain at Namecheap, for example. To maximize privacy, it makes most sense to choose a random domain name, which is exclusively used to receive emails.

  2. A webserver, where you can host the email address generator tool. It's a simple static website, so not PHP/MySQL/... required.

Installation

  1. Set up catch-all email account (see What do I Need?).

  2. Install node.js

  3. Clone the git repository:

git clone https://github.com/aoeldemann/privacy-email-gen-web
  1. Install dependencies:
npm install
  1. Generate a random salt. For example by using openssl (any other randomly generated string will do):
openssl rand -hex 6
  1. Setup domain name and salt value in .env file. Example:
VUE_APP_DOMAIN="domain.com"

# (optional)
VUE_APP_DOMAIN_TRASH="trashdomain.com"

VUE_APP_SALT="8459ed46fdab"
  1. Build:
npm run build
  1. Copy contents in dist/ folder to webserver.

  2. Done!

You can’t perform that action at this time.