Process, carried out by an application, for protecting the privacy of a user in a network to which said user is connected through his terminal, said user having a profile that comprises personal data of said user, wherein the personal data comprises explicit identifiers of said user that can allow on their own identification of the user and other types of data that cannot be used on their own to explicitly identify the user, said process providing for: - analysing, by a discovery manager module of the application, the profile of said user to build a set of possible combinations from the other types of data that togther allow for explicit identification of said user; - formulating, by the discovery manager module, a set of corresponding queries for each of said combinations; - sending, by the discovery manager module, said queries to publicly available data sources; - parsing, by the discovery manager module, responses from said data sources to said queries to check the presence in said responses of explicit identifiers of at least k users in the network, including explicit identifiers of said user, k being an integer; - storing, by the discovery manager module, as alternative identifiers of said user combinations whose corresponding set of queries trigger responses that contain explicit identifiers of less than k users including explicit identifiers of said user - partitioning, by a profile slicer module of the application, the combinations of the alternative identifiers into segments for separating data that are comprised together in said stored combinations; receiving, by a privacy preserving profile communication module of the application, a request from an analytic engine for collecting personal data of said user, wherein the request comprises specification about the type of requested personal data and/or priority between said requested data; identifying, by a privacy preserving profile communication module, a segment comprising data with a highest priority from the segments according to the request, if the requested data form an alternative identifier of said user that has been separated into the segments; and sending, by a privacy preserving profile communication module, to the analytic engine the segment comprising data with the highest priority. - analysing, by a discovery manager module of the application, the profile of said user to build a set of possible combinations from the other types of data that togther allow for explicit identification of said user; - formulating, by the discovery manager module, a set of corresponding queries for each of said combinations; - sending, by the discovery manager module, said queries to publicly available data sources; - parsing, by the discovery manager module, responses from said data sources to said queries to check the presence in said responses of explicit identifiers of at least k users in the network, including explicit identifiers of said user, k being an integer; - storing, by the discovery manager module, as alternative identifiers of said user combinations whose corresponding set of queries trigger responses that contain explicit identifiers of less than k users including explicit identifiers of said user - partitioning, by a profile slicer module of the application, the combinations of the alternative identifiers into segments for separating data that are comprised together in said stored combinations;