Open Osmose opened 6 years ago
We should do something, since currently we are using the URL of the page as the product ID, and that's Category 3+ data (for the MVP, we want to keep everything Category 1/2 per @chuckharmston ), since we will be sending the product ID along with many telemetry events.
We could seed a UUID from some of the product information (I'm not sure if generating one from the URL would be considered Category 3+; I've asked rrayborn).
Chuck gave me some examples of UUID modules:
Python's
uuid
module lets you do that withuuid.uuid5(uuid.NAMESPACE_URL, 'http://www.whatever.com')
Node does too, I just can't speak for it as personally. https://www.npmjs.com/package/uuid
Sharing this from my discussion with Osmose earlier over Vidyo:
Using URLs to identify the product locally is not a problem. It’s when that data gets sent away from the client's computer that it becomes a problem.
From a data collection perspective, there’s no way to send a product id that identifies a product across users without something that’s category 3+.
What we can do is use a product id locally and send an alternate identifier (e.g. a primary key that is a UUID or ever-increasing number) to Mozilla. This alternate identifier would allow us to identify a product uniquely from the collection of products for a particular user, but it would prevent us from knowing the exact product or page that the user was on.
Currently, products are identified by their full URL. Several shopping sites offer the same product under different URLs, often for SEO purposes.
There's a few options: