v0.17.2 · versión estable publicada

Tu privacidad, más clara.

Tu micrófono.
Tu cámara.
Tu visibilidad.

Identifica los accesos, interpreta los indicios y actúa desde tu escritorio. MicCamWatch observa los metadatos del sistema — no tus conversaciones ni tus imágenes.

Windows 10/11 · Linux x64 · macOS 15+
Herramienta nativa · Código abierto · Sin telemetría

El control, a un clic de distanciaWindows
Menú nativo de MicCamWatch en Windows: estado del monitor, comandos de privacidad y opciones del escritorio.
El menú real de Windows, captura de v0.17.1. Captura histórica de la instalación de usuario: canal de cámara «ready», protección del micrófono no solicitada y cámara permitida. Una interfaz real, no una prueba de captura ni de bloqueo del hardware. Es anterior al diagnóstico de estado incompleto descrito en las preguntas frecuentes sobre Windows.

Observar sin grabar

Comprender antes de actuar

Mantener el control local

Menos opacidad. Más contexto.

Una señal útil.
No una promesa mágica.

MCW distingue la actividad observada, el nivel de confianza y el riesgo. Un indicio débil no se convierte en una certeza.

01 / OBSERVAR

Ve los accesos

Estado instantáneo, seguimiento en directo y panel en el terminal. Identidad del proceso y contexto cuando el sistema puede acceder a ellos.

mcw status --lang es
02 / COMPRENDER

Examina los indicios

Proceso, ruta, origen y validación de confianza según el sistema operativo. Los diagnósticos también muestran los recolectores degradados o no disponibles.

mcw doctor
03 / ACTUAR

Elige tus controles

Silenciamiento, comandos de cámara e inicio al iniciar sesión: acciones explícitas, limitadas a lo que la plataforma permite realmente.

mcw tray
También cómodo en un terminal

Un panel, sin navegador.

mcw top
Salida real del panel mcw top 0.17.1 en un terminal Windows de CI sin dispositivo de captura.
Salida real de mcw top v0.17.1, ejecutado en ConPTY de Windows en CI (150 columnas) y después convertido en imagen. Este runner no tiene ningún dispositivo de captura y se desconoce el estado de silenciamiento del SDK: ilustra la interfaz, no una detección ni una prueba de bloqueo en hardware físico. Las capturas de esta página son exclusivamente de Windows.

Tres sistemas operativos, distintas capacidades

Los límites forman parte
del producto.

La supervisión funciona sin derechos de administrador. Las acciones privilegiadas requieren una autorización independiente.

Alcance de la versión 0.17.2
SistemaMicrófonoCámaraControles y límites
Windows 10/11
x64
Sesiones WASAPI activas; proceso validado cuando es accesible.Indicios nativos de captura; atribución al proceso cuando está disponible. Módulos cargados: solo «ready».Silenciamiento de endpoints y control de dispositivos de cámara con UAC. Protección manual mantenida en segundo plano hasta su liberación explícita; sin aislamiento eléctrico ni garantía para las rutas exclusivas/ASIO.
Linux
x64 · PipeWire
Fuente y flujos en curso con enlace activo; PID autenticado y después validado en /proc.El mismo requisito de enlace activo de PipeWire. Un handle V4L2 por sí solo no demuestra que haya un flujo; los accesos fuera de PipeWire pueden escapar a la observación.Silenciamiento de las fuentes de la sesión, no una prohibición de ALSA. Cámaras USB uvcvideo compatibles únicamente mediante un componente de administrador independiente y revisado; cámaras no USB no compatibles.
macOS 15+
Apple Silicon / Intel
Actividad de entrada de CoreAudio; PID validado si se puede leer la identidad del proceso.Estado de ejecución del dispositivo mediante CoreMediaIO, confianza media. Cliente y PID desconocidos. Esta señal no demuestra que haya un flujo de imágenes; estado de la cámara «degraded».Silenciamiento solo si la propiedad de entrada se puede modificar. Perfil de cámara gestionado por MCW, que debe aprobarse manualmente en Ajustes del Sistema; su presencia no certifica un bloqueo físico.

No es un interruptor universal. MCW no es un antivirus ni una prueba forense de captura. Un proceso protegido, un controlador, un acceso directo o una sesión inaccesible pueden limitar las observaciones y los controles. WSL, las máquinas virtuales y los runners sin hardware no garantizan el acceso a los dispositivos físicos.

