In 2015, I worked at Shopify, and we'd occasionally have guest speakers come into our office for our weekly "Engineering Talks".
One day a Facebook engineer came in and was doing a talk on how they did A/B testing, as well as how they tracked user engagement with certain features and whatnot. It's what he told us in this talk that made me refuse to ever install Facebook on my phone again.
He let us know about several things, some of which were more mundane and are now common practice, like how if they used the iOS (or built in system) spinner when loading, people would think it was their phone that was slow and not Facebook, and how they would fill in blocks that looked like text right away before the content was finished loading to make things look like they are happening faster. Everyone does these things now, so not too surprising.
But the other things he said were truly shocking. Two in particular stood out:
Facebook uploads (or at least did at the time) all your photos to their servers in the background, all the time. Then when you choose to "upload" them, they show you a fake loading indicator, and simply mark the photo as now visible on their servers, since they were already uploaded in the background.
Facebook turned on and used the front facing camera on your phone to record and watch you, to track your eye movements to see what part of the page you were looking at the most. All of which would get uploaded to their servers in the background.
Stunned, I rose my hand and asked for clarification: "This isn't in production right? This is just with your testers, correct?"
Nope, it was in production. This was in the app for every user of Facebook.
Remember that Instagram "glitch" a few years back where people could see their camera was on even when they weren't using their camera, after iOS and Android added the camera indicator into their OS? Yeah, that wasn't a glitch...