包详细信息

@c15t/nextjs

c15t11.7kGPL-3.0-only1.8.1

Developer-first CMP for Next.js: cookie banner, consent manager, preferences centre. GDPR ready with minimal setup and rich customization.

nextjs, consent, privacy, gdpr

自述文件

<picture> <source media="(prefers-color-scheme: dark)" srcset="../../docs/assets/c15t-banner-readme-dark.svg" type="image/svg+xml"> c15t Banner </picture>

@c15t/nextjs: Next.js Integration

GitHub stars CI License Discord npm version Top Language Last Commit Open Issues

Developer-first CMP for Next.js: cookie banner, consent manager, preferences centre. GDPR ready with minimal setup and rich customization

Key Features

  • Works with Next.js 15, 14, and 13
  • Full 'use client' support for React Server Components
  • Server-side rendering support for both app and pages routers
  • Automatic GDPR compliance
  • Minimal configuration with TypeScript-first design
  • Headless, customisable UI components (Cookie Banner, Consent Dialog, etc.)
  • Built-in internationalisation support
  • Seamless consent storage and tracking

Prerequisites

Quick Start

Easiest setup with @c15t/cli:

# Generate schema and code
pnpm dlx @c15t/cli generate
# Alternatives:
# npx @c15t/cli generate
# bunx --bun @c15t/cli generate

The CLI will:

  • Install necessary packages
  • Configure your c15t instance
  • Set up environment variables
  • Add consent management components to your app

Manual Installation

pnpm add @c15t/nextjs

To manually install, follow the guide in our docs – manual setup.

Usage

  1. Import ConsentManagerProvider in your app's root layout
  2. Add CookieBanner and ConsentManagerDialog components
  3. Customise styling and behaviour to fit your app
  4. For full implementation details, see the Next.js quickstart docs
// app/layout.tsx
import { ConsentManagerProvider, CookieBanner } from '@c15t/nextjs'

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <html lang="en">
      <body>
        <ConsentManagerProvider>
          {children}
          <CookieBanner />
        </ConsentManagerProvider>
      </body>
    </html>
  )
}

Documentation

For further information, guides, and examples visit the reference documentation.

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

GNU General Public License v3.0


Built with ❤️ by the consent.io team