A method comprising: receiving , by a first multi-party computation, MPC, server of an MPC cluster and from a second MPC server of the MPC cluster, a request for a selection criterion of at least one interest group of a set of two or more interest groups to which a particular user of a client device belongs, wherein the received request does not reveal an identifier of the client device to the first MPC server; in response to receiving the request: determining , by the first MPC server, a set of ordered selection criterion of the at least one interest group of the set of two or more interest groups to which the particular user of the client device belongs that is retrieved from a cache of the first MPC server using portions of the request that are secured from being revealed by the second MPC server; transforming the set of ordered selection criterion into a set of key/value pairs, wherein the value of each of the key/value pairs is secured from being revealed by the second MPC server; and transmitting , by the first MPC server, the set of key/value pairs to the second MPC server with data that enables the second MPC server to identify a key having a highest value without revealing the values of the set of key/value pairs to the second MPC server. receiving , by a first multi-party computation, MPC, server of an MPC cluster and from a second MPC server of the MPC cluster, a request for a selection criterion of at least one interest group of a set of two or more interest groups to which a particular user of a client device belongs, wherein the received request does not reveal an identifier of the client device to the first MPC server; in response to receiving the request: determining , by the first MPC server, a set of ordered selection criterion of the at least one interest group of the set of two or more interest groups to which the particular user of the client device belongs that is retrieved from a cache of the first MPC server using portions of the request that are secured from being revealed by the second MPC server; transforming the set of ordered selection criterion into a set of key/value pairs, wherein the value of each of the key/value pairs is secured from being revealed by the second MPC server; and transmitting , by the first MPC server, the set of key/value pairs to the second MPC server with data that enables the second MPC server to identify a key having a highest value without revealing the values of the set of key/value pairs to the second MPC server. determining , by the first MPC server, a set of ordered selection criterion of the at least one interest group of the set of two or more interest groups to which the particular user of the client device belongs that is retrieved from a cache of the first MPC server using portions of the request that are secured from being revealed by the second MPC server; transforming the set of ordered selection criterion into a set of key/value pairs, wherein the value of each of the key/value pairs is secured from being revealed by the second MPC server; and transmitting , by the first MPC server, the set of key/value pairs to the second MPC server with data that enables the second MPC server to identify a key having a highest value without revealing the values of the set of key/value pairs to the second MPC server. <EOS>