Este documento se publica en varios idiomas. En caso de discrepancia entre las versiones lingüísticas, prevalecerá la versión polaca.
Versión 1.0 · Última actualización: 16 de octubre de 2026
1. De qué se trata y qué es esta página
Esta página es la evaluación de impacto relativa a la protección de datos (EIPD) de formexposed conforme al Art. 35 RGPD. En primer lugar, responde a la cuestión previa de si es necesaria una EIPD, por separado para cada operación de tratamiento y no para el servicio en su conjunto. Cuando la respuesta es afirmativa, realiza la evaluación conforme al Art. 35(7)(a) a (d): una descripción sistemática, la necesidad y la proporcionalidad, los riesgos para los interesados y las medidas para afrontarlos. A continuación se tratan el riesgo residual, la cuestión de la consulta previa conforme al Art. 36 y las reglas de revisión.
El Art. 35 no exige publicar una EIPD. La publicamos por dos motivos. En primer lugar, los Clientes que utilizan la comprobación de entrega o el escaneo tras el inicio de sesión necesitan, para su propia evaluación, hechos que solo nosotros conocemos; como encargados del tratamiento les debemos estos hechos en cualquier caso (Art. 28(3)(f) RGPD). En segundo lugar, nuestro rastreador comprueba sitios web cuyos titulares no nos conocen. Deben poder leer qué riesgos vemos para ellos y para las personas que aparecen en sus páginas, y qué hacemos al respecto.
Naturaleza jurídica. Esta EIPD es documentación del responsable del tratamiento conforme al Art. 35 RGPD, que publicamos voluntariamente. No forma parte de ningún contrato ni constituye declaración, garantía o acuerdo de calidad alguno frente a Clientes o terceros. Los servicios y garantías que debemos a los Clientes se rigen por las Condiciones del servicio, el Contrato de encargo del tratamiento y sus anexos; en lo que respecta a dichas obligaciones, estos prevalecen sobre esta página. La página describe la situación a la fecha de esta versión. Las calificaciones de riesgo y las valoraciones son nuestra propia opinión y no anticipan ninguna valoración jurídica de una autoridad de control o de un tribunal; las medidas descritas como «previstas» son intenciones sin fecha comprometida. Para los Clientes, la página es una base para su propia evaluación, no asesoramiento jurídico.
Esta es la primera versión de la evaluación del umbral. Examina, operación de tratamiento por operación de tratamiento, si es necesaria una EIPD y recoge el resultado en la sección 3.5.
Toda afirmación de hecho está sujeta al mismo principio que en nuestros demás documentos legales: medido, no pretendido. Lo que está acreditado en el código o en la base de datos se indica aquí con su referencia de origen. Lo que no ha podido acreditarse se marca como «no verificado». Lo que solo está planificado se denomina «previsto». Nombramos abiertamente los puntos abiertos, junto con la medida prevista; una EIPD que solo enumera fortalezas no ayuda a las personas a las que concierne.
Términos: un titular es quien gestiona un sitio web comprobado. Un Cliente tiene una cuenta en formexposed. Un visitante es quien utiliza el sitio web de un Cliente, por ejemplo su formulario de contacto. Una referencia de origen designa un archivo, una función o un ajuste del código fuente, medido según el estado del sistema de desarrollo el 11 de octubre de 2026.
Trazamos deliberadamente un límite a la transparencia: los puntos abiertos en la protección de nuestros propios servidores solo se describen en términos generales (R13). Nombramos el riesgo y su nivel, pero no la vía hacia una vulnerabilidad concreta; facilitaremos los detalles a una autoridad de control previa solicitud.
2. Funciones: quién soporta la obligación y respecto de qué
El Art. 35 impone la obligación al responsable del tratamiento. formexposed es responsable del tratamiento en algunas operaciones de tratamiento, encargado del tratamiento de sus Clientes en otras, y ninguna de las dos cosas respecto de los datos que nuestro plugin de WordPress y nuestra extensión de TYPO3 almacenan en el sitio web de un Cliente. La respuesta a casi todas las preguntas de este documento depende de la función a la que se refiera la pregunta. La asignación sigue la Política de privacidad y el Contrato de encargo del tratamiento.
| Operación de tratamiento | Función de formexposed | Quién soporta la obligación del Art. 35 |
|---|---|---|
| Comprobación de sitios web de terceros sin instrucciones de su titular: comprobación gratuita, comprobación de clientes potenciales para agencias, estudio | Responsable del tratamiento | formexposed |
| Comprobación de dominios en la cuenta del Cliente: monitorización, envíos de prueba activos, recorridos con navegador, archivos expuestos, pulso del formulario | Responsable del tratamiento respecto de los datos de cuenta y de comprobación del Cliente; encargado del tratamiento respecto de los datos personales de terceros visibles en el sitio web verificado del Cliente; mientras un dominio no esté verificado, responsable del tratamiento como en la comprobación gratuita | formexposed en lo que le corresponde; el Cliente respecto de los datos de terceros en su sitio web |
| Escaneo tras el inicio de sesión con una cuenta de prueba | Encargado del tratamiento: las credenciales y el contenido tras el inicio de sesión pertenecen al sitio web del Cliente | El Cliente; formexposed presta asistencia |
| Comprobación de entrega con copia de control | Encargado del tratamiento | El Cliente; formexposed presta asistencia |
| Protección colectiva (swarm): lista compartida de dominios de enlace procedentes de spam bloqueado | Responsable del tratamiento: combinamos las comunicaciones de muchos sitios web, elaboramos la lista y la distribuimos | formexposed |
| Cuentas de clientes, inicio de sesión, registros, soporte, envío de correo electrónico, pagos, registros probatorios | Responsable del tratamiento | formexposed |
| Portal de clientes e informe mensual a los suscriptores de una agencia | Encargado del tratamiento | La agencia |
| Datos que el plugin y la extensión almacenan en el sitio web del Cliente (cuarentena, red de seguridad, consultas almacenadas) | Ninguna de las dos: los datos nunca salen del sitio web | El titular del sitio web |
De ello se deriva una distinción que señalamos expresamente, porque a menudo se malinterpreta en ambos sentidos. Cuando formexposed es responsable del tratamiento, realizamos nosotros mismos la evaluación y asumimos su resultado. Cuando somos encargados del tratamiento, no podemos realizar la evaluación del Cliente en su lugar, decidir por él la cuestión de la necesidad ni consultar en su nombre a la autoridad de control conforme al Art. 36. Lo que sí podemos y debemos hacer en ese caso es facilitarle todo lo que necesita: la descripción conforme a la letra a), los hechos medidos sobre los riesgos conforme a la letra c) y una lista sincera del estado de las medidas conforme a la letra d). Para la comprobación de entrega y el escaneo tras el inicio de sesión, esta página es exactamente eso.
Un Cliente que adopte sin cambios las secciones sobre la comprobación de entrega como su propia EIPD no ha realizado ninguna. Si la copia de control está justificada para sus formularios, si cabe esperar en ellos categorías especiales de datos personales y cómo informa a sus visitantes son cuestiones que solo él puede decidir. La sección 11 resume lo que debe aclararse a tal efecto.
3. Evaluación del umbral: ¿es necesaria una EIPD?
3.1 Art. 35(1) y Art. 35(3)
El Art. 35(1) exige una EIPD cuando sea probable que un tipo de tratamiento, en particular si utiliza nuevas tecnologías, por su naturaleza, alcance, contexto o fines, entrañe un alto riesgo para los derechos y libertades de las personas físicas. El Art. 35(3) enumera tres supuestos en los que esto ocurre en particular. Ninguno de los tres se ajusta a formexposed, y conviene razonarlo en lugar de afirmarlo:
- Letra a): evaluación sistemática y exhaustiva de aspectos personales de personas físicas que se base en un tratamiento automatizado y sobre cuya base se tomen decisiones que produzcan efectos jurídicos o les afecten significativamente de modo similar. Evaluamos formularios y sitios web, no aspectos personales de las personas. El servicio no adopta ninguna decisión con efectos jurídicos sobre ninguna persona. Lo más próximo es la protección colectiva (swarm): los mensajes que contienen un enlace a un dominio incluido en la lista acaban en cuarentena en los sitios web conectados. Se trata de una consecuencia automatizada para el mensaje, no de una evaluación exhaustiva de una persona; lo tratamos en el criterio «Evaluación o puntuación» de la sección 3.3.
- Letra b): tratamiento a gran escala de las categorías especiales del Art. 9 o de datos relativos a condenas e infracciones penales del Art. 10. Ni previsto ni construido. No obstante, estos datos pueden llegarnos por una vía: en la copia de control de mensajes reales de visitantes en la comprobación de entrega. Ello depende del caso concreto y no constituye un tratamiento a gran escala en el sentido de esta disposición; sin embargo, se tiene en cuenta en la evaluación de riesgos (R1).
- Letra c): observación sistemática a gran escala de una zona de acceso público. Se refiere a la observación física de lugares, no a la consulta de páginas web públicas. Invocar esta disposición como fundamento para un rastreador web sería incorrecto.
Por tanto, la vía correcta es el propio Art. 35(1), aplicado mediante los nueve criterios de las Directrices sobre la evaluación de impacto relativa a la protección de datos del Grupo de Trabajo del Artículo 29 (WP248 rev.01, refrendadas por el Comité Europeo de Protección de Datos), y la lista de la autoridad de control polaca conforme al Art. 35(4) (sección 3.4).
3.2 Los nueve criterios de las directrices WP248
Las directrices enumeran nueve características que indican un probable alto riesgo. Como regla general, una operación de tratamiento que cumpla dos de ellas requerirá en la mayoría de los casos una EIPD. Un responsable del tratamiento puede llegar a una conclusión distinta en un caso concreto, pero debe entonces motivarla y documentarla. A la inversa, un único criterio puede bastar. En esta página utilizamos las siguientes denominaciones abreviadas:
- C1 – Evaluación o puntuación, incluida la elaboración de perfiles y la predicción, por ejemplo del rendimiento en el trabajo, la situación económica, la fiabilidad o el comportamiento.
- C2 – Toma de decisiones automatizada con efecto jurídico significativo o similar.
- C3 – Observación sistemática, es decir, el tratamiento utilizado para observar, supervisar o controlar a los interesados, incluso a través de redes. Las directrices justifican expresamente este criterio por el hecho de que los interesados a menudo no saben quién recoge sus datos ni con qué finalidad.
- C4 – Datos sensibles o datos muy personales: las categorías especiales de los Art. 9 y 10, pero también datos cuya divulgación afecta significativamente a la vida cotidiana, incluidas las comunicaciones electrónicas cuya confidencialidad debe protegerse.
- C5 – Tratamiento de datos a gran escala, medido por el número de interesados, el volumen y la variedad de los datos, la duración y el alcance geográfico.
- C6 – Asociación o combinación de conjuntos de datos procedentes de distintas operaciones de tratamiento o de distintos responsables, de un modo que los interesados no esperarían.
- C7 – Datos relativos a interesados vulnerables, por ejemplo empleados, niños, pacientes u otras personas en una situación de desequilibrio de poder.
- C8 – Uso innovador o aplicación de nuevas soluciones tecnológicas u organizativas; en la práctica de las autoridades de control, el uso de inteligencia artificial se considera habitualmente comprendido en este criterio.
- C9 – Tratamiento que impide a los interesados ejercer un derecho o utilizar un servicio o ejecutar un contrato.
Calificamos cada criterio como «cumplido», «dudoso» o «no cumplido» y motivamos la calificación a partir del código. Un caso dudoso no cuenta como cumplido en el total, pero se menciona en el resultado; cuando varios casos dudosos apuntan en la misma dirección, incluimos la operación de tratamiento en la evaluación.
3.3 Evaluación por operación de tratamiento
P1 – Comprobación gratuita sin cuenta (comprobación de cualquier sitio web de terceros a petición)
Cualquier persona puede introducir un dominio en la página de inicio. A continuación, el rastreador consulta como máximo ocho páginas públicas de ese sitio web, lee los formularios, toma capturas de pantalla y elabora un informe que puede ver cualquiera que conozca su enlace aleatorio. El titular del sitio web no se entera de nada, salvo que advierta el identificador del rastreador en sus registros.
- C1 – dudoso. El informe califica la protección de un formulario con un nivel («Expuesto», «Parcialmente protegido», «Protegido») y una puntuación. En el caso de una sociedad de responsabilidad limitada, esto no afecta a una persona física. En el caso de empresarios individuales y profesionales autónomos, el dominio puede atribuirse a la persona, y el nivel dice entonces algo sobre la diligencia en su actividad profesional. Sin embargo, lo que se evalúa es una configuración técnica, no el comportamiento ni las características de una persona. Lo tratamos como dudoso.
- C2 – no cumplido. No se decide nada en relación con el titular. En relación con la persona que solicita la comprobación, se aplican límites por dirección IP y sesión (
cfg/check_lib.php); una comprobación rechazada no tiene efectos significativos. - C3 – no cumplido. Se trata de una consulta única a petición, como máximo una vez por dominio y semana (
cfg/check_lib.php, ajustefc_domain_days= 7). No se observa a personas. No obstante, sí concurre la circunstancia que las directrices citan para justificar el C3: los interesados no saben nada del tratamiento. Se tiene en cuenta en la evaluación de riesgos (R5). - C4 – no cumplido. Se almacenan la estructura del formulario y los hallazgos, no los valores introducidos (
scanner/src/crawl.jssolo almacena la longitud de un valor en los campos visibles). El escáner lee el comienzo de los campos ocultos precumplimentados (hasta 24 caracteres) y de los atributos de datos (hasta 60 caracteres) solo durante la comprobación, para detectar tokens y marcas de tiempo; no se almacenan. Las capturas de pantalla pueden mostrar incidentalmente personas y nombres; el sitio web de una consulta médica muestra su especialidad en la imagen. Se trata de datos profesionales públicos, no de datos de salud de una persona concreta. - C5 – dudoso. El límite diario es de 200 comprobaciones aceptadas (
fc_daily_cap), es decir, aritméticamente hasta unos 73 000 sitios web al año. Por sitio web solo se generan unos pocos datos personales, y la duración es breve (30 días). Según la medición en el sistema de desarrollo, hay 2 comprobaciones anónimas en el conjunto de datos. Hoy no se cumple; dudoso en vista de la capacidad prevista. - C6 – no cumplido. Además de consultar las páginas, el servicio consulta la antigüedad del dominio a través del servicio RDAP rdap.org (solo se transmite el nombre de dominio; solo se almacena la fecha de registro, en caché) y resuelve el DNS. Se trata de datos técnicos sobre el dominio, no de una combinación de conjuntos de datos sobre personas.
- C7 – no cumplido.
- C8 – cumplido, en forma débil. Un navegador automatizado comprueba las páginas, y un modelo de lenguaje en nuestro propio servidor clasifica los formularios que las reglas no reconocen (
scanner/src/classify.js). El modelo ve el título de la página, la dirección, las etiquetas de los campos y hasta 400 caracteres del texto del formulario. Nunca puede hacer que un formulario sea «enviable». - C9 – no cumplido.
Resultado intermedio P1: un criterio en forma débil (C8), dos casos dudosos (C1, C5). Sin obligación según la regla general. Dado que ambos casos dudosos apuntan en la misma dirección y los interesados no saben nada del tratamiento, incluimos P1 en la evaluación.
P2 – Comprobación de clientes potenciales para agencias
Una agencia con el plan Business y con marca propia configurada puede hacer comprobar de forma pasiva el sitio web de un cliente potencial. Recibe un breve diagnóstico con su marca y un informe detallado, y transmite ella misma el enlace (cfg/akquise_lib.php). Nosotros no contactamos con nadie.
- C1 – dudoso, con más peso que en P1. El breve diagnóstico está concebido expresamente como «abrepuertas para la primera conversación». La evaluación del sitio web se convierte así en la base para dirigirse comercialmente a una persona.
- C5 – no cumplido. Como máximo 30 comprobaciones por agencia y mes (
prospect_monthly), eliminadas tras 90 días. - C8 – cumplido, en forma débil (la misma tecnología que en P1).
- Otros criterios – no cumplidos. El diagnóstico se presenta con la marca de la agencia, pero no se vincula con otros datos sobre el titular.
Resultado intermedio P2: sin obligación según la regla general; se incluye por los mismos motivos que P1 y porque la finalidad (captación de clientes) entraña un riesgo propio (R6).
P3 – Estudio «Form Security Index»
Para un estudio se comprueba de forma pasiva una lista de sitios web, con una limitación de como máximo cinco tareas abiertas por ejecución del proceso de estado, que se ejecuta cada cinco minutos (cfg/studie_lib.php). Solo se publican totales, y segmentos solo a partir de 20 sitios web con formulario (study_min_segment, cfg/studie_lib.php). Los datos brutos se eliminan al publicarse (cfg/studie_lib.php).
- C5 – dudoso, cumplido en el caso de listas grandes. El tamaño de la lista no está limitado en el código; la limitación permite aritméticamente más de mil comprobaciones al día. Un estudio de un mercado nacional abarca miles de sitios web, muchos de ellos gestionados por empresarios individuales. A partir de ese tamaño, consideramos cumplido el criterio.
- C8 – cumplido, en forma débil.
- C1 – no cumplido. Aunque se califica cada sitio web, solo se publica el total; la calificación no sirve para hacer una afirmación sobre el titular individual.
- Otros criterios – no cumplidos.
Resultado intermedio P3: para estudios del tamaño previsto, dos criterios (C5, C8). Por tanto, el estudio alcanza el umbral; formexposed realiza la evaluación como responsable del tratamiento. Según la medición en el sistema de desarrollo, hasta ahora no se ha creado ningún estudio.
P4 – Comprobación de dominios en la cuenta del Cliente
El Cliente hace comprobar periódicamente los dominios de su cuenta. Una vez que ha demostrado que está autorizado a controlar el dominio, se añaden los envíos de prueba activos (como máximo cinco por comprobación), la búsqueda de archivos expuestos y los recorridos con navegador configurados.
- C3 – no cumplido. La comprobación es programada y recurrente, pero se refiere al propio sitio web del Cliente y se realiza a petición de este, no para observar a personas.
- C4 – dudoso, no. La búsqueda de archivos expuestos lee como máximo los primeros 8 KB de rutas como
/backup.sqlo un registro de depuración para determinar a partir del contenido si el archivo está realmente expuesto (cfg/dateien_lib.php). Ese extracto puede contener entradas de formulario realizadas por visitantes. Solo se comprueba en memoria y nunca se almacena; se almacenan la ruta, el tipo y la gravedad. - C8 – cumplido, en forma débil.
- Otros criterios – no cumplidos.
Resultado intermedio P4: sin obligación. Se incluye porque los envíos de prueba activos y la comprobación de archivos dependen de una prueba que nunca se renueva (R7).
P5 – Escaneo tras el inicio de sesión
Para un dominio verificado, el Cliente puede guardar una cuenta de prueba de su sitio web. El escáner inicia sesión con ella y lee los formularios de hasta cinco páginas indicadas del área de miembros (cfg/login_lib.php, scanner/src/login.js).
- C4 – dudoso. Las credenciales no son datos muy personales en el sentido de las directrices, pero su uso indebido da acceso al área de miembros. Según el sitio web, tras un inicio de sesión puede haber contenido confidencial, por ejemplo en un portal de miembros o de pacientes. Ello depende del Cliente, no de nosotros.
- C8 – no cumplido. Los inicios de sesión automatizados son habituales en los servicios de monitorización.
- Otros criterios – no cumplidos.
Resultado intermedio P5: sin obligación según la regla general. Para los Clientes cuya área de miembros muestre contenido confidencial, esto puede cambiar; la decisión les corresponde entonces a ellos. Se incluye por los riesgos de seguridad (R8).
P6 – Comprobación de entrega con copia de control
El Cliente introduce una dirección de control de formexposed como copia oculta en la configuración de correo de su formulario. Como consecuencia, cada correo electrónico del formulario llega también a nuestro buzón de control: tanto nuestro mensaje de prueba como cualquier mensaje real de un visitante. Una recogida automatizada lee las cabeceras y los primeros 8 KB, asigna el correo electrónico, evalúa SPF, DKIM y DMARC y lo elimina (cfg/zustellung_lib.php).
- C4 – cumplido. Lo que los visitantes escriben en un formulario de contacto es una comunicación electrónica dirigida a una empresa con contenido arbitrario. En el sitio web de una consulta médica, un despacho de abogados, un servicio de asesoramiento o un centro escolar, cabe esperar datos del Art. 9 o relativos a niños. Las directrices mencionan expresamente las comunicaciones electrónicas confidenciales en este criterio.
- C3 – dudoso, más bien cumplido. Cada mensaje se copia de forma planificada y continua y se evalúa automáticamente, sin que el remitente lo advierta. La finalidad es comprobar la vía de correo, no observar a personas. Sin embargo, la circunstancia con la que las directrices justifican el criterio (los interesados no saben quién recibe sus datos) concurre plenamente mientras el Cliente no informe a sus visitantes.
- C7 – según el Cliente. Pacientes, clientes de despachos de abogados, candidatos a un empleo, padres y alumnos se encuentran a menudo en una relación de dependencia respecto del destinatario de su mensaje.
- C5 – dudoso, no. No es a gran escala para cada Cliente individual. En formexposed, las copias de muchos Clientes confluyen en un buzón; ello aumenta la gravedad de una violación, no el número por responsable.
- Otros criterios – no cumplidos. La asignación a dominio y prueba no es una asociación de conjuntos de datos sobre personas; la tecnología no es nueva.
Resultado intermedio P6: C4 cumplido, C3 dudoso y más bien cumplido, C7 cumplido para muchos Clientes típicos. Por tanto, en la constelación típica se cumplen dos o más criterios. Es necesaria una EIPD, como obligación del Cliente, que es el responsable del tratamiento. Las secciones 6 a 11 le facilitan los hechos para ello.
P7 – Protección colectiva (swarm)
Los sitios web de WordPress conectados comunican una vez al día los dominios de los enlaces contenidos en mensajes que su capa de protección ha detenido. Un dominio que aparece en al menos tres sitios web distintos con al menos cinco coincidencias en un plazo de siete días pasa a una lista compartida; la lista se devuelve a todos los sitios web conectados, que a continuación envían a cuarentena los mensajes con enlaces a ese dominio (cfg/swarm_lib.php).
- C6 – cumplido. Las comunicaciones de muchos sitios web independientes entre sí, es decir, de distintos responsables, se combinan y se devuelven a todos ellos como lista compartida.
- C1 – cumplido, en la medida en que un dominio pueda atribuirse a una persona física. La lista es una clasificación como fuente de spam. Las directrices citan como ejemplo de este criterio el cotejo con una base de datos compartida sobre fraude. La mayoría de los dominios de una lista así pertenecen a empresas o son dominios desechables; no obstante, el dominio de una persona puede acabar en ella, con razón o mediante comunicaciones falsas introducidas deliberadamente.
- C9 – dudoso. Un mensaje con un enlace incluido en la lista no llega de inmediato al destinatario, sino que queda en su cuarentena hasta que lo libera. No se pierde.
- C2 – no cumplido. La cuarentena es una consecuencia automatizada para un mensaje, sin efectos jurídicos y con liberación humana por parte del destinatario.
- Otros criterios – no cumplidos. Las redes IP están desactivadas (
swarm_ip_enabled= 0,cfg/swarm_lib.php).
Resultado intermedio P7: dos criterios (C6, C1) y un caso dudoso (C9). Se alcanza el umbral; formexposed realiza la evaluación como responsable del tratamiento. Con las redes IP activadas, C1 y C6 se cumplirían sin restricciones; su activación requiere una nueva versión de esta evaluación (sección 12). Según la medición en el sistema de desarrollo, no hay comunicaciones ni entradas en la lista.
P8 – Cuentas de clientes, inicio de sesión, registros, soporte, correo electrónico, pagos
- C1 y C9 – no cumplidos. Un comportamiento llamativo en la comprobación gratuita da lugar a una anotación con la dirección IP (
cfg/check_lib.php) y, en su caso, al rechazo de nuevas comprobaciones. Se trata de prevención de abusos con escaso efecto, no de una evaluación de aspectos personales. - Otros criterios – no cumplidos. Son los datos habituales de un servicio para empresas.
Resultado intermedio P8: no se requiere EIPD. Las operaciones de tratamiento se describen en el Registro de las actividades de tratamiento.
P9 – Cifras del plugin, errores de campos, grabador, distintivo, portal de clientes, «Fix it for me»
- El plugin y la extensión transmiten cifras diarias, el inventario de plugins y categorías de error, y el plugin de WordPress transmite además dominios de enlace para la protección colectiva (activada por defecto) (P7); ningún contenido, dirección, nombre ni IP de visitantes; el grabador conserva selectores durante como máximo 15 minutos en el navegador del administrador. No se cumple ningún criterio.
- Al cargarse, el distintivo transfiere los datos de conexión habituales al registro del servidor web, sin cookie. No se cumple ningún criterio.
- El portal de clientes trata las direcciones de correo electrónico de los suscriptores con doble opt-in por cuenta de la agencia. No se cumple ningún criterio.
- «Fix it for me» hace que un modelo de lenguaje en nuestro propio servidor reescriba el código de formulario pegado; el código no se almacena. C8 en forma débil, nada más.
Resultado intermedio P9: no se requiere EIPD.
3.4 La lista de la autoridad de control polaca conforme al Art. 35(4)
La autoridad competente es el Presidente de la Oficina de Protección de Datos Personales (Prezes Urzędu Ochrony Danych Osobowych, UODO). El Presidente publicó la lista de los tipos de operaciones de tratamiento que requieren una EIPD en la comunicación de 17 de junio de 2019 (Komunikat Prezesa Urzędu Ochrony Danych Osobowych z dnia 17 czerwca 2019 r. w sprawie wykazu rodzajów operacji przetwarzania danych osobowych wymagających oceny skutków przetwarzania dla ich ochrony, Monitor Polski 2019, posición 666). La lista asigna sus entradas a los criterios de las directrices WP248, ofrece ejemplos y no es expresamente exhaustiva; no sustituye a la evaluación conforme al Art. 35(1).
Según nuestra lectura, los siguientes tipos de tratamiento de la lista se corresponden en lo sustancial con operaciones de tratamiento de formexposed:
| Tipo de tratamiento según la lista (parafraseado) | Criterio asignado | Operación de tratamiento en formexposed | Valoración |
|---|---|---|---|
| Comparación, evaluación o deducción basada en el análisis de datos de distintas fuentes | C6 | P7 Protección colectiva | aplicable |
| Evaluación o puntuación, incluida la elaboración de perfiles | C1 | P7 Protección colectiva; P1 y P2 como casos dudosos | aplicable a P7 |
| Tratamiento de categorías especiales de datos personales | C4 | P6 Comprobación de entrega | aplicable según el Cliente |
| Uso innovador o aplicación de soluciones tecnológicas | C8 | P1 a P4 (modelo de lenguaje para la clasificación) | aplicable en forma débil |
| Tratamiento a gran escala | C5 | P3 Estudio | aplicable a listas grandes |
| Observación sistemática de lugares de acceso público, incluso con reconocimiento de características | C3 | – | no aplicable: se refiere a lugares, no a sitios web |
Esta asignación es una lectura, no una cita; el tenor de las entradas debe cotejarse con ella en la revisión jurídica. Confirma el resultado de la sección 3.3, pero no lo modifica. Según nuestro conocimiento, la UODO no ha publicado una lista conforme al Art. 35(5), es decir, de operaciones de tratamiento para las que no se requiere una EIPD.
3.5 Resultado de la evaluación del umbral
| Operación de tratamiento | Cumplido | Dudoso | Resultado |
|---|---|---|---|
| P1 Comprobación gratuita | C8 (débil) | C1, C5 | no obligatoria; incluida |
| P2 Comprobación de clientes potenciales | C8 (débil) | C1 | no obligatoria; incluida |
| P3 Estudio | C8 (débil), C5 en listas grandes | – | necesaria (obligación de formexposed) |
| P4 Comprobación de dominios de Clientes | C8 (débil) | C4 (comprobación de archivos) | no obligatoria; incluida |
| P5 Escaneo tras el inicio de sesión | – | C4 | no obligatoria; incluida; para el Cliente, según el contenido |
| P6 Comprobación de entrega | C4; C7 según el Cliente | C3 (más bien cumplido), C5 | necesaria (obligación del Cliente; esta página presta asistencia conforme al Art. 28(3)(f)) |
| P7 Protección colectiva | C6, C1 | C9 | necesaria (obligación de formexposed) |
| P8 Cuentas, registros, soporte, pagos | – | – | no necesaria |
| P9 Cifras del plugin, distintivo, portal, «Fix it for me» | C8 (débil, solo «Fix it for me») | – | no necesaria |
Resultado respecto del Art. 35(1): Es necesaria una EIPD para determinadas operaciones de tratamiento de formexposed. Es necesaria para la protección colectiva y para los estudios del tamaño previsto, y formexposed la realiza como responsable del tratamiento. Para la comprobación de entrega es necesaria en la constelación típica, pero como obligación del Cliente; formexposed facilita la base. Para las demás comprobaciones de sitios web de terceros y propios no es obligatoria. No obstante, las incluimos porque utilizan la misma tecnología, porque varios casos dudosos apuntan en la misma dirección y porque los interesados (titulares sin cuenta y personas que aparecen en las páginas comprobadas) no saben nada del tratamiento. No se requiere evaluación para las cuentas, los registros, el soporte y los pagos.
Por tanto, las secciones 6 a 10 se aplican a P1 a P7. Cuando una afirmación se refiere únicamente a una de estas operaciones de tratamiento, se indica así.
4. Delegado de protección de datos: la evaluación conforme al Art. 37
No se ha designado ningún delegado de protección de datos. El Art. 37(1) obliga por igual al responsable y al encargado del tratamiento; por tanto, la cuestión nos atañe directamente. Los tres supuestos legales:
| Art. 37(1) | Requisito | Resultado |
|---|---|---|
| letra a) | Autoridad u organismo público | No aplicable; LW IT Solutions Company Lukas Wójcik es una empresa individual privada. |
| letra b) | Las actividades principales consisten en operaciones de tratamiento que requieren una observación habitual y sistemática de interesados a gran escala | La actividad principal es la comprobación y monitorización de sitios web y formularios, de forma habitual y sistemática. Sin embargo, no se observa a personas: el rastreador no observa comportamientos, y la comprobación de entrega solo evalúa los correos electrónicos en cuanto a su entrega y autenticidad. No se cumple. |
| letra c) | Las actividades principales consisten en el tratamiento a gran escala de datos de los Art. 9 o 10 | No por diseño. Pueden llegarnos categorías especiales a través de la copia de control de la comprobación de entrega; ello es incidental, no una actividad principal. No se cumple. |
A nuestro juicio, por tanto, no existe obligación de designarlo. Si el Derecho polaco exige una designación más allá de esto conforme al Art. 37(4) es una cuestión abierta para la revisión jurídica. Dado que no se ha designado ningún delegado de protección de datos, no procede el asesoramiento previsto en el Art. 35(2). Si la revisión jurídica concluye que existe obligación de designarlo, se recabará el asesoramiento del delegado de protección de datos entonces designado antes de aprobar esta evaluación (sección 12). La persona de contacto para preguntas sobre esta evaluación es el titular, en contact@lukaswojcik.com.
5. Método, fuentes y límites de esta versión
Los hechos de este documento proceden del código fuente de la aplicación y del escáner, del esquema de la base de datos y de recuentos de filas y ajustes del sistema de desarrollo, medidos el 11 de octubre de 2026. Se accedió a la base de datos y a los servidores solo en modo de lectura. Cuando una medición contradice una intención, incluida una afirmación de nuestros propios documentos legales, comunicamos la medición. No aplicamos códigos de conducta aprobados conforme al Art. 40, cuyo cumplimiento debería tenerse en cuenta conforme al Art. 35(8).
- Se midió el sistema de desarrollo. El servicio aún no se ha lanzado. Por tanto, las cifras son pequeñas y en parte artefactos de las pruebas: 112 comprobaciones, 110 de ellas sin dominio de Cliente; 432 capturas de pantalla; 2 dominios, 1 de ellos verificado; ninguna comprobación de entrega activada; ninguna cuenta de prueba guardada para el escaneo tras el inicio de sesión; ningún estudio; ninguna comunicación en la protección colectiva. Las mediciones deben repetirse antes del lanzamiento y, después, a intervalos regulares.
- No se midieron en esta versión y deben añadirse antes de la aprobación: la configuración del sistema de producción, incluido si el buzón de control está configurado allí y cómo, y si allí está configurado el par de claves para el escaneo tras el inicio de sesión; si el software del modelo de lenguaje registra las solicitudes; el estado de la administración de servidores (R13); el contrato con el proveedor de servicios de correo electrónico.
- No pudo medirse cuántos mensajes reales de visitantes pasarán por la copia de control ni de qué sectores procederán los Clientes. Ambos factores determinan el peso de R1 y R2 y deben determinarse tras el lanzamiento.
- Las referencias de origen remiten a archivos y funciones del código fuente del sistema de desarrollo. Lo determinante es la función descrita, no su ubicación en el archivo.
Este documento es un borrador. Aún no ha sido aprobado por el responsable del tratamiento (sección 12), y dos de sus conclusiones (la valoración de la escala para P1 y P3 y el peso de la comprobación de entrega) dependen de cifras que solo existirán tras el lanzamiento.
6. a) Descripción sistemática de las operaciones de tratamiento y de sus fines
6.1 Cómo está estructurado el sistema de comprobación
formexposed funciona en servidores propios en Polonia, sin un proveedor de alojamiento externo: un servidor web con la aplicación y la base de datos, y un servidor de escaneo con el servicio de comprobación y un modelo de lenguaje local, ambos en la misma red interna. Una comprobación se desarrolla del siguiente modo:
- La aplicación crea una tarea en la base de datos, con sujeción a los límites y bloqueos expuestos en la sección 6.3.
- El servicio de comprobación del servidor de escaneo recoge la tarea, vuelve a comprobar la lista de bloqueo, los nombres de host y, en las comprobaciones anónimas, la antigüedad del dominio, e inicia un contenedor aislado exclusivamente para esa tarea: red propia con reglas de filtrado propias, sin privilegios especiales, sistema de archivos de solo lectura, límites de memoria y de procesos, y un límite de tiempo (
scanner/src/worker.js). - Dentro del contenedor, un navegador automatizado consulta como máximo ocho páginas públicas, primero la página de inicio y después, preferentemente, las páginas de contacto, aviso legal y soporte. Antes lee el robots.txt; una exclusión para FormExposedBot o para todos los rastreadores que abarque la página de inicio pone fin a la comprobación, al igual que un robots.txt inaccesible o un error del servidor al consultarlo (
scanner/src/net.js). Las prohibiciones para subrutas concretas no se respetan por separado. El pulso del formulario, la consulta de la prueba, la herramienta de cabeceras y la búsqueda de archivos expuestos no leen el robots.txt. Además de las ocho páginas, hay hasta tres páginas con un clic en «Rechazar» en el banner de cookies, hasta tres páginas en vista móvil, sondeos activos para dominios verificados y hasta cinco páginas tras un inicio de sesión; las páginas se cargan una tras otra, no en paralelo. Cada solicitud del navegador, incluidas las redirecciones y el contenido integrado, pasa por un filtro que rechaza las redes privadas y otros puertos. - El contenedor escribe un resultado y las capturas de pantalla en un directorio temporal. El servicio de comprobación transmite el resultado y las imágenes a la aplicación a través de la red interna y elimina el directorio temporal, incluso tras un error (
scanner/src/worker.js). - La aplicación procesa el resultado, lo compara con la comprobación anterior en el caso de los dominios de Clientes y comunica los cambios a los destinos que el Cliente ha configurado.
6.2 Qué almacena el rastreador y qué no
| Elemento | Qué se almacena | Qué no se almacena | Referencia de origen |
|---|---|---|---|
| Páginas | Dirección, estado HTTP, cabeceras, Content Security Policy, hosts de terceros solicitados (como máximo 120) | Contenido de la página como texto o HTML | scanner/src/crawl.js |
| Campos de formulario | Tipo, nombre, etiqueta, placeholder, campo obligatorio, visibilidad, longitud de un valor existente | Valores de los campos; en los campos ocultos, los primeros 24 caracteres del valor solo se leen durante la comprobación (para detectar tokens) | scanner/src/crawl.js |
| Direcciones de destinatario en el formulario | solo el dominio | la dirección | scanner/src/crawl.js |
| Scripts | Inventario con suma de comprobación; direcciones y texto inicial sin identificadores de cuenta de servicios de publicidad y analítica | Identificadores de cuenta y de píxel | scanner/src/crawl.js |
| Fisgones | qué píxeles publicitarios y herramientas de grabación se cargan antes y después de hacer clic en «Rechazar» en el banner de cookies, y si enmascaran las entradas | Identificadores de las cuentas en estos servicios | scanner/src/mitleser.js, scanner/src/einwilligung.js |
| Texto del formulario | hasta 400 caracteres se envían al modelo de lenguaje local si las reglas no reconocen el tipo | Comunicación a terceros; almacenamiento del texto | scanner/src/classify.js |
| Capturas de pantalla (rastreador) | zona visible de la primera página; por cada formulario visible, una imagen del elemento del formulario | – | scanner/src/crawl.js |
| Capturas de pantalla (comprobación activa) | Imagen de la página de respuesta al envío de prueba; además, el estado, la dirección de destino, el título y los primeros 300 caracteres de su texto | – | scanner/src/active.js |
| Capturas de pantalla (recorridos con navegador) | Imagen del formulario con los campos de entrada ennegrecidos, comprimida, como máximo 32 KB | Entradas | scanner/src/browser.js |
| Tras el inicio de sesión | como en los campos de formulario anteriores | Capturas de pantalla, cookies, enlaces | scanner/src/login.js |
Por diseño, estos elementos no contienen datos personales, pero sí de forma incidental: el nombre de una persona de contacto junto al formulario, una foto del equipo en la página de inicio, un número de teléfono en una etiqueta, el dominio de correo electrónico de una persona, un nombre en un placeholder. Tras el inicio de sesión se añaden datos de la cuenta de prueba y, según el sitio web, de otros usuarios.
6.3 Quién desencadena una comprobación y qué se aplica entonces
| Desencadenante | Nivel de confianza en la tarea | Envíos de prueba | Resultado accesible a través de | Eliminación |
|---|---|---|---|---|
| Alguien introduce un dominio en la página de inicio (comprobación gratuita) | anónimo | no | Informe en un enlace aleatorio | 30 días, incluidas las imágenes (cfg/check_lib.php) |
| Plugin o extensión sin cuenta | plugin | no | Informe en un enlace aleatorio | 30 días |
| Agencia para un cliente potencial | registrado | no | Breve diagnóstico e informe en un enlace aleatorio | 90 días (cfg/akquise_lib.php) |
| Cliente, dominio sin prueba | registrado | no | Cuenta; informe en un enlace aleatorio | 13 meses, se conserva la última comprobación |
| Cliente, dominio con prueba | verificado | sí, como máximo cinco por comprobación | Cuenta; informe en un enlace aleatorio | 13 meses, se conserva la última comprobación (cfg/fristen_lib.php) |
| Estudio | interno | no | solo totales tras la publicación | al publicarse; sin publicación, sin límite temporal (R4) |
| Comprobación interna desde la línea de comandos por parte del proveedor | interno; para nuestros propios dominios de prueba y demostración también «verificado» | no; con el nivel «verificado», sí (solo nuestros propios dominios de prueba y demostración) | solo internamente | sin límite temporal (R4) |
Delante de la comprobación gratuita hay varias capas (cfg/check_lib.php): una parada de emergencia; reCAPTCHA; el mismo dominio como máximo una vez cada siete días (después se muestra el informe existente); límites por dirección IP, por sesión (como valor hash, nunca el propio identificador de sesión) y para todo el servicio por día; la lista de bloqueo procedente del opt-out y del robots.txt; la comprobación de que el dominio apunta a direcciones públicas; y un bloqueo para dominios muy recientes o desconocidos. Las anomalías (muchos dominios distintos desde una misma dirección IP, muchas solicitudes en poco tiempo) se anotan con la dirección IP y desencadenan una señal sin contenido (cfg/check_lib.php).
6.4 Comprobación de dominios en la cuenta del Cliente
El Cliente demuestra que está autorizado a controlar un dominio: mediante un registro DNS, una metaetiqueta, un archivo o a través de nuestro plugin (cfg/verify_lib.php). Solo entonces se considera verificado el dominio. El planificador de la monitorización solo programa comprobaciones periódicas para dominios activos, monitorizados y verificados (cfg/monitor_lib.php).
- Los envíos de prueba activos están sujetos a dos filtros: la aplicación solo activa el modo activo para Clientes en dominios verificados (para nuestros propios dominios de prueba y demostración, el proveedor puede crear una comprobación con el nivel «verificado» mediante una herramienta interna de línea de comandos), y el servicio de comprobación vuelve a comprobar el nivel de confianza y la parada de emergencia
fc_active_enabled(scanner/src/worker.js). Solo puede enviarse un formulario que las reglas reconozcan con alta certeza como formulario de contacto general, que no tenga campos obligatorios para datos personales reales y cuyo dominio no parezca corresponder a una autoridad pública, centro educativo, clínica, consulta médica, policía o tribunal (scanner/src/classify.js). El modelo de lenguaje no puede hacer que un formulario sea enviable (scanner/src/classify.js). Por comprobación se realizan como máximo cinco envíos (fc_active_max_posts), claramente marcados, con el remitentedummy@formexposed.com, una dirección bajo.invalidpara probar la validación del correo electrónico y una línea de cabecera adicional inofensiva para detectar la inyección de cabeceras (scanner/src/active.js). - Los recorridos con navegador comprueban en un navegador los recorridos de formulario configurados hasta justo antes del envío. Solo se permiten solicitudes GET y HEAD; todo lo demás se interrumpe, al igual que las direcciones que contienen palabras relativas a cerrar sesión, eliminar, comprar o pagar (
scanner/src/browser.js). Para la comprobación, los campos obligatorios se rellenan con valores inventados que nunca salen del navegador. - Los archivos expuestos se buscan semanalmente, solo en dominios verificados, con como máximo una consulta por ruta, como máximo 8 KB, y sin almacenar nunca el contenido (
cfg/dateien_lib.php). - Una segunda sonda independiente está preparada y desactivada por defecto (
browser_probe_enabled= 0). Si se activara, solo recibiría el dominio, la dirección, el selector, los pasos y la elección del navegador, nunca credenciales, capturas de pantalla ni datos de visitantes (cfg/formular_probe_lib.php).
6.5 Escaneo tras el inicio de sesión
Requisitos: la función está configurada, el dominio está verificado y el Cliente tiene un plan de pago y es propietario o administrador del espacio de trabajo (cfg/login_lib.php); confirma que la cuenta es una cuenta de prueba con los mínimos derechos posibles (cfg/login_lib.php).
- El nombre de usuario y la contraseña se cifran de inmediato en el servidor web con la clave pública del servidor de escaneo: una clave de un solo uso por registro (X25519), derivación de claves (HKDF-SHA256), AES-256-GCM, vinculado al dominio (
cfg/login_lib.php). Solo el servicio de comprobación del servidor de escaneo dispone de la clave privada (scanner/src/geheim.js). Quien tenga el servidor web, la base de datos o una copia de seguridad solo tiene texto cifrado. - La interfaz solo muestra el primer carácter y la longitud del nombre de usuario (
cfg/login_lib.php). Las credenciales nunca se muestran, nunca se registran y nunca se devuelven a través de la API. - Para una comprobación, la aplicación adjunta el texto cifrado a la tarea. El servicio de comprobación lo descifra, vacía de inmediato el campo de la tarea y transmite las credenciales al contenedor solo a través de la entrada estándar, nunca como argumentos de línea de comandos (
scanner/src/worker.js). Los restos en tareas interrumpidas los depura el proceso de estado al cabo de una hora (cfg/login_lib.php). - Dentro del contenedor, el navegador inicia sesión. Interrumpe el proceso si la página de inicio de sesión redirige a otro host, si el formulario de inicio de sesión lleva un CAPTCHA (no eludimos los CAPTCHA) o si después del envío sigue visible un campo de contraseña (
scanner/src/login.js). A continuación, vacía el campo de contraseña en la memoria de la página y olvida las credenciales (scanner/src/login.js). - Lee como máximo cinco páginas del mismo dominio indicadas por el Cliente. Se bloquean las direcciones que contienen palabras relativas a cerrar sesión, eliminar, borrar o cancelar (
scanner/src/login.js). Tras el inicio de sesión no se envía nada, no se toman capturas de pantalla y las cookies y los enlaces no acaban en el resultado (scanner/src/login.js). - La eliminación es definitiva: el texto cifrado se sobrescribe con datos aleatorios de la misma longitud, se elimina la fila y se depuran las tareas pendientes (
cfg/login_lib.php). Al eliminar el dominio, la fila desaparece automáticamente mediante una clave externa.
6.6 Comprobación de entrega
La comprobación de entrega responde a la pregunta de si un correo electrónico del formulario de contacto llega realmente y evalúa sus características de autenticidad. Es opcional, está desactivada por defecto y requiere que se haya configurado un buzón de control (cfg/zustellung_lib.php).
- Si el Cliente la activa, el dominio recibe una etiqueta aleatoria. El Cliente introduce la dirección de control con esta etiqueta como copia oculta en su formulario.
- A partir de entonces, cada correo electrónico del formulario llega también al buzón de control: nuestros envíos de prueba marcados y todos los mensajes reales de los visitantes. Los correos electrónicos van directamente al buzón en Namecheap, Inc. (Private Email), Phoenix, Arizona, USA (solo llegan si los registros MX de nuestro dominio apuntan allí; mediante un reenvío, por ejemplo en el registrador de dominios Namecheap, Inc., no llegan al buzón) y permanecen allí hasta que se recogen.
- El proceso de estado recoge el buzón cada cinco minutos (
srv/cron_status.php). De cada correo electrónico lee las cabeceras y como máximo los primeros 8 KB del texto, sin marcarlos como leídos (cfg/zustellung_lib.php). - A partir de las cabeceras determina la etiqueta y, con ella, el dominio, y a partir del texto, en su caso, el identificador de nuestra prueba (
cfg/zustellung_lib.php). Se almacenan la hora, el dominio y, en su caso, el identificador de la prueba (cfg/zustellung_lib.php), durante 180 días (cfg/zustellung_lib.php). - A partir de las cabeceras evalúa SPF, DKIM y DMARC y almacena el resultado junto al dominio: los resultados de la comprobación, el dominio de la dirección del remitente, los dominios de las firmas y la dirección del servidor de correo emisor (
cfg/zustellung_lib.php). Si el resultado empeora, se envía una vez al Cliente una alerta que puede mencionar el dominio remitente (cfg/zustellung_lib.php). - A continuación marca para su eliminación cada correo electrónico recogido, incluido uno que no haya podido asignarse a ningún dominio, y lo elimina del buzón al final del proceso (
cfg/zustellung_lib.php). Si el proceso se interrumpe antes, los correos electrónicos permanecen hasta el siguiente proceso correcto. - Solo la copia de exactamente la prueba de que se trate cuenta como prueba de entrega (
cfg/zustellung_lib.php). Si no llega en un plazo de tres horas (delivery_wait_h), el servicio comunica «Entrega no recibida».
El texto de los mensajes reales nunca se escribe en la base de datos, y tampoco la dirección del visitante. No obstante, ambos se leen: la recogida carga en memoria los primeros 8 KB de cada correo electrónico para buscar el identificador de la prueba.
6.7 Protección colectiva (swarm)
- La capa de protección del plugin de WordPress detiene un mensaje como spam y cuenta los dominios de los enlaces que contiene. Una vez al día, el plugin nos comunica estos dominios con su número de coincidencias, como máximo 60 al día; sin direcciones, sin texto, sin direcciones IP (
cfg/swarm_lib.php). - Una vez al día elaboramos la lista a partir de ello: un dominio se incluye en ella si en un plazo de siete días lo han comunicado al menos tres sitios web distintos y con al menos cinco coincidencias (
swarm_min_sites,swarm_window_days,cfg/swarm_lib.php). Los grandes servicios de una lista fija de excepciones y los dominios de nuestros Clientes, en ambos casos incluidos los subdominios, nunca se incluyen en la lista (cfg/swarm_lib.php). - La lista se envía a todos los sitios web conectados con la respuesta a la comunicación diaria. Su capa de protección envía a cuarentena, no a la papelera, los mensajes con enlaces a dominios incluidos en la lista.
- Lo que ya no aparece en la nueva lista desaparece; las comunicaciones se eliminan tras 30 días (
cfg/swarm_lib.php). - Las redes IP (/24 o /48) están preparadas, pero desactivadas hasta que concluya la revisión jurídica (
cfg/swarm_lib.php).
6.8 Uso de inteligencia artificial
Un modelo de lenguaje funciona en nuestro propio servidor de escaneo, no en un proveedor de IA. Se utiliza en dos lugares: en el servicio de comprobación clasifica los formularios cuyo tipo no reconocen las reglas; para ello ve el título de la página, la dirección de la página, las etiquetas de los botones de envío, los tipos de campo, los nombres, las etiquetas y los placeholders, y hasta 400 caracteres del texto del formulario (scanner/src/classify.js). Solo se le consulta si las reglas devuelven «desconocido»; los formularios así clasificados nunca se envían y no cuentan para la puntuación ni el veredicto. La puntuación, el veredicto, la prevención de abusos, la protección colectiva y las reglas antispam son reglas fijas, no IA. En «Fix it for me», reescribe el código de formulario pegado; el código no se almacena. El modelo no toma decisiones sobre personas. Más información en la página Reglamento de IA de la UE: cómo utiliza formexposed la IA.
6.9 Bases jurídicas
| Operación de tratamiento | Base jurídica |
|---|---|
| P1 Comprobación gratuita: comprobación del dominio solicitado; límites y prevención de abusos | respecto de la persona solicitante, Art. 6(1)(b); respecto del titular y de las personas representadas, Art. 6(1)(f); prevención de abusos, Art. 6(1)(f) |
| P2 Comprobación de clientes potenciales | Art. 6(1)(f) (interés legítimo de la agencia y de formexposed) |
| P3 Estudio | Art. 6(1)(f) |
| P4 Comprobación de dominios de Clientes | Art. 6(1)(b) respecto del Cliente; para datos de terceros en su sitio web, las instrucciones del Cliente conforme al Art. 28 |
| P5 Escaneo tras el inicio de sesión | Instrucciones del Cliente conforme al Art. 28; la base jurídica del Cliente |
| P6 Comprobación de entrega | Instrucciones del Cliente conforme al Art. 28; la base jurídica del Cliente (en nuestro texto sugerido para Clientes, Art. 6(1)(f)) |
| P7 Protección colectiva | Art. 6(1)(f) (defensa común contra el spam en muchos sitios web) |
Nuestro interés legítimo en P1 a P3 consiste en mostrar a los titulares y a sus proveedores de servicios las debilidades de sus formularios antes de que se aprovechen para spam o abusos, y en prestar el servicio. Los datos proceden de fuentes de acceso público. La ponderación de intereses se expone en la sección 7; si el Art. 6(1)(f) ampara la comprobación de sitios web de terceros a petición es una cuestión abierta para la revisión jurídica.
6.10 Destinatarios y transferencias a terceros países
| Destinatario | Qué | Operación de tratamiento | Estado |
|---|---|---|---|
| Nadie fuera de formexposed | Resultados de comprobación, capturas de pantalla, clasificación por el modelo de lenguaje | P1–P5 | El servicio de comprobación y el modelo de lenguaje funcionan en nuestros propios servidores; en la ruta de comprobación del rastreador no se ha encontrado ninguna llamada a terceros salvo al propio sitio web comprobado, a los servicios cuyo contenido integra (como con cualquier visitante) y al servicio RDAP rdap.org para la antigüedad del dominio (solo el nombre de dominio); las vigilancias de la monitorización figuran en la fila siguiente |
| Cualquiera que conozca el enlace | Informe con hallazgos y capturas de pantalla | P1, P2, P4 | enlace aleatorio de 128 bits (cfg/check_lib.php), páginas con noindex (www/report.php) |
| Servicios consultados por la monitorización de un dominio de Cliente | Listas de bloqueo DNS (SpamCop, PSBL, Mailspike, SURBL): dominios y direcciones IP de servidores, ningún dato de visitantes; Google Web Risk solo si está configurado: la dirección de la página de inicio; autoridades de sellado de tiempo Certum y DigiCert: solo un valor hash del registro probatorio; RDAP a través del registro de la IANA: solo el nombre de dominio; páginas de estado de los proveedores: no se transmite nada; wpvulnerability.net: identificador de un plugin (sin versión) o tema y la versión de WordPress | P4 | en uso; detalles en el Registro de las actividades de tratamiento y en la página Subencargados del tratamiento |
| Namecheap, Inc. (Private Email), Phoenix, Arizona, USA | Copias de control, incluidos mensajes reales de visitantes | P6 | Contrato aún no celebrado; lugar de tratamiento y mecanismo de transferencia pendientes de examen |
| Namecheap, Inc. (EE. UU.) | Registrador y DNS; hasta que se configure el buzón, reenvío de los correos electrónicos generales a direcciones de nuestro dominio, no de las copias de control (estas solo llegan al buzón mediante registros MX que apuntan directamente a él) | – (sin copias de control) | Mecanismo de transferencia pendiente de examen |
| Canales de alerta elegidos por el Cliente (correo electrónico, webhook, Slack, Discord, Microsoft Teams, Google Chat, Telegram) | Evento, dominio, enlace; para la comprobación de autenticidad, el dominio remitente si no pertenece al sitio web | P4, P6 | destino elegido por el Cliente; en parte fuera de la UE. Enviamos los mensajes de Telegram a través de nuestro bot; el mecanismo de transferencia correspondiente es una cuestión abierta para la revisión jurídica |
| Todos los sitios web conectados | Lista de dominios de enlace | P7 | a través de la respuesta al plugin |
| Segunda sonda | Dominio, dirección del formulario, selector, pasos | P4 | desactivada |
6.11 Conservación, medida, no pretendida
La eliminación se produce mayoritariamente de noche, a las 03:00, en el proceso de estado (srv/cron_status.php, cfg/fristen_lib.php); las comunicaciones de la protección colectiva y las filas de clientes potenciales se eliminan diariamente a partir de las 04:00, las asignaciones de la comprobación de entrega en cada recogida; los informes anónimos y de clientes potenciales se eliminan a través de su fecha de caducidad (cfg/check_lib.php). Las capturas de pantalla se eliminan del disco junto con su escaneo (cfg/fristen_lib.php).
| Datos | Plazo según el código | Referencia de origen | Constatación |
|---|---|---|---|
| Comprobación gratuita, incluidas las imágenes | 30 días | cfg/check_lib.php | efectivo |
| Comprobación de clientes potenciales, incluidas las imágenes | 90 días | cfg/akquise_lib.php; srv/cron_status.php (filas de clientes potenciales) | efectivo |
| Comprobaciones de un dominio de Cliente | 13 meses; la última se conserva mientras exista el dominio | cfg/fristen_lib.php | efectivo |
| Resultados de los recorridos con navegador, incluidas las imágenes ennegrecidas | 13 meses | cfg/fristen_lib.php | efectivo |
| Datos de un dominio eliminado | de inmediato; huérfanos por la noche | cfg/fristen_lib.php (fe_domain_loeschen(), fe_fristen_lauf()) | efectivo, incluidos el inventario de scripts y los cambios de scripts, que no tienen un plazo de conservación propio más allá de ello (véase el Registro de las actividades de tratamiento) |
| Estudio: datos brutos, incluidas las imágenes | al publicarse | cfg/studie_lib.php | sin publicación, sin límite temporal; la lista de hosts comprobados se mantiene sin límite temporal incluso tras la publicación |
| Comprobaciones internas sin dominio y sin informe | ninguno | – | sin eliminación; medido: 85 comprobaciones con 369 imágenes desde el 22 de septiembre de 2026 (R4) |
| Asignaciones de la comprobación de entrega | 180 días | cfg/zustellung_lib.php | efectivo |
| Resultado de la comprobación de autenticidad junto al dominio | hasta el siguiente resultado o la eliminación del dominio | cfg/zustellung_lib.php | se sobrescribe, sin límite temporal |
| Copias de control en el buzón | hasta la siguiente recogida correcta (intervalo de cinco minutos) | cfg/zustellung_lib.php | copias y copias de seguridad en el proveedor del buzón no verificadas |
| Credenciales para el escaneo tras el inicio de sesión | hasta su eliminación por el Cliente o la del dominio; en la tarea, como máximo hasta el final de la ejecución, restos tras una hora | cfg/login_lib.php | efectivo; en las copias de seguridad solo como texto cifrado durante hasta 14 días |
| Comunicaciones en la protección colectiva | 30 días | cfg/swarm_lib.php | efectivo |
| Límites de la comprobación gratuita (IP, país, hash de sesión) | 7 días | srv/cron_status.php | efectivo |
| Anotaciones sobre comportamientos llamativos con dirección IP | 90 días después de su resolución | srv/cron_status.php | anotaciones no resueltas sin límite temporal; medido: 3 anotaciones, todas resueltas |
| Dirección IP, país y navegador relativos a un opt-out | 12 meses; la exclusión se mantiene | cfg/fristen_lib.php | efectivo |
| Copias de seguridad de la base de datos | 14 días | cfg/backup_lib.php | efectivo; actualmente, las copias de seguridad se guardan en la misma ubicación que la base de datos y no están cifradas por separado; está prevista una copia cifrada en una segunda ubicación (R13) |
7. b) Evaluación de la necesidad y la proporcionalidad
El criterio de referencia son los fines declarados: mostrar a los titulares si sus formularios están protegidos contra el spam y los abusos (P1 a P5), comprobar si los correos electrónicos de los formularios llegan y parecen auténticos (P6) y defenderse conjuntamente contra el spam en muchos sitios web (P7). Estos fines son legítimos. La pregunta del Art. 35(7)(b) es más concreta: ¿es necesario este tratamiento con esta profundidad para el fin, y es la injerencia proporcionada al beneficio?
| Componente | ¿Necesario para el fin? | ¿Proporcionado en la forma implementada? |
|---|---|---|
| Consulta de unas pocas páginas públicas, estructura de los formularios, medidas de protección detectadas | Sí. Sin ellas no hay diagnóstico. | Sí. Como máximo ocho páginas (más las vistas de la sección 6.1), se respeta una prohibición de la página de inicio en el robots.txt, ningún valor de los campos visibles, direcciones de destinatario solo como dominio. |
| Captura de pantalla por formulario | Sí, como prueba en el informe: el titular ve a qué formulario se refiere. | En gran medida. Los campos están vacíos porque el rastreador no escribe nada. Sin embargo, la imagen muestra el entorno del elemento del formulario sin ennegrecer nada (R3). |
| Captura de pantalla de la página de inicio | No es necesaria para el diagnóstico en sí. Sirve para reconocer en el informe el sitio web comprobado. | Solo de forma limitada; está prevista una mayor minimización. Las páginas de inicio muestran a menudo personas: fotos del equipo, personas de contacto, opiniones de clientes con nombres. Véanse R3 y la sección 9.3. |
| Lectura de los valores de campos ocultos (primeros 24 caracteres, solo durante la comprobación) | Sí: a partir de ellos se detectan tokens y marcas de tiempo. | Sí. Solo se almacena el resultado de la detección, no el valor, también tras el inicio de sesión (R8). |
| Página de respuesta al envío de prueba (imagen y 300 caracteres de texto) | Sí, como prueba de cómo respondió el formulario. | Sí. La respuesta se refiere a nuestro mensaje de prueba marcado, sin datos personales. |
| Clasificación por el modelo de lenguaje | Útil, no necesaria: sin ella, más formularios quedan como «desconocido». | Sí. Local, sin comunicación a terceros, sin facultad de envío. |
| Envíos de prueba activos | Sí. Si una protección funciona solo se pone de manifiesto al probarla. | Sí, con límite y marcado. No obstante, el requisito previo (la prueba de control) nunca se renueva (R7). |
| Búsqueda de archivos expuestos | Sí para el Cliente, cuyos datos de formulario pueden estar expuestos allí. | Sí. Solo dominios verificados, como máximo 8 KB, sin almacenar nunca el contenido. |
| Escaneo tras el inicio de sesión | Sí para los formularios del área de miembros, que de otro modo quedarían sin comprobar. | En gran medida. El cifrado y la eliminación están cuidadosamente diseñados; sin embargo, el inicio de sesión acepta conexiones sin cifrar y certificados defectuosos (R8). |
| Copia de control de mensajes reales de visitantes | No para la prueba de entrega. Esta se basa únicamente en la copia de nuestra prueba (cfg/zustellung_lib.php). Los mensajes reales llegan también porque una copia oculta en el formulario no distingue entre una prueba y un mensaje real. Son útiles para la comprobación de autenticidad (SPF, DKIM, DMARC) porque muestran la ruta de envío real. | En parte. El contenido no se almacena, pero se lee, y permanece en el proveedor del buzón, cuyo contrato aún está pendiente, hasta su recogida (R1, R2). Es técnicamente posible un diseño menos invasivo: con nuestro plugin, la copia oculta podría limitarse a los mensajes de prueba marcados (sección 9.3). |
| Almacenamiento del dominio remitente de mensajes reales | En parte: muestra si el formulario envía con la dirección del visitante como remitente (una causa frecuente de clasificación como spam). | Con reservas. Para una persona con dominio propio, el dominio es un dato personal, y figura en la alerta al Cliente y a sus canales (R1). |
| Lista compartida de dominios de enlace | Sí. Un enlace de spam que aparece al mismo tiempo en muchos sitios web es una señal fuerte de la que un sitio web aislado no dispone. | Sí, con números mínimos, excepciones y cuarentena en lugar de eliminación. Las redes IP no serían proporcionadas sin una nueva evaluación. |
| Datos brutos del estudio | Hasta su evaluación, sí. | Sin plazo máximo, no (R4). |
| Informe en un enlace aleatorio | Sí. Transmitir el informe (por ejemplo, al proveedor de servicios que mantiene el sitio web) es la finalidad de la comprobación gratuita. | Sí. Enlace aleatorio de 128 bits, noindex, informe gratuito solo como extracto (cfg/check_lib.php, FE_FREE_DETEKTOREN), eliminación tras 30 días. |
Licitud. Para P1 a P3 y P7 nos basamos en el Art. 6(1)(f). A favor de la ponderación: los datos son públicos y se consultan del mismo modo que lo hace cualquier visitante; no se envía nada; los datos personales son incidentales y escasos; los plazos son breves; el titular puede excluir nuevas comprobaciones del rastreador mediante una prohibición de la página de inicio en el robots.txt, y cualquier nueva comprobación mediante nuestra página de opt-out, de inmediato y sin prueba; el beneficio (un formulario protegido) redunda también en el titular y sus visitantes. En contra: el titular no se entera de la comprobación, el informe está destinado a terceros y, en el caso de empresarios individuales, evalúa a una persona. Consideramos defendible la ponderación mientras se mantengan las medidas de la sección 9.1; la confirmación jurídica está pendiente.
Información a los interesados (Art. 13 y 14). Informamos a los titulares y a las personas que aparecen en las páginas comprobadas a través de la página del rastreador, que se indica en el identificador de cada consulta, a través de la Política de privacidad y a través de la página de opt-out. Informar individualmente a las personas que aparecen de forma incidental en una captura de pantalla solo sería posible si las identificáramos, lo que supondría una injerencia adicional y más grave. En esa medida nos basamos en el Art. 14(5)(b). A los visitantes cuyos mensajes pasan por la copia de control los informa el Cliente; el Contrato de encargo del tratamiento lo exige, y para ello facilitamos un bloque de texto.
Minimización de datos (Art. 5(1)(c)). Es visible en muchos lugares y está fundamentada en el código: ningún valor de campo, direcciones de destinatario solo como dominio, identificadores de cuenta ocultos en las direcciones de scripts, ningún contenido de la copia de control en la base de datos, ninguna captura de pantalla tras el inicio de sesión, solo dominios en la protección colectiva. En dos lugares es posible y está prevista una mayor minimización (sección 9.3): en la captura de pantalla de la página de inicio sin ennegrecer y en el dominio remitente de los mensajes reales.
Limitación del plazo de conservación (Art. 5(1)(e)). Desde el 27 de septiembre de 2026, el proceso nocturno respeta los plazos de la Política de privacidad para los datos de Clientes y depura los datos que hayan quedado sin dominio asociado del período anterior (cfg/fristen_lib.php). Siguen abiertas dos vías sin límite temporal: las comprobaciones internas y los estudios no publicados (R4).
Exactitud (Art. 5(1)(d)). Un diagnóstico puede ser erróneo: un formulario parece desprotegido porque la protección solo se carga tras una interacción, o un cortafuegos trató al rastreador de forma distinta que a un visitante. Para un titular cuyo sitio web circula públicamente como «Expuesto», se trata de una cuestión de reputación. Por ello, el informe indica el método, muestra pruebas y señala los límites de una comprobación desde el exterior.
Resultado sobre la proporcionalidad: La comprobación de sitios web de terceros y propios es, en la forma implementada, esencialmente proporcionada. En tres puntos existe una necesidad de mejora que puede subsanarse con medios ordinarios y para la que hay medidas previstas (sección 9.3): las capturas de pantalla de la página de inicio, las comprobaciones internas sin límite temporal y el inicio de sesión sin cifrar en el escaneo tras el inicio de sesión. La comprobación de entrega es proporcionada respecto de la copia de prueba y de la comprobación de autenticidad; respecto de los mensajes reales de visitantes solo lo es mientras su contenido no se almacene, la vía a través del proveedor del buzón esté asegurada contractualmente y el Cliente informe a sus visitantes. Hoy falta el segundo de estos tres puntos.
8. c) Evaluación de los riesgos para los derechos y libertades de los interesados
Se evalúa el riesgo para los interesados, no para formexposed. La probabilidad se califica como remota, posible, probable o materializada; «materializada» significa que el suceso no es una previsión, sino un estado medido. La gravedad se califica como limitada, significativa, grave o muy grave, según lo que la persona pueda perder: la confidencialidad de su mensaje, el control sobre una cuenta, su reputación profesional, la posibilidad de ejercer un derecho. El nivel resulta de ambas y describe el estado actual con las medidas de la sección 9.1.
| N.º | Riesgo | Operación de tratamiento | Probabilidad | Gravedad | Nivel |
|---|---|---|---|---|---|
| R1 | Mensajes reales de visitantes en la copia de control, incluidas posibles categorías especiales | P6 | Materializada una vez activada | Grave | Alto |
| R2 | Vía de la copia de control a través del proveedor del buzón sin contrato celebrado y con posible vínculo con un tercer país | P6 | Probable mientras falte el contrato | Grave | Alto |
| R3 | Capturas de pantalla de sitios web de terceros sin ennegrecer | P1–P4 | Probable | Limitada | Medio |
| R4 | Datos de comprobación y capturas de pantalla sin vía de eliminación | P3, comprobaciones internas | Materializada | Significativa | Alto |
| R5 | Comprobación y calificación pública de sitios web de terceros sin conocimiento del titular; uso indebido como herramienta de reconocimiento | P1 | Posible | Significativa | Medio |
| R6 | Comprobación de clientes potenciales como base para contactos no solicitados | P2 | Probable | Limitada | Medio |
| R7 | La prueba de control nunca se renueva | P4, P5 | Posible | Significativa | Medio |
| R8 | Credenciales y contenido en el escaneo tras el inicio de sesión | P5 | Posible | Grave | Medio; alto en cuentas reales |
| R9 | Envíos de prueba activos y comprobación de archivos en el sitio web del Cliente | P4 | Remota | Significativa | Bajo |
| R10 | Clasificación por un modelo de lenguaje | P1–P4 | Remota | Limitada | Bajo |
| R11 | Lista de bloqueo compartida a partir de comunicaciones de muchos sitios web | P7 | Posible | Limitada | Bajo a medio; alto con redes IP |
| R12 | Informes y capturas de pantalla en un enlace público | P1, P2, P4 | Posible | Limitada | Bajo |
| R13 | Debilidades de la infraestructura: copias de seguridad, acceso a los servidores, servidor de escaneo | todas | Posible | Grave | Alto |
| R14 | Derechos de los interesados para personas que no nos conocen | P1–P6 | Probable | Limitada | Bajo |
R1 – Mensajes reales de visitantes en la copia de control
Este es el riesgo más grave del servicio, y no surge de un error sino del diseño. Una copia oculta en el formulario no distingue entre nuestro mensaje de prueba y el mensaje de un visitante. Si un Cliente activa la comprobación de entrega, cada mensaje enviado a través de ese formulario llega a nuestro buzón de control (cfg/zustellung_lib.php). La recogida carga en memoria las cabeceras y los primeros 8 KB del texto para buscar nuestro identificador de prueba (cfg/zustellung_lib.php). En un formulario de contacto corriente, eso significa nombre, dirección de correo electrónico, número de teléfono y el mensaje completo.
Lo que escribe el visitante depende de él, y el campo invita a contenido personal: una solicitud de cita describiendo síntomas a una consulta médica, la exposición de un litigio a un despacho de abogados, una candidatura de empleo, una consulta sobre un niño a un centro escolar. Nuestros documentos legales indican que las copias «no deben contener categorías especiales de datos personales». Se trata de una petición al Cliente, no de una medida de protección: ni él ni nosotros sabemos de antemano qué escribirá un visitante.
A ello se suman dos vías secundarias. En primer lugar, la comprobación de autenticidad almacena el dominio de la dirección del remitente junto al dominio (cfg/zustellung_lib.php). Si el formulario envía con la dirección del visitante como remitente, se trata del dominio del visitante: irrelevante en el caso de un gran proveedor de correo, pero un dato personal en el caso de una persona con dominio propio. Este dominio aparece también en la alerta que se envía al Cliente y a los canales que ha elegido (cfg/zustellung_lib.php). En segundo lugar, almacena la dirección del servidor de correo emisor (cfg/zustellung_lib.php); por regla general, es el servidor del sitio web, no el del visitante.
Probabilidad: materializada una vez activada. La cuestión no es si llegan mensajes reales, sino cuántos. Según la medición en el sistema de desarrollo, la función no está activada para ningún dominio. Gravedad: grave. La confidencialidad de un mensaje a una empresa es importante para muchas personas, y para algunos de los Clientes típicos cabe esperar datos del Art. 9. La gravedad se ve atenuada por el hecho de que el contenido no acaba en la base de datos, permanece en el buzón solo brevemente y ninguna persona de formexposed lo lee. Nivel: alto.
R2 – Vía de la copia de control a través del proveedor del buzón sin contrato celebrado
Antes de que nuestra recogida vea una copia de control, esta se encuentra en el buzón de Namecheap, Inc. (Private Email), Phoenix, Arizona, USA. Solo llega allí si los registros MX de nuestro dominio apuntan directamente a este buzón; el reenvío en el registrador de dominios Namecheap, Inc. no es una estación de las copias de control (mediante reenvío no llegan al buzón). Para la estación que queda, los aspectos contractuales siguen pendientes: no se ha celebrado el contrato con el proveedor del buzón, no se han determinado sus lugares de almacenamiento, subencargados y plazos de las copias de seguridad, y está pendiente si para su lugar de tratamiento se requiere y es aplicable una decisión de adecuación o cláusulas contractuales tipo. Para nuestros propios correos electrónicos transaccionales, se trata de una cuestión de diseño contractual. Para las copias de control es más grave: en ese caso se trata de datos que recibimos como encargados del tratamiento, y cada proveedor de servicios en la ruta es un subencargado del que respondemos conforme al Art. 28(4).
Además, «eliminado tras la recogida» solo se aplica a nuestra vista del buzón. No se ha verificado si el proveedor conserva los correos electrónicos eliminados en sus propias copias de seguridad o en una papelera, ni durante cuánto tiempo. Si una recogida se interrumpe, los correos electrónicos permanecen hasta el siguiente proceso correcto (cfg/zustellung_lib.php); si el proceso de estado falla, permanecen indefinidamente. Por último, la protección de la propia recogida es uno de los puntos que deben comprobarse en el sistema de producción antes del lanzamiento (sección 9.3).
Probabilidad: probable mientras falte el contrato: cada copia de control sigue esta vía. Gravedad: grave, por los mismos motivos que R1. Nivel: alto. La lista de configuración de la aplicación indica la falta del buzón como advertencia; no existe ningún bloqueo que impida la comprobación de entrega sin un contrato documentado.
R3 – Capturas de pantalla de sitios web de terceros sin ennegrecer
El rastreador toma una captura de pantalla de la zona visible de la primera página y una imagen del elemento del formulario de cada formulario visible (scanner/src/crawl.js). En ese proceso no se ennegrece nada. Es distinto en los recorridos con navegador: allí, los campos de entrada se enmascaran antes de la captura (scanner/src/browser.js). Por tanto, solo están «depuradas» las imágenes de los recorridos con navegador, no las del rastreador ni la imagen de la página de respuesta de una comprobación activa.
Como el rastreador no escribe nada, los campos del formulario están vacíos. Sin embargo, la página de inicio de una pequeña empresa muestra a menudo al propietario, al equipo, opiniones de clientes con nombres y fotos, o una ventana de chat con la imagen de un empleado. Todo ello es público; la captura de pantalla lo convierte en una copia que se almacena en nuestro sistema, aparece en el informe y puede transmitirse con el enlace.
Probabilidad: probable. En el conjunto de datos del sistema de desarrollo se midieron 432 capturas de pantalla. Gravedad: limitada: el contenido ya es público, y los plazos para las comprobaciones sin cuenta son breves. Nivel: medio, porque las personas representadas no lo saben y la imagen de la página de inicio no es necesaria para el diagnóstico.
R4 – Datos de comprobación y capturas de pantalla sin vía de eliminación
El proceso nocturno elimina las comprobaciones por dos vías: a través de la fecha de caducidad de un informe (cfg/check_lib.php) y a través del plazo para las comprobaciones de un dominio de Cliente (cfg/fristen_lib.php, solo para comprobaciones con dominio). Una comprobación que no tiene ni informe ni dominio escapa a ambas redes. Son las comprobaciones con el nivel de confianza «interno»: estudios y comprobaciones que el proveedor crea desde la línea de comandos.
- Los estudios eliminan sus datos brutos al publicarse (
cfg/studie_lib.php). Si un estudio nunca se publica (porque tiene demasiado pocos sitios web con formulario, en cuyo casocfg/studie_lib.phprechaza la publicación, o porque se deja aparcado), las comprobaciones, formularios, hallazgos y capturas de pantalla permanecen sin límite temporal. - Las comprobaciones internas desde la línea de comandos no tienen ninguna vía de eliminación. Medido el 11 de octubre de 2026: 85 comprobaciones de este tipo de sitios web de terceros con 978 formularios y 369 capturas de pantalla, la más antigua del 22 de septiembre de 2026, ninguna con informe ni dominio.
- Las anotaciones sobre comportamientos llamativos en la comprobación gratuita contienen la dirección IP y se eliminan 90 días después de su resolución (
srv/cron_status.php). Una anotación que nunca se resuelve permanece. Medido: tres anotaciones, todas resueltas.
Probabilidad: materializada. Las 85 comprobaciones no son un escenario, sino datos existentes. En el sistema de desarrollo son comprobaciones de una prueba de campo; en el sistema de producción se aplica el mismo código. Gravedad: significativa: no existe plazo de conservación para estos datos. En relación con el principio de limitación del plazo de conservación (Art. 5(1)(e)), se trata de un punto abierto con una medida prevista (sección 9.3, prioridad «primero»), y afecta precisamente a personas que no saben nada de la comprobación. Las comprobaciones internas se describen en el Registro de las actividades de tratamiento; la Política de privacidad aún no las menciona por separado (sección 9.4). Nivel: alto.
R5 – Comprobación y calificación pública de sitios web de terceros sin conocimiento del titular
Cualquier persona puede hacer comprobar cualquier sitio web de acceso público, sin cuenta y sin ninguna relación con él. El titular no recibe ninguna notificación. El resultado es un informe que califica el sitio web como «Expuesto», «Parcialmente protegido» o «Protegido» y que puede ver cualquiera que tenga el enlace. Para los interesados son concebibles dos consecuencias. Un empresario individual recibe públicamente (aunque solo sea para los destinatarios del enlace) una calificación que puede ser un diagnóstico erróneo. Y el informe muestra a un spammer qué formulario puede rellenarse sin obstáculos.
A ello se opone una serie de bloqueos (cfg/check_lib.php): como máximo una comprobación por dominio cada siete días, después el mismo informe; límites por dirección IP y sesión; un límite diario para todo el servicio; ninguna comprobación de dominios muy recientes, típicos del abuso; una anotación y una señal ante comportamientos llamativos; robots.txt y opt-out, comprobados dos veces (cfg/check_lib.php y en el servicio de comprobación). El informe gratuito es un extracto: solo muestra los hallazgos básicos, no las pruebas de todos los detectores. Y no dice nada que un bot no pudiera averiguar por sí mismo en segundos: un formulario desprotegido es visible desde fuera.
Probabilidad: posible. Gravedad: significativa para un empresario individual cuyo formulario se convierte en objetivo tras un informe o cuya calificación es errónea. Nivel: medio.
R6 – Comprobación de clientes potenciales como base para contactos no solicitados
En la interfaz, la comprobación de clientes potenciales se describe como «abrepuertas para la primera conversación». Cómo utiliza la agencia el breve diagnóstico lo decide la agencia; técnicamente, también puede enviarlo a un titular que no lo ha solicitado. Nosotros no contactamos con nadie (cfg/akquise_lib.php), y las Condiciones del servicio obligan a la agencia a cumplir las normas sobre publicidad y captación. No obstante, un correo electrónico no solicitado con el diagnóstico constituye marketing directo incluso entre empresas, que en Polonia (Art. 398 de la Ley de Comunicaciones Electrónicas (Prawo komunikacji elektronicznej, PKE)) y en Alemania (§ 7(2) de la Ley alemana contra la competencia desleal (Gesetz gegen den unlauteren Wettbewerb, UWG)) requiere consentimiento previo. La interfaz no lo advierte; los textos de la comprobación de clientes potenciales solo hablan de «pasiva» y de «lista de opt-out».
Probabilidad: probable, porque la función sirve para captar clientes y no podemos verificar si el destinatario ha dado su consentimiento. Gravedad: limitada: para el titular es un correo electrónico comercial molesto con una calificación de su sitio web. Nivel: medio. El riesgo reside en la conducta de la agencia; como la función procede de nosotros, está prevista una advertencia en la interfaz (sección 9.3).
R7 – La prueba de control nunca se renueva
Los envíos de prueba activos, la búsqueda de archivos expuestos y el escaneo tras el inicio de sesión requieren que el Cliente haya demostrado que está autorizado a controlar el dominio. Esta prueba se comprueba una vez (cfg/verify_lib.php) y nunca más. No existe en el código ninguna vía por la que un dominio pierda su prueba. Si el dominio cambia de titular, una agencia pone fin a su encargo o el titular elimina el registro DNS, las comprobaciones continúan: hasta diariamente, con hasta cinco envíos de prueba y, si se ha guardado, con el inicio de sesión de una cuenta de prueba que el nuevo titular quizá desconozca. Lo que no es posible, en cambio, es trasladar la prueba a otro host cambiando el nombre: el nombre de host de un dominio con prueba de control no puede modificarse.
Probabilidad: posible: los cambios de dominio y de encargo son habituales para las agencias. Gravedad: significativa para el nuevo titular y sus empleados, que reciben mensajes de prueba marcados y cuyo sitio web es objeto de búsqueda de archivos expuestos sin su consentimiento. Nivel: medio. Los mensajes de prueba se explican por sí mismos y remiten a la página del rastreador y al opt-out; el opt-out también surte efecto frente a las comprobaciones de Clientes.
R8 – Credenciales y contenido en el escaneo tras el inicio de sesión
El cifrado de las credenciales está cuidadosamente diseñado: el servidor web ya no puede leerlas tras guardarlas, la base de datos y la copia de seguridad solo contienen texto cifrado, el registro está vinculado a su dominio, las credenciales solo entran en el contenedor a través de la entrada estándar y después se borran de la memoria (sección 6.5). Quedan dos lagunas; un tercer punto solo se refiere a la lectura, no al almacenamiento.
- Se permite el inicio de sesión sin cifrar. La comprobación de la dirección admite
httpademás dehttps(cfg/login_lib.php,scanner/src/login.js). Si el Cliente indica una página de inicio de sesión conhttp, el nombre de usuario y la contraseña viajan por internet en texto claro en cada comprobación. - Los errores de certificado no detienen el inicio de sesión. Actualmente, el inicio de sesión no se interrumpe cuando el certificado del sitio del Cliente no es válido (
scanner/src/login.js). Por tanto, el certificado no protege plenamente las credenciales en su camino hacia el sitio del Cliente. Está prevista la interrupción en caso de errores de certificado (sección 9.3, prioridad «primero»). - Los valores de los campos ocultos tras el inicio de sesión se leen, no se almacenan. El rastreador lee los primeros 24 caracteres del valor de los campos ocultos (
scanner/src/crawl.js), y la misma función de extracción se ejecuta tras el inicio de sesión (scanner/src/login.js). Allí, los campos ocultos contienen con frecuencia un número de cuenta, un identificador de usuario o la dirección de correo electrónico de la cuenta con sesión iniciada; sin embargo, al mapa de campos y a los hallazgos solo llegan el nombre del campo, el tipo, la etiqueta y el resultado de la detección.
A ello se añade lo que el código no puede impedir: el Cliente confirma que utiliza una cuenta de prueba con los mínimos derechos posibles (cfg/login_lib.php), pero puede introducir una cuenta de administrador real. Las páginas que el escáner lee a continuación las determina el Cliente; se bloquean las direcciones que contienen palabras relativas a cerrar sesión y eliminar, pero no otras acciones que un sitio web desencadena mediante una simple solicitud.
Probabilidad: posible. Gravedad: grave si se ve afectada una cuenta con amplios derechos; en ese caso, el área de miembros con los datos de todos los usuarios queda abierta. Nivel: medio para una cuenta de prueba con pocos derechos, alto para una cuenta real. Según la medición en el sistema de desarrollo, no hay ninguna cuenta de prueba guardada.
R9 – Envíos de prueba activos y comprobación de archivos en el sitio web del Cliente
Un envío de prueba llega a las personas que leen los correos electrónicos del formulario del Cliente: sus empleados o un proveedor de servicios. No contiene datos personales: el remitente es dummy@formexposed.com, el texto y el asunto están marcados e indican el identificador de la comprobación (scanner/src/active.js). El riesgo reside en una clasificación errónea: si el escáner tomara un formulario de candidatura, reserva o asesoramiento por un formulario de contacto, el mensaje de prueba acabaría en un proceso que tiene consecuencias. A ello se oponen las estrictas reglas para «enviable» (scanner/src/classify.js), el bloqueo para dominios de autoridades públicas, centros educativos, clínicas, consultas médicas, policía y tribunales (scanner/src/classify.js) y la exclusión del modelo de lenguaje de esta decisión (scanner/src/classify.js). De la respuesta se almacenan el estado, la dirección de destino, el título, 300 caracteres de texto y una imagen; se refieren a nuestro mensaje de prueba.
La comprobación de archivos lee como máximo 8 KB de rutas típicas. Si realmente hay allí un volcado de base de datos expuesto, estos 8 KB pueden contener entradas de formulario realizadas por visitantes. Solo se comprueba si contienen una firma y se descartan (cfg/dateien_lib.php); se almacenan la ruta, el tipo y la gravedad.
Probabilidad: remota. Gravedad: significativa. Nivel: bajo. Según la medición en el sistema de desarrollo, hay una comprobación activa en el conjunto de datos, sin ningún envío aceptado.
R10 – Clasificación por un modelo de lenguaje
Para los formularios que las reglas no reconocen, el modelo de lenguaje recibe el título de la página, la dirección, los textos de los botones, las descripciones de los campos y hasta 400 caracteres del texto del formulario (scanner/src/classify.js). Ello puede incluir un nombre, por ejemplo «Su persona de contacto: …». Funciona en nuestro propio servidor; en el código, nada se envía a terceros. No se ha verificado si el software del modelo registra las solicitudes. Su resultado solo determina el tipo de formulario mostrado y no puede hacer que un formulario sea enviable; una clasificación errónea conduce a un diagnóstico peor, no a una acción.
Probabilidad: remota. Gravedad: limitada. Nivel: bajo.
R11 – Lista de bloqueo compartida a partir de comunicaciones de muchos sitios web
Un dominio incluido en la lista hace que los mensajes con enlaces a él acaben en cuarentena en todos los sitios web conectados. Si el dominio pertenece a una persona (un artesano, un fotógrafo, un blog), sus mensajes con un enlace a su propio sitio web llegan con retraso a los destinatarios. Un dominio así puede acabar en la lista porque los spammers lo utilicen indebidamente, o porque alguien envíe deliberadamente a varios sitios web mensajes que no superan el filtro y que lo contienen.
A ello se oponen (cfg/swarm_lib.php): un mínimo de tres sitios web distintos y cinco coincidencias en un plazo de siete días; excepciones fijas para grandes servicios; nunca los dominios de nuestros Clientes; eliminación manual mediante una herramienta en el servidor; cuarentena en lugar de eliminación; la lista se reconstruye a diario y lo que ya no se comunica desaparece. Los afectados no pueden ver la lista ni tienen una vía propia para exigir su eliminación, salvo a través de nosotros.
Probabilidad: posible. Gravedad: limitada, porque no se pierde nada y el destinatario puede liberar el mensaje. Nivel: bajo a medio. Con las redes IP activadas, se verían afectadas redes de proveedores enteros, las direcciones IP son datos personales y la gravedad ascendería a significativa: alto.
R12 – Informes y capturas de pantalla en un enlace público
Los informes de la comprobación gratuita, de la comprobación de clientes potenciales y de las comprobaciones de dominios de Clientes pueden consultarse sin iniciar sesión mediante un enlace aleatorio. El enlace contiene 128 bits de aleatoriedad y no puede adivinarse (cfg/check_lib.php). Las páginas llevan noindex, la aplicación envía una política de referente que solo transmite el origen (www/.htaccess), y las capturas de pantalla solo se entregan junto con el informe al que pertenecen; otro número de imagen devuelve «no encontrado» (www/shot.php). El riesgo no es criptográfico, sino humano: un enlace se transmite, se copia en un ticket, se comparte en un chat. Quien lo abre solo queda registrado en el registro de accesos a páginas como cualquier página vista (60 días), en el que el propio enlace solo aparece enmascarado; no existe una lista de lectores por informe.
Probabilidad: posible. Gravedad: limitada, porque el informe solo muestra información pública y caduca tras 30 o 90 días, respectivamente; los informes sobre dominios de Clientes siguen siendo accesibles mientras exista la comprobación (13 meses, la última más tiempo). Nivel: bajo.
R13 – Debilidades de la infraestructura
Los puntos siguientes figuran como abiertos en nuestro paquete interno de revisión y aquí no se maquillan. Los describimos con la precisión que los Clientes necesitan para su propia evaluación, pero no con tanta precisión que la descripción muestre el camino a un atacante; facilitaremos los detalles a una autoridad de control previa solicitud.
- Las copias de seguridad de la base de datos se guardan actualmente en la misma ubicación que la base de datos y no están cifradas por separado; está prevista una copia cifrada en una segunda ubicación (
cfg/backup_lib.php). Hasta entonces, no protegen frente a la pérdida de la ubicación, y quien obtenga la base de datos obtendrá también las copias de seguridad. Las credenciales para el escaneo tras el inicio de sesión solo están contenidas en ellas como texto cifrado. - Sin cifrado de la base de datos en reposo. Las excepciones son los campos que se cifran individualmente (credenciales de las cuentas de prueba, secreto del segundo factor).
- Las conexiones dentro de nuestra red interna no están cifradas en su totalidad.
- Administración de servidores. La seguridad del acceso administrativo a nuestros servidores aún no alcanza el nivel que pretendemos para la explotación; el bastionado de la administración de servidores continúa.
- Entorno de comprobación. El servidor de escaneo abre sitios web de terceros en un navegador. Los contenedores de comprobación están aislados: red propia, sin privilegios especiales, de solo lectura, limitados (
scanner/src/worker.js). La separación entre el entorno de comprobación y las demás partes del servicio se sigue reforzando (sección 9.3).
Probabilidad: posible. Gravedad: grave, porque en caso de incidente todo se vería afectado a la vez. Nivel: alto. Los puntos individuales pueden subsanarse con medios ordinarios (sección 9.3).
R14 – Derechos de los interesados para personas que no nos conocen
Quien aparece de forma incidental en una captura de pantalla o cuyo mensaje ha pasado por una copia de control normalmente no sabe que existimos. Incluso si lo sabe, no tiene una clave para «sus» datos: no los almacenamos por persona, sino por dominio y comprobación. Solo podemos responder a una solicitud de acceso conforme al Art. 15 si la persona indica el dominio; entonces podemos revisar las comprobaciones e imágenes existentes. Respecto de los mensajes reales de visitantes no hay nada que comunicar, porque no los almacenamos, salvo el dominio remitente de R1. El opt-out solo funciona para los titulares de un dominio, no para las personas representadas; para ellas queda la vía a través de contact@lukaswojcik.com.
Probabilidad: probable como situación estructural. Gravedad: limitada, porque los datos son de corta duración y no están organizados por persona. Nivel: bajo.
9. d) Medidas para afrontar los riesgos
Cada medida lleva un estado, y los estados no son decorativos. Implantada hoy – verificada significa: leída en el código del sistema de desarrollo y, cuando es posible, medida frente a la base de datos. Parcial significa: el mecanismo existe, pero aún no cumple plenamente su finalidad. Prevista significa: propuesta por esta evaluación y no construida; si se hace y cuándo lo decide el titular. Pendientes de determinar son los procedimientos y las decisiones que ningún código sustituye. Una EIPD que presenta medidas previstas como implantadas pierde su valor precisamente en la situación en la que se necesita.
9.1 Implantadas hoy – verificadas
| Medida | Afronta | Referencia de origen |
|---|---|---|
| El rastreador lee el robots.txt antes de cada comprobación; una exclusión que abarque la página de inicio, un robots.txt inaccesible o un error del servidor ponen fin a la comprobación (las subrutas no se respetan individualmente; el pulso, la consulta de la prueba, la herramienta de cabeceras y la búsqueda de archivos no lo leen) | R5, licitud | scanner/src/net.js |
| Opt-out sin prueba, con efecto inmediato, para el dominio y su variante www, para comprobaciones anónimas, clientes potenciales, estudios y comprobaciones de Clientes (la monitorización en curso finaliza con la siguiente comprobación programada); comprobado dos veces (aplicación y servicio de comprobación); solo lo levantamos nosotros previa solicitud y con prueba | R5, R7, Art. 21 | cfg/check_lib.php; cfg/akquise_lib.php; cfg/studie_lib.php; scanner/src/worker.js |
| Comprobación gratuita: parada de emergencia, reCAPTCHA, una comprobación por dominio y semana, límites por dirección IP y sesión, límite diario, ningún dominio nuevo, solo direcciones públicas, anotación y señal sin contenido en caso de anomalías | R5 | cfg/check_lib.php |
| Para los límites, la sesión solo se almacena como valor hash, nunca el identificador de sesión | Minimización | cfg/check_lib.php |
| Ningún valor de campo (el comienzo de los campos ocultos y de los atributos de datos solo se lee durante la comprobación, sección 6.2); direcciones de destinatario solo como dominio; identificadores de cuenta ocultos en las direcciones de scripts | Minimización | scanner/src/crawl.js |
| El informe gratuito es un extracto: solo hallazgos básicos, sin pruebas de todos los detectores | R5 | cfg/check_lib.php, FE_FREE_DETEKTOREN |
Informes en un enlace aleatorio de 128 bits, noindex, imágenes solo para su propio informe, fuera del directorio web público; el enlace solo aparece enmascarado en el registro de accesos a páginas | R12 | cfg/check_lib.php; www/report.php; www/shot.php |
| Eliminación: informes anónimos tras 30 días, clientes potenciales tras 90 días, comprobaciones de Clientes tras 13 meses (la última por dominio se conserva mientras exista el dominio), los datos de un dominio eliminado de inmediato (excepciones en la sección 6.11), y en cada caso las imágenes junto con ellos | Limitación del plazo de conservación | cfg/check_lib.php; cfg/fristen_lib.php |
| Estudio: publicación solo como total, segmentos solo a partir de 20 sitios web con formulario, datos brutos eliminados al publicarse | R4 en parte, P3 | cfg/studie_lib.php |
| Contenedores de comprobación: red aislada propia, sin privilegios especiales, de solo lectura, límites de memoria y de procesos, límite de tiempo; filtro frente a destinos privados en cada solicitud, service workers bloqueados y conexiones WebSocket cerradas para que nada eluda el filtro; solicitudes del servidor web solo en puertos web y solo exactamente a la dirección pública comprobada previamente | R13 | scanner/src/worker.js; scanner/src/net.js |
| Comprobación activa para Clientes solo en un dominio verificado (internamente también para nuestros propios dominios de prueba y demostración) y con la parada de emergencia activada, comprobado dos veces; como máximo cinco envíos; solo formularios de contacto claramente reconocidos sin datos personales obligatorios; ningún dominio de autoridades públicas, centros educativos, clínicas, consultas médicas, policía o tribunales; el modelo de lenguaje no puede autorizar nada; mensaje de prueba sin datos personales, marcado, con referencia a la página del rastreador y al opt-out | R9 | scanner/src/worker.js; scanner/src/classify.js; scanner/src/active.js |
| Recorridos con navegador: solo GET y HEAD, direcciones peligrosas bloqueadas, los valores inventados no salen del navegador, imágenes con campos de entrada ennegrecidos | R3 (para estas imágenes), R9 | scanner/src/browser.js |
| Comprobación de archivos: solo dominios verificados, una consulta por ruta, como máximo 8 KB, sin almacenar nunca el contenido | R9 | cfg/dateien_lib.php |
| Segunda sonda: desactivada por defecto; solo recibiría una lista fija de elementos inofensivos, firmada | Destinatarios | cfg/formular_probe_lib.php |
| Escaneo tras el inicio de sesión: solo dominio verificado, plan de pago, propietario o administrador, confirmación de «cuenta de prueba»; cifrado con la clave pública del servidor de escaneo, vinculado al dominio; credenciales nunca mostradas, registradas ni devueltas a través de la API; transmisión solo a través de la entrada estándar; campo de la tarea vaciado de inmediato, restos tras una hora; sin capturas de pantalla, sin envíos, sin direcciones de cierre de sesión o eliminación, interrupción ante un CAPTCHA; eliminación definitiva con sobrescritura | R8 | cfg/login_lib.php; scanner/src/login.js; scanner/src/geheim.js; scanner/src/worker.js |
| Comprobación de entrega: desactivada por defecto; la recogida solo lee las cabeceras y 8 KB, sin marca de lectura; el contenido y la dirección del visitante nunca en la base de datos; se elimina cada correo electrónico recogido, incluidos los no asignables; asignaciones eliminadas tras 180 días; prueba solo mediante la copia de exactamente esa prueba | R1, R2 | cfg/zustellung_lib.php |
| Protección colectiva: solo dominios, redes IP desactivadas; números mínimos; excepciones para grandes servicios y dominios de Clientes; cuarentena en lugar de eliminación; lista reconstruida a diario; comunicaciones eliminadas tras 30 días | R11 | cfg/swarm_lib.php |
| Modelo de lenguaje en nuestro propio servidor, sin facultad de envío | R10 | scanner/src/classify.js |
| Las señales a través de Telegram solo contienen una frase fija sin variables | Destinatarios | cfg/check_lib.php |
| Prueba semanal de restauración de la copia de seguridad, con alerta en caso de fallo | Disponibilidad | cfg/backup_lib.php; srv/cron_status.php |
9.2 Parciales: existen, pero aún no cumplen su finalidad
| Medida | Por qué aún no es plenamente eficaz |
|---|---|
| Capturas de pantalla «depuradas» | Solo se ennegrecen las imágenes de los recorridos con navegador. No así las imágenes del rastreador (página de inicio y elementos de formulario) ni la imagen de la página de respuesta de una comprobación activa (R3). |
| Plazos para los datos de comprobación | Eficaces para las comprobaciones anónimas, de clientes potenciales y de Clientes; no para las comprobaciones internas ni los estudios no publicados; anotaciones de anomalías no resueltas sin límite temporal (R4). |
| Eliminación de las copias de control | Eficaz en nuestra vista del buzón. Si el proceso se interrumpe, los correos electrónicos permanecen; no se ha verificado qué conserva el proveedor del buzón en sus propias copias de seguridad (R2). |
| Protección de las credenciales en el escaneo tras el inicio de sesión | Sólida en reposo y en el servicio de comprobación; no en el camino hacia el sitio web: se permite http y se ignoran los errores de certificado (R8). |
| Prueba de control | Se comprueba una vez y después vale para siempre; no obstante, el nombre de host de un dominio con prueba de control no puede modificarse, de modo que la prueba no pasa a otro host (R7). |
| Información a los interesados | Existe para los titulares a través de la página del rastreador, el identificador, la Política de privacidad y el opt-out; para los visitantes en la comprobación de entrega, depende de que el Cliente adopte el bloque de texto; la aplicación no lo comprueba. |
| Petición a los Clientes de no incluir categorías especiales en la copia de control | Recogida en los documentos legales, pero sin apoyo técnico: durante la configuración, la aplicación no pregunta por el tipo de sitio web ni advierte sobre dominios que parezcan del ámbito de la salud, el derecho o la educación (R1). |
9.3 Previstas: no implantadas
| Medida | Afronta | Prioridad |
|---|---|---|
| Vía de eliminación para comprobaciones internas: eliminar las comprobaciones sin dominio y sin informe tras un plazo fijo (propuesta: 30 días); eliminar los datos brutos de un estudio a más tardar un plazo fijo después de su finalización, incluso sin publicación (propuesta: 90 días); eliminar una vez las 85 comprobaciones existentes con 369 imágenes | R4 | Primero |
| Habilitar la comprobación de entrega solo cuando se haya celebrado el contrato con el proveedor del buzón, se hayan documentado los lugares de almacenamiento, los subencargados y los plazos de las copias de seguridad, se haya aclarado el mecanismo de transferencia para el proveedor del buzón y los registros MX de nuestro dominio apunten directamente al buzón; hasta entonces, mantener la función bloqueada en el sistema de producción | R2 | Primero |
| Comprobar la seguridad de la recogida del buzón en el sistema de producción y documentarla antes de habilitar la comprobación de entrega | R2 | Primero |
Escaneo tras el inicio de sesión solo a través de https y con un certificado válido; rechazar las direcciones http; los errores de certificado en el inicio de sesión como motivo de interrupción | R8 | Primero |
| No almacenar los valores de los campos ocultos tras el inicio de sesión (solo nombre, tipo y longitud): ya implantado así, sin más pasos | R8 | Hecho |
| Limitar la copia de control a los mensajes de prueba cuando se utilicen el plugin o la extensión: copia oculta solo para los envíos con nuestro identificador de prueba | R1 | Alta |
| No almacenar el dominio remitente de los mensajes reales ni incluirlo en las alertas si no es ni el dominio del sitio web ni el de un servicio de envío conocido; en la alerta, en su lugar, «dominio remitente ajeno» | R1 | Alta |
| Advertencia al configurar la comprobación de entrega para dominios que parezcan del ámbito de la salud, el derecho, los servicios sociales o la educación, con referencia a la propia EIPD del Cliente | R1 | Alta |
| Renovar periódicamente la prueba de control (propuesta: antes de cada comprobación activa, verificar si el registro DNS, la metaetiqueta, el archivo o la conexión del plugin siguen existiendo; de lo contrario, continuar de forma pasiva y notificar al Cliente) | R7 | Alta |
| Dejar de fotografiar la página de inicio, o hacerlo solo con imágenes y rostros ennegrecidos; limitar las imágenes de formularios al elemento del formulario (como hoy) y enmascarar los campos de entrada como en los recorridos con navegador | R3 | Alta |
| Advertencia en la interfaz de la comprobación de clientes potenciales: enviar el breve diagnóstico sin solicitud previa por correo electrónico o teléfono constituye marketing directo incluso entre empresas y requiere consentimiento previo (Art. 398 de la Ley polaca de Comunicaciones Electrónicas; en Alemania, § 7(2) UWG, aunque para las llamadas a empresas basta el consentimiento presunto) | R6 | Alta |
| Infraestructura: completar el bastionado de la administración de servidores; copia cifrada de la copia de seguridad en una segunda ubicación; cifrar en su totalidad las conexiones de la red interna; reforzar aún más la separación entre el servidor de escaneo y la aplicación | R13 | Alta |
| Plazo para las anotaciones de anomalías no resueltas (propuesta: resolución en un plazo de 30 días; de lo contrario, eliminación de la dirección IP) | R4 | Media |
| Una página o un formulario mediante el cual se pueda solicitar la retirada de un dominio de la protección colectiva | R11, R14 | Media |
| Antes de activar las redes IP en la protección colectiva: una nueva versión de esta evaluación | R11 | Condición |
| Documentar si el software del modelo de lenguaje almacena las solicitudes y, en caso afirmativo, desactivar esos registros | R10 | Baja |
9.4 Procedimientos y decisiones pendientes de determinar
Además de las garantías técnicas, el Art. 35(7)(d) exige también procedimientos. Estos siguen pendientes:
- Violación de la seguridad de los datos personales. Detección: el titular, la alerta de errores de la aplicación, notificaciones a través de el punto de notificación de vulnerabilidades o contact@lukaswojcik.com. Decisión sobre la notificación a la UODO en un plazo de 72 horas (Art. 33(1)): el titular. Información a los Clientes afectados como responsables del tratamiento: sin dilación indebida, a ser posible en un plazo de 48 horas, tal como se promete en el Contrato de encargo del tratamiento. Pendiente de determinar: una descripción escrita del procedimiento y un primer simulacro; para la comprobación de entrega, además, cómo determinar qué Clientes se ven afectados por una violación en el proveedor del buzón.
- Sectores. Pendiente de determinar: si la comprobación de entrega se ofrece, se ofrece con una advertencia o se excluye para sitios web de los ámbitos de la salud, el derecho, los servicios sociales y la educación.
- Comprobaciones internas. Pendiente de determinar: para qué utiliza el proveedor las comprobaciones internas desde la línea de comandos, quién puede crearlas y cuánto tiempo se conservan sus resultados; y si, además de en el Registro de las actividades de tratamiento, deben mencionarse en la Política de privacidad.
- Estudios. Pendiente de determinar: quién elabora las listas, a partir de qué fuentes, con qué tamaño máximo, y una comprobación antes de cada estudio de si se ajusta a los supuestos de esta evaluación.
- Opinión de los interesados (Art. 35(9)). No se ha recabado para esta versión. El Art. 35(9) solo exige recabarla «cuando proceda»; a nuestro juicio, actualmente no es el caso. Los titulares de los sitios web comprobados y los visitantes de los sitios web de los Clientes no tienen un canal propio hacia nosotros; dirigirse a ellos específicamente constituiría en sí mismo un nuevo tratamiento de sus datos, y el servicio aún no se ha lanzado, por lo que todavía no existe un grupo de interesados reales. Sus intereses se tienen en cuenta indirectamente: mediante el robots.txt y el opt-out, mediante los plazos breves y mediante el hecho de que el contenido de las copias de control no se almacena. En cada revisión conforme a la sección 12 volvemos a examinar si procede recabar su opinión, por ejemplo mediante comentarios en la página del rastreador o de los Clientes de la comprobación de entrega.
10. Riesgo residual y consulta previa conforme al Art. 36
El Art. 36(1) exige consultar previamente a la autoridad de control cuando la EIPD muestre que el tratamiento entrañaría un alto riesgo si el responsable no toma medidas para mitigarlo. Por tanto, la cuestión no es si se han identificado riesgos altos (se han identificado cuatro), sino si queda un riesgo alto una vez aplicadas las medidas.
Para las operaciones de tratamiento de las que formexposed es responsable (P1 a P4, P7), los riesgos altos R4 y R13 pueden subsanarse con medios ordinarios: una vía de eliminación y una depuración de los datos existentes, una copia de seguridad cifrada fuera de las instalaciones y el bastionado de dos servidores. Con las medidas de 9.3, descienden a bajo a medio. R3, R5, R6 y R7 se sitúan en medio y descienden a bajo con las medidas propuestas. La protección colectiva sin redes IP sigue siendo baja a media. Para esta parte, la consulta previa no procede si las medidas marcadas como «primero» y «alta» se implantan antes del lanzamiento. Si alguna de estas medidas no se ha implantado antes del lanzamiento, queda un riesgo alto para la operación de tratamiento afectada. En ese caso, dicha operación de tratamiento solo se iniciará una vez implantada la medida, o se consultará previamente a la UODO conforme al Art. 36(1).
Para la comprobación de entrega (P6), la situación es distinta, por un motivo que ninguna medida elimina por completo: lo que escribe un visitante depende de él. Con un contrato celebrado, una recogida protegida, la limitación a mensajes de prueba cuando sea posible y la renuncia al dominio remitente, R2 desciende a bajo y R1 a medio. No obstante, para los Clientes cuyos visitantes facilitan habitualmente datos del Art. 9, R1 puede seguir siendo alto. La obligación de consulta recae entonces en el Cliente como responsable del tratamiento, no en formexposed. Nuestra recomendación a dichos Clientes es no configurar la copia de control para el formulario de contacto general, sino solo para formularios sin contenido sensible, o prescindir de la comprobación de entrega.
Riesgo residual, expresado con franqueza. Hoy, con las medidas de 9.1, cuatro riesgos se sitúan en alto: R1 y R2 (comprobación de entrega), R4 (datos de comprobación sin vía de eliminación) y R13 (infraestructura). Con las medidas de 9.3, R2, R4 y R13 descienden a bajo a medio. R1 se mantiene en medio y depende de forma permanente de las decisiones de los Clientes. Ninguno de los demás riesgos supera el nivel medio tras las medidas.
El Art. 36 no es una sanción, y consultar no es una confesión. Es la vía que el Reglamento prevé para la situación en la que un procedimiento útil entraña un riesgo que el responsable no controla por completo. Un Cliente que quiera utilizar la comprobación de entrega para mensajes con datos de salud encontrará aquí los hechos para esa decisión.
11. Lo que necesitan los Clientes para su propia EIPD (Art. 28(3)(f))
Para la comprobación de entrega y el escaneo tras el inicio de sesión, el Cliente es el responsable del tratamiento. Esta página le facilita la descripción (secciones 6.5 y 6.6), los riesgos desde nuestra perspectiva (R1, R2, R8) y el estado de las medidas (sección 9). Solo el Cliente puede responder a las siguientes preguntas:
- ¿Qué escriben mis visitantes? ¿Cabe esperar que a través del formulario lleguen datos sobre salud, religión, origen, afiliación sindical, orientación sexual, infracciones penales o relativos a niños? En ese caso, por regla general es necesaria una EIPD para la copia de control, y conviene reconsiderar la copia de control para este formulario.
- ¿Necesito la copia de control para todos los mensajes? Para demostrar que nuestro mensaje de prueba llega, basta con ese mensaje. Cuando el formulario lo permita, configure la copia oculta solo para los mensajes de prueba.
- ¿Cómo informo a mis visitantes? El Contrato de encargo del tratamiento lo exige; el Texto de política de privacidad para su sitio web describe la vía de la copia y nuestra función.
- ¿Qué base jurídica tengo? Nuestro texto sugerido menciona el Art. 6(1)(f) (recepción fiable de consultas). Para datos del Art. 9, esta base por sí sola no es suficiente.
- ¿Qué canales de alerta elijo? Las alertas de la comprobación de autenticidad pueden mencionar el dominio remitente. Quien envía alertas a servicios de chat fuera de la UE lo transfiere allí.
- Para el escaneo tras el inicio de sesión: ¿Es la cuenta de prueba realmente una cuenta de prueba con los mínimos derechos necesarios? ¿Solo se puede acceder a la página de inicio de sesión a través de
https? ¿Ve la cuenta de prueba datos de otros usuarios? En caso afirmativo: ¿en cuáles de las páginas indicadas? - ¿Cuándo elimino? La comprobación de entrega y la cuenta de prueba pueden desactivarse y eliminarse en cualquier momento; la cuenta de prueba se sobrescribe entonces de forma permanente.
Otros documentos para la evaluación del Cliente: el Contrato de encargo del tratamiento, las medidas técnicas y organizativas, la lista de subencargados del tratamiento y el Registro de las actividades de tratamiento. Respondemos a preguntas sobre hechos concretos en contact@lukaswojcik.com.
12. Revisión, versión y aprobación
El Art. 35(11) exige una revisión para determinar si el tratamiento es conforme con la EIPD, al menos cuando exista un cambio del riesgo. Revisamos esta evaluación al menos una vez al año y, además, antes de cada uno de los siguientes hechos; cada uno de ellos desencadena una nueva medición, no solo una lectura:
- inicio de la explotación productiva, con cifras del sistema de producción en lugar del sistema de desarrollo;
- primera activación de la comprobación de entrega en el sistema de producción y celebración del contrato con el proveedor del buzón;
- activación de las redes IP en la protección colectiva;
- el primer estudio, y cada estudio con una lista mayor que la del anterior;
- activación de la segunda sonda o de un nuevo destinatario en la ruta de comprobación;
- cualquier nuevo uso del modelo de lenguaje que vaya más allá de la clasificación de formularios y de «Fix it for me»;
- cualquier cambio en las capturas de pantalla, los plazos o los requisitos de las comprobaciones activas.
| Elemento | Contenido |
|---|---|
| Responsable del tratamiento | LW IT Solutions Company Lukas Wójcik, al. Tadeusza Kościuszki 80/82, lok. 301, 90-437 Łódź, Polonia · NIP 7252266190 · contact@lukaswojcik.com |
| Autoridad de control competente | Prezes Urzędu Ochrony Danych Osobowych (UODO), ul. Moniuszki 1A, 00-014 Warszawa, Polonia |
| Delegado de protección de datos | No designado; evaluación conforme al Art. 37 en la sección 4 |
| Base de los hechos | Código fuente de la aplicación y del servicio de comprobación, esquema de la base de datos, recuentos de filas y ajustes del sistema de desarrollo, medidos el 11 de octubre de 2026, en modo de solo lectura |
| Documentos relacionados | Política de privacidad, Contrato de encargo del tratamiento, Medidas técnicas y organizativas, Subencargados del tratamiento, Registro de las actividades de tratamiento, Reglamento de IA de la UE, Uso aceptable y abuso, FormExposedBot, Opt-out |
| Versión | 1.0 de 11 de octubre de 2026, primera versión |
| Revisiones conforme al Art. 35(11) | Ninguna todavía (primera versión). Cada revisión se anota aquí con fecha, motivo y resultado. |
| Aprobación | Aún no aprobada. Aprobación por el titular tras la revisión jurídica y tras una decisión sobre las medidas de la sección 9.3 y las cuestiones de la sección 9.4. Hasta ahora no se ha recabado asesoramiento externo en materia de protección de datos. |
Una observación final tiene su lugar en el documento y no en una carta de acompañamiento. Las partes de formexposed que más se adentran en ámbitos ajenos (los envíos de prueba y el inicio de sesión con credenciales de otra persona) son las construidas con mayor cautela: dos filtros, límites estrictos, un cifrado que nos deja fuera incluso a nosotros. Los riesgos de esta evaluación residen mayoritariamente en otro lugar: en lo que llega de forma incidental (mensajes reales en una copia oculta, personas en una captura de pantalla, comprobaciones que ya nadie elimina). Es un punto de partida favorable, porque lo incidental puede detenerse sin cambiar el servicio.