A method of cryptographically protecting location data transferred between a plurality of servers via a computer network to tune a location engine, comprising: retrieving, by a bridging module executed by one or more processors of a data processing system, from a location database stored in memory, a plurality of location determinations made by the location engine of the data processing system, each location determination associated with a respective first identifier; mapping, by the bridging module, each respective first identifier to a respective second identifier using a mapping function; determining, by a first encryption module executed by the one or more processors, a first hash value for each location determination using a first hash function applied to a tuple formed of the second identifier and a timestamp of each location determination; encrypting, by the first encryption module, the first hash value for each location determination using a first encryption protocol to generate a first encrypted data set; transmitting, by a communication interface of the data processing system, via the computer network, the first encrypted data set to one or more servers configured to process electronic transactions; receiving, by the communication interface, from the one or more servers, a second encrypted data set comprising second hash values generated by a second encryption module for the electronic transactions, each of the second hash values generated by the second encryption module via application of a second hash function to a tuple formed of an identifier and a timestamp of each of the electronic transactions, the second encrypted data set encrypted by the second encryption module with a second encryption protocol, wherein the first encryption protocol and the second encryption protocol are commutative encryption protocols; using, by the first encryption module, the first encryption protocol to encrypt the second encrypted data set received from the one or more servers to generate a first double encrypted data set; receiving, by the communication interface, from the one or more servers, a second double encrypted data set generated by the second encryption module via application of the second encryption protocol to the first encrypted data set transmitted by the data processing system to the one or more servers; comparing, by a tuner executed by the one or more processors, the first double encrypted data set with the second double encrypted data set to determine a precision metric and a recall metric based on a total number of correct location determinations, a total number of location determinations, and a total number of actual location events; and adjusting, by the tuner, a tuning parameter of the location engine based on at least one of the precision metric or the recall metric. retrieving, by a bridging module executed by one or more processors of a data processing system, from a location database stored in memory, a plurality of location determinations made by the location engine of the data processing system, each location determination associated with a respective first identifier; mapping, by the bridging module, each respective first identifier to a respective second identifier using a mapping function; determining, by a first encryption module executed by the one or more processors, a first hash value for each location determination using a first hash function applied to a tuple formed of the second identifier and a timestamp of each location determination; encrypting, by the first encryption module, the first hash value for each location determination using a first encryption protocol to generate a first encrypted data set; transmitting, by a communication interface of the data processing system, via the computer network, the first encrypted data set to one or more servers configured to process electronic transactions; receiving, by the communication interface, from the one or more servers, a second encrypted data set comprising second hash values generated by a second encryption module for the electronic transactions, each of the second hash values generated by the second encryption module via application of a second hash function to a tuple formed of an identifier and a timestamp of each of the electronic transactions, the second encrypted data set encrypted by the second encryption module with a second encryption protocol, wherein the first encryption protocol and the second encryption protocol are commutative encryption protocols; using, by the first encryption module, the first encryption protocol to encrypt the second encrypted data set received from the one or more servers to generate a first double encrypted data set; receiving, by the communication interface, from the one or more servers, a second double encrypted data set generated by the second encryption module via application of the second encryption protocol to the first encrypted data set transmitted by the data processing system to the one or more servers; comparing, by a tuner executed by the one or more processors, the first double encrypted data set with the second double encrypted data set to determine a precision metric and a recall metric based on a total number of correct location determinations, a total number of location determinations, and a total number of actual location events; and adjusting, by the tuner, a tuning parameter of the location engine based on at least one of the precision metric or the recall metric.