back

by matheusmoreira·6y ago·view on hn ↗
We have to make it less useful then. They were given the audio/canvas/whatever APIs and instead of using it to make great web applications they abused it by turning it into personal information to track us and exploit us for profit. We gave them this power and now we have to take it away.

The site shouldn't be able to do anything without user's permission.

1 comments
I don't want a browser that comes up with 10000 popups asking if it has permission to render an image or permission to add 2 numbers together.

I want a browser that can get the task done with the least friction possible and a legal system that prevents abuse. The website should be the one to inform me that they are actually using the audio api for tracking and not just playing audio. With a large penalty for lying.

If we were talking about the issue of people being stabbed you don't suggest "Why should the stabber be penalized? The victim should have been wearing a Kevlar vest that doesn't allow them to be stabbed. If they weren't then they should simply expect that people will stab them."

>The website should be the one to inform me that they are actually using the audio api for tracking and not just playing audio. With a large penalty for lying.

The website can't do anything without your browser cooperating. The website can request the audio API as much as it wants but if your browser had a same configuration then it would just ignore it.

You're asking for legislation on a problem with a global scope. Countries that ignore your laws will still do all of this as long as your browser lets them.

>If we were talking about the issue of people being stabbed you don't suggest "Why should the stabber be penalized? The victim should have been wearing a Kevlar vest that doesn't allow them to be stabbed.

This is such a poor analogy. The server doesn't do anything without a client asking for something. In your case the victim went to the stabber and started the interaction. Then the victim's electric scooter (browser) malfunctioned or was poorly configured and drove into the stabber's knife.

Of course the server isn't blameless, because they are most likely knowingly exploiting this. But to suggest that the user has no control over this is foolish. It implies that the user can't be blamed for anything their computer does.

> 10000 popups asking if it has permission to render an image

We need an automated approach. We need the ability to not only disable browser APIs but also make them return fake data to fool the website. We need the ability to inspect the data websites are sending back and redact data we don't want them to have just like corporations perform deep packet inspection to prevent data exfiltration.

> If we were talking about the issue of people being stabbed

In this case we handed them the knife. We thought they'd use it to cut something for us and they stabbed us instead. They even made the ability to stab us part of their terms of service. This cannot go on.

>We need the ability to not only disable browser APIs but also make them return fake data to fool the website.

Browsers have been trying this for a long time but its not simple. Chrome has had multiple attempts at making it impossible to detect incognito mode but people keep finding ways. The old way was checking if the API to store data was available so chrome made it so that there is an emulated data store for incognito mode and then websites just check how fast the local data store is to check if it is on disk or in memory.

It would be an extraordinary effort to remove all of these issues since many of them are outside of the browser like what exact gpu and driver is in use could slightly change how the page is rendered or how long certain things take.

> Browsers have been trying this for a long time but its not simple.

I didn't say it was gonna be easy. I said it was necessary. This is a perpetual arms race. If content blockers can maintain their huge blocklists, browsers should also be able to maintain their own counter-measures to abusive websites. Browser vendors created and standardized the APIs that websites are now exploiting. I expect them to clean it up.

> then websites just check how fast the local data store is to check if it is on disk or in memory.

Making both calls equally slow should prevent this particular side channel attack.

What is very simple is just creating a law stating that you may only use exactly the data needed for the purpose of providing the service and any extra data must be requested from the user with the easy ability to decline. Now rather than years of cat and mouse where advertisers always have the upper hand, the advertisers suffer massive fines for misuse.
They'll just say the tracking is part of the business model and therefore needed to provide the service. The law's purpose is to allow users to negotiate the terms so it is worthless if it doesn't force websites to provide a "give me access to the service without any tracking" option. Imposing laws on the internet contributes to the regionalization of the network: what was once a completely free international network will be divided into many regulated national networks. Not all countries will have these laws so evading sanctions will be as simple as hosting something in a country like Russia.
>They'll just say the tracking is part of the business model and therefore needed to provide the service.

This is unacceptable under the GDPR. You must allow users to opt out. If this affects your business model than the legal option is to remove the free plan and charge a fee for the service.

> What is very simple is just creating a law

This must be some new use of the word "simple" I was previously unaware of.