Me

Let’s deal with ’em pesky fake accounts

As more and more services move online, web applications have become an integral part of our daily lives. From social networking to online shopping, we use web applications for a variety of purposes. However, with the increase in the number of users, the problem of spam and fake accounts has become a significant challenge for web application developers. To address this challenge, it is encouraged that developers start using temporary email filters to prevent spam and fake accounts. One of my favourite tools for this purpose is the NPM package called Fakefilter.

Hero
Generated by Midjourney

Fakefilter is a simple and easy-to-use tool that helps web application developers to filter out temporary email addresses. 100% open-source and backed by the community. It uses a curated list of known temporary email providers to identify and block temporary email addresses which can be useful during the user registration process, when adding to your email newsletter, or when collecting lead data in exchange for i.e. webinar access or downloadables (is that a word Winston?).

There are other similar tools, but the approach taken by the team behind Fakefilter differs in that they actively monitor all providers in their list and have implemented automated systems to help continuously validate the domain/email providers, and make sure to update their NPM package daily with all the latest data.

They also supply a free REST API, which can be useful in cases where your own application isn’t regularly deployed and thus not using the latest version of the Fakefilter package. The online API calls function comes built-in to the package making it easy for you to create your own middleware function.

isFakeEmail.ts
import { isFakeEmailOnline, isFakeEmail as isFakeEmailLocal } from "fakefilter";
 
export default async function isFakeEmail(email: string) {
  const onlineResponse = await isFakeEmailOnline(email);
  if (onlineResponse === null) {
    return !!isFakeEmailLocal(email);
  }
  return !!onlineResponse.isFakeDomain;
}

There are several benefits of adding this additional layer of validation to your web application. Here are some of the most significant ones:

  1. Prevent Spam and Fake Accounts: One of the most significant benefits is that it helps you prevent spam and fake accounts from being created on your platform. Temporary email addresses are often used by spammers and bots to create fake accounts and send spam messages. By filtering out temporary email addresses, you can significantly reduce the number of spam accounts on your platform.
  2. Improved User Experience: Fake accounts can harm the user experience on your platform. They can create a false sense of activity, making it difficult for genuine users to find and connect with other real users. By filtering out fake accounts, you can improve the overall user experience on your platform.
  3. Reduced Workload: Moderating user-generated content on a large platform can be a daunting task, and the presence of fake accounts can make it even more challenging. By filtering out fake accounts, you can reduce the workload of your moderation team, allowing them to focus on more important tasks.
  4. Increased Trust: Fake accounts can damage the trust that users have in your platform. If users feel that there are too many fake accounts on your platform, they may stop using it altogether. By filtering out fake accounts, you can increase the trust that users have in your platform, making it more attractive to genuine users.
  5. Easy Integration: Fakefilter is easy to integrate into any web application. It is an NPM package that can be installed with just a single line of code: pnpm install fakefilter. Once installed, you simply import { isFakeEmail } from 'fakefilter'; and call it with the submitted email address isFakeEmail('test@fakeemail.tld').

In conclusion, if you are a web application developer, using Fakefilter can be a great way to prevent spam and fake accounts from being created on your platform. It can help improve the user experience, reduce the workload of your moderation team, increase trust, and is easy to integrate.

Actually — I don’t see any downsides at all. Happy hacking!