Declaración de cookies embebible
La declaración de cookies es una tabla con las cookies detectadas en tu sitio — nombre, dominio, proveedor, propósito, duración y tipo — agrupadas por categoría. Se genera automáticamente a partir del último escaneo de tu sitio y se actualiza sola después de cada escaneo: no hay que republicar nada.
Publicarla dentro de tu política de privacidad cubre el deber de informar al titular qué cookies usa el sitio (Ley 21.719 art. 14, GDPR art. 13).
Dónde copiar los snippets
Sección titulada «Dónde copiar los snippets»En el dashboard, la sección Cookies (/dashboard/cookies) incluye la tarjeta
“Declaración de cookies” con un preview del widget y los dos snippets listos para copiar
con tu Site ID real. Visible para los roles admin y DPO.
Opción 1 — Widget (script + custom element)
Sección titulada «Opción 1 — Widget (script + custom element)»Pegá esto donde quieras que aparezca la tabla (por ejemplo, en la página de tu política de privacidad):
<cookie-declaration data-site-id="TU-SITE-ID" data-api-base="https://api.cookycmp.com"></cookie-declaration><script src="https://api.cookycmp.com/cookie-declaration.js" defer></script>Atributos del elemento <cookie-declaration>:
| Atributo | Requerido | Descripción |
|---|---|---|
data-site-id | Sí | UUID del sitio. |
data-api-base | No | URL base del API. Por defecto https://api.cookycmp.com. |
data-lang | No | Idioma del widget. Si falta, usa el lang del documento; por defecto es. |
El script es JavaScript puro, sin frameworks ni dependencias, con tabla accesible (WCAG 2.2 AA).
Opción 2 — Iframe
Sección titulada «Opción 2 — Iframe»Para CMS que no permiten JavaScript externo:
<iframe src="https://api.cookycmp.com/v1/declaration/TU-SITE-ID/embed" title="Declaración de cookies" loading="lazy" style="width:100%;min-height:600px;border:0"></iframe>El iframe sirve un HTML autocontenido (CSS inline, sin scripts) con la misma tabla, y respeta el modo claro/oscuro del visitante.
Opción 3 — JSON (para integraciones propias)
Sección titulada «Opción 3 — JSON (para integraciones propias)»Si querés renderizar la tabla con tu propio código, el endpoint público devuelve los datos en JSON:
GET https://api.cookycmp.com/v1/declaration/TU-SITE-IDRespuesta:
{ "siteId": "…", "lastScanAt": "2026-07-30T12:00:00.000Z", "categories": [ { "id": "analytics", "label": "…", "description": "…", "cookies": [ { "name": "_ga", "domain": "…", "vendor": "…", "purpose": "…", "duration": "…", "type": "persistent" } ] } ]}Si el sitio todavía no fue escaneado, responde 200 con categories: [] y
lastScanAt: null. Si el Site ID no existe, responde 404 { "error": "site_not_found" }.
Comportamiento y límites
Sección titulada «Comportamiento y límites»- Sin autenticación — los tres formatos son públicos; la respuesta nunca expone datos del tenant, solo el Site ID.
- Rate limit: 60 solicitudes por minuto por IP. Al superarlo,
429con headerRetry-After. - Caché: las respuestas se cachean 5 minutos y usan
ETag(basado en el último escaneo), así que el widget solo descarga datos cuando hay un escaneo nuevo. - Las cookies que dejaron de detectarse en el último escaneo pueden mostrarse marcadas como “no detectada en el último escaneo” según la configuración de tu sitio.