@c15t/react: React Consent Components
Developer-first CMP for React: cookie banner, consent manager, preferences centre. GDPR ready with minimal setup and rich customization
Key Features
- Works with React 19, 18, 17, and 16.8
- Full 'use client' support for React Server Components
- Headless and fully customizable UI components
- Automatic GDPR compliance
- Minimal configuration with TypeScript-first design
- Comprehensive Consent Management Platform (CMP)
- Flexible Cookie Banner and Consent Dialog components
- Built-in internationalization support
- Seamless consent storage and tracking
Prerequisites
- React 16.8 or later
- Node.js 18.17.0 or later
- A hosted c15t instance (free sign-up) or self-hosted deployment
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/react
To manually install, follow the guide in our docs – manual setup.
Usage
- Import
ConsentManagerProviderin your app's root component - Add
CookieBannerandConsentManagerDialogcomponents - Customise styling and behaviour to fit your app
- For full implementation details, see the React quickstart docs
// App.tsx
import { ConsentManagerProvider, CookieBanner } from '@c15t/react'
function App() {
return (
<ConsentManagerProvider>
<YourApp />
<CookieBanner />
</ConsentManagerProvider>
)
}
Documentation
For further information, guides, and examples visit the reference documentation.
Support
- Join our Discord community
- Open an issue on our GitHub repository
- Visit consent.io and use the chat widget
- Contact our support team via email support@consent.io
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