Mediated mutual invitation
Direct messages are the final frontier for harassment. If you can control who you have a private conversation with, you have eliminated all but the most insidious harassment vectors (betrayal by someone you trust). However, invitations to chat can themselves be used as a form of harassment. Imagine an invitation from offensive_username@example.com
.
A simple solution is to use a client-side whitelist/blacklist to filter invitations. This relies on list maintenance, which is an acceptable cost for high-risk scenarios.
Given a client-server-server-client architecture, we can offer a lower maintenance solution for lower-risk scenarios:
Given user B has sent an invite to user A
When user A sends an invite to user B
Then establish a private channel
Critically, A's server does not display the invite from B to A. It is withheld until A has indicated mutual interest. (With some built-in expiry to reduce information stored on the server.)
Thus A and B must rely on blind luck or, more realistically, have an already shared channel with reasonable trustworthiness. This could be a physical space ("my address is inoffensive@example.com
, send me an invite and I'll send you one when I get home") or a public chatroom ("@inoffensive ping me if you want more details").
Anyone who wants the option of a private channel with an untrusted stranger can turn this safety feature off, and still be able to reject unwanted invites.