1. An apparatus for masking non-public data elements in uniform resource identifiers comprising: a uniform resource identifier (“URI”) that is configured to identify a resource; a local processor configured to: determine the presence of a non-public data element in the URI; generate a first random number, in response to the determination of the presence of the non-public data element, wherein the length of the first random number is at least as long as the length of the non-public data element; compute a first resultant number based on the exclusive disjunction of the first random number and the non-public data element; substitute the first resultant number for the non-public data element in the URI; and a transmitter configured to transmit the URI and the first random number to a remote server; a remote processor, at the remote server, configured to: generate a second random number, in response to the determination of the presence of the first resultant number, wherein the length of the second random number is at least as long as the length of the first resultant number; compute a second resultant number based on the exclusive disjunction of the second random number and the first resultant number; substitute the second resultant number for the first resultant number in the URI; the transmitter further configured to transmit the first random number, the second random number and the URI to a second server.