Infraestructura de consentimiento y preferencias

La capa de consentimiento a la que conectas tu producto.

Captura, versiona, demuestra y revoca consentimientos y preferencias —cookies incluidas— con una sola API. Una bóveda de solo anexión, justificantes firmados que se verifican sin conexión y cada evento almacenado en la UE.

Residencia de datos en la UE IAB TCF v2.2 Google Consent Mode v2 Justificantes firmados con Ed25519 ISO/IEC 29184
Por qué no conviene desarrollarlo internamente

El consentimiento es un problema de datos que no para de cambiar.

Una prueba, no un valor booleano

Un regulador pregunta qué vio exactamente la persona y cuándo. Eso exige un registro inmutable con la versión de la cláusula, la IP y la marca de tiempo, además de una firma que cualquiera pueda verificar sin conexión.

El marco legal cambia continuamente

RGPD, ePrivacy, LOPDGDD, CCPA, revisiones del TCF. Fijar cualquiera de estas reglas en el código obliga a una migración cada vez que cambian. Las reglas se guardan como datos y se evalúan en el momento de la petición.

Las cookies son un proyecto aparte

Escanear un sitio, clasificar cada rastreador y mantener la base de datos al día a medida que los rastreadores evolucionan. El problema de la clasificación por sí solo lleva años resolverlo bien — y nunca termina.

La bóveda

De solo anexión, con un justificante firmado por cada decisión.

Las filas de ConsentRecord nunca se modifican: un cambio es una fila nueva que sustituye a la anterior. Una proyección materializada sirve las lecturas frecuentes; el registro es la fuente de verdad.

  • Firmas Ed25519 independientes, JWKS público, verificables sin conexión
  • IP cifrada en reposo y hash de la cláusula en la prueba
  • Cronología completa y exportación del sujeto con un clic
POST /v1/consent → 201
state GRANTED
purposeVersion 3
supersedesId rec_8a1…
receiptId rcpt_9f2c…
proof.statementHash b7e4…
Definiciones

Cláusulas versionadas y un centro de preferencias configurable.

Publica una versión de un propósito como DISPLAY_ONLY (solo notificar) o RECONSENT_REQUIRED (tratar el consentimiento anterior como caducado). Canales × temas, campos tipados y reglas de dependencia con JSON-logic.

  • Texto legal multiidioma, congelado por versión
  • Tu banner se genera a partir de GET /v1/purposes — diseño, tema y textos configurables desde la consola
  • Ventanas de caducidad, campañas de reconsentimiento masivas y tests A/B sobre el texto y diseño del banner
purpose · marketing_email
v1 superseded
v2 superseded
v3 · published RECONSENT_REQUIRED
v4 draft
Escáner de cookies

Clasificación en cascada: base de datos de referencia → heurísticas → IA.

Gana el primer nivel que resuelve con suficiente confianza. Las cookies desconocidas pasan a una cola de revisión por sitio; una clasificación confirmada y promovida entre organizaciones se convierte en una coincidencia de nivel 1 para todas.

  • La anulación manual de una persona es la autoridad para ese sitio
  • El conjunto de definiciones compartido crece con cada revisión
  • GET /v1/cookies alimenta la tabla del banner
_ga DB · analytics
_fbp heuristic · marketing
__stripe_mid DB · necessary
xq7_pref AI 44% → review
Señales

TCF v2.2, Consent Mode v2 y GPP: derivados, no reimplementados.

Solicita una cadena TC, una cadena GPP usnat, la cadena de Additional Consent de Google o un objeto gtag('consent','update', …) construido a partir del estado actual del sujeto. El control de etiquetas del SDK carga tus scripts al conceder el consentimiento y lo reevalúa cuando cambia.

  • GET /v1/consent/tcstring · /google-consent-mode · /google-additional-consent · /gpp
  • GET /v1/tcf/vendor-list — sirve la GVL a los clientes __tcfapi
  • Webhooks firmados en cada cambio, con reintento y reenvío
google-consent-mode
ad_storage granted
analytics_storage denied
ad_user_data granted
security_storage granted
Para desarrolladores · Agentes de IA

Apunta a Claude a tu organización. Solo toca lo que tocaría un miembro del equipo.