Recursos: no se ha alcanzado el objetivo de 15 MB. Las mediciones documentadas del escenario completo de Windows superan este objetivo (pico de RSS acumulado muestreado: 56,041 MB). Estas mediciones tienen límites; no se ofrece ninguna garantía de presupuesto de memoria. Leer las mediciones y su alcance ↗

Empezar de forma sencilla

Tu sistema.
La instalación adecuada.

Versión estable 0.17.2. Los ejecutables siguen alojados en GitHub Releases, nunca en un espejo de este sitio.

Solo Linux y macOS

Una línea para seguir la versión estable.

Sin sudo
curl --proto '=https' --tlsv1.2 -fsSL https://raw.githubusercontent.com/Roman-Cuisset/miccamwatch/a58c8b9f3a967589a576879d6d27bfdbc40f9dff/installer/install.sh | sh

Este comando ejecuta un script remoto. Es más seguro descargarlo y leerlo primero. No es un comando de PowerShell: en Windows, elige el MSI o el ZIP de abajo.

Sin JavaScript o en una vista previa HTTP, el enlace HTTPS apunta al script del commit inmutable de la versión. En este sitio con HTTPS, el comando se adapta a su endpoint local install.sh. Los archivos y sus sumas de comprobación siguen descargándose desde GitHub.

Los comandos siguen pudiendo seleccionarse sin JavaScript. El botón «Copiar» solo aparece si el navegador ofrece su API segura del portapapeles; de lo contrario, selecciona el texto y usa Ctrl+C, Cmd+C o el menú de selección.

Windows 10 / 11

Instalación nativa · x64

El MSI por usuario añade mcw al PATH y un acceso directo al menú Inicio. El ZIP portátil contiene la pareja CLI + anfitrión del icono de bandeja; conserva ambos ejecutables juntos y en la misma versión.

Vuelve a abrir PowerShell después de la instalación. Para un ZIP no añadido al PATH, usa .\mcw.exe en lugar de mcw.

mcw --version
mcw doctor
mcw status --lang es
mcw top

Linux de escritorio

x64 · glibc 2.35+

Requiere las bibliotecas PipeWire/SPA, pw-dump y un socket PipeWire accesible en tu sesión de usuario. El icono de bandeja necesita un anfitrión StatusNotifierItem; las notificaciones y el sonido necesitan sus servicios de sesión.

El instalador gestiona el ejecutable en $HOME/.local/bin de forma predeterminada y comprueba la entrada exacta del archivo en SHA256SUMS. Las arquitecturas no compatibles se rechazan, no se sustituyen.

macOS 15 o posterior

Apple Silicon / Intel

El instalador selecciona tu arquitectura nativa. La barra de menús requiere una sesión Aqua. El helper nativo viene incluido; estos archivos no requieren ningún entorno de desarrollo.

La alternativa recomendada

Descargar. Verificar. Leer. Ejecutar.

Linux y macOS · Este script está fijado al commit de la versión. Descárgalo y léelo primero; comprueba su suma antes de ejecutar el comando de instalación independiente de abajo.

curl --proto '=https' --tlsv1.2 -fsSL \
  https://raw.githubusercontent.com/Roman-Cuisset/miccamwatch/a58c8b9f3a967589a576879d6d27bfdbc40f9dff/installer/install.sh \
  -o mcw-install.sh
less mcw-install.sh

Antes de ejecutarlo, compara la suma del archivo: sha256sum mcw-install.sh en Linux, o shasum -a 256 mcw-install.sh en macOS. El valor esperado para el script instalador (no los archivos) es:

b7348c9a6f37a3d4f89faa2b767fd4880162d90c8f5d7c151185e0823384d1bb

Una suma mostrada en el mismo canal comprueba la coherencia de los bytes, no una autenticidad independiente. Consulta también el script en su fuente inmutable.

Después de leerlo y comprobarlo, instala la versión 0.17.2 solicitando explícitamente que se añada al PATH:

sh mcw-install.sh --version v0.17.2 --add-path

Sustituye --add-path por --no-modify-path para no modificar la configuración del shell. Si no eliges ninguna opción, el instalador solicita consentimiento en un terminal; no modifica el PATH silenciosamente en modo no interactivo. Abre después un terminal nuevo. No se activa ningún inicio automático ni control de dispositivos.

