At the end of the day yesterday, I added another layer of spam prevention to user registrations, powered by Akismet. Over the last 15 hours, it’s blocked 18 bot signups that slipped through our own filters (which blocked 587 bots over the same time period).
To implement this, I forked a Go library for the Akismet API, and updated it with Go module support, unmerged PRs, docs improvements, and tagged releases. Soon, I’ll also add this spam prevention to WriteFreely — I think many open instances will appreciate it.
Over the past few days, I developed a variety of spam-fighting tools for Write.as. Where we only had account silencing and IP address banning in place before, now we can actively block user registrations using certain email addresses — whether individual addresses or entire domains. I’ve also combined all possible actions for known spammers — silence, ban email, ban IP — into a single “block” action.
Next, I plan to create a process for human users to go through to verify their status as a non-spammer. This will essentially be a custom captcha test particularly suited for Write.as, which doesn’t rely on any third parties (like Google). If that works well, we should be able to adequately stop spammers through automated filtering (which is working quite well), while allowing real users to slip through and use the platform with minimal interruption.