Style with your own CSS
Your banner looks like the rest of your product with your own components, tokens and themes.
<ConsentManagerProvider
options={{ theme: { colors: {
primary: '#ffc803'
} } }}
/>Inth Consent runs on c15t, our open-source consent library. The banner ships in your bundle as React components and hooks, so it needs no extra request, you can style it like the rest of your product and you can debug it without leaving your app.
Privacy settings
Choose which cookies and tracking technologies this site may use.
We value your privacy
This site uses cookies to improve your browsing experience, analyze site traffic, and show personalized content.
One command adds the provider, banner and preference centre to your codebase. Review the generated code, change it and ship it through your normal workflow.
npx @c15t/cli generate
✔ Detected Next.js (App Router)
✔ Added ConsentManagerProvider
✔ Scaffolded cookie banner + preferences
✔ Done in 9s. Ready to review.
c15t is part of your app, not a script from someone else’s server. The banner needs no extra request and doesn’t shift the page when it appears, and in Next.js the consent check can start on the server. These are its numbers on Cookiebench’s Next.js test page.
Start with theme tokens and props. When that isn’t enough, rearrange the banner’s parts or build your own UI on the same consent state. Click a value in the snippet to change it.
<ConsentManagerProvider
options={{
theme: { colors: { primary: '' } },
colorScheme: '',
i18n: {
locale: 'en',
messages: {
en: {
cookieBanner: { title: 'We value your privacy' },
},
},
},
}}
>
<ConsentBanner primaryButton="" />
</ConsentManagerProvider>The stock banner and the inline widget are c15t components. Your own UI reads the same consent state through a hook, so a choice made in any of them shows up in the others.
Privacy settings
Not saved yet{ necessary: true, measurement: false, marketing: false }c15t runs in your application. You own the interface, consent state and script gating while Inth handles the hosted infrastructure around it.
Your banner looks like the rest of your product with your own components, tokens and themes.
<ConsentManagerProvider
options={{ theme: { colors: {
primary: '#ffc803'
} } }}
/>Keep banner copy and regional variants in the same translation system as your application.
We value your privacy
This site uses cookies to improve your browsing experience and analyze site traffic.
Serve the right banner, language and policy config for each region, or show no banner.
ConsentDialogTrigger is a small floating button that opens the privacy settings. Visitors can drag it to any corner and it stays where they left it. You choose when it shows.
Drag the button to another corner, or use the arrow keys.
When the button shows
<ConsentDialogTrigger
icon="fingerprint"
showWhen="always"
/>c15t puts a placeholder where each YouTube video or Google map goes. Nothing is requested from YouTube or Google until the visitor allows the category that embed needs.
With c15t
<YouTubeEmbed
consentCategory="marketing"
title="Product tour"
videoId={videoId}
/><GoogleMap
consentCategory="measurement"
apiKey={apiKey}
center={center}
/>The c15t dev tools dock a panel on your page in development. It shows where the visitor is, which policy matched, what each category is set to and which scripts were allowed to load. Accept or reject on the example page and watch the panel follow.
We value your privacy
c15t DevTools
Connected