Consider requiring a profile to send messages
With signal-cli, it is possible to send someone a message, without exposing your phone number, and without setting a profile name. To do so, simply don't set a profile name and then message someone who has the Sealed Sender "Allow from anyone" setting enabled.
If you do this, the receiver will render the signal-cli sender's name as "Unknown", as the receiving client has no information to render as the display name.
This is why official Signal clients require setting a profile name: in a world without phone numbers, a client has to have something to render as a display name.
Would you consider making setting up a profile a required step before being allowed to send a message? I imagine the send command could just return an error if a profile name is not set, with an example of how to set one.
Hi, thanks for creating an issue, I'll consider it. For reference, signal-cli already creates a profile (with empty name) when registering, so it can be added to v2 groups.
Some thoughts, if signal-cli will enforce a profile name before sending, it will still be possible for users to send messages by changing the source code of any of the clients. I guess requiring a profile will only nudge regular users to set a profile name. (Malicious) Users intent on sending messages without a profile name will still be able to do so.
Some implementation ideas:
- Adapt send command to print a warning if no profile name is set. (maybe a good first step?) -> 656282459ccb895b59fcc59e542740ffdf44458a
- Adapt send command to return an error if no profile name is set. (breaking change)
- Extend the register command with mandatory parameters for the profile name (breaking change)
Sort of related to this, i think— we received a message with sourceNumber: null
There is a sourceName and a sourceUUID— is it possible to reply? And an account like that could not have been done with signal-cli, correct, or does this issue mean it is possible? Thanks!