DESARROLLADORES

El consentimiento como primitiva, no como plugin.

Un SDK de consentimiento de cookies tipado, una API REST detrás, una CLI para tu pipeline y un servidor MCP para que un asistente se encargue de lo tedioso. Crea tú la interfaz, o añade el widget y sáltate ese paso.

@katla.app/sdkREST + MCPTypeScript de principio a fin
import { useConsentManager } from '@katla.app/sdk/react'

function Banner() {
  const {
    hasDecision, availableCategories, selected,
    toggleCategory, acceptAll, rejectAll, saveSelection,
  } = useConsentManager()

  if (hasDecision) return null

  return (
    <aside>
      {availableCategories.map((category) => (
        <Toggle
          key={category}
          label={category}
          checked={selected.includes(category)}
          onChange={() => toggleCategory(category)}
        />
      ))}
      <button onClick={acceptAll}>Accept all</button>
      <button onClick={rejectAll}>Necessary only</button>
      <button onClick={saveSelection}>Save choices</button>
    </aside>
  )
}
useConsentManager vuelve a renderizar con cada decisiónAbrir en la documentación →
CUATRO FORMAS DE EMPEZAR

Elige la superficie que encaja con el trabajo.

SDK

TypeScript

El estado del consentimiento, las categorías y las decisiones en un pequeño cliente tipado. Encima, hooks de React y componentes de Next.js.

  • Se carga de forma asíncrona, nunca bloquea el renderizado
  • Las señales de Google Consent Mode v2 se envían automáticamente
  • Server components y datos de cookies en tiempo de compilación en Next.js
pnpm add @katla.app/sdkEmpieza con el SDK →

Widget

Sin código

Una etiqueta script, pegada en línea, para cuando prefieres no crear la interfaz. Con estilos desde el panel o con variables CSS; por debajo, el mismo motor.

  • Se configura en el panel y está activo en segundos
  • Cada token es una variable CSS --katla-*
  • Pasa a headless más adelante sin perder registros de consentimiento
<script>(function(){"use strict";var i=document.currentScript,…})();</script>Configura el widget →

CLI

CI / CD

Añade dominios y lanza escaneos desde un terminal o un paso de un pipeline. Exporta el inventario clasificado como pista de auditoría.

  • Los escaneos se consultan hasta que terminan, así que un paso de CI puede esperar a uno
  • Los registros de cookies y de consentimiento se exportan en CSV
  • Gestiona categorías y descripciones por idioma desde scripts
katla domains scan example.comEmpieza con la CLI →

Servidor MCP

Asistentes de IA

Deja que Claude, ChatGPT o tu editor lancen escaneos, consulten estadísticas de consentimiento y cambien la configuración en lenguaje natural.

  • Servidor remoto, nada que instalar en local
  • OAuth 2.1 con tu propia cuenta y sus permisos
  • 24 herramientas para sitios, cookies, consentimientos y comprobaciones de cumplimiento
https://api.katla.app/mcpConecta el servidor MCP →
SERVIDOR MCP

Pregunta en lugar de hacer clic.

Conecta Claude, ChatGPT o tu editor a la cuenta que ya tienes. Las herramientas se ejecutan como tú, con tus permisos: un asistente no puede llegar a un sitio al que tú no llegas.

katla_scan_site
Lanza un escaneo y devuelve el inventario de cookies clasificado.
katla_list_sites
Los sitios de la cuenta, con su verificación y la hora del último escaneo.
katla_list_cookies
Inventario clasificado con categorías y puntuaciones de confianza.
katla_get_consent_stats
Tasas de aceptación, rechazo y aceptación parcial de un sitio.
katla_update_cookie_category
Reclasifica una cookie; tu corrección se mantiene.
katla_generate_privacy_policy
Genera la política a partir de lo que encontró el escaneo.
Todas las herramientas y el modelo de permisos →

¿Cuáles de nuestros sitios han bajado del 70 % de consentimiento esta semana?

katla_get_consent_statsDos: shop.example.com con un 64 % y blog.example.com con un 68 %. Los dos venían de poco más del 80 % la semana pasada.

Vuelve a escanear la tienda y dime qué ha cambiado.

katla_scan_site47 cookies, tres nuevas desde el último escaneo, todas de una herramienta de landing pages añadida el martes. Dos clasificadas como marketing, una aún desconocida.
API REST

Todo lo que hace el panel, por HTTP.

El panel, la CLI y el servidor MCP hablan con ella. No se reserva nada para la interfaz.

Especificación OpenAPI →
GET/teamsLos equipos a los que pertenece la cuenta
GET/teams/:teamId/sitesLos sitios, con su último escaneo
POST/sites/:id/scanLanza un escaneo; consulta el resultado
GET/sites/:siteId/cookiesInventario clasificado con confianza
GET/sites/:siteId/cookies/exportEl mismo inventario en CSV
GET/sites/:id/consentsRegistros de consentimiento con estadísticas
PATCH/sites/:id/settingsActualiza categorías, textos y tema
4,6 kBPeso en headlessComprimido con gzip e insertado en el documento por el SDK de Next.js. Ninguna petición en tiempo de ejecución.
±0 msImpacto en LCPMedido frente a la misma página sin ninguna plataforma de consentimiento. El método está en la página de comparación.
18Herramientas MCPSitios, cookies, consentimientos, políticas y plan, todo con los permisos de tu propia cuenta.
13Idiomas de la políticaPolíticas de cookies y de privacidad generadas a partir de tu inventario real, en cada idioma que ofreces.

Consentimiento en tu app antes de comer.

Regístrate, añade un dominio, lanza un escaneo y luego un import. El plan gratuito lo cubre todo. ¿Es tu primera vez con el consentimiento headless? Lee la guía de primeros pasos o clona uno de los proyectos de ejemplo.