Coming from https://news.ycombinator.com/item?id=38150096 I'd be awesome if there was a React component or server side module that rendered three random words followed by a domain that's configured as a catch-all. Even better if the catch-all was periodically rotated. I have a service on my homelab that serves a webpage for some of the miscellaneous domains that I own - like http://dataphiles.org - the service renders a contact email that's based on the domain that the visitor landed on. That way if one of the domains is scraped and the email address harvested from it, I can just funnel anything "To:" that email to junk. Taking the idea one step further, it'd be interesting to have a different email address rendered for each visitor. A visitor could be defined as a client IP address for a period of time. This could be implemented as: 1. Check the cache to see if seed had been generated for the IP address 2. If not, render a new seed for the client. Something like `hash(ipAddress, currentUnixTime())` 3. Derive a set of three words from the seed 1. Mask off three 18 bit words 2. Select a word from `/usr/share/dict/words` based on each of the masked words 4. Render the output as `[email protected]` This would be unique enough, be readable, and understandable as an email address to visitors. They may get a little confused if they came back a couple days later and saw a different address but a little explainer next to the address could work. Note that this only protects against drive by scraping and likely wouldn't stop an attacker that figured out that `*@example.com` went to you. Maybe it's best to just add a subdomain and rotate that over time, like `@foo.example.com` See also: https://blame.email/ https://spencermortensen.com/articles/email-obfuscation/ https://news.ycombinator.com/item?id=38379397 > Tip: Almost none of the scrapers and bots run WebAssembly :) Hmmmmmm :thinkingface: