A system allowing existing user to vouch for new invitees

I mentioned this feature idea over on Mastodon, and a few people suggested I suggest it here as well: Some sort of semantic relation between accounts, built into an instance’s invitation and/or registration function, indicating that the newer account was admitted at the request of the older.

You can think of it as a profile-based system for recording when one user vouched for adding another. On the one hand, this would add a slightly different way of mapping the semantic relationships between accounts, on top of the follows, which are more gregarious. The vouched-for/by linkage between accounts would imply some measure of trust and entail some measure of responsibility. As such, fostering those relations could encourage community-building.

That’s somewhat aspirational, though. The more immediate practical effect is that baking vouched-for/by relationships into profiles would give moderators a tool for working through mediation procedures.

An example:

Suppose you moderate an invite-only instance. An active member — call her Helga — DMs you and asks, “Hey, can my pal Ogbar get an invite?” Sure thing. You go into the mod panel to generate the invite. One of the options is a checkbox labelled “Vouched by…” or something to that effect. Checking that activates a text field/drop down. From that, you select Helga’s account name. Now, when Ogbar uses the invite link, the account he creates will be permanently linked to Helga’s account in a semantic relationship that’s visible to moderators.

Weeks pass. One day, Ogbar does something that requires moderation. A glance at his account would tell you who requested their invite. So rather than jumping straight to a ban or some other heavy-handed measure, you can ask Helga to mediate. You may not even need to ask — maybe just knowing that that act of having vouched for Ogbar is baked into their accounts encourages Helga to feel just a little responsible for Ogbar’s behavior, and she steps in of her own volition.

But let’s say that things don’t work out that way. Helga never steps in and is unresponsive to friendly requests for mediation. Ogbar’s behavior worsens, and eventually you feel compelled to ban him. Then, a year later, Helga DMs you and asks, “Hey, can my pal Ryuchi get an invite?” The Ogbar episode is no longer fresh in your mind, so you look at her profile for a refresher. Oh, right… Maybe her vouching for a prospective user shouldn’t count for so much, huh? Informed, you can better weigh how to handle her request — whether that means turning it down flat, basing your decision on some other factor (like Ryuchi’s social media history elsewhere), or warning Helga that banning another user she vouched for will mean tighter restrictions on her account in the future.

There are some implementation questions that need to be worked out (e.g. would these relations be public, or visible only to the moderators and the accounts linked by vouching?), but I think it’s an idea worth exploring.


For the record, this is currently how invites work on Mastodon—the inviting user is visible to the admin when looking at the admin version of the profile. Obviously this isn’t really a “vouch” but socially it can act the same way—if someone is making trouble, I’m going to start looking at who invited them and why, and what other users they’ve been inviting.


Also how invitations work in Smithereen. I could, in theory, expose that in ActivityPub, except it would be a bit of a pain in the ass because this data is in a different table (I have users and accounts as separate entities).

You can add a custom field to your actors to specify who invited them. You can also, in theory, have a custom activity type in your own namespace to vouch for someone, but that’s a somewhat uncharted territory.

1 Like