Eso es correcto. HTML5 expone getUserMedia
API para acceder a los recursos multimedia en el host.
Consulte aquí para una implementación de referencia. Este es el código en acción: enlace
En términos de lo que dicen las especificaciones sobre la seguridad, citando este sitio web :
Seguridad
Algunos navegadores lanzan una barra de información al llamar a getUserMedia (), que les da a los usuarios la opción de otorgar o denegar el acceso a su cámara / micrófono. Lamentablemente, la especificación es muy tranquila cuando se trata de seguridad.
Diálogo de permiso en Chrome:
Si su aplicación se ejecuta desde SSL (https: //), este permiso será persistente. Es decir, los usuarios no tendrán que otorgar / denegar el acceso cada vez.
Este es el problema para implementar el soporte de permisos en la propia especificación: enlace
Sin embargo, en la práctica, todos los navegadores estándar piden permiso a través de un cuadro emergente (o una barra de información) antes de acceder a los recursos multimedia. Por lo tanto, en la medida en que uno use un navegador moderno, debe pedir permiso.
Si uno está usando un navegador no estándar, una versión modificada de cromo shell o aplicaciones electrónicas / nwjs basadas en escritorio, entonces es posible que el navegador no solicite permiso, pero de nuevo, en este caso, todas las demás garantías de seguridad que ofrecen los navegadores modernos (por ejemplo, el auditor de XSS, CORS, la política del mismo origen, etc.) se lanzan a la basura.