Deltachat user A is friend with user B.
B is able to share A VCARD to new friends. This VCARD contains the public key of A, and his profile picture. This VCARD can not be revoked by A.
B should not be able to share this VCARD.
B should be able to share an invite link of A, generated specifically by B using both public keys of A and B. When a new friend C tries to contact A via the invite link shared by B :
- Deltachat (of A) should not accept initial contact messages from VCARD, only initial messages coming from invite links.
- Deltachat (of A) detects that the invite link used where shared by B (because signed with public key of B)
- If A has blocked B, then the message of C is discarded and not displayed to A. It prevents spam coming blocked users who shared your invite link on the internet to annoy you.
- If A has not blocked B, then the initial message of C is displayed to A, with an information box telling that C is contacting A through B (so, A can know C is using a invite link from B).
- A can “reinitialize” the invite-link of B (it sends a service-message to B and both reinitialize the invite-link). It avoids spam if C leaks the invite-link but A and B are still friends.