I've been developing a web game and so far the game can only be played anonymously. However, I'd like to introduce an accounts system to allow some kind of community to build up around the game. Upon researching this, however, preventing spammy signups appears to be an extremely hard problem to solve. Here's what I've looked at so far:
- Email signup. Helps to reduce spammy signups, but with disposable email addresses nowadays it's still quite possible, and all the email providers (Sendgrid, etc.) seem to require you to give them a physical address which they might put on the footer of every email, even if all you want to do is email address confirmation! As an individual developer I don't want to give a physical address.
- Signup with no email. This seems to be a tactic used by some sites but presumably they have a ton of spam accounts created on their service. I'm not sure I like that idea.
- Offload to third-party providers like Google and Facebook. This is tempting, but I've read stories of people's sites being cut off from these providers because of an "inadequate privacy policy" or something. Ultimately, I don't like the idea of them being in control of whether my users can login or not.
- SMS confirmation. Somewhat tempting, but people might not want to give their phone numbers and you'd have to worry about the cost of sending SMSs to different countries. This still seems like the least-bad option to me, though.
- "Participation score". One idea that occurred to me is to allow signups, and have an ongoing participation score that rises as the user participates in the game. If it drops below zero, the account is deleted at the end of the day. The idea being that spammy accounts would just do nothing and get auto-deleted. Could result in some legit accounts being deleted too though so I'm not sure how viable this would be.
Have I missed any options? Am I missing a straightforward way to basically have an accounts system where people can identify as a specific user and post in forums etc. as that user, as well as participate in games as that user, with an avatar, but prevent the system from being overwhelmed with spammy account signups?