The problem here is that the led was software controlled which always struck me as more of a bandaid then a solution.
A proper hardware switch solution would mean the led and webcam are wired so if the webcam receives any power the led jumps on. The computer shouldn't even know that led exists. Not sure how many devices actually do this though.
The tape on cam solution works on video but might still record sound which is in many cases more dangerous for sensitive information.
Of course one also has to wonder how much it matters having typed this on a phone with cam and microphone uncovered and no indicators.
Yeah, this is exactly the problem. Never should have been software controlled.
And yes, it's getting harder and harder to control for these privacy issues with the number of devices we routinely carry with microphones and cameras.
That is exactly how the webcam light is setup in a Framework. The light is wired up to the camera sensors power, so whenever the camera has power, so does the light. The switch also fully disconnects it from the computer itself. At least in Linux, you can verify it using lsusb. You can see the camera indicated as Realtek Semiconductor Corp. Laptop Camera. Whenever the switch is flipped though, it disappears all together from the list.
The problem with that is a USB device is powered even if it's not being used. You can't communicate with it to identify it as a webcam without powering it. So the light will be on any time it's plugged in.
It's more complex and expensive to have it controlled by software though.
Hardware controlled would be the equivalence of using a splitter to add a second lamp on an outlet attached to a light switch. (would only require a change in a trace or two and a transistor/resistor or two.)
Software controlled is the equivalence having to buy smart outlets and programming them yourself to have the two lamps turn on at the same time. (requires the same as a hardware switch, plus a more expensive or even an extra controller chip along with the need to write and program it.)
a USB device is powered even if it's not being used.
That's the USB-controller, not the actual cam. It's certainly possible to couple a LED with the power state of the camera chip and it was already done before.
Both android and crapple phones have mic & cam indicators nowadays, tho, and if a piece of software has a level of access high enough to bypass those, you kinda have bigger issues... Also, the webcam receives power by default currently; as the repo mentions, it's just another USB device (well, it's 3v3, and not 5v, but it doesn't really matter here)