c15t is a free, open source compliance & risk management project written in TypeScript and released under Apache-2.0. It has 2,018 GitHub stars, 266 forks and 27 open issues, and was last pushed 23 hours ago. On this registry it ranks #33 of 56 tracked projects in Compliance & Risk Management, with 5 head-to-head comparisons available. It gained 96 stars over the last 30 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 complete translations, Defines translation types for consent components npm
@c15t/scripts Consent-aware script integrations Google Tag Manager, Google Consent Mode v2, GA4, Google Ads, Meta Pixel, PostHog, Intercom, and more. See full list -> npm
@c15t/iab IAB TCF 2.3 addon TC String generation, GVL support, TCF APIs, vendor and purpose controls for programmatic ads npm
@c15t/dev-tools Developer Tooling Experimental developer utilities, React component library with utility tools, Radix UI and Tailwind CSS integration, State management and UI component helpers, Currently under active development npm
@c15t/cli Command-line Interface Configuration Generation, Database Migrations, Multi-Framework Support, Interactive Guided Workflows, GitHub Integration npm
@c15t/backend Self-hosted consent backend Policy engine, geolocation, server-side translation, audit logs, domain management, storage adapters npm
@c15t/node-sdk Type-safe Node.js API client Hosted and self-hosted API access, typed methods, dynamic base URLs, token auth, error handling npm

Documentation

Comprehensive guides for different frameworks:

Local Workflows

  • bun run dev starts the main product demo in examples/demo
  • bun run bench:ci runs the benchmark suites that publish .benchmarks/** artifacts
  • bun run compat:styles:review launches the Tailwind 3, Tailwind 4, plain CSS, and preview compatibility harnesses

Support

Contributing

  • We're open to all community contributions!
  • Read our Contribution Guidelines
  • Review our Code of Conduct
  • Fork the repository
  • Create a new branch for your feature
  • Submit a pull request
  • All contributions, big or small, are welcome and appreciated!

Security

If you believe you have found a security vulnerability in c15t, we encourage you to responsibly disclose this and NOT open a public issue. We will investigate all legitimate reports.

Our preference is that you make use of GitHub's private vulnerability reporting feature to disclose potential security vulnerabilities in our Open Source Software. To do this, please visit https://github.com/c15t/c15t/security and click the "Report a vulnerability" button.

Security Policy

  • Please do not share security vulnerabilities in public forums, issues, or pull requests
  • Provide detailed information about the potential vulnerability
  • Allow reasonable time for us to address the issue before any public disclosure
  • We are committed to addressing security concerns promptly and transparently

License

Apache License 2.0


Built by Inth

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 2,018 GitHub stars.