I've already seen on Windows what kind of information the Steam application is sending online: time, place and device of the connection, time passed playing the games, payments, mail, numbers, etc. All this data looks related to the use of that precise application.
However, what is preventing any desktop app from sending any arbitrary file stored in my computer to an online server? From my newbie point of view, once you installed an application, there could be a script which just reads all my files and sends them to the servers.
What prevents my apps from reading all the logs locally stored in my PC?