UStackUStack
c15t icon

c15t

c15t — open source фреймворк для управления cookie-согласием и загрузкой скриптов в современных веб-приложениях, headless и framework-agnostic.

c15t

Что такое c15t?

c15t — open source фреймворк для управления cookie-согласием и загрузкой скриптов в современных веб-приложениях. Его основная цель — помочь разработчикам контролировать сбор согласия и включение (или блокировку) трекинговых или других скриптов на основе состояния согласия.

Проект позиционируется как «developer-first» и «headless», то есть базовая логика согласия отделена от пользовательского интерфейса, чтобы команды могли строить баннер и диалог в своём стеке, а не полагаться на непрозрачную логику вендора.

Ключевые возможности

  • Open source фреймворк согласия для cookie, согласий и рабочих процессов соответствия требованиям конфиденциальности, ориентированный на современные веб-приложения.
  • Контроль согласия и загрузки скриптов, предназначенный для выполнения на клиенте/крае, с целью блокировки запросов до установки соответствующего состояния согласия.
  • Headless-ядро, работающее с несколькими фреймворками (React, Vue, Svelte, Angular, Next.js, Nuxt, SvelteKit, Astro, Solid, Qwik и др.).
  • CLI-шаблонизатор для быстрого создания cookie-баннера или опция «внедрить headless-логику» и полностью контролировать опыт самостоятельно.
  • Настраиваемый UI под контролем разработчика через собственный CSS/дизайн-токены, с компонентами баннера/диалога, интегрируемыми в ваш стиль.
  • Поддержка i18n для обработки языка/локали баннера (переведи раз — согласие везде).
  • Опции языка и представления на основе геолокации, включая «показ финального баннера на языке пользователя» и опциональный отказ от показа (как описано).
  • Поддержка таргетинга по юрисдикциям, охватывающая 15+ законов о конфиденциальности, включая GDPR и CCPA/CPRA, с примерами для LGPD, PIPEDA, PIPL и APPI.

Как использовать c15t

Типичная настройка начинается с добавления провайдера и UI-компонентов c15t для конкретного фреймворка, затем конфигурации с вашим режимом согласия, URL бэкенда и скриптами, которые нужно защитить согласием.

Из примера Next.js на странице:

  1. Импортируйте провайдер и UI-компоненты (например, ConsentManagerProvider, ConsentBanner, ConsentDialog).
  2. Добавьте скрипты в конфигурацию провайдера (пример с Meta Pixel через metaPixel({ pixelId: "..." })).
  3. Установите опции, включая mode (пример: hosted) и backendURL (из переменной окружения).
  4. Выведите <ConsentBanner /> и <ConsentDialog />, чтобы пользователь мог управлять настройками конфиденциальности.

На сайте также упоминается быстрый старт через CLI (npx @c15t/cli).

Случаи использования

  • Приложения на Next.js, которым нужен баннер согласия и диалог настроек при привязке состояния согласия к загрузке скриптов (например, включение аналитики только после выбора пользователя).
  • Команды с несколькими фреймворками, желающие единый подход к логике согласия с UI на своих компонентах, поскольку ядро headless и совместимо со многими фреймворками.
  • Продукты с сильной локализацией, где текст баннера согласия показывается на языке пользователя с встроенной обработкой i18n/локали.
  • Продукты, работающие в разных регионах, где сообщения по законам о конфиденциальности (или показ баннера) варьируются по юрисдикции и языку, с поддержкой через геолокацию и конфигурацию юрисдикций.
  • Команды, предпочитающие кастомный стиль и интеграцию дизайн-токенов для баннера/диалога вместо готового UI.

FAQ

  • Это c15t только UI-решение? Нет. На сайте описано, что у c15t headless-ядро, куда разработчики могут «внедрить headless-логику» и контролировать опыт и стиль.

  • Какие фреймворки поддерживаются? Страница указывает совместимость с React, Vue, Svelte, Angular, Next.js, Nuxt, SvelteKit, Astro, Solid, Qwik и др.

  • Можно ли кастомизировать внешний вид баннера? Да. На странице указано, что можно стилизовать своим CSS и дизайн-токенами, и вы контролируете опыт.

  • Поддерживает ли c15t несколько языков? Да. На странице указано наличие поддержки i18n со встроенной обработкой локали.

  • Как обрабатываются разные юрисдикции конфиденциальности? Страница описывает геолокацию и таргетинг по юрисдикциям, включая примеры GDPR и CCPA/CPRA, и упоминает 15+ юрисдикций.

Альтернативы

  • Headless-библиотеки для управления согласием/framework-agnostic: Вместо专用ного фреймворка команды могут сами создать управление состоянием согласия и блокировать загрузку скриптов за своим UI. Это отличается переносом усилий по реализации от готового фреймворка.
  • Компоненты cookie/баннеров, ориентированные на UI: Некоторые решения в основном предоставляют готовый баннер согласия с настройками. Они обычно жертвуют контролем разработчика над логикой согласия и блокировкой скриптов по сравнению с headless-подходом.
  • Инструменты управления тегами/скриптами с режимами согласия: Альтернативы в категории аналитики/управления тегами могут предлагать запуск скриптов с учетом согласия. Рабочие процессы часто сосредоточены на правилах тегов, а не на headless-ядре согласия, которое разработчики могут интегрировать напрямую.
  • Платформы для приватности/соответствия: Они обычно управляют более широкими рабочими процессами соответствия. Они могут быть менее совместимы с framework-agnostic, управляемыми разработчиком паттернами согласия и загрузки скриптов, описанными для c15t.