consentimiento de cookies para Lovable

Consentimiento de cookies para Lovable,
con un prompt

Lovable construye la app y el seguimiento que pediste, y no añade ningún paso de consentimiento. Pídele un banner y obtienes una caja que muestra una elección y no bloquea nada. Esta página arregla ambas cosas en diez minutos.

Todo el cambio: el runtime primero, y cada rastreador convertido en un script que espera a su categoría.

la norma

Lo que Lovable no incluye

Un proyecto Lovable por defecto pone cookies de analítica y marketing en cuanto se añaden esos scripts. Ese es exactamente el comportamiento que las autoridades europeas están sancionando, y el deber legal recae en ti, el operador, no en la herramienta que generó el código.

La norma es la misma en toda la UE y en el Reino Unido: nada más allá de lo estrictamente necesario puede almacenarse en el dispositivo de un visitante ni leerse de él antes de que haya dado su consentimiento. Es el artículo 5(3) de la Directiva ePrivacy, y ese consentimiento debe cumplir la definición del RGPD: libre, específico, informado e inequívoco, con un rechazo tan fácil como la aceptación. El Reino Unido mantiene la misma norma en PECR, con exenciones limitadas para estadísticas de bajo riesgo desde el 5 de febrero de 2026. California y las demás leyes estatales de EE. UU. funcionan al revés: sin opt-in, pero con un enlace de opt-out y soporte para la señal Global Privacy Control.

De ahí se derivan tres cosas para un sitio web. Los scripts de analítica, publicidad y redes sociales tienen que esperar una decisión. La decisión tiene que registrarse de forma que puedas demostrarla después, porque el artículo 7(1) pone la carga de la prueba sobre ti. Y retirar el consentimiento tiene que ser tan fácil como darlo, lo que exige un control que vuelva a abrir el banner en cada página. Un banner que muestra dos botones y carga Google Analytics de todos modos suspende la primera prueba, y ese es justo el fallo que las autoridades están sancionando, desde las decisiones de la CNIL contra Google y SHEIN hasta las inspecciones de las autoridades neerlandesa y belga.

cómo funciona

Cómo funciona el consentimiento en una app de Lovable

Lovable genera una app React sobre Vite con Tailwind y shadcn/ui, normalmente con Supabase detrás, y la publica en un subdominio lovable.app o en tu propio dominio. El runtime de consentimiento pertenece al único archivo que toda app Vite tiene: index.html, primero en el head. Lovable edita ese archivo cuando se lo pides y mantiene el cambio en prompts posteriores.

Lo que Lovable no hará por sí solo es bloquear nada. Si pides «un banner de cookies», el modelo escribe un componente que muestra dos botones y guarda un booleano, mientras el snippet de Google Analytics o Meta Pixel que añadió antes sigue ejecutándose en cada carga. Eso es peor que no tener banner: parece conforme y no lo es. El prompt de abajo hace las dos cosas que importan, en el orden correcto: primero el runtime, después cada rastreador convertido en un script sujeto a consentimiento.

Después, el escáner toma el relevo. Carga tu app publicada en un navegador real, en cada estado de consentimiento, y lista lo que aún se dispara antes del consentimiento, si hay algo. Como las apps de Lovable son de una sola página, el escaneo sigue las rutas del lado del cliente que descubre en el DOM renderizado; añade URL de inicio en el panel para las rutas que no puede alcanzar desde la página de inicio. El registro de consentimiento graba cada decisión desde el momento en que el banner está en producción.

configuración

Configúralo desde Lovable

Diez minutos, un prompt, sin npm.

  1. Crea el sitio, obtén la clave

    Regístrate, añade el dominio en el que está publicada tu app y copia la clave de producción desde Instalar. El plan gratuito cubre dos dominios.

  2. Pega este prompt en Lovable

    Pone la etiqueta primero y convierte cada rastreador en un script sujeto a consentimiento. Lee el diff que genera; nada más debería cambiar.

    Add this script tag as the very first element inside <head> of index.html:
    <script src="https://app.cookiecrumbs.eu/runtime/cc.js"
            data-cc-site="pk_live_…"
            data-cc-env="production"></script>
    Then change every analytics, advertising and social script (Google Analytics, gtag, Meta Pixel, TikTok, Hotjar, HubSpot) to type="text/plain" and add data-cc-category="analytics" or data-cc-category="marketing" to each one. Do not change anything else.
  3. Publica y luego escanea

    Publica la app. En el panel, ejecuta el primer escaneo: carga la app en producción en un navegador real y lista lo que aún se dispara antes del consentimiento, si hay algo.

  4. Clasifica una vez, configura los enlaces legales, publica el banner

    Clasifica cada proveedor en una categoría, configura tus enlaces de aviso legal y privacidad, publica. El banner está en producción y el registro de consentimiento está grabando.

  5. Ejecuta la comprobación de instalación

    Carga tu página como un visitante y confirma que el banner se ejecutó antes que cualquier rastreador. Esa marca es la prueba.

ojo

Errores que vemos con Lovable