Resultado esperado en Unix: el script muestra los pasos de descarga y comprobación y después Installation completed: mcw 0.17.2 para la versión solicitada explícitamente. Los pasos se muestran en color en un terminal compatible (se desactiva con NO_COLOR). Después indica cómo iniciar mcw top y, si es necesario, usar la ruta completa o abrir un terminal nuevo para el PATH. Este éxito se refiere a la instalación: no certifica que tus dispositivos estén disponibles ni que haya una protección activa.

Archivos, sumas SHA-256 y procedencia

Descarga tu archivo y SHA256SUMS desde la misma release. En Linux, usa sha256sum --check --ignore-missing SHA256SUMS. En macOS, compara shasum -a 256 nom-de-l-archive.tar.gz con la entrada exacta del manifiesto. En PowerShell, Get-FileHash .\miccamwatch-windows-x86_64.zip -Algorithm SHA256 permite comparar el ZIP (adapta el nombre para el MSI).

Las atestaciones de GitHub informan sobre la procedencia de la compilación. Para comprobarla con GitHub CLI, adapta la ruta al archivo descargado:

gh attestation verify ./miccamwatch-linux-x86_64.tar.gz \
  --repo Roman-Cuisset/miccamwatch \
  --signer-workflow Roman-Cuisset/miccamwatch/.github/workflows/release.yml \
  --source-ref refs/tags/v0.17.2 \
  --source-digest a58c8b9f3a967589a576879d6d27bfdbc40f9dff \
  --deny-self-hosted-runners

Las sumas y los archivos comparten el canal de publicación. La procedencia de la compilación, la firma del editor y el análisis antivirus son tres cosas distintas. Este sitio no sirve ningún binario.

Homebrew / AUR: hay recetas en el repositorio; no se anuncia ningún tap ni paquete AUR publicado. No uses un comando de gestor de paquetes inventado.

En el día a día

Observa primero.
Activa lo que tú elijas.

La instalación por sí sola no activa ninguna protección, ningún inicio automático ni ninguna terminación de procesos.

01

Comprueba tu sesión

Muestra la versión, el estado de los recolectores y los accesos observados. status devuelve 0 si no hay accesos correspondientes, 1 si los hay y 2 si hay un error: el código 1 no indica un fallo.

mcw --version
mcw doctor
mcw status --lang es
02

Elige tu interfaz

top abre el panel. tray abre el menú nativo (área de notificación de Windows, StatusNotifierItem de Linux, barra de menús de macOS). El seguimiento en el terminal termina con Ctrl+C.

mcw top
# O un seguimiento con notificaciones:
mcw watch --notify
03

Inicio: con tu consentimiento

Solo si lo deseas, registra el icono de bandeja para que se inicie al iniciar sesión: tarea/entrada de usuario de Windows, archivo .desktop de Linux o LaunchAgent de macOS. No se instala implícitamente ningún servicio de inicio de sesión.

mcw autostart enable
mcw autostart status
# Para volver atrás:
mcw autostart disable

La terminación automática (--kill-unauthorized) está desactivada de forma predeterminada. Exige un rechazo explícito por política de editor/ruta, una captura activa atribuida, dos observaciones consecutivas y un proceso no protegido. Un riesgo «suspicious» por sí solo no la activa; una cámara de macOS sin PID no puede desencadenarla.

Una instalación que sigue siendo tuya

Actualizar.
Eliminar correctamente.

No mezcles MSI, instalador gestionado, archivo manual y gestor de paquetes. Quien gestiona la instalación determina el procedimiento.

Actualizar

  • MSI de Windows: instala el MSI de la nueva release; mcw update no actualiza el registro del MSI.
  • Windows portátil / Cargo: mcw update comprueba y sustituye una pareja CLI/tray coherente, tras validar la disponibilidad de la protección y detener de forma segura el tray gestionado por esta instalación.
  • Unix gestionado: mcw update o el script público con el mismo prefijo. Sin --version, el script sigue la última versión estable. El actualizador rechaza los cambios a versiones anteriores.
  • Archivo manual: Linux requiere una sustitución manual; macOS puede actualizar un ejecutable autónomo perteneciente a la instalación fuera de bin, según las condiciones documentadas.
  • Gestor de paquetes: actualiza con ese gestor, nunca con el script curl ni con mcw update.

