Confianza y límites
¿El enmascarado de CrispGuard es local? ¿Y puede la propia extensión filtrar lo que capturas?
CrispGuard dibuja sus máscaras en el navegador: las palabras clave se convierten en una barra, las imágenes en un bloque de relleno, las áreas en una capa, y nada de eso necesita un servidor. Pero trabaja en la capa de la página, no en la del sistema operativo, así que una captura que se salte el renderizado del navegador puede no incluir la máscara. No es un producto de seguridad ni cifra la pantalla.
Lo que CrispGuard puede cubrir exactamente lo detalla la página del producto con los tres tipos de capa. Esta página es más estrecha: dónde ocurre el enmascarado y qué protege esa ubicación — y qué no.
La ruta de los datos en CrispGuard: qué se queda en el navegador y qué sale de él
El enmascarado se ejecuta en el content script de la extensión, dentro de la página que ya tiene abierta. La comparación de texto, el cambio de imágenes y el dibujo de capas ocurren durante el renderizado local. Ningún paso de esa ruta sube la página a un servidor.
CrispGuard es una extensión de Chrome, y la parte que hace el trabajo es un content script: código que el navegador inyecta en la página que está viendo. Lee el texto y las imágenes que ya están en el documento, los compara con la lista de palabras clave que usted configuró y reescribe lo que el navegador está a punto de dibujar. Una palabra clave coincidente se convierte en una barra sólida, un bloque de color o un emoji. Una imagen coincidente se convierte en un bloque de relleno. Un área seleccionada recibe una capa encima. La página de debajo sigue funcionando: los enlaces navegan, los formularios se envían, el desplazamiento no cambia.
Cada uno de esos pasos es una operación local sobre un documento que ya se descargó: la comparación se hace contra una lista guardada con la extensión, no contra un modelo en un servidor, y ninguna etapa de esa ruta tiene que enviar la página a ningún sitio.
Eso es una afirmación sobre la ruta del enmascarado, y conviene precisar qué no cubre. «Enmascarado local» y «cero peticiones de red» son dos afirmaciones distintas. La segunda es más fuerte y verificable. Esta página no convierte la primera en la segunda. Según la descripción de funciones de la ficha de la tienda, las decisiones de enmascarado y el dibujo ocurren en su dispositivo. Con quién habla la extensión por la red —la verificación de licencia, lo que sea— lo define su política de privacidad, y ese documento es el que hay que leer antes de decidir. El objetivo de diseño es mantener la mayor cantidad posible de datos dentro del navegador; el comportamiento exacto en red es una pregunta para la política de privacidad, no para una página de marketing.
La comparación útil es con un producto que declara la versión más fuerte. La política de privacidad de ContextBlur afirma un procesamiento 100 % local y cero peticiones de red, dice que su desenfoque automático solo se ejecuta cuando el usuario pulsa «Run auto-blur now» y que guarda selectores CSS en lugar del contenido de la página. Sea lo que sea lo demás que saque de ahí, establece algo que conviene saber: en esta categoría, «procesado localmente» es una afirmación que un proveedor puede publicar y por la que se le puede pedir cuentas. No es un argumento exclusivo de CrispGuard y no debería aceptarse por confianza de ningún proveedor, incluido este.
Aquí corresponde otro límite. El enmascarado cambia lo que muestra la página. No cifra la página, no la oculta de los procesos del propio navegador y no impide que alguien con acceso a su equipo desbloqueado abra las herramientas de desarrollo y lea el DOM directamente. CrispGuard es una comodidad de privacidad para espacios compartidos, no un producto de seguridad, y no debería describirse como tal.
Qué pasa con la máscara cuando hace una captura o graba la pantalla: qué cubre y qué no
Lo decide únicamente la ruta de captura. Si una herramienta lee la página renderizada del navegador, la máscara suele formar parte de esa imagen. Si lee el búfer de fotogramas del sistema operativo, o una cámara fotografía la pantalla, la extensión no puede poner allí la máscara.
El mecanismo explica el resultado. Una extensión de navegador vive dentro de la canalización de renderizado de la página: edita el DOM y los estilos aplicados, y el navegador pinta el resultado. Las herramientas de captura son de dos familias. Unas preguntan al navegador qué está mostrando: leen la misma página renderizada que la extensión ya modificó. Otras leen el búfer de fotogramas del sistema operativo, la imagen compuesta de toda la pantalla, y no consultan la página en absoluto.
Las plataformas móviles muestran qué puede hacer la segunda familia cuando la plataforma colabora. FLAG_SECURE de Android bloquea las capturas en la capa de seguridad de la plataforma, de modo que el sistema operativo rechaza la captura sin más. Las extensiones de Chrome no tienen una capa equivalente: no hay API que permita a una extensión pedirle a Windows, a macOS o a un dispositivo de captura que rechace el fotograma.
| Método de captura | ¿Suele aparecer la máscara en el resultado? | Por qué |
|---|---|---|
| Captura dentro del navegador (Chrome DevTools, captureVisibleTab de la extensión) | Suele sí, pero depende del momento de la captura y de la implementación | La captura lee la página renderizada, así que la capa puede estar incluida — o faltar si la captura se ejecutó antes de aplicar la máscara. |
| Captura del sistema operativo (Win+Shift+S, macOS Cmd+Shift+4) | No garantizado | La captura ocurre en la capa del búfer de fotogramas del sistema operativo, mientras la extensión trabaja en el DOM de la página, de modo que la extensión no controla lo que captura el sistema. |
| Grabador de terceros (OBS, Loom y similares en modo captura de pantalla) | No garantizado | La ruta de grabación puede saltarse el compositor del navegador y leer la pantalla directamente, con lo que la capa no forma parte de los fotogramas que recibe. |
| Cámara externa o móvil fotografiando la pantalla | No garantizado | La cámara registra la luz que emite el monitor; la extensión cambia píxeles de la página, no la salida física del panel, así que la foto muestra lo que el panel está mostrando. |
| Aplicación de reuniones que comparte toda la pantalla en vez de una pestaña | No garantizado | Compartir la pantalla completa puede incluir otras ventanas y notificaciones del sistema que quedan fuera de la página enmascarada, y la extensión no llega fuera del navegador. |
El enmascarado de CrispGuard es un control de visibilidad en la capa de la página, no un bloqueo de capturas. Si necesita impedir capturas a nivel de hardware, use el mecanismo de visualización segura que ofrezca su sistema operativo o su plataforma, no una extensión de navegador.
De ahí se siguen dos consecuencias prácticas. La primera: dé por supuesto que la máscara falta en cualquier captura que no haya probado. La segunda es que la prueba es barata: haga una captura con la herramienta que realmente usa, en una página que realmente haya enmascarado, y mire el resultado.
Cómo se guarda el PIN del bloqueo de sitio: una señal de confianza que puede comprobar
El PIN del bloqueo de sitio se guarda como un hash con sal, nunca en texto plano. Quien lea el almacenamiento local de la extensión obtiene un valor que no puede escribir en la casilla de desbloqueo. Los ajustes siguen siendo una interfaz normal; el PIN solo se pide al desbloquear.
El bloqueo de sitio es una función PRO: pide un PIN antes de levantar la protección de un sitio que usted bloqueó. Lo que guarda la extensión es un hash con sal de ese PIN —el PIN pasado por una función unidireccional junto con un valor aleatorio— y no el PIN. Leer el almacenamiento local no entrega, por tanto, un secreto utilizable. La sal también cuenta: dos instalaciones con el mismo PIN producen valores distintos, así que los datos no revelan que los PIN coinciden.
Merece la pena sopesar esta decisión porque es comprobable. Un producto que guarda el PIN en texto plano dice algo sobre cómo piensa el almacenamiento; uno que guarda un hash dice que asumió que alguien acabaría leyendo ese almacenamiento. Ninguna de las dos decisiones hace confiable a un producto por sí sola, pero en una herramienta que está en cada página que usted abre uno quiere ver la segunda.
Lo que el hash no hace es igual de importante. Protege el valor guardado, no el estado desbloqueado: si un sitio ya está desbloqueado y alguien está detrás de usted, está leyendo la página, no el hash. Un PIN numérico corto también es adivinable con suficientes intentos, y un hash no dice nada sobre cuántos intentos se permiten. El hash responde exactamente a una pregunta —qué aprende un atacante al leer este archivo— y la responde bien.
Si está decidiendo si confiar en una extensión de privacidad de pantalla, ¿qué debería comprobar?
Cinco comprobaciones resuelven casi todo: qué dice la política de privacidad sobre transmitir contenido de páginas, dónde ocurre realmente el enmascarado, qué permisos se solicitaron, si la detección automática espera a un clic y si el producto reconoce sus límites.
Ninguna exige conocimientos técnicos. Exigen leer una política y una lista de permisos: un trabajo razonable antes de darle a una herramienta la capacidad de leer cada página que usted abre.
- ¿Dice la política de privacidad, con esas palabras, que el contenido de las páginas, las capturas y el historial de navegación no se transmiten? Una política que nombra esas tres categorías hace una afirmación refutable; una que solo dice que «respeta su privacidad» no lo hace, y lo que no se puede refutar tampoco se puede comprobar después.
- ¿Se hace el enmascarado en un content script o en la capa de la página, o el contenido tiene que llegar antes a un servidor? La respuesta determina si «local» es una propiedad de la arquitectura o solo una palabra de la descripción, y solo la primera sobrevive a un corte de red.
- ¿Pide la extensión permisos que no tienen nada que ver con el enmascarado —portapapeles, interceptación de peticiones, acceso a sitios muy por encima de lo necesario? Cada permiso es una capacidad que existe se use o no en la versión actual, así que la lista describe lo que podría pasar, no solo lo que pasa.
- ¿La detección automática se ejecuta solo cuando usted la activa? Una función que analiza cada página por defecto tiene una postura de privacidad distinta de otra que espera un clic, aunque ambas produzcan lo mismo en pantalla.
- ¿El producto declara sus límites —«no es un producto de seguridad», «no detiene capturas a nivel de sistema»— o promete bloquear capturas? Un proveedor que nombra su frontera suele haber pensado dónde está; uno que lo promete todo o se equivoca o le está vendiendo algo.
No es una tarjeta de puntuación, y esta página no la rellena en nombre de CrispGuard. Cuando un punto no pueda confirmarse con documentación pública, trátelo como no confirmado y lea la política de privacidad. Esa es la versión honesta de la respuesta, y la única que sigue siendo cierta después del próximo lanzamiento.
Preguntas frecuentes
¿CrispGuard envía el contenido de mis páginas a un servidor?
La ruta del enmascarado no lo necesita. La comparación ocurre en el content script contra una lista de palabras clave guardada con la extensión, y la sustitución se dibuja en la propia página, así que ningún paso de esa ruta sube la página. Si la extensión hace otras peticiones de red —la verificación de licencia, por ejemplo— lo define su política de privacidad, y ese es el documento que hay que consultar.
Usé la herramienta de captura del sistema: ¿sigue estando la máscara?
No está garantizado. Una captura del sistema lee el búfer de fotogramas del sistema operativo, mientras que la extensión solo cambia lo que renderiza el navegador, así que que aparezca depende de la ruta de captura y no de que la máscara esté activada. Si la captura pasa por la salida renderizada del navegador, la máscara suele estar incluida.
¿Un grabador de pantalla captura la máscara?
Depende del modo de captura del grabador. Las herramientas que leen la página renderizada o el compositor del navegador suelen incluir la capa; las que capturan la pantalla a nivel del sistema operativo pueden saltársela por completo. No hay ningún ajuste en CrispGuard que cambie esto, porque la limitación está en la ruta de captura, no en la extensión.
Si olvido el PIN del bloqueo de sitio, ¿la extensión lo expone en texto plano?
No: solo se guarda un hash con sal del PIN, así que leer el almacenamiento local de la extensión no revela el PIN. Eso protege lo que está guardado, no lo que alguien puede ver: si el sitio ya está desbloqueado y alguien mira tu pantalla, el PIN es irrelevante.
¿Puede una extensión de privacidad de pantalla sustituir a un filtro de privacidad?
No. Un filtro de privacidad estrecha el ángulo de visión de la pantalla física, así que quien está a tu lado no puede leerla en absoluto, mientras que una extensión solo cambia píxeles dentro del navegador. Un filtro también cubre todo lo que hay en pantalla —otras aplicaciones, notificaciones, una videollamada—, algo que una extensión de navegador no alcanza. Es lo que dice el límite de arriba: un control en la capa de la página no es un bloqueo de capturas.
Si de verdad necesito impedir capturas, ¿qué debería usar?
Un mecanismo de plataforma, no una extensión de navegador. FLAG_SECURE de Android, las rutas de reproducción protegidas con DRM y las políticas de dispositivos gestionados que desactivan la captura funcionan en la capa del sistema operativo o de la plataforma, que es la capa por la que pasa realmente una captura. Para la mayoría de situaciones en espacios compartidos, un filtro de privacidad y girar la pantalla es la respuesta práctica.