Cada uno aparece en el primer escaneo como un rastreador que se disparó antes del consentimiento.

  • Pedirle a Lovable «un componente de banner de cookies»Obtienes UI, no bloqueo. Los scripts que añadió antes siguen ejecutándose al cargar.
  • Analítica añadida mediante una integración de LovableUn snippet de GA4 o Pixel añadido por el builder está en index.html o main.tsx y se dispara al cargar. Necesita el tratamiento text/plain como cualquier otro.
  • Cookies de autenticación de Supabase clasificadas como marketingLas cookies de sesión para iniciar sesión son estrictamente necesarias. Clasifícalas como necesarias para que el banner no bloquee tu propio login.
  • Probar solo en la vista previa de lovable.appUsa ahí la clave de preview y la clave de producción en tu dominio propio. El escaneo y la comprobación de instalación necesitan la URL en producción.
  • Sin enlaces a la política de privacidad y al aviso legalEl banner tiene que enlazar a ambos, y la publicación se rechaza hasta que estén configurados. Lovable no escribe esas páginas; tú sí.

antes de publicar

La lista de comprobación

Ocho líneas. El panel marca las dos últimas con datos reales.

  • La etiqueta es el primer script del headCualquier cosa por encima puede poner una cookie que el runtime no puede retirar.
  • Cada script de analítica, anuncios y redes sociales espera a su categoríaO bien type="text/plain" con una categoría, o bien el host está en el mapa de bloqueo del escaneo.
  • «Rechazar todo» está en la primera capaMismo tamaño y mismo peso que «Aceptar todo». Sin «X» que cuente como consentimiento ni casillas premarcadas.
  • Los valores por defecto de Consent Mode están en «denied» antes de que cargue GoogleComprueba las siete señales en Tag Assistant con el consentimiento denegado.
  • Los enlaces al aviso legal y a la política de privacidad están configuradosLa publicación se rechaza hasta que estén los dos; el pie del banner enlaza a ellos.
  • Hay un control para retirar el consentimiento en cada páginaEl control permanente o un enlace «Gestionar cookies» en tu pie de página.
  • El primer escaneo completo se ejecutó y cada proveedor está clasificadoEl veredicto en Inicio dice, con fecha, qué se disparó antes del consentimiento.
  • La comprobación de instalación se ha superadoCarga tu página como un visitante y confirma que el banner se ejecutó antes que cualquier rastreador.

lo que obtienes

Lo que incluye el plan gratuito

Dos dominios, 100 subpáginas escaneadas al mes por dominio, todas las normativas, la CLI, los SDK y el servidor MCP.

Un escáner que lee la página renderizada

Cada página, en cada estado de consentimiento, en un navegador real. Cookies, píxeles, iframes y claves de almacenamiento, con la página y el script que los pusieron. Se vuelve a escanear según un calendario.

La declaración de cookies se escribe sola a partir del resultado.

Un banner que bloquea primero

Las etiquetas permanecen inactivas hasta que se concede su categoría. «Rechazar todo» es tan visible como «Aceptar todo». Siete diseños, 25 idiomas, Consent Mode v2 y la norma correcta por región.

21 kB, un solo archivo, sin peticiones propias a terceros.

Una prueba que puedes entregar

Cada decisión se guarda con marca de tiempo, versión del banner y un hash de los textos mostrados, encadenada al registro anterior. Las exportaciones van firmadas. Alojado en Fráncfort.

Artículo 7(1), en el plan gratuito.

comprobación gratuita

Mira qué carga tu app de Lovable ahora mismo

El HTML de la página de inicio, contrastado con la base de datos de rastreadores. Sin cuenta, sin guardar nada. El escaneo completo del panel hace lo mismo con cada página, en un navegador real.

preguntas

Respuestas claras

¿Lovable añade un banner de cookies RGPD por defecto?
No. Lovable genera los scripts de analítica y los píxeles que le pides, y nada que pregunte antes al visitante. Pedirle un banner suele producir una caja cosmética que muestra una elección y no bloquea nada.
¿Puedo añadir CookieCrumbs sin salir de Lovable?
Sí. Pega el prompt de esta página en el chat de Lovable. Añade la etiqueta primero en index.html y convierte los rastreadores en scripts sujetos a consentimiento. El registro y el escaneo se hacen en el panel de CookieCrumbs.
¿Es obligatorio un banner de cookies para una app pequeña?
Si la app atiende a visitantes de la UE o el Reino Unido y pone alguna cookie no esencial, analítica incluida, entonces sí. El deber recae en el operador del sitio, no en la herramienta que lo generó. Un proyecto personal sin analítica ni embeds no necesita nada.
¿El banner ralentizará la app?
El runtime pesa 21 kB comprimido, un solo archivo, cargado en asíncrono, sin peticiones propias a terceros. Los diseños de barra y cinta reservan su espacio antes del pintado, así que no hay desplazamiento.
¿Puedo seguir usando el builder después?
Sí. La etiqueta y los scripts bloqueados son HTML normal que Lovable conserva entre ediciones. Vuelve a ejecutar el escaneo tras cambios grandes; el panel te avisa cuando aparece un nuevo rastreador.
¿A dónde van los datos de consentimiento?
A Fráncfort, Alemania. Los registros nunca salen de la UE, no se guarda ninguna dirección IP ni user agent junto a un registro, y cada registro se exporta como CSV o JSON firmado, incluso después de cancelar.

siguiente paso

Conforme antes de compartir el enlace

Plan gratuito, dos dominios, sin tarjeta. Escanea primero la app en producción si quieres ver qué carga hoy.