Not sure if this topic belongs in Support or elsewhere. I’m trying to figure out if this is something I can do out of the box or if I should get a quote in Marketplace. I’m self hosted so I can install plugins if there’s anything existing that might be helpful.
My use case:
I would like to restrict user accounts to users who profess to be over 18 and bar accounts with an under 18 DOB from viewing or posting. (Yes, I know that users can lie without an age verification system in place).
The current US FTC guidance for websites with age restricted ugc is that age entry should be done in “a neutral fashion” by asking for free entry of DOB, not just an “I am 18+” tickbox or “I agree that by creating an account I am over age 18” affirmation. The FTC guidance also says that websites that have age restrictions also need to have a mechanism to disallow users just back buttoning to change their age when they hit an age gate during account creation. There’s currently 12 US states that prohibit under-18s or under-16s from making social media accounts without parent permission (Connecticut, Louisiana, Texas, Maryland, Utah, Tennessee, Florida, Georgia, Minnesota, Arkansas, Ohio, South Carolina, and California). All put the onus on platform providers to police signups by minors and use definitions of social media that include forums like Discourse, and specify that an “I am over 18” checkbox does not meet legal requirements. The social media bans appear to apply regardless of site size or nsfw content.
So I’m wondering if I can use a custom user field dropdown for year of birth and then use Discourse Automation to send 18+ users to one group and under 18s to another, and then also use Automation to suspend any user in the under 18 group.
I realize that immediate suspension after account creation isn’t great, but given the current legal situation in the US where a lot of otherwise legal content is increasingly subject to age restriction, I’d like a mechanism where new under age accounts can’t view or create gated categories and can’t edit the account to change the age, and suspension seems like the only built in system in Discourse that allows this. (Besides maybe locking the under 18 group at tl0 and only allowing tl1+ to view or post in most categories? But if most/all categories are age restricted this would also mess with trust level progression for 18+ users and I don’t want to auto grant tl1)
Problems with this workflow seem to be that Automation can’t do math, so it would require updating the allowed birth years every year? I’m also not really clear how the “suspend user by email” automation works and whether that could be triggered by group membership or other actions on signup.
If this is not currently doable with any available plugin, how big of a project would it be if I do ask in marketplace? And is it worth making a feature request for at least a userfield datetime picker since an increasing number of US states require age affirmation for account creation?