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.
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.
- 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
Load analytics, pixels, tag managers, and widgets through c15t so consent state controls when they run. @c15t/scripts ships prebuilt, consent-aware loaders for 25+ tools:
- 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: PostHog, Segment, Mixpanel, Microsoft Clarity, Hotjar, Plausible, Fathom, Matomo, Umami, Vercel Analytics
- Chat widgets gated behind functional consent: Intercom, Crisp
See the full integrations list.
- 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
Watch the Next.js Conf 2025 talk: Why Your Consent Banner Should Be in Your Bundle.
| Package | Description | Key Features | Version |
|---|---|---|---|
c15t |
Headless JavaScript consent management platform | Cookie consent, privacy preferences, local storage, SSR support, framework-agnostic APIs | |
@c15t/react |
React cookie banner and consent manager | React 19/18/17/16.8, prebuilt UI, headless hooks, RSC-compatible, IAB subpath support | |
@c15t/nextjs |
Next.js cookie banner and CMP integration | App Router, Pages Router, SSR, React Server Components, same-origin backend proxy support | |
@c15t/translations |
Internationalization Support | Type-safe translation interfaces, Modular translation imports, Supports partial and complete translations, Defines translation types for consent components | |
@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 -> | |
@c15t/iab |
IAB TCF 2.3 addon | TC String generation, GVL support, TCF APIs, vendor and purpose controls for programmatic ads | |
@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 | |
@c15t/cli |
Command-line Interface | Configuration Generation, Database Migrations, Multi-Framework Support, Interactive Guided Workflows, GitHub Integration | |
@c15t/backend |
Self-hosted consent backend | Policy engine, geolocation, server-side translation, audit logs, domain management, storage adapters | |
@c15t/node-sdk |
Type-safe Node.js API client | Hosted and self-hosted API access, typed methods, dynamic base URLs, token auth, error handling |
Comprehensive guides for different frameworks:
bun run devstarts the main product demo inexamples/demobun run bench:ciruns the benchmark suites that publish.benchmarks/**artifactsbun run compat:styles:reviewlaunches the Tailwind 3, Tailwind 4, plain CSS, and preview compatibility harnesses
- Join our Discord community
- Open an issue on our GitHub repository
- Visit inth.com and use the chat widget
- Contact our support team via email support@inth.com
- 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!
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.
- 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
Built by Inth