# c15t/c15t

The Developer-First Cookie Banner

Repository: https://github.com/c15t/c15t
Canonical: https://ross.abutalabs.com/products/c15t
Homepage: https://c15t.com
Language: TypeScript
License: Apache-2.0
License Family: permissive
Topics: cmp, consent-management-platform, cookie-banner, typescript, cookie-consent-banner
Last push: 2026-08-17T12:34:01+00:00

## Health v2 (maintenance only)
Score: 83/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 98, release rhythm 86, longevity 42
- inputs: {"age_days": 597, "days_push": 16, "days_rel": 16, "gap_med": 0, "n_releases_24m": 208}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1866, forks 205 (observed 2026-08-28T04:05:46.230735+00:00)

## What it is
c15t is an open-source, developer-first consent management platform (CMP) for cookie banners, privacy preferences, consent storage, and consent-aware script loading. It ships headless JavaScript/React/Next.js packages plus a self-hostable backend API for consent records, audit logging, and policy management.

## Use cases
- add a GDPR cookie consent banner to a React or Next.js app
- block analytics and marketing scripts until users grant consent
- self-host a consent management API with audit logging on my own infrastructure
- manage Google Consent Mode and IAB TCF consent signals
- show consent-gated YouTube or Google Maps embeds
- replace OneTrust or Cookiebot with an open-source CMP
- let users customize cookie preferences by category

## When to choose
- you need consent state, script gating, and consent records inside your own app rather than a black-box script tag
- you want React/Next.js components, hooks, and headless primitives with full styling control
- you want to self-host consent storage and policy management on Node, Bun, Deno, or Cloudflare Workers
- performance matters and you want to avoid blocking third-party CMP scripts

## When to avoid
- you need a guaranteed legal compliance solution without any policy work on your side
- you want a fully managed, zero-code hosted CMP with vendor legal guarantees
- your site is a simple static page where a tiny vanilla banner suffices

## Facets
- artifact type: library
- maturity: active
- function: ui-components, middleware, sdk, self-hosted
- domain: privacy, web-development, frontend, legal
- platform: cross-platform, self-hosted
- tags: consent-management, cookie-banner, gdpr, cmp, script-gating, react, nextjs, nodejs, web-server

## Member repositories
- c15t/c15t (main) score 83

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:46.230735+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:15:32.189401+00:00, confidence not recorded.
  - readme: https://github.com/c15t/c15t (fetched 2026-08-28T04:05:46.230735+00:00, sha 9ed165e3b470)
  - homepage: https://c15t.com (fetched 2026-08-29T10:54:48.187814+00:00, sha 09753674417d)
  - site_page: https://c15t.com/docs/frameworks/next/quickstart (fetched 2026-08-29T10:54:48.197406+00:00, sha 374e84cb4594)
  - site_page: https://c15t.com/docs/integrations/overview (fetched 2026-08-29T10:54:48.199562+00:00, sha 46fa4757db41)
  - site_page: https://c15t.com/docs/self-host/quickstart (fetched 2026-08-29T10:54:48.201701+00:00, sha 3f054ba18ab9)
  - site_page: https://c15t.com/docs/comparison (fetched 2026-08-29T10:54:48.205413+00:00, sha 4ae71e76f20d)
  - site_page: https://c15t.com/docs/frameworks (fetched 2026-08-29T10:54:48.209461+00:00, sha a9c74f9a1b1e)
  - site_page: https://c15t.com/docs/frameworks/react/quickstart (fetched 2026-08-29T10:54:48.210921+00:00, sha 8fda7a17b004)
  - registry_npm: https://registry.npmjs.org/c15t (fetched 2026-08-29T10:54:48.212579+00:00, sha 927d3855dc65)
  - site_page: https://c15t.com/changelog (fetched 2026-08-29T10:54:48.203466+00:00, sha 39990bcbd1c2)
- Data as of 2026-08-30T08:39:29.467469+00:00.
