Some softwares, tell themselves as based on the Cloud. So, from beginning, you know that your data will be on third-party servers and you are free using or not such services.
Other softwares are equivocal: they are standalones, but have syncing features. For instance, they allow to synchronize the data between several devices. When not offering client and server components, this syncing is done through third-party servers.
The whole question is to know if such remote data storage is:
- triggered by the user on a voluntary basis if he wants to sync data or
- automatically performed by the software, behind the scenes, without explicit user consent.
How to be warned about unallowed data uploads and prevent them?
Though memory analysis?
In the past, I have used antivirus/firewall softwares where you had to explicitely allow outging connection attempts. But using third-party antivirus/firewall is not a protection against spying. See the recent Kaspersky/Russian spying scandal for instance.