c15t
c15t — open source фреймворк для управления cookie-согласием и загрузкой скриптов в современных веб-приложениях, headless и framework-agnostic.
Что такое 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 на странице:
- Импортируйте провайдер и UI-компоненты (например,
ConsentManagerProvider,ConsentBanner,ConsentDialog). - Добавьте скрипты в конфигурацию провайдера (пример с Meta Pixel через
metaPixel({ pixelId: "..." })). - Установите опции, включая
mode(пример:hosted) иbackendURL(из переменной окружения). - Выведите
<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.
Альтернативы
ClawTick
ClawTick — платформа AI-автоматизации через CLI для планирования webhook-задач по cron: мониторинг, алерты, повторы и логи выполнения.
OpenFlags
OpenFlags — open source self-hosted система feature flags для progressive delivery: локальная оценка в SDK и простая REST контрольная плоскость для безопасных релизов.
MakerLoft
MakerLoft — AI-конструктор приложений: подключает GitHub и генерирует рабочие приложения с бэкендом (auth, платежи, загрузки, админ).
Rectify
Rectify — единая платформа операций для SaaS: мониторинг, аналитика, поддержка, роадмапы, changelog и управление агентами в одном рабочем пространстве.
PromptScout
PromptScout отслеживает упоминания бренда, рекомендуемых конкурентов и источники в ответах ИИ в ChatGPT, Gemini, Google AI Overviews и Perplexity.
Sleek Analytics
Sleek Analytics — легкая аналитика с приватным подходом и实时-трекингом посетителей: откуда приходят, что смотрят и сколько времени проводят.