TheYellowArchitect / doubledamnation

Exclusively Co-Op Metroidvania with Movement as smooth as Smash Bros Melee
GNU General Public License v3.0
19 stars 2 forks source link

Disable User Analytics #38

Open TheYellowArchitect opened 2 years ago

TheYellowArchitect commented 2 years ago

All builds by default have "editor analytics" which "help the developer understand the player flow" blabla Obviously, this contains privacy-sensitive data, like when you opened the game. I do not know where these packets are uploaded, could be some Google server, and that's shady. Every Unity game does this!

Anyhow, greedy Unity has done the following: If you have free edition, you cannot disable user analytics. So, if you want to ensure user privacy, you are blackmailed.

But since Unity is full of bugs, even this is bugged! Ironic. Even if I bought "Pro" edition, I cannot disable it.

And if I upgrade to future versions of Unity, where this "bug" is fixed, not only I get new bugs, but many features of Double Damnation will be deprecated/obsolete... UNABLE TO COMPILE.

Source for the above claims: https://forum.unity.com/threads/completely-disabling-analytics-at-runtime.520827/#post-3557207

TheYellowArchitect commented 2 years ago

As I am inexperienced with wireshark, I would like to request someone to decrypt these packets, and confirm what data of the user is uploaded (fingerprint? or even more?)

(inb4 requesting how to disable uploading user analytics via hexcode on final build)

Anyway, adding "more-info" tag, as it is confirmed user analytics sends data to shady servers (unknown IPs), and also unknown what kind of data it uploads.

TheYellowArchitect commented 2 years ago

As I am inexperienced with wireshark, I would like to request someone to decrypt these packets, and confirm what data of the user is uploaded (fingerprint? or even more?)

A based user who specializes on privacy, pretty much provided me all the info Unity gets from its builds

Device Fingerprint (on boot)

os_ver: operating system incl. architecture e.g. 32 or 64Bit model used
mainboarddevice_name: device name of the user (entered by the operating system during installation)
cpu: e.g. Intel Core I7 xxx GHz
cpu_count: how many cores
cpu_freq: clock frequency
ram: Ram
vram: Vram
screen: used resolution
dpi: DPI
lang: Language
sensors: Sensor
infogfx_name: Used graphics card
gfx_vendor: Manufacturer
gfx_ver: DirectX version
gfx_driver: Graphics driver
userID: User tracking during the whole game session
sessionID: used for tracking players within sessions

Standard Request/Response

https://config.uca.cloud.unity3d.com/
{
"common" : 
    {
    "appid" : "local.4d7e864dc1e52d347897bc8eb58d4e1e", 
    "build_guid" : "2696897992176624e9deeaf5fb2bf472",
    "deviceid" : "xxxxxx", 
    "localprojectid" : "4d7e864dc1e52d347897bc8eb58d4e1e", 
    "platform" : "WindowsPlayer",
    "platformid" : 2,
    "sdk_ver" : "u2018.4.4f1",
    "session_count" : 1,
    "sessionid" : 3208018618660299749,
    "t_since_start" : 7866641,
    "userid" : "xxxxxx"
    }
}

{   "analytics" : 
   { "enabled" : true },
   "connect" : 
       { "enabled" : true,
       "limit_user_tracking" : false,
       "player_opted_out" : false
       },
    "performance" : 
       { "enabled" : true },   "prefs" : {}
}

Event-Tracking

https://cdp.cloud.unity3d.com/v1/events which lead to related hostnames with endpoints (Google GCE) http://config.uca.cloud.unity3d.com http://cdp.cloud.unity3d.com http://remote-config-prd.uca.cloud.unity3d.com http://thind-gke-euw.prd.data.corp.unity3d.com

Europe

http://thind-gke-usc.prd.data.corp.unity3d.com

US

http://thind-gke-ape.prd.data.corp.unity3d.com

Asia

http://53.26.241.35.bc.googleusercontent.com http://186.194.186.35.bc.googleusercontent.com http://234.88.190.35.bc.googleusercontent.com http://229.52.241.35.bc.googleusercontent.com http://150.252.227.35.bc.googleusercontent.com