Un servidor MCP remoto respaldado por nuestro propio servidor de autorización OAuth 2.1 — registro dinámico de clientes, PKCE, una pantalla de consentimiento real. Cada conexión queda ligada a una sola organización y a los recursos exactos que apruebas: sites, purposes, webhooks, vault (solo lectura), cookies, banner, policies. Sin claves de API compartidas viviendo en la memoria de un bot.

  • claude mcp add --transport http tripticonsent https://mcp.tripticonsent.tripticode.com/mcp
  • Pídele que añada un propósito, consulte el estado de consentimiento de un sujeto, o encole un escaneo de cookies — misma API, mismo registro de auditoría
  • Permisos por ruta, no un acceso general — un endpoint admin nuevo es inalcanzable para cualquier token hasta que se habilita explícitamente
  • Funciona con Claude.ai, Claude Desktop y cualquier cliente compatible con MCP
Claude → MCP tool call
get_consent_status(subject) GRANTED
list_webhooks() 3 active
queue_cookie_scan(site) queued
scope sites · purposes · vault:read
Comparativa

Todo lo que hace una suite de cumplimiento. Sin el coste operativo.

CMP tradicionalTripticonsent
ModeloUna suite que opera tu equipoUna API a la que conectas tu producto
Prueba del consentimientoUn registro en su sistemaBóveda de solo anexión y justificante firmado con Ed25519
Marco regulatorioConfiguración por plantillasRuleSet en datos (JSON-logic), sin migraciones
CookiesEscáner y base de datos propietariaCascada base de datos → heurísticas → IA, con base de datos compartida
TCF / Consent ModeUn módulo aparteDerivado del estado del sujeto, un solo endpoint
ResidenciaSegún el planSiempre en la UE
IntegraciónEtiquetas y portalnpm i @tripticonsent/sdk
Acceso para agentes de IANo disponible, o una exportación manualConector MCP, con permisos OAuth 2.1 como un miembro más del equipo

Comparativa orientativa con plataformas de gestión del consentimiento tradicionales.

Preguntas frecuentes

Antes de que preguntes

¿Sustituye a OneTrust, Cookiebot o CookieYes?

Sí. Cubre lo mismo — banner de cookies, IAB TCF v2.2, Google Consent Mode v2, escáner de cookies — más lo que esas plataformas no ofrecen de forma nativa: una API-first real (no solo un dashboard), un justificante firmado con Ed25519 que se verifica sin conexión por cada consentimiento, y un conector MCP para agentes de IA.

¿Es lo mismo que el "consentimiento" del que hablan los artículos sobre MCP y agentes de IA?

No, y es una confusión habitual. La mayoría de ese contenido trata de que un humano autorice qué herramientas puede usar un agente (permisos OAuth de la conexión MCP). Tripticonsent resuelve lo contrario: el consentimiento RGPD de una persona real — cookies, marketing, etc. — expuesto a un agente autorizado, que actúa con los mismos permisos que un miembro más del equipo, nunca con acceso ampliado.

¿Cómo funciona el precio?

Por eventos de consentimiento al mes, agrupados por organización — nunca por dominio ni por sitio. El plan Hobby es gratis hasta 1.000 eventos/mes. Growth añade una cuota incluida mayor y factura el exceso una sola vez al mes en la factura, no como cargos sueltos por cada bloque de eventos.

¿Dónde se almacenan los datos?

Siempre en la UE — base de datos, cómputo y caché de borde, sin excepciones por plan.

¿Funciona en apps móviles o en WordPress/Shopify?

Sí — SDKs nativos para iOS, Android y Flutter, y plugins listos para WordPress y Shopify, todos hablando con la misma API y verificando el mismo justificante firmado.

Pensado para desarrolladores

Una etiqueta. O una llamada a la API. Tú decides.

  • `<script data-tc-api-key="pk_…">` — el banner en 30 segundos
  • SDK para navegador y Node, o REST directo para control total
  • SDKs nativos para iOS, Android y Flutter — mismo contrato, verificación de justificante Ed25519 sin conexión
  • Plugins listos para WordPress y Shopify si prefieres no tocar código
  • Caché en memoria con revalidación por ETag
  • Cabecera `Idempotency-Key` en cada escritura
import { TripticonsentClient } from '@tripticonsent/sdk';

const tc = new TripticonsentClient({ baseUrl: API_URL, apiKey: 'pk_live_…' });

await tc.recordConsent(
  { subject: 'email:user@example.com', purpose: 'marketing_email', state: 'GRANTED' },
  { idempotencyKey: crypto.randomUUID() },
);

// load analytics only after consent
await tc.gate('email:user@example.com', ['analytics'], () => loadAnalytics());

Conecta la capa de consentimiento.

Una bóveda, una única fuente de verdad, en la UE. Una etiqueta o una llamada a la API — tu banner está activo hoy mismo.