From the linked Reddit thread:
So I can personally weigh in on this. I reverse-engineered the app, and feel confident in stating that I have a very strong understanding for how the app operates (or at least operated as of a few months ago).
TikTok is a data collection service that is thinly-veiled as a social network. If there is an API to get information on you, your contacts, or your device⊠well, theyâre using it.
Phone hardware (cpu type, number of course, hardware ids, screen dimensions, dpi, memory usage, disk space, etc)
Other apps you have installed (Iâve even seen some Iâve deleted show up in their analytics payload - maybe using as cached value?)
Everything network-related (ip, local ip, router mac, your mac, wifi access point name)
Whether or not youâre rooted/jailbroken
Some variants of the app had GPS pinging enabled at the time, roughly once every 30 seconds - this is enabled by default if you ever location-tag a post IIRC
They set up a local proxy server on your device for âtranscoding mediaâ, but that can be abused very easily as it has zero authentication
The scariest part of all of this is that much of the logging theyâre doing is remotely configurable, and unless you reverse every single one of their native libraries (have fun reading all of that assembly, assuming you can get past their customized fork of OLLVM!!!) and manually inspect every single obfuscated function. They have several different protections in place to prevent you from reversing or debugging the app as well. App behavior changes slightly if they know youâre trying to figure out what theyâre doing. Thereâs also a few snippets of code on the Android version that allows for the downloading of a remote zip file, unzipping it, and executing said binary. There is zero reason a mobile app would need this functionality legitimately.
On top of all of the above, they werenât even using HTTPS for the longest time. They leaked usersâ email addresses in their HTTP REST API, as well as their secondary emails used for password resets. Donât forget about usersâ real names and birthdays, too. It was allllll publicly viewable a few months ago if you MITMâd the application.
They provide users with a taste of âviralityâ to entice them to stay on the platform. Your first TikTok post will likely garner quite a bit of likes, regardless of how good it is.. assuming you get past the initial moderation queue if thats still a thing. Most users end up chasing the dragon. Oh, thereâs also a ton of creepy old men who have direct access to children on the app, and Iâve personally seen (and reported) some really suspect stuff. 40-50 year old men getting 8-10 year old girls to do âduetsâ with them with sexually suggestive songs. Those videos are posted publicly. TikTok has direct messaging functionality.
Hereâs the thing though.. they donât want you to know how much information theyâre collecting on you, and the security implications of all of that data in one place, en masse, are fucking huge. They encrypt all of the analytics requests with an algorithm that changes with every update (at the very least the keys change) just so you canât see what theyâre doing. They also made it so you cannot use the app at all if you block communication to their analytics host off at the DNS-level.
For what itâs worth Iâve reversed the Instagram, Facebook, Reddit, and Twitter apps. They donât collect anywhere near the same amount of data that TikTok does, and they sure as hell arenât outright trying to hide exactly whats being sent like TikTok is. Itâs like comparing a cup of water to the ocean - they just donât compare.
tl;dr; Iâm a nerd who figures out how apps work for a job. Calling it an advertising platform is an understatement. TikTok is essentially malware that is targeting children. Donât use TikTok. Donât let your friends and family use it.