c15t is a free, open source compliance & risk management project written in TypeScript and released under Apache-2.0. It has 1,897 GitHub stars, 218 forks and 27 open issues, and was last pushed 6 hours ago. On this registry it ranks #32 of 45 tracked projects in Compliance & Risk Management, with 5 head-to-head comparisons available. It gained 12 stars over the last 6 tracked days.

What is c15t?

What it is

c15t is a TypeScript consent management platform, or CMP, released under Apache-2.0. It helps JavaScript, React, and Next.js teams build cookie banners, preference centers, privacy preferences, and headless consent flows inside their application stack instead of using a black-box third-party snippet.

The problem it addresses is controlling when analytics, advertising pixels, tag managers, and chat widgets run based on consent state. The README says c15t is used by 2,100+ sites, including expo.dev, zed.dev, and unkey.dev, and it supports Google Tag Manager, Google Consent Mode v2, Meta Pixel, and IAB TCF 2.3.

Key capabilities

  • It provides prebuilt UI components for cookie banners, consent dialogs, and preference centers, plus headless hooks and framework-native primitives for custom consent flows.
  • It supports React and Next.js through packages such as @c15t/react and @c15t/nextjs, with App Router, Pages Router, SSR, React Server Components, and multiple React versions.
  • It gates analytics, ads, conversion pixels, tag managers, and chat widgets behind consent through consent-aware loaders in @c15t/scripts.
  • It supports Google Consent Mode v2 defaults and updates, including loading Google Tag Manager with denied defaults and firing GTM-managed tags after matching consent.
  • It supports IAB TCF 2.3 and separates marketing, measurement, and functional consent for integration types.
  • It runs in hosted mode on inth.com, self-hosted mode with @c15t/backend, or offline mode for local development, previews, and static deployments.
  • Hosted and self-hosted modes support durable consent records, backend policy state, audit logs, and server-side visibility, while @c15t/translations provides type-safe internationalization.

Who uses it and how

  • JavaScript, React, and Next.js teams place consent UI and consent logic inside their bundle rather than loading a separate snippet.
  • Teams using Google Tag Manager or Google Analytics 4 use consent-aware loaders so tag firing and consent updates follow user choices.
  • Teams running Meta, TikTok, LinkedIn, Microsoft, X, Reddit, or Snapchat pixels gate those pixels behind marketing consent while analytics tools are gated behind measurement consent.
  • Teams with programmatic advertising workflows add IAB TCF 2.3 support through the CMP.
  • Teams needing persistent consent history choose hosted or self-hosted backends, while teams needing previews or static fallback use offline mode.

Getting started

Typical installation uses npm packages such as c15t, @c15t/react, @c15t/nextjs, @c15t/scripts, and @c15t/translations. Self-hosting uses @c15t/backend with a database and infrastructure, while hosted deployment uses a c15t backend on inth.com.

When to use it — and when not to

c15t fits teams that want consent management inside the application stack and that can operate a backend when durable records, audit logs, and server-side visibility are needed. A self-hoster must deploy @c15t/backend with a database and infrastructure, and offline mode stores consent locally without the durable backend features available in hosted or self-hosted modes. The metadata lists a repository age of 0 years, 27 open issues, and 0 contributors, so teams needing a long-established project should weigh that.

project readme (upstream, from github) — read inline

Latest NPM Version Stars License Discord Skills Made by Inth

c15t is a developer-first consent management platform (CMP) used by 2,100+ sites, including expo.dev, zed.dev, and unkey.dev. It helps JavaScript, React, and Next.js teams build cookie banners, preference centers, privacy preferences, and fully headless consent flows, with integrations for Google Tag Manager, Google Consent Mode v2, Meta Pixel, IAB TCF 2.3, and more.

Overview

c15t keeps consent management inside your application stack instead of a black-box third-party snippet. Use the prebuilt UI for cookie banners, consent dialogs, and preference centers, or use the headless APIs to build a fully custom consent experience.

c15t can run with a hosted backend on inth.com, a self-hosted consent backend, or offline/local-only mode for development, previews, and static deployments. Hosted and self-hosted modes support durable consent records, backend policy state, audit logs, and server-side visibility.

Why c15t

  • Build cookie banners, consent dialogs, and preference centers for JavaScript, React, and Next.js
  • Use prebuilt UI components, headless hooks, or framework-native primitives
  • Gate analytics, ads, pixels, tag managers, and chat widgets behind consent
  • Support Google Tag Manager and Google Consent Mode v2 without hand-rolling consent updates
  • Manage Meta Pixel and other conversion pixels with marketing consent
  • Add IAB TCF 2.3 support for programmatic advertising workflows
  • Choose hosted on inth.com, a self-hosted backend, or offline mode

Integrations

Load analytics, pixels, tag managers, and widgets through c15t so consent state controls when they run. @c15t/scripts ships prebuilt, consent-aware loaders for dozens of tools, including:

  • Google Tag Manager - loads at page start with Google Consent Mode v2 defaults set to denied; GTM-managed tags fire only once matching consent is granted (guide)
  • Google Analytics 4 + Google Ads (gtag.js) - automatic Consent Mode v2 defaults and consent updates when users make a choice (guide)
  • Conversion pixels gated behind marketing consent: Meta Pixel, TikTok Pixel, LinkedIn Insights, Microsoft UET (Microsoft Ads), X Pixel, Reddit Pixel, Snapchat Pixel
  • Analytics gated behind measurement consent: Adobe Analytics, Amplitude, PostHog, Segment, RudderStack, Hightouch, Mixpanel, Microsoft Clarity, Hotjar, LogRocket, Plausible, Pirsch, Fathom, Matomo, Umami, Vercel Analytics
  • Enrichment gated behind marketing consent: Clearbit
  • Chat widgets gated behind functional consent: Intercom, Crisp

See the full integrations list.

Deployment Modes

  • Hosted on inth.com - use a hosted c15t backend with hosted infrastructure, policy storage, audit history, and dashboard workflows
  • Self-hosted backend - deploy @c15t/backend with your own database and infrastructure for full control
  • Offline mode - store consent locally in the browser for local development, demos, previews, static sites, or controlled fallback scenarios

Talk

Watch the Next.js Conf 2025 talk: Why Your Consent Banner Should Be in Your Bundle.

Packages

Package Description Key Features Version
c15t Headless JavaScript consent management platform Cookie consent, privacy preferences, local storage, SSR support, framework-agnostic APIs npm
@c15t/react React cookie banner and consent manager React 19/18/17/16.8, prebuilt UI, headless hooks, RSC-compatible, IAB subpath support npm
@c15t/nextjs Next.js cookie banner and CMP integration App Router, Pages Router, SSR, React Server Components, same-origin backend proxy support npm
@c15t/translations Internationalization Support Type-safe translation interfaces, Modular translation imports, Supports partial and comple

readme truncated — read the full docs on github

Frequently asked questions

Is c15t free to use?

c15t is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does c15t do?

Build privacy-compliant cookie banners with full control

What is c15t written in?

c15t is primarily written in TypeScript. Its source is publicly available at https://github.com/c15t/c15t, and it has 1,897 GitHub stars.