How do they manage to make the same messages appear on multiple devices? I use Signal on my phone and two other computers. Even if one of them is offline, once I go online, it will show the same messages as the other devices, even if I have already seen them on my phone. They sure aren’t going to connect to my phone to pull the messages from there.
I do think there is a limit to this feature – when you connect a new device, you will not see any history on there. Only messages you receive after activating the device will show up, so it’s possible they just keep track of how many active devices you have, and once a message has been retrieved by all of them, it will be deleted from the server. But that would also mean that if you don’t sign out of a device before retiring it, messages COULD potentially stay on their servers forever, unless they delete them after a certain period.
> How do they manage to make the same messages appear on multiple devices?
For a long time, they didn’t.
I don’t know for sure, but I expect it involves keys that multiple devices share. Any “linked” device would be able to download the encrypted copy and decrypt the message that way. Once any device has done that, it can send a copy to any other devices using the unique keys it knows for that device.
Right, that makes sense, although the article doesn’t go into detail about how the server decides when it’s time to delete a message.
It also doesn’t back up your claim that multiple devices sharing the same account will ever exchange messages amongst each other. Which would be a technical nightmare BTW since they could be located behind firewalls etc. and this still require a central server to coordinate. Might as well keep the middle man in that case and leave the messages on the server until they’ve been retrieved.
My initial point therefore is mostly correct: messages ARE stored on their servers in encrypted form for an unknown length of time, although likely not forever.
The algorithm for when to delete could be very simple: 1) is expired? or 2) the client confirmed download.
Thinking of it as a shared account is likely wrong. Every device has its own place to check. Exchanging messages doesn’t have to mean direct connections. It doesn’t mean that for Signal.
The messages temporarily on the server can’t be read by the server, that’s the important difference. They also are not stored forever. The storage costs would grow forever that way.
How do they manage to make the same messages appear on multiple devices? I use Signal on my phone and two other computers. Even if one of them is offline, once I go online, it will show the same messages as the other devices, even if I have already seen them on my phone. They sure aren’t going to connect to my phone to pull the messages from there.
I do think there is a limit to this feature – when you connect a new device, you will not see any history on there. Only messages you receive after activating the device will show up, so it’s possible they just keep track of how many active devices you have, and once a message has been retrieved by all of them, it will be deleted from the server. But that would also mean that if you don’t sign out of a device before retiring it, messages COULD potentially stay on their servers forever, unless they delete them after a certain period.
> How do they manage to make the same messages appear on multiple devices?
For a long time, they didn’t.
I don’t know for sure, but I expect it involves keys that multiple devices share. Any “linked” device would be able to download the encrypted copy and decrypt the message that way. Once any device has done that, it can send a copy to any other devices using the unique keys it knows for that device.
This link describes independent queues for devices: https://support.signal.org/hc/en-us/articles/5532268300186-Disappearing-Messages-with-a-Linked-Device
@MacNCheezus
Right, that makes sense, although the article doesn’t go into detail about how the server decides when it’s time to delete a message.
It also doesn’t back up your claim that multiple devices sharing the same account will ever exchange messages amongst each other. Which would be a technical nightmare BTW since they could be located behind firewalls etc. and this still require a central server to coordinate. Might as well keep the middle man in that case and leave the messages on the server until they’ve been retrieved.
My initial point therefore is mostly correct: messages ARE stored on their servers in encrypted form for an unknown length of time, although likely not forever.
The algorithm for when to delete could be very simple: 1) is expired? or 2) the client confirmed download.
Thinking of it as a shared account is likely wrong. Every device has its own place to check. Exchanging messages doesn’t have to mean direct connections. It doesn’t mean that for Signal.
The messages temporarily on the server can’t be read by the server, that’s the important difference. They also are not stored forever. The storage costs would grow forever that way.
@MacNCheezus
> messages COULD potentially stay on their servers forever, unless they delete them after a certain period.
If you receive a message and no devices are active to retrieve it, then yes it gets deleted from the server and is never decrypted or seen.
This also means the sender never received the delivery confirmation, or the read confirmation for the message.
@MacNCheezus