HACKER Q&A
📣 smoqadam

How do we know Signal or Telegram don't store our data on their servers?


I'm just curious how we trust companies such as Signal, Telegram, Mozilla, that claim they don't store and sell our data?

Thank you


  👤 faitswulff Accepted Answer ✓
Signal’s claim to fame here is that they were subpoenaed in 2016 and could only supply account creation and last connection times:

> The American Civil Liberties Union announced Tuesday that Open Whisper Systems (OWS), the company behind popular encrypted messaging app Signal, was subpoenaed earlier this year by a federal grand jury in the Eastern District of Virginia to hand over a slew of information—"subscriber name, addresses, telephone numbers, email addresses, method of payment"—on two of its users.

> ... “The only information responsive to the subpoena held by OWS is the time of account creation and the date of the last connection to Signal servers,” Kaufman continued, also pointing out that the company did in fact hand over this data.

https://arstechnica.com/tech-policy/2016/10/fbi-demands-sign...


👤 7v3x3n3sem9vv
It's important to note that Telegram does store all your data by default as they do not enable E2EE for everything like Signal does. So if you're under the assumption that they don't, this is incorrect.

Telegram, for all intents and purposes, is about as secure as using Facebook. The best you can do with Telegram is hope they don't sell out or get compromised at some point in the future, because all your private communications are stored on their servers forever. Telegram does have "secret chats", which from what I can gather, don't even work for group chats, only one-to-one messages.

My general advice is to treat Telegram like a new Facebook if you have to use it, assume everything may by read by everyone, don't treat it like it's private and secure.

For "text messaging" friends and family use Signal. Everything is end-to-end encrypted by default, so you know nobody is collecting your data.


👤 tptacek
We don't know that Signal doesn't store data about users on its servers. Even the source code can't tell us that, because we don't run the servers.

What we do know is that programs like Telegram have to store data about users on their servers, by design. A big difference between the two projects is that Signal is carefully designed to minimize the amount of data the service needs to operate; it's why identifiers are phone numbers --- so it can piggyback on your already-existing contact lists, which are kept on your phone.

By contrast, other services store, in effect, a durable list of every person you communicate with, usually indexed in a plaintext database.


👤 hprotagonist
Signal and the ACLU sued and were granted permission to release sealed warrant data from a previous law enforcement request for user data.

As of mid-2016, and trusted as much as you feel like trusting something attested in a court of law, Signal stores: a bool (is this phone number a user) and two ints (epoch of signup, epoch of last transmission).

https://www.aclu.org/open-whisper-systems-subpoena-documents


👤 ohthehugemanate
Signal: operations that involve sending your contacts (like contact discovery) use a pattern Signal invented where the client can validate the software running on the server. The server runs inside the SGX secure enclave. Before your client sends any data, it performs remote attestation on the running server code to ensure it matches the published open source code.

See the full explanation at https://signal.org/blog/private-contact-discovery/ (starts part way down, with "trust but verify"). Or check the client source code yourself!

Telegram: I dunno, they.re closed source, don't encrypt by default, and have shady ownership. I don't trust them at all, personally.


👤 cschmidt
While not directly about data storage, I loved this tweet [1] from Edward Snowdon this week:

> do we really trust signal? cause i see zero reason to.

Here's a reason: I use it every day and I'm not dead yet.

[1] https://twitter.com/Snowden/status/1347217810368442368?s=20


👤 hutzlibu
Well in the case of Telegram, you can trust, that they store your data on their server, because they say so.

And it is convenient, because you can just switch your smartphone and still access all your chathistory, without having to manually backup/restore.

But Telegram in general does not have a business model yet, so just assume, that one day, they want(or have) to cash out.

Signal on the other hand is a non-profit foundation and pretty open on what they are doing. That creates trust for me.


👤 waschl
Telegram is storing your message content in their cloud for „cloud chats“ (default), as those are not end-to-end encrypted.

Telegram‘s „secret chats“ and signal chats are end-to-end encrypted. The servers still may store metadata, and there is no way to tell if they do than either joining them or let a trusted third party verify that.

