Una web que cumple la normativa española: textos legales, registro de tratamientos y registro de consentimientos
Un pequeño negocio en España necesita aviso legal, política de privacidad, política de cookies, registro de actividades de tratamiento y prueba de cada decisión sobre cookies. Lo integramos todo en la propia web, para que los documentos coincidan con lo que la web hace de verdad.
El reto
Cualquier web de empresa en España está sujeta a tres normas a la vez: el RGPD, la LOPDGDD y la LSSI-CE. En la práctica eso significa un aviso legal con el nombre o la razón social, el NIF y el domicilio del titular, una política de privacidad, una política de cookies, un banner que pregunte antes de medir nada, la prueba de lo que eligió cada visitante y, por detrás, un registro de actividades de tratamiento que la inspección puede pedir.
La mayoría de las webs pequeñas lo resuelven con un texto sacado de un generador. Esos textos suelen describir otro negocio: proveedores que no son, plazos que no se aplican y la agencia web presentada como si fuera quien responde ante el visitante. Y si la web carga Google Analytics o un mapa de Google antes de que el visitante pulse nada, el banner es decorativo.
Queríamos que cada web que hacemos tuviera documentos que describan esa web concreta, y código que haga lo que los documentos prometen. Hoy el mismo enfoque funciona en la web de un servicio de reparaciones, en la de una empresa de alquiler de coches y en la de una barbería de la Costa Blanca.
Textos legales desde una sola fuente
Los tres documentos legales (aviso legal, política de privacidad y política de cookies) leen sus datos de un único archivo en el código de la web. En él están las dos partes y su papel:
- El cliente es el responsable del tratamiento: decide para qué se recogen las solicitudes, y es ante él donde el visitante ejerce sus derechos. Su nombre o razón social, NIF, domicilio, datos de contacto y, si es una sociedad, sus datos registrales se escriben una vez y aparecen allí donde un documento los necesita.
- Yatoday es el encargado del tratamiento: hacemos y alojamos la web y operamos la plataforma que recibe las solicitudes y guarda los registros de consentimiento, siempre por cuenta del cliente y siguiendo sus instrucciones, con un contrato de encargo (art. 28 RGPD). Los documentos lo dicen así de claro y enlazan a nuestro propio aviso legal y a nuestra política de privacidad, en vez de repetir nuestros datos.
Como los datos están en un solo sitio, las tres páginas no pueden contradecirse. En la web de reparaciones, el mismo domicilio se descompone además en calle, código postal y localidad para el marcado de negocio local que lee Google, de modo que el aviso legal y los datos para buscadores muestran siempre la misma dirección.
Cuando arrancamos una web nueva desde nuestra plantilla, todos los campos obligatorios del archivo empiezan como “PENDIENTE DE COMPLETAR”. El texto está pensado para que se vea: un NIF que falta aparece en la página a la vista de todos, en lugar de quedar escondido tras un número inventado.
Los documentos se redactan para cada negocio, no se rellenan sobre un texto genérico. La política de la empresa de alquiler explica el contrato de alquiler y el registro de viajeros que la ley obliga a las empresas de alquiler a comunicar al Ministerio del Interior. También deja claro que la web no tiene formularios, así que el encargado solo trata el registro de consentimiento de cookies. La de reparaciones describe el formulario de presupuesto paso a paso: adónde va la solicitud, cómo se comprueba que no es spam, en qué CRM acaba y quién puede verla. Cada política enumera los proveedores que de verdad tocan los datos (alojamiento, CDN, envío de correo, mapas), con su ubicación y la garantía de cada transferencia fuera de la UE. La web de reparaciones publica sus textos legales en español, inglés y ruso, e indica que la versión en español es la vinculante.
El registro de actividades, al día
El artículo 30 del RGPD exige un registro de actividades de tratamiento, el RAT. No se publica, pero es lo primero que pide una inspección y lo primero donde encuentra fallos.
En cada web el registro está en el mismo repositorio que los textos legales. Recoge cada actividad de tratamiento: gestión de solicitudes de presupuesto, ejecución del trabajo y facturación, prevención del spam, registro de consentimientos de cookies, analítica web, mapa de la zona de servicio y atención de derechos. Para cada una indica la finalidad, la base jurídica, los interesados, los datos, los destinatarios y el plazo de conservación. También deja escritos los razonamientos que buscaría un revisor. El registro de consentimientos, por ejemplo, se basa en la obligación legal de acreditar el consentimiento, no en el propio consentimiento. Si no, retirarlo obligaría a borrar la prueba de que alguna vez se dio.
Las primeras líneas del registro advierten que debe coincidir con la política de privacidad publicada. En la práctica, un cambio de proveedor o de plazo entra en el registro y en los tres textos legales en el mismo commit.
Un pequeño script convierte el registro de texto plano en un PDF maquetado con numeración de páginas, listo para firmar o enviar. Usa el motor del navegador que ya está instalado. El PDF siempre se genera a partir del texto y nunca se edita a mano, así que las dos versiones no pueden separarse.
Un banner de cookies que va en serio
El banner forma parte de nuestra librería de componentes y lo comparten todas las webs.
El Consent Mode v2 de Google se pone en “denegado” para la analítica y las tres señales de publicidad antes de que cargue nada, es decir, antes de que pueda ejecutarse ninguna etiqueta de Google.
Y el propio Google no se carga hasta que el visitante acepta. Con solo el Consent Mode, Google Tag Manager se descargaría igualmente y habría que confiar en que Google respete el “denegado”. Nuestro cargador ni siquiera lo solicita hasta que el visitante pulsa “Aceptar todo”, así que quien rechaza nunca envía su IP a Google. Se ve en el vídeo de arriba: antes del clic, cero peticiones a Google. Después, carga Tag Manager y Analytics recibe su primer evento con la analítica concedida y la publicidad denegada.
Cada web declara para qué usa realmente las cookies, y solo se pueden conceder los fines declarados. Una web que solo mide visitas nunca puede pasar a Google un consentimiento publicitario, ni siquiera tras “Aceptar todo”. Con un único fin, un banner de dos botones (aceptar o rechazar) basta según la guía de cookies de la AEPD.
Cada decisión deja una prueba. El banner genera un identificador aleatorio de consentimiento y envía la decisión a nuestra plataforma, junto con las categorías, la versión de la política, la página, el idioma y el navegador. Si el visitante cambia de opinión, la nueva decisión se añade al histórico de ese identificador. Un botón redondo en la esquina le muestra la fecha y el identificador de su consentimiento y le permite cambiarlo.
Mapas sin cookies
Un mapa de Google incrustado instala cookies de Google antes de que el visitante haya elegido nada. En las webs de reparaciones y de alquiler de coches lo sustituimos por un mapa de OpenStreetMap, que no guarda nada en el dispositivo del visitante. Aun así, su IP queda visible para la OpenStreetMap Foundation, así que la política de privacidad y el registro la incluyen como destinataria. No necesita consentimiento previo, porque no se guarda nada en el dispositivo. En la web de alquiler, el mapa solo descarga sus imágenes cuando llega a la pantalla.
Tecnologías
- Webs: Astro (generación estática), Tailwind CSS 4, @yatoday/astro-ui
- Textos legales: MDX que lee un archivo de datos tipado por web
- Registro de actividades: texto plano en el repositorio → PDF con Chrome sin interfaz (CDP)
- Consentimiento: CookieConsent de astro-ui, Google Consent Mode v2, carga de GTM condicionada al consentimiento
- Registro e histórico de consentimientos: API de la plataforma Yatoday (Laravel)
- Mapas: Leaflet + OpenStreetMapResultado
Cada web sale con un aviso legal, una política de privacidad y una política de cookies que describen ese negocio y sus proveedores reales, con el cliente como responsable y Yatoday como encargado. El registro de actividades de tratamiento está a su lado, en el mismo repositorio, y se convierte en PDF con un solo comando. El banner de cookies mantiene a Google fuera de la página hasta que el visitante acepta, deja las señales publicitarias desactivadas cuando la web solo mide visitas y guarda un registro fechado de cada decisión.