Las actualizaciones gestionadas conservan las preferencias y no reactivan un inicio automático ausente, desactivado o externo. Se rechaza una instalación modificada, activa o cuya propiedad no pueda comprobarse; no fuerces una omisión de esas comprobaciones.

Desinstalar

  • MSI de Windows: desactiva el inicio automático que corresponda y después usa Aplicaciones instaladas en la Configuración de Windows.
  • ZIP portátil: desactiva el inicio automático perteneciente a esta instalación, detén sus procesos y después elimina la pareja de ejecutables.
  • Unix gestionado: después de descargar y leer el script anterior, usa el comando de abajo; añade el mismo --prefix si la instalación tenía un prefijo personalizado.
  • Componente de cámara de Linux: restaura las vinculaciones gestionadas por él y elimina explícitamente el componente de administrador independiente antes de actualizar o eliminar la instalación de usuario. Procedimiento ↗.
mcw autostart disable
mcw tray stop
sh mcw-install.sh --uninstall

El script Unix solo elimina los ejecutables/estados que le pertenecen y los bloques PATH que gestiona; no elimina políticas, preferencias, historiales ni pruebas de propiedad de los controles. Eliminar la aplicación no sustituye a la restauración explícita.

Local de forma predeterminada

Tu actividad no es
nuestro dato.

Sin grabación de audio ni captura de imágenes. Sin telemetría ni historial enviado a un servidor.

Leer la política de privacidad

Metadatos, no contenido multimedia

MCW lee las señales del sistema y la información de los procesos. La configuración, las políticas, los registros y los historiales permanecen en local. Consulta las rutas con mcw config settings-path y mcw history path; mcw history clear borra el historial de MCW.

Las excepciones de red son explícitas

La instalación y la actualización contactan con GitHub. Una política de confianza «online» permite las comprobaciones de red nativas de certificados o claves; «offline» las prohíbe según la plataforma. Los registros del sistema siguen sus propias reglas de conservación.

Esta página mantiene pocas dependencias

Sin rastreadores, bibliotecas de terceros ni fuentes remotas. El JavaScript opcional mejora las pestañas y la copia; las descargas y las guías siguen siendo accesibles sin él. El proveedor de alojamiento y GitHub pueden tratar los metadatos habituales de las solicitudes, como la dirección IP.

Cuando algo no está claro

Respuestas,
sin ambigüedades.

Empieza con mcw doctor. Un recolector no disponible no es una luz verde.

«mcw» no se reconoce después de la instalación

Abre un terminal nuevo después de modificar el PATH. En Windows portátil, usa .\mcw.exe desde la carpeta extraída. En Unix, prueba "$HOME/.local/bin/mcw" --version si has mantenido el prefijo predeterminado. El instalador no puede cambiar el entorno de su terminal padre.

Si Defender ha puesto el ejecutable en cuarentena, el PATH no es el problema: conserva los detalles del Historial de protección y sigue las precauciones de abajo, sin restaurar los bytes detectados.

Windows: cámara en uso, PID desconocido o cobertura parcial en el icono de bandeja

La actividad de la cámara puede quedar sin un PID atribuido cuando el informe nativo no proporciona una marca de tiempo utilizable, aunque Windows proporcione un PID sin procesar. Desde la versión 0.17.2, el icono de bandeja conserva los accesos observados y distingue esta cobertura parcial con un signo de exclamación naranja. Los detalles indican el recolector afectado, el motivo y las capturas; una indisponibilidad real o un error de protección mantienen la prioridad. Las versiones antiguas pueden mostrar una cruz gris y un resumen genérico «telemetry degraded».

Consulta Status details…, mcw status --lang es, mcw status --json y mcw doctor para distinguir la actividad, la atribución y el estado de los recolectores. Una atribución desconocida no significa «ningún acceso» ni «cámara bloqueada»: no debe deducirse ningún cliente ni derecho a detener un proceso únicamente a partir de su nombre o de un PID sin procesar. Las capturas de la página siguen siendo explícitamente históricas, de 0.17.1.

¿Qué derechos y permisos se necesitan?

Observar: ejecuta MCW en tu sesión de usuario, sin una elevación general de privilegios. Las restricciones del sistema pueden hacer que ciertas identidades o recolectores no estén disponibles; los derechos adicionales no garantizan una atribución.

