Seguridad

Seguridad en Compress Images

Si tu archivo se sube, qué contiene el archivo que recibes de vuelta y cómo contarnos un problema de seguridad.

Sin subida

Tu archivo se lee en tu navegador. Ninguna página de este sitio nos lo envía, ni a nosotros ni a nadie más, y cargar la página no cambia eso: los archivos propios de la página vienen de este sitio.

Conexiones solo a este sitio

La política de seguridad de contenido de cada página deja que los scripts se conecten solo a la dirección de este sitio, así que una página no puede llamar a ningún servidor externo ni aunque lo intente.

Sin cuenta y sin copia

Las páginas son archivos estáticos. No hay inicio de sesión, ni base de datos, ni copia de tu archivo, porque nunca recibimos ninguna.

Dónde va tu archivo

Cuando sueltas o eliges un archivo en la página de inicio, tu navegador lo lee y lo convierte en un Web Worker de tu propio dispositivo. No se copia nada en el almacenamiento de este sitio: la herramienta no escribe en IndexedDB, ni en Cache Storage, ni en cookies, y el archivo no se nos envía. La política de privacidad es el único sitio donde esto se dice entero, incluido lo que ve el proveedor de alojamiento cuando cargas una página.

Que no haya subida no significa que no haya red. Cargar la página de la herramienta hace que el navegador pida a este sitio el HTML de esa página, su hoja de estilos y los módulos JavaScript que manejan la herramienta. Empezar una conversión añade el script del worker y los módulos de códec que esa conversión necesita, cada uno descargado una vez desde este sitio: el decodificador del formato de entrada, el codificador del formato de salida, y los módulos de redimensionado o de optimización de PNG cuando la conversión los usa. La primera conversión en un formato dado es la que lo descarga. Una página que no es la herramienta carga solo su propio HTML, su hoja de estilos y sus módulos, y ningún códec. Todo eso es la dirección de este mismo sitio y nada más: cada petición que hace una página, antes de una conversión, durante y después, es un GET o un HEAD sin cuerpo, y ninguna petición lleva tu archivo.

Una vez descargado un módulo, la misma conversión se repite con la red apagada, y esa es la comprobación detrás de esa frase. Nada de esto depende de que creas una promesa: puedes comprimir una imagen sin subirla y mirar tu propia pestaña de red mientras ocurre.

La política de seguridad de contenido

Cada página se sirve con una política de seguridad de contenido que deja que los scripts carguen solo desde este sitio y se conecten solo a este sitio: connect-src 'self' blob:. El blob: no es otro origen. Es el esquema de las URL de objeto que esta página crea para tus propias vistas previas de antes y después y para los enlaces de descarga, y un navegador resuelve una URL así dentro del origen que la creó. Eso es más amplio que “solo esta página puede leerla”: la URL queda limitada al origen que la creó y a la partición de almacenamiento en la que se sienta el sitio, que es el propio particionado de almacenamiento del navegador, así que la restricción viene con una regla de particionado que este sitio no controla y no ha medido. Lo que sí establece la política es que un script no tiene ninguna dirección a la que llegar más allá de este sitio: si uno intentara descargar datos de otro origen o enviarle datos, el navegador bloquearía la conexión antes de que saliera.

Qué lleva el archivo que recibes

Por defecto, la salida no lleva ningún EXIF: ni un segmento EXIF en un JPEG, ni un bloque EXIF en un WebP, ni un elemento de metadatos en un AVIF o un PNG. Los datos de cámara, de ubicación y de fecha y hora no viajan por tanto con la imagen que descargas, que normalmente es lo que quieres de una copia que se ha vuelto a codificar.

El control de conservación cambia eso, con un límite. Marca “Conservar los metadatos EXIF” y el bloque vuelve en una salida JPEG, PNG o WebP, con la orientación escrita como 1 porque los píxeles ya se han puesto de la manera correcta. Una salida AVIF no puede llevar un bloque EXIF aquí, así que con AVIF seleccionado el control no tiene efecto y la fila dice que los metadatos no se conservaron.

De cualquier manera, la orientación que guardó tu cámara se aplica a los píxeles, así que una foto hecha en vertical sale con la orientación correcta. Eso se aplica a una entrada JPEG, PNG o WebP. Una entrada AVIF es la excepción: su bloque EXIF no se lee, así que un archivo AVIF que guarda una rotación se usa tal y como está almacenado. De las ocho orientaciones EXIF, las cuatro que incluyen un cuarto de vuelta, de la 5 a la 8, también intercambian el ancho y el alto, así que una foto etiquetada como 6 sale 400 por 600 desde un archivo cuyos números son 600 por 400. El giro de 180 grados no es una de esas cuatro: gira la imagen sin cambiar ninguno de los dos números.

Lo que la herramienta no puede devolverte

La salida es la imagen que elegiste, decodificada, opcionalmente redimensionada y codificada otra vez en el formato que seleccionaste, a 8 bits por canal en el espacio de color sRGB en el que trabajan los navegadores. PNG, WebP y AVIF conservan la transparencia; una salida JPEG no tiene canal alfa, así que lo que era transparente se aplana sobre blanco. Una salida JPEG se escribe además de forma progresiva y con sus canales de color submuestreados, que es el valor por defecto de MozJPEG y no un ajuste que exponga esta herramienta.

La compresión con pérdida descarta detalle, y la herramienta no restaura nada que no haya recibido. Un archivo más pequeño no es automáticamente mejor, y por eso cada fila terminada enseña los dos tamaños y las dos imágenes, lado a lado.

Cómo avisar de un problema de seguridad

Si encuentras un problema de seguridad, escribe a security@compress-images.online. El archivo security.txt del sitio indica la misma dirección. Un problema en la herramienta en sí merece el mismo aviso, y las dos cosas que más ayudan son el formato que elegiste y los ajustes que usaste.