A computing device configured to mask an identification of a network-enabled device comprising: an input/output circuit; a processor in communication with the input/output circuit; a memory in communication with the processor and storing a plurality of instructions that, when executed by the processor, cause the processor to: dynamically assign a unique generic ID to the network-enabled device based on the identification received at the input/output circuit from the network-enabled device, the received identification is a Unique Device Identifier, UDID, for the network-enabled device that cannot be removed or changed; relate the received identification and the unique generic ID to each other; store the related received identification and the unique generic ID; and cause the unique generic ID to be communicated outside the network-enabled device, characterized in that: the unique generic ID includes bits which represent a device manufacturer to allow the device manufacturer to push an update to the network-enabled device, wherein the memory includes further instructions that, when executed by the processor cause the input/output circuit to intercept a plurality of device IDs from HTTP traffic on a network and replace each of the plurality of device IDs with the unique generic ID. an input/output circuit; a processor in communication with the input/output circuit; a memory in communication with the processor and storing a plurality of instructions that, when executed by the processor, cause the processor to: dynamically assign a unique generic ID to the network-enabled device based on the identification received at the input/output circuit from the network-enabled device, the received identification is a Unique Device Identifier, UDID, for the network-enabled device that cannot be removed or changed; relate the received identification and the unique generic ID to each other; store the related received identification and the unique generic ID; and cause the unique generic ID to be communicated outside the network-enabled device, characterized in that: the unique generic ID includes bits which represent a device manufacturer to allow the device manufacturer to push an update to the network-enabled device, dynamically assign a unique generic ID to the network-enabled device based on the identification received at the input/output circuit from the network-enabled device, the received identification is a Unique Device Identifier, UDID, for the network-enabled device that cannot be removed or changed; relate the received identification and the unique generic ID to each other; store the related received identification and the unique generic ID; and cause the unique generic ID to be communicated outside the network-enabled device, characterized in that: the unique generic ID includes bits which represent a device manufacturer to allow the device manufacturer to push an update to the network-enabled device, wherein the memory includes further instructions that, when executed by the processor cause the input/output circuit to intercept a plurality of device IDs from HTTP traffic on a network and replace each of the plurality of device IDs with the unique generic ID.