To check if e2e encrypted message content cannot be encrypted via backdoors on their servers, you need to ensure they use proven encryption schemes and the client encryption does correspond to those algorithms.


👤 chimeracoder
> I'm just curious how we trust companies such as Signal, Telegram, Mozilla, that claim they don't store and sell our data?

These are three very different companies with very different security processes and trust profiles.

In the case of Signal: if you trust that the source code they distribute is the same as the app available in the Play Store, then it's pretty easy to verify that the messaging data is end-to-end encrypted in a way that prevents Signal from having much metadata that they even could store. With "sealed sender", they don't even know who's talking to whom: https://signal.org/blog/sealed-sender/

There's the possibility that Signal could ship a different app in the Play store, but that would require active malice to do in a way that would not be trivial to discover[0], and at some point you do have to trust someone. It's not impossible, but it's hard to imagine a world in which Signal is compromised but other links in the chain aren't, because quite frankly, there are far more easily corruptible or hackable links in the hardware/software stack that you use, so Signal would make a pretty inefficient target for someone who wants monetizeable data.

[0] ie, an accidental divergence between the two would be more conspicuous


👤 sjaak
In the case of Signal, I imagine people assume all of the following:

1. the protocol between client and server is setup in such a way, even if Signal wanted to store interesting information, they could not access anything interesting even if they wanted to (for example, messages), thus they don't store anything since it's useless

2. the app implements the protocol faithfully and this has been checked by people perusing the source code

3. the binary downloaded from the app/play store phone is compiled from the sources listed on github


👤 fsflover
If you don't want to trust anyone but to verify instead, consider running Matrix with your own server. In this case you still can talk to anyone else on Matrix, because it' federated.

👤 sunstone
Telegram is very clear that they do store our stuff on their servers. And in clear text unless you choose end-to-end encryption.

My concern is not about my data being stored on their servers. My concern is about having having marketing data being sold to third parties in order to target advertising at me, just as when you leave "third party cookies" active on your browser. That is creepy and invasive. Would Zuckerburg ever do such thing?


👤 dylkil
Signal is open source, you and anyone else can inspect the code. You can then build it from source and install on your android directly avoiding the play store.

👤 titzer
Hello, future? Yes, this is Richard Stallman calling from the 1980s. I think what you might be looking for is the source code to the entire software stack.

👤 johnchristopher
What prevents Google from replacing Signal on the Android Application store with their custom and backdoored version ? Can we check a hash or something ? Does the signal foundation do that on a regular basis ?

👤 SLHyR82
Telegram stores all data on own servers.

Just try the following trick:

- in a private Browser window open web.telegram.org

- enter your phone number, receive the code

- turn on flight mode on your phone

- now enter the identification code in your browser

- access your whole chat history while your smartphone can definitely not act as a source

Even WhatsApp is better in this regard.

Article in German: https://www.heise.de/hintergrund/Telegram-Chat-der-sichere-D...


👤 orblivion
If you trust the source code of the software you're running, you can at least get a sense of what data they're getting in the first place. You know, at least, that they're not getting the content of your communications if you verify safety numbers. You can also prove that they're not getting the contents of the gifs you're grabbing for your conversation, because the client makes a secure connection to the gif service using Signal's servers as a proxy.

As far as promising not to store your metadata, or promising not to deliberately give the gif service information about your account because they hate you, or promising not to store your contacts when you search for other friends with Signal, then yeah you have to just take their word for it. Though, they may over time look for ways to put some of those guarantees on the client side as well with some clever engineering, so you could prove it.


👤 bzb6
Telegram stores your data by default in their servers. You have the option of removing single messages or conversations but there’s no way of knowing if they really do so. Also if you remove your account without removing your conversations first they stay there forever (others can see the messages)

👤 Akcium
At first I wanted to write about client-side app verification, that we can prove that the apps we have and the open-source complied app would be the same.

Which does not prove that if the app sends your phone number or location (for example), they don't save it in database.

Indeed, interesting question


