I was writing a message to someone on how the chatmail is actually a really implementation in regards to being able to prevent block evasion with the whole invite codes and being able to reset them so you block someone, reset the code, and they should need to require that new code from you in order to reach you from a new profile.
But before I went ahead committed to saying any of that that could create a false sense of security if there’s something I’m missing, I chose to test out the thing I wasn’t 100% familiar with, how it is in regards to groups. So I tested it. Unfortunately groups let folks be able to block evade and send a message request from a new profile without the requiring an invite code.
Example:
The person that will be the blocker is named Bill. The person that will be the block evader is Ben.
Ben came across Bill’s delta chat invite from their fedi profile, and sent a message to them.
Bill blocks Ben for being nasty, and also resets their invite code intending to prevent Ben block evading.
Ben doesn’t know Bill has blocked Ben because after all Delta Chat in this regard is true to it being email under the hood, which is a good thing. But Ben maybe comes up with suspicion maybe they’ve done so despite there being no indication besides that Bill is no longer ever looking at Ben’s messages.
Ben knows of a way to block evade. He creates a group with Bill and a new profile.
That group created by Ben, like messages from Ben, are rejected by Bill’s delta chat due to Ben being a blocked contact. Ben’s side though and with the new profile also in the group, Ben can see Bill in the group’s member list.
From that new profile Ben created and added to the group, Ben clicks onto Bill from the member list and messages Bill.
Bill receives a message request from that new profile of Ben’s.
Ben has therefore block evaded using a new profile without requiring an invite code.
Proposal
Instead of having no option but have groups as a vector for block evasion, open for all in said group to send you message requests, have an option for what messages to allow, similarly to the classic email option for “all, chats only, accepted contacts”.
Have it by default set as all. With the option to choose “contacts only”.
So people can continue to have expected behavior that they can request to message members from group chats, and that if you delete a contact your side, you aren’t rejecting them from being able to send you a request again if they still have you as a contact.
But with the contacts only chosen, anyone in groups, and anyone who you’ve removed from your contacts even if they still have you as a contact, will need an invite from you to be able to reach you.
The option of having contacts only, that’d completely cut off block evasion and make Delta Chat as far as I can tell the most block evasion resilient chat app about without the onus being on you to move profiles to get out of that block evader’s reach.
Thought of this about block evasion came about from that I opted to add an invite link to one of my profiles on my fedi profile, but then last thing I want is a dav1d lol, so I’ve opted to have the invite in a followers only pinned toot instead lol.