John Gruber has a very agreeable post about iMessage security, but I was not sure of his side note:
My understanding is that Apple does not permanently store iMessage message content on its servers. Even in encrypted form, iMessage data is only in Apple’s hands while in transit. Once delivered, it’s gone.
Gruber later updated to clarify the messages probably are held for a short time. I wasn’t sure I bought this idea, as I thought that the load more messages contradicted the idea. (If you scroll to the top of an iMessage thread you can load more messages.) If Gruber is correct all messages are on the device, but if he is not correct then Apple is keeping a copy for this feature to work — easy enough to test.
My unscientific testing seems to confirm what Gruber is saying. If you delete a thread off of your iPad, but it is still on your iPhone, then you create a new message to that contact on the iPad, there seems to be no way to load in old messages from the device that deleted the thread. This would seem to ‘prove’ that Gruber is likely correct.
(The best test would be to wipe a device and set it up as new. If any old iMessages are on the device, then Apple is keeping them on a server. That’s just a bit more testing than I want to do on a Sunday.) It would seem, though, that Gruber is correct and no old iMessages are stored on Apple servers. This is good news.
UPDATE: Based on many readers that tested this out, your iMessages don’t carry over if you wipe to your iOS device and don’t restore from a backup. Additionally, if you have a new device and send and receive iMessages, and then restore from backup, you will lose the new messages. Seems pretty conclusive that Apple isn’t storing messages for anything longer than “hours”.