Windows: los cambios de dispositivos de cámara requieren una autorización UAC independiente. Linux: los controles de cámara USB requieren primero el componente de administrador independiente de la misma versión y después una autorización Polkit explícita; el instalador de usuario no lo despliega. macOS: la instalación y la eliminación del perfil de cámara siguen siendo manuales en Ajustes del Sistema, y las notificaciones dependen del permiso del sistema. MCW no elude TCC, Gatekeeper ni SIP; la presencia de un perfil no demuestra que se haya impedido una captura.

Linux: PipeWire no disponible, sin cámara o sin icono de bandeja

Ejecuta MCW en tu sesión de usuario de escritorio, no mediante sudo. Comprueba pw-dump, las bibliotecas PipeWire/SPA, XDG_RUNTIME_DIR, el socket de usuario y, si está personalizado, PIPEWIRE_REMOTE. Un socket inaccesible o que se está reiniciando es un error, no «ningún acceso».

El icono de bandeja requiere un anfitrión StatusNotifierItem. Las notificaciones requieren el servicio de sesión y notify-send; el sonido requiere canberra-gtk-play, un tema y un backend de sesión. Una llamada aceptada no certifica que se haya visto una notificación ni oído un sonido. Los accesos directos a la cámara fuera de PipeWire pueden quedar sin atribución o degradar la observación.

macOS: ¿por qué la cámara no tiene PID?

La API pública CoreMediaIO indica el estado de ejecución del dispositivo, no la identidad del cliente que lo usa. Por eso MCW muestra un PID desconocido y un estado de cámara degradado en lugar de inventar una atribución. La disponibilidad de AVFoundation y el estado de ejecución no demuestran que se hayan capturado imágenes. Una aprobación de perfil pendiente no equivale a un bloqueo.

SmartScreen, Defender o Gatekeeper: ¿hay que ignorarlos?

No: no desactives las protecciones ni añadas una exclusión. La release pública 0.17.2 no está firmada en Windows; no se anuncia ninguna firma Apple Developer ID ni notarización. Por tanto, pueden aparecer advertencias. Una atestación de GitHub describe una compilación, no su inocuidad.

Si Defender detecta algo, anota el nombre, la ruta, la versión, el hash disponible y los detalles del Historial de protección. No restaures la cuarentena ni reinstales automáticamente los bytes detectados. El repositorio documenta el incidente y el envío manual a Microsoft; no se afirma ningún veredicto de falso positivo. Firma, procedencia y tratamiento seguro ↗.

He cerrado el icono de bandeja: ¿se han retirado mis protecciones?

No necesariamente. En Windows, una protección manual pertenece a un broker nativo en segundo plano y sigue solicitada después de cerrar el icono de bandeja o top, hasta ejecutar mcw unmute o mcw camera allow. Esto no promete que persista tras reiniciar. Linux y macOS mantienen sus controles limitados y puntuales: no heredan este mecanismo de Windows.

Comprueba el estado real. Una guardia de cámara de Windows detenida sigue siendo una advertencia: la intención «Block» por sí sola no demuestra que las conexiones futuras estén protegidas. Restaura explícitamente antes de sustituir o desinstalar y resuelve cualquier estado pendiente.

¿Por qué se rechaza una actualización o una desinstalación?

Un ejecutable activo, una protección solicitada, una restauración pendiente, un recibo ausente/modificado o una ruta no segura pueden impedir una operación. Detén tus observadores, termina las operaciones privilegiadas y comprueba el estado de los controles. El script rechaza root, los destinos modificados/que no le pertenecen y los enlaces no seguros; no detiene procesos por ti.

Un icono de bandeja antiguo puede necesitar una salida manual normal: no fuerces su cierre durante una operación de cámara. No elimines los registros de propiedad para eludir un rechazo. Usa el gestor de instalación apropiado y el procedimiento documentado.

¿Cómo compartir un diagnóstico sin exponer mi privacidad?

mcw doctor --json y mcw status --json ayudan al diagnóstico, pero las rutas, los usuarios, los PID, los dispositivos y los nombres de aplicaciones pueden ser datos personales. Revisa y oculta esos datos antes de adjuntar un extracto a una incidencia. MCW no recopila automáticamente tus informes; compartirlos sigue siendo voluntario. Los detalles técnicos de las pruebas permanecen en inglés para mantener la estabilidad de los diagnósticos.

Abierto, documentado, auditable

La confianza empieza
por lo que se puede verificar.