Consent preflight: verificar antes de publicar
Por qué (enséñalo así): el código por vibraciones facilita lanzar una aplicación en una tarde, e igual de fácil es lanzar una demanda. La trampa habitual es un píxel de rastreo (Meta, Google, TikTok) que se activa en cuanto la página se abre. En California, rastrear sin consentimiento puede tratarse como interceptación telefónica, con hasta $5,000 por infracción. Un banner de cookies no te protege si el píxel se activa antes de que alguien haga clic en él. Tener un banner y esperar permiso son dos cosas completamente diferentes. La solución es una instrucción para tu creador de IA, más verificar que funcionó.
El prompt que debes recordar: "Asegúrate de que ningún píxel de rastreo, analítica ni script de terceros se cargue hasta que el usuario haga clic en Aceptar en mi banner de cookies."
No es asesoramiento legal. Esto detecta los errores comunes y costosos; no certifica nada.
Las 10 verificaciones
Ejecútalas en la URL de vista previa o en vivo en una pestaña nueva sin cookies (navegador integrado de Claude: almacenamiento limpiado, luego read_network_requests antes de cualquier clic), además del escaneo de código si el código está disponible:
python3 ~/.claude/skills/consent-audit/scripts/scan_trackers.py <app-dir>
| # | Verificación | Aprobado |
|---|---|---|
| 1 | Visita nueva, sin clic: ¿alguna solicitud a un dominio de anuncios/analítica/repetición (facebook, google-analytics, googletagmanager, tiktok, licdn, hotjar, clarity, posthog, segment, heycatch…)? | Ninguna |
| 2 | Cookies antes del clic: ¿_ga, _fbp, _gcl_au, _ttp, _hj*, ph_*? | Ninguna |
| 3 | Complementos del host desactivados o restringidos: Lovable Visitor analytics, analíticas de Vercel/Netlify/Cloudflare, campos de píxel del creador de sitios | Desactivados o restringidos |
| 4 | Rechazar funciona: haz clic en Rechazar, navega 2 páginas, nada opcional se activa | Sí |
| 5 | Banner es justo: Aceptar y Rechazar igualmente destacados; casillas desmarcadas. Si no hay rastreadores opcionales, no hay banner (no es necesario) | Sí |
| 6 | Vía de regreso: un enlace en el pie de página "Opciones de privacidad" para cambiar o retirar el consentimiento | Sí (si existe el banner) |
| 7 | Sin identidad para rastreadores: inicia sesión con una cuenta de prueba; sin correo electrónico ni ID de usuario en las solicitudes de rastreadores | Ninguno enviado |
| 8 | Sin secretos en URLs enviadas: sin ?code=, ?token=, ?email= ni texto de búsqueda en las solicitudes de rastreadores | Ninguno |
| 9 | Aviso de privacidad: página pública, enlazada en el pie de página y al registrarse, nombra a los proveedores reales y el contacto real | Sí |
| 10 | Alcance de la publicación: conoces todos los cambios sin publicar que esta publicación lanzará | Listados y aprobados |
Resultado
PREFLIGHT: <app> - <PASS / FIX FIRST> (<date>)
1 ✅/❌ ... 10 ✅/❌ (una línea de evidencia cada una: dominios vistos, cookies encontradas, o "ninguno")
Fix first: <las verificaciones que fallan, en orden de riesgo: 1, 7, 2, 3 primero>
- Todo aprobado: publica, luego vuelve a ejecutar las verificaciones 1, 2 y 4 en la URL en vivo. El hosting puede añadir scripts que la vista previa no tenía.
- Falla cualquiera de 1-4 o 7-8: no publiques. Ejecuta
consent-auditpara el inventario completo, luegoconsent-gate(o elimina el rastreador). - Solo fallan 5, 6 o 9: corrige con la sección de banner/aviso de
consent-gate, luego publica.
Notas didácticas (para estudiantes)
- Muestra, no digas: abre su sitio en una pestaña nueva con DevTools → Red, filtra por "facebook" o "google", recarga, y déjalos ver el píxel activarse antes de que toquen el banner. Ese momento hace que la lección se quede grabada.
- Menos rastreadores es la victoria fácil. Si aún no están ejecutando anuncios, aún no necesitan un píxel. Sin rastreador significa sin banner y sin riesgo.
- Analítica vs. tus propios datos: desactivar rastreadores no elimina lo que su aplicación guarda para los usuarios (cuentas, progreso, respuestas de formularios). Eso son datos propios, y están cubiertos por su aviso de privacidad, no por el banner.
- Sitios de cursos y videos: un píxel de Meta en páginas que reproducen videos conlleva un riesgo federal adicional (VPPA). Mantén los píxeles fuera de las páginas de lecciones.