c15t is the stronger fit when your product needs native components and an integrated path from consent state to backend records. Your developers can own both the interface and the engine.
Klaro also has an open-source client and a hosted service. Its hosted plans include records and scans, so neither open source nor managed consent is exclusive to c15t.
<include src="../shared/comparisons/inth-hosting.mdx" />
| What you need | c15t | Klaro |
|---|---|---|
| Integrate with application UI | Native framework components and reactive state | JavaScript consent manager with an API and state watchers |
| Control individual services | Category and vendor rules for declared targets | Service configuration and annotated resources |
| Change the interface | Themes, component parts and headless APIs | Open-source client and configurable styles |
| Choose the Next.js response | Server resolution, streamed state or browser resolution | Browser integration in the reviewed setup guide |
| Keep remote records | Inth hosts the backend and stores records in its database. Self-hosting is optional | Hosted plans include managed records |
| Run the frontend yourself | Apache-2.0 packages | Open-source client that you can host |
| Run the record backend yourself | Deployable open-source backend | Reviewed commercial pages describe a hosted record service |
| Discover site services | No scanner in the c15t packages | Hosted plans include URL scans |
Sources: Klaro setup, JavaScript API, configuration and hosted plans.
c15t lets a privacy control, vendor script and video placeholder use the same state. Your team can change them with the rest of the application.
Use native components or headless APIs to match your design. Register vendors through integration helpers or a custom integration.
Klaro's JavaScript API also exposes consent state and change notifications. c15t adds dedicated framework adapters and a backend implementation in the same project.
Switch a category off. Its vendors wait.
42 of 42 running
Always loads and gets consent signals.
- Cloudflare Zaraz, always loads and gets consent signals
- Google Tag Manager, always loads and gets consent signals
- Google Tag, always loads and gets consent signals
- Databuddy, always loads and gets consent signals
- Mixpanel, always loads and gets consent signals
- PostHog, always loads and gets consent signals
- Microsoft UET, always loads and gets consent signals
- Ahrefs Analytics
- Adobe Analytics
- Amplitude
- Cloudflare Web Analytics
- Microsoft Clarity
- Fathom Analytics
- Heap
- Matomo Analytics
- OneDollarStats
- Hotjar
- Hightouch
- LogRocket
- Plausible Analytics
- Promptwatch
- Pirsch
- RudderStack
- Segment
- Rybbit Analytics
- Umami Analytics
- Vercel Analytics
- Klaviyo
- Clearbit
- Meta Pixel
- OpenAI Pixel
- Pinterest Tag
- Reddit Pixel
- TikTok Pixel
- LinkedIn Insight Tag
- Snapchat Pixel
- X Pixel
- YouTube
- Crisp
- Front Chat
- Intercom
- Google Maps
Import each helper from @c15t/integrations.
Paste this line into your agent. It reads the setup brief and does each step.
The setup brief is at /SKILL.md. For the docs, agents can read /llms.txt and /llms-full.txt, or use the MCP server at with no sign-in.
The CLI plans the setup. You check the plan, then apply it.
To do each step yourself, read the quickstart. To get JSON results for scripts and agents, read the automation guide.
Inth hosts the backend, the policy rules and the IAB CMP ID.