@aljoscha it would reject it, because if you signed the invalid character, and then sbot replaced that before checking the signature, that signature will not be valid, and messages without valid signatures are rejected.
Although, if you signed the utf8, but then sent invalid utf8 that would be converted back into that utf8, then that would be accepted. But, we could safely just ignore/error on anything that sends invalid utf8 because the reference implementation never sends that. The wire protocol is easier to change than the signing protocol!
The rest of the api, would currently accept and convert utf8. I'm pretty confidant nothing depends on this.
Yes, lets just "all json must be valid utf8"