Cómo comprobar que tus archivos no se están subiendo
Todos estos sitios dicen que son privados. ¿Cómo lo compruebo de verdad?
Parte de la suposición correcta
Una promesa de privacidad en una página de marketing no es una prueba. Tampoco lo son un icono de candado, un sello o una frase en una política de privacidad: eso describe intenciones, y lo que quieres saber es el comportamiento. Por suerte, el comportamiento se puede observar: todos los navegadores incluyen herramientas que muestran exactamente lo que envía una página, y no hace falta ser programador para leerlas.
Haz estas comprobaciones en este sitio. Hazlas en el sitio que usabas antes. La idea no es confiar en otra promesa distinta; es dejar de necesitar confiar en ninguna.
Comprobación uno: vigila el panel de red
- Abre las herramientas de desarrollo. En la mayoría de los navegadores de escritorio es F12, o Ctrl+Mayús+I, o Cmd+Opción+I.
- Selecciona la pestaña Red y asegúrate de que la grabación está activada.
- Recarga la página y vacía después la lista para empezar con un registro vacío.
- Elige tu archivo y ejecuta la operación.
- Ordena por tamaño, o mira en la columna Método si hay peticiones POST y PUT.
Lo que buscas es cualquier petición cuyo contenido sea del orden del tamaño de tu archivo, y cualquier petición, la que sea, a un servidor que no sea el sitio en el que estás. Una herramienta local mostrará peticiones de su propio código —scripts, hojas de estilo, módulos de WebAssembly, quizá un archivo de modelo— y después nada mientras se ejecuta el trabajo. Una que sube archivos mostrará una petición que transporta varios megabytes en el momento en que pulsas el botón.
Comprobación dos: quítale la red
Esta es la comprobación más fuerte, y no requiere ningún conocimiento técnico. Carga la página con normalidad, usa la herramienta una vez para que se cachee el motor que necesite y luego desconéctate: activa el modo avión, apaga el wifi o usa el interruptor de modo sin conexión de las herramientas de desarrollo. Ahora procesa un archivo.
Si termina, el procesamiento no puede haber ocurrido en ningún sitio que no sea tu máquina. No hay ambigüedad que discutir. Si falla o se queda colgado, algo del proceso necesitaba un servidor, lo cual puede ser legítimo —por ejemplo, un archivo de modelo que aún no estaba cacheado—, pero ahora ya sabes que hay que preguntar cuál.
Comprobación tres: lee la política de seguridad de contenido
Una política de seguridad de contenido es una cabecera que envía el sitio y que aplica el navegador. Su directiva connect-src enumera los destinos a los que la página tiene permiso para abrir una conexión. Si connect-src se limita al propio origen del sitio, el navegador bloqueará por sí mismo cualquier intento de enviar algo a otra parte, haga lo que haga el código de la página.
Para leerla, abre la pestaña Red, haz clic en la petición del documento —normalmente la primera fila— y busca la cabecera de respuesta Content-Security-Policy. Una política que contenga connect-src 'self' sin servidores externos es una restricción real, impuesta por el navegador, y no una promesa.
Qué demuestra cada comprobación
| Comprobación | Qué demuestra | Qué no cubre |
|---|---|---|
| Panel de red | Lo que esta página envió durante esta sesión | Otra ruta de código, una versión posterior del sitio o una petición hecha después de dejar de mirar |
| Prueba sin conexión | Que el procesamiento en sí se ejecuta en local | Si algo queda en cola y se envía en cuanto te reconectas |
| Política de seguridad de contenido | Adónde permitirá el navegador que haya conexiones siquiera | Todo lo que la política permita, incluido el propio origen del sitio |
| Leer el código fuente | Lo que contiene el código publicado | El esfuerzo; y hay que repetirlo cada vez que el sitio cambia |
Juntas son fuertes. Por separado, cada una tiene un hueco, y quien te diga que una sola comprobación zanja la cuestión está simplificando de más.
Señales de que una herramienta no es local
- Una barra de progreso que avanza a una velocidad que no tiene nada que ver con tu dispositivo: fluida e idéntica en un portátil rápido y en un móvil viejo.
- Un resultado que se entrega como un enlace a una URL de descarga de su dominio, y no como un archivo que tu navegador ya tiene.
- Un mensaje que dice que los archivos se borran de sus servidores al cabo de unas horas. Esa frase es un reconocimiento de que los archivos estuvieron allí.
- Una cola o un límite de uso. Tu propio procesador no tiene una cola compartida con otras personas.
- La herramienta funciona con la red desconectada solo con el primer archivo pequeño y después se para.
Los límites de la comprobación
Comprobar te dice cosas sobre la versión del sitio que probaste, el día que la probaste. Un sitio puede cambiar mañana. Por eso las comprobaciones que más importan son las estructurales: una política de seguridad de contenido restrictiva y una prueba sin conexión que funcione son propiedades de cómo está construida la aplicación, no promesas sobre una versión concreta.
Dos cosas quedan fuera de todas las comprobaciones de esta lista. Una extensión del navegador puede leer el contenido de cualquier página, incluido el archivo que has cargado en ella, y ningún sitio puede impedirlo. Tu sistema operativo puede ver todos los archivos que abres. Si un documento es lo bastante sensible como para que eso importe, procésalo en software sin conexión en una máquina que controles tú, y trata cualquier sitio web —este incluido— como la herramienta equivocada para ese trabajo.
Herramientas para esta tarea
Fuentes
- W3C — Content Security Policy Level 3
- MDN — Content-Security-Policy connect-src
- Chrome DevTools — inspect network activity
- MDN — Firefox Network Monitor