Define a watermark for signing human readable messages
There is no standard for signing human readable messages using tezos keys. Such a standard would be useful for proving ownership of keys in a generic way. In the absence of such a standard, it's dangerous to sign arbitrary messages that can be interpreted in new and unexpected ways in the future. Bitcoin, for example, has the somewhat hacky "Bitcoin Signed Message:\n" prefix, but at least it ensures that nobody will ever misinterpret the message as anything else.
One way to achieve this is to simply add 0x04 as special watermark for human readable messages. Short term, adding it here: https://gitlab.com/tezos/tezos/blob/master/src/lib_crypto/signature.ml#L43 and here https://gitlab.com/tezos/tezos/blob/master/src/lib_crypto/signature.ml#L528 Would be sufficient and would enabled anyone who needs to securely sign messages to do so.
Long term, it would be nice to have helper functions for signing and verifying messages and a well defined format for signed messages that can hold all of the information needed to verify the signature.