👤 pdevr
As long as it is stored on the server and the transmission is encrypted, we will never know for sure. Especially in cases where the company "controls" the encryption and decryption.

👤 adsharma
If this is a concern for you, consider using the signal protocol without a server.

CLI prototype. Can be generalized into a nice phone app.

https://github.com/adsharma/zre_raft https://twitter.com/arundsharma/status/1348718596415918080


👤 upofadown
Which data? We can be somewhat sure that they don't have access to the content of Signal or Telegram secret chats as long as we have verified the identity of our contacts.

After that, what data do you care about? Neither Signal or Telegram is intended to provide complete anonymity. That is a much harder problem. For Mozilla that would involve Tor. I don't think that Mozilla really has "servers" in the sense you mean.


👤 i_r7al
Telegram is based on the UAE. The UAE is known of their very strict monitoring practices of their citizens. Not until recently they allowed FaceTime to work there. I honestly doubt that Telegram does't give the UAE government access whenever they need it's a monarchy government.

👤 beamatronic
You don’t. Everything is about trust.

👤 Yoric
If you wish to be more certain, use something open-source. For instance, Matrix has many clients made by different teams, in the open, and several of these are part of e.g. Debian, so you should be able to find at least one you can trust.

What about Mozilla? What could they store?


👤 ajsharp
There's a lot about Signal in particular that they get right. AFAIK:

(1) All Signal messaging is E2EE; (2) they don't store messages on their servers; (3) the client code is open source, and it seems like a good portion of the server code is open source.

Where I think Signal could go further on being the most secure, useful, and privacy-conscious messaging app/company in the world:

1. Open source ALL of the server code. They have something called Signal-Server (https://github.com/signalapp/Signal-Server) on their Github, but it's unclear if this is the server they use, or simply a server one could theoretically use to run a private Signal server.

2. Open source all server-side services/infrastructure code that doesn't compromise security in some way.

3. Better features. Signal is currently the most secure and privacy-conscious of the messaging apps, but solidly the worst overall user experience. It's not that it's bad, it's just that the other apps are much better. People like gifs and giphy and emojis and a fast-feeling interface. This is important, because it's hard to be a privacy-conscious individual when all your friends want to text on other apps. At least in my social circle, Signal is still the thing that people jump over to when they want be extra super sure they're not leaving a paper trail, but not the default messaging app they use.

4. Introduce a user-supported business model. This probably makes a lot of people uneasy, and while I appreciate the current grant and donation-based business model (the Wikipedia model), that model comes at great cost of efficiency. By operating effectively as a non-profit, you are inherently in a less competitive position relative to your competitors (the best product and engineering people are more likely to go competitors who can pay more), and you're persistently in fund-raising mode (again, see: Wikipedia). There are lots of ways to skin this cat, maybe the easiest is to ask power users to pay like $5/mo. Or just give people the option to pay with absolutely zero obligation. Some non-zero cohort would inevitably take them up on this.

Most of these suggestions, of course, especially 1-3, are very very hard and come at an enormous cost. Building in public as an open source business seems to massively slows things down and introducing a huge amount of community management overhead. That said I'm sure there are ways to manage/mitigate those costs.


👤 bluefox
There's no need to trust them. You assume they log everything that your device sends them, as well as the time, IP address, etc. and infer all they can from it. Then you act accordingly. You can apply similar conservative assumptions to your device and the programs it runs, but for practical purposes you may want to relax them somewhat.

👤 dredmorbius
For that matter, what is Zoom's architecture and dataflow?

👤 greattsclerouse
Use Matrix or KeyBase and self host. Im shocked how much people still trust these shady companies.

👤 kitkat_new
Get hired and sign NDA

👤 baggy_trough
The same way that we trust that Apple doesn't log our keystrokes and send them back to the mothership.

👤 alexbiet
Signal was created by one of the founder of WhatsApp which was sold to Facebook. Is there a guarantee that Signal won't have the same fate?

👤 idlewords
One reason you can believe the claim is that there's no real market for personal data, despite the folk belief that everyone's data is somehow worth a fortune.