1. In the UAE, where VoIP is illegal, the government was not able to selectively block voice traffic since it is indistinguishable from text traffic. So they had to ask WhatsApp to block voice functionality whenever a user is in the UAE.
2. If you lose your phone, you cannot recover your messages. Now, you may claim that they're just not providing a frontend option to do this, but would that make financial sense? You are potentially losing users who want their messages backed up so you can... falsely claim that you don't store messages?
3. Similar to 2), WhatsApp desktop cannot work without your phone being connected, again because that's the only way to access your messages.
source: erlang factory talk from 2015 I think...
Authorities can selectively block WhatsApp voice calls, it's been done in Oman where I used to live. If I leave Oman and use WhatsApp in an uncensored country, voice calls work just fine.
This is not the case where WhatsApp is registered via a UAE number; the blocks persist no matter where you connect from.
But they cannot do it without WhatsApp's help. My understanding is that WhatsApp will check the following at the server side:
1) User IP in UAE/Oman/etc.? Block voice.
2) User's number registered in UAE/Oman/etc.? Block voice.
This is different from UAE/Oman blocking voice traffic without coordination with WhatsApp.
The UAE (and Saudi Arabia) went through the extra step of asking WhatsApp to perform a block server side because of legal regulatory issues. Oman has made no such demand.
My family regularly makes WhatsApp calls to me from Oman; they just have to switch on a VPN to tunnel out of Oman's censorware.
i switched SIMcards recently (the number was migrated to the new card though) and flashed another ROM on my phone. It helpfully offered me to restore all messages and media from the server. (6+ months of history)
Sure it could use the IMEI for the encryption. But i'm unsure if it can access that datapoint from application context?
/edit: i just scrolled back to the first message i've got on my most messaged contact. its from 2014. i've switched devices and sim cards since then. The phone number is the only thing that stayed the same.
Once you activate a new phone, it will ask if you want to restore your messages from the latest backup. I guess it's using your Play Store account credentials to tie your SIM cards and phones together.
Something really bad needs to happen to move things in the right direction. Snowden was not enough, clearly.
We (people who work in tech) have a duty to fix these issues and to implement our products in ways that respect the privacy and security of the people who use what we build without passing the buck on to them. A Facebook user doesn't have to give a damn about encryption before Facebook put good encryption in place - the engineers at Facebook should just do it anyway, because it's the right thing to do.
If we build services that fail the user by allowing a malicious actor to violate their privacy then that is our fault. It is not the user's fault for not demanding we do our jobs properly. This is on us.
The maclicious actor is us. Don't work for shitty companies and implement stuff right for the companies you do work for.
Edit: Product owners give you jobs that are bad for the user/customer but they want it done ayways. Convince them why it's a bad idea and find another job if you can't.
If you think that being an engineer in tech is a job where you blindly implement someone else's will then you're failing to live up to both your potential and your responsibility.
There is no us. There's just hundreds of thousands of individuals, each doing their own thing. Some are angels, some are assholes, and a lot are in the middle. If you think that getting 500,000 people to make a pinky promise to be good is going to prevent shit from happening, that's just delusional thinking. No matter what you or I do, there will always be some asshole Investor/CEO/PM/programmer out there who will screw over people's privacy in order to make money, and you guilt-tripping the other 499,999 programmers is not going to change that.
If we want to stop shit from happening, we need systems in place to do that. Either regulatory, certification or market-based systems that catch and punish bad actors. In the absence of such systems, expect dysfunctional outcomes regularly.
I think we actually agree with one another, but I'm just coming at the argument from a slightly more positive position. We, as the engineers who build stuff, need to start making it clear that we don't like what the bad actors do, that we won't build it ourselves, and the "asshole Investor/CEO/PM/programmer" who does won't have a place in our industry. You're quite right that we need systems in place to stop this shit, but you're quite wrong if you think it's someone else's job to make that happen. We can build the certification or market-based systems right now.
Something really bad already happened: genocide. What else needs to happen?
The Netherlands (among others) required everybody to register their basic info, including religion, with local authorities. This made it very simple for the Germans to know whom to deport.
Your data can be used for other things than originally intended. But people do not learn.
So you may be right. More really bad things need to happen.
(FYI I'm german, I know what I'm talking about)
Fingers crossed that Trump's admin does something so terrible most people will want to use open source end-to-end encryption tools?
The government might read my WhatsApp messages - so what? They have been able to listen to my phone calls for ages. If there's something I want to keep private (and there is - it's not like "I have nothing to hide"), I will simply not use WhatsApp or any other communication channel I don't fully trust.
I don't care as long as the owner of the coffee shop I'm currently I cannot read my messages.
I think the problem is that security is an ongoing conversation between the government and the people. My guess is that most people, if pushed to a firm position, would probably agree with:
a) The government should have the right to look at communication to stop bad things.
b) The government should have to individually prove before an independent court that any one use of that power is justified.
The difficulty is that the government unilaterally broke (b) by having a rubberstamp court and a policy that let them collect everything and choose when to look at it.
And the response to the government's action is to start looking to redress this privately. I.e. a market solution to a perceived deficit of privacy. I suspect that if they had kept (b) intact, there would be much less call for absolute security, and much less of a solid argument for it.
For instance, something that really gets on my nerves is when I search for something on amazon and when I am reading a blog post about something completely unrelated to my amazon search, I see an advert related to my search.
This is just really annoying, its not like I want to hide the fact I am looking for a new TV its just that its really annoying and its an invasion of my privacy. Its just like having a helpful but nosy neighbor who gets the mail for you.
Also, just like you said, if someone has something to hide they will find alternatives to hide it, but why inconvenience us, the law abiding citizens, why invade whats our own business?
Threema implements validation mode, something similar can be done for other closed source messagers: https://threema.ch/validation/
But nobody can guarantee that encryption works when validation mode is disabled.
I know Facebook claims to use Whisper systems encryption but how can we blindly trust that this is actually implemented in a closed source system?
Stallman and others have been warning us for many years and we have been brushing it off. Now Snowden pretty much confirmed most of it but we keep going and entangling our wold more into these services.