Abra las herramientas para desarrolladores de su navegador, vaya a la pestaña Red y genere un informe. En Full Human Health verá que el módulo del generador se descarga una vez (unos 36 MB), dos pequeñas solicitudes que reservan y completan un crédito, y un evento de analítica que indica el tipo de informe. Nada del tamaño de su archivo de ADN sale de la página. Esos mismos tres minutos sirven para probar cualquier otro servicio.
La promesa, y por qué hay que comprobarla
«Procesado en su dispositivo» es ya una promesa habitual. Incluida la nuestra, al menos seis herramientas de datos de ADN en bruto la hacen en 2026: Genetic Lifehacks afirma que el archivo nunca sale de su dispositivo, GenomeInsight que todo se procesa dentro del navegador, Allelix (código abierto, AGPL-3.0) que los datos de genotipado nunca salen de su equipo, snp-browser procesa el archivo en workers del navegador y personal-genomics (MIT) se ejecuta localmente. Las cinco páginas se consultaron el 14 de octubre de 2026.
Una promesa no es una prueba, y el código cambia con cada despliegue. Cuando descargamos la página de inicio de GenomeInsight el 14 de octubre de 2026, su HTML hacía referencia a los scripts de Google Tag Manager, Google Analytics, Google Ads y Facebook Pixel. Eso no es una subida de ADN, y no probamos su página de análisis, pero un sitio puede ser honesto sobre el archivo y aun así enviar mucha información sobre usted. La única forma de saber qué envía una página es observarla.
Abra la pestaña Red y genere un informe
- Inicie sesión en la página de la cuenta y seleccione su archivo en bruto (nuestra guía de descarga explica cómo hacerlo con cada proveedor). No haga clic todavía en Generar.
- Abra las herramientas para desarrolladores: F12, o Ctrl+Shift+J (Cmd+Option+J en un Mac) en Chrome y Edge, y haga clic en la pestaña Red, según la documentación de Chrome; en Firefox, Ctrl+Shift+E (Cmd+Option+E) abre directamente el Monitor de red.
- Marque «Conservar registro» (Preserve log, en Chrome) o «Registros persistentes» (Persist Logs, en Firefox) y vacíe la lista.
- Marque la casilla de confirmación y haga clic en Generar.
Aparecen cuatro cosas, en este orden:
- Una descarga grande. Un archivo
.wasmde nuestro propio dominio: el generador, Rust compilado a WebAssembly, con el catálogo dentro. Unos 36 MB sin comprimir; la columna Tamaño muestra la cantidad transferida, que puede ser menor si va comprimido. Es una descarga, que queda en caché para la próxima vez. POST /api/generations/reserve. Abra su pestaña Carga útil (Chrome) o Solicitud (Firefox): el cuerpo es{"reportId":"...","consent":true}, es decir, el tipo de informe y el hecho de que usted marcó la casilla de confirmación, nada más.POST /api/generations/<id>/complete. Sin cuerpo. Marca el crédito como usado una vez que el PDF existe en su dispositivo.- Un evento de analítica a
/_vercel/insightsen nuestro dominio, llamadoreport_generated: tipo de informe, idioma del PDF, el proveedor que eligió y la duración en milisegundos. Ningún nombre de archivo, ningún genotipo.
Ordene por la columna Tamaño. La única fila grande es la descarga; una exportación en bruto ocupa decenas de megabytes y estaría arriba del todo si alguna solicitud la llevara. Aquí no se ejecuta ningún script de Google: nuestra etiqueta publicitaria está excluida de las páginas de inicio de sesión y de la cuenta. Stripe solo aparece como una redirección cuando compra créditos, antes de abrir ningún archivo. Una generación fallida añade un POST /api/generations/<id>/fail, sin cuerpo, y el crédito se le devuelve, además de un evento generation_failed con el tipo de informe y la etapa que falló (reserva, generación o finalización).
Haga la misma prueba en cualquier otro servicio
El mismo procedimiento, con una regla: hágala en la página que abre el archivo, no en la página de inicio. Una subida es fácil de detectar: un POST o un PUT de aproximadamente el tamaño de su archivo, a menudo multipart/form-data, a menudo hacia un servidor de almacenamiento o una ruta que contiene «upload». Las subidas por fragmentos aparecen como varias solicitudes de unos pocos megabytes; el filtro WS muestra las conexiones WebSocket.
Algunos servicios suben el archivo por diseño y lo dicen. Promethease necesita el archivo en sus servidores y, según su página de privacidad, lo elimina una vez entregado el informe; dejó de almacenar archivos el 8 de abril de 2025 (consultado el 14 de octubre de 2026). El problema es la herramienta que dice «en el dispositivo» y sube el archivo de todos modos. Una limitación y un añadido: una herramienta limpia puede cambiar mañana, así que repita la prueba tras las actualizaciones; y las herramientas de código abierto, como Allelix y snp-browser, también le permiten leer el código. El nuestro aún no es público, así que, en nuestro caso, la prueba es el tráfico.
Qué guardamos, y por qué
Nuestros servidores guardan el nombre y la dirección de correo electrónico que escribió al registrarse, un hash de la contraseña y sus sesiones de acceso, su saldo de créditos y los registros de pago de Stripe y, para cada generación, el tipo de informe, el estado y las marcas de tiempo. Los créditos requieren una cuenta; los reembolsos, un registro de lo que falló, y Stripe, un correo electrónico para el recibo. Nunca recibimos el archivo, los genotipos, el PDF ni el nombre del archivo. El crédito se reserva antes de generar el informe para que, si la generación falla, se reembolse automáticamente. La página de seguridad enumera cada servicio que usamos y cuánto tiempo se conserva cada registro; la página de metodología explica qué hace el generador con el archivo en memoria.
Qué aportaría una Content Security Policy (todavía no la tenemos)
Una Content Security Policy es una cabecera de respuesta. Su directiva connect-src restringe las URL con las que los scripts de una página pueden conectarse mediante fetch, XMLHttpRequest, WebSocket, EventSource y sendBeacon, como documenta MDN. Limitada a nuestro dominio y a Stripe, haría que el propio navegador se negara a enviar datos a cualquier otro lugar, incluso en caso de una dependencia comprometida o de un error futuro.
Hoy no la enviamos: curl -I https://www.full-human.health/en-US devuelve una cabecera HSTS y ninguna Content-Security-Policy (consultado el 14 de octubre de 2026). La lista de permitidos debe mantener en funcionamiento Stripe Checkout, el inicio de sesión y la analítica, y antes hay que probarla; está en nuestra lista de tareas pendientes. Sería un segundo cerrojo, no un sustituto, porque una política permite nuestro propio dominio y solo la pestaña Red demuestra que ni siquiera nosotros recibimos el archivo. Tampoco existe todavía una auditoría externa. Nuestro security.txt ofrece un contacto a los investigadores; la página Acerca de indica quién responde.
Preguntas frecuentes
¿Muestra la pestaña Red todo lo que envía una página?
Registra cada solicitud HTTP, cada mensaje WebSocket y cada beacon que hace la pestaña, incluidos los de scripts y workers. No muestra lo que una extensión del navegador envía por su cuenta, así que use una ventana privada, y solo registra mientras está abierta, así que manténgala abierta durante toda la generación.
¿Por qué la página descarga unos 36 MB?
El generador es Rust compilado a WebAssembly y lleva consigo su catálogo y el motor de renderizado de PDF; solo el catálogo de salud contiene 12 110 asociaciones principales. Es grande por la misma razón por la que su archivo nunca tiene que ir a ninguna parte: el catálogo viene hasta usted. Su navegador lo guarda en caché, así que los informes siguientes se saltan la descarga.
¿Puedo cortar la conexión durante la generación?
Hoy por hoy, no durante todo el proceso. Se reserva un crédito antes de cada informe y se completa después; ambas llamadas necesitan conexión. Si la finalización falla, la reserva caduca a los 60 minutos y el crédito se reembolsa en su siguiente visita. Reservar un crédito antes de desconectarse y completarlo al volver a conectarse permitiría hacer todo el proceso sin conexión; no lo hemos desarrollado.
¿Qué contiene exactamente el evento de analítica?
El nombre del evento, el tipo de informe, el idioma del PDF, el proveedor que eligió y la duración en milisegundos, además de la ruta de la página y la versión del script. Como cualquier solicitud, lleva su dirección IP y la cadena de identificación de su navegador; Vercel deduce de ellas un país, una etiqueta de navegador y sistema operativo y un hash de visitante que se descarta a las 24 horas, según su página de privacidad (consultado el 14 de octubre de 2026). Ninguna cookie, ningún nombre de archivo, ningún genotipo.
¿«Se ejecuta en el navegador» significa «privado»?
No. Una página puede procesar su archivo localmente y aun así enviar su identidad y su comportamiento a redes publicitarias desde la misma pestaña, y la cuenta que hay detrás conserva lo que usted escribió en ella. La privacidad es lo que envía la página que maneja el archivo, lo que guarda la cuenta y qué ley se aplica. Pregunte por las tres cosas a cada herramienta.
Este artículo tiene únicamente fines informativos generales y no constituye consejo médico. Consulte a un profesional sanitario cualificado antes de tomar decisiones de salud basadas en datos genéticos.
Nada que filtrar, vender ni entregar
Un informe de ADN de un servicio que nunca recibe su ADN.
El generador se ejecuta en la pestaña de su navegador. Nuestros servidores ven su cuenta y su pago, nunca su archivo ni su PDF.
409 rasgos del catálogo · 17 categorías · GWAS Catalog junio de 2026
Compruébelo usted mismo: abra la pestaña Red mientras se genera un informe.