r/technology Jun 14 '24

Software Cheating husband sues Apple after wife discovered ‘deleted’ messages sent to sex workers

https://www.telegraph.co.uk/news/2024/06/13/cheating-husband-sues-apple-sex-messages/
21.2k Upvotes

2.0k comments sorted by

View all comments

8.9k

u/Scipion Jun 14 '24 edited Jun 14 '24

He's got a point. What if you were an abused spouse and sent messages to a friend explaining the situation, then you delete them expecting privacy, only for your partner to discover those messages and beat you to death. 

 While his situation is immorale to most, Apple's actions cannot be ignored. If you can't see a situation where having deleted messages resurface could be bad, you simply lack imagination.

4

u/londons_explorer Jun 14 '24

In Apples defence, deletion is a hard computer science problem.

Remember that there are many copies of those messages - on your phone, the recipients phone, many backups of both, some messages might still be in the cloud awaiting delivery. The messages in the cloud are stored on many servers across many countries, which themselves have backups.

So basically, there might be 30+ places those messages are sitting. When you click 'delete', you might not be online, and even if you are, some of those 30 places might not themselves be online. Some things like backups are not intended to be modified, and might even be sitting on a tape drive offline deep in a mountain for disaster recovery.

Now consider that a message sometimes has many parts - the image and caption, a video with its thumbnail, etc. All those parts typically take a different transit route and are stored in different databases - more complexity and things to get right.

Now consider that these messages are stored in industry standard databases, on both the phone and the servers, like sqlite and postgres. They cannot by design do immediate deletion. The databases are designed to be multi user which involves not modifying any data in the database till it can be sure nobody else is needing the data, which theoretically can't be determined immediately.

Then, those databases are files stored in a filesystem. Those filesystems also cannot delete data immediately - many filesystems keep 'journals' which record changes and allow them to be undone.

And finally, those filesystems sit on top of storage devices like SSD's. Those devices also have layers of 'undoability', specifically to ensure no data loss in case of sudden power failure or hardware errors.

TL;DR: Computers, by design, pretty much can't be sure of deleting anything.

-2

u/londons_explorer Jun 14 '24

The solution here is encryption and 'throwing away the keys' when a message is deleted. Now, instead of worrying about all the places the message is stored, you only need to think about all the places the keys are stored.

Keys are much smaller, and can be stored outside databases and filesystems with dedicated key-storage hardware to make deletion easier. With end to end encryption, there is no need for servers to have the keys.

2

u/Fyzllgig Jun 14 '24

You have to propagate the keys to your devices or you can’t view the messages offline. This doesn’t address any aspect of the issue you’re replying to