There's another downfall of iMessage. If you have iCloud backup enabled, your iMessage encryption keys are saved to iCloud, allowing Apple to decrypt your messages. And even if you disable iCloud backup, Apple can still read your messages if the person you're talking to has iCloud backup enabled.
Are your iMessage encryption keys stored in iCloud? Or is a seperate copy of your messages (encrypted with a key Apple controls) uploaded to iCloud for sync?
Edit:
> Messages in iCloud also uses end-to-end encryption. If you have iCloud Backup turned on, your backup includes a copy of the key protecting your Messages. This ensures you can recover your Messages if you lose access to iCloud Keychain and your trusted devices. When you turn off iCloud Backup, a new key is generated on your device to protect future messages and isn't stored by Apple.
So Messages in iCloud is end-to-end encrypted, but if you enable iCloud Backup (a different product/feature), then your backup will include the key used to encrypt it.
This is not a secret, it's documented behavior. https://support.apple.com/en-us/HT202303 And it's not theoretical, because Apple does decrypt iMessage communications in response to law enforcement requests: https://www.reuters.com/article/us-apple-fbi-icloud-exclusiv...