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.
| Sujeto | Propósito | Estado | Versión | Registrado | Justificante |
|---|---|---|---|---|---|
| email:a.rivera@… | marketing_email | concedido | v3 | 14:02:11 | rcpt_9f2… |
| external_id:u_4821 | analytics | denegado | v1 | 14:02:07 | rcpt_1c8… |
| email:m.chen@… | marketing_email | retirado | v3 | 13:58:44 | rcpt_a41… |
| cookie_id:ck_77b | personalization | concedido | v2 | 13:58:40 | rcpt_2d0… |
| email:s.k@… | data_sharing | caducado | v2 | 13:51:19 | rcpt_e77… |
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.
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
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
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/cookiesalimenta la tabla del banner
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·/gppGET /v1/tcf/vendor-list— sirve la GVL a los clientes__tcfapi- Webhooks firmados en cada cambio, con reintento y reenvío
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
Todo lo que hace una suite de cumplimiento. Sin el coste operativo.
| CMP tradicional | Tripticonsent | |
|---|---|---|
| Modelo | Una suite que opera tu equipo | Una API a la que conectas tu producto |
| Prueba del consentimiento | Un registro en su sistema | Bóveda de solo anexión y justificante firmado con Ed25519 |
| Marco regulatorio | Configuración por plantillas | RuleSet en datos (JSON-logic), sin migraciones |
| Cookies | Escáner y base de datos propietaria | Cascada base de datos → heurísticas → IA, con base de datos compartida |
| TCF / Consent Mode | Un módulo aparte | Derivado del estado del sujeto, un solo endpoint |
| Residencia | Según el plan | Siempre en la UE |
| Integración | Etiquetas y portal | npm i @tripticonsent/sdk |
| Acceso para agentes de IA | No disponible, o una exportación manual | Conector MCP, con permisos OAuth 2.1 como un miembro más del equipo |
Comparativa orientativa con plataformas de gestión del consentimiento tradicionales.
Antes de que preguntes
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.
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.
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.
Siempre en la UE — base de datos, cómputo y caché de borde, sin excepciones por plan.
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.
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.