PermitoSelf-hosted cookie banner, preference center and consent gates for React and Next.js. No network calls, no tracking, no dark patterns.
pnpm add @permitojs/core @permitojs/reactPermito is a consent toolkit you ship inside your own app instead of loading from a third-party server. Optional categories are opt-in, "Reject all" carries the same weight as "Accept all", and nothing that needs consent loads before it is given.
It is built for agencies in Switzerland, Germany and Austria: German, Swiss German, English, French and Italian are included, Google Consent Mode v2 is wired in, and the Next.js helpers read consent on the server so gated content never flashes.
Example
A short exampleCopy it into your project.
app/providers.tsx
"use client"
import {
ConsentBanner,
PermitoProvider,
PreferenceCenter,
PreferencesButton,
} from "@permitojs/react"
import "@permitojs/react/styles.css"
export function Providers({ children }: { children: React.ReactNode }) {
return (
<PermitoProvider
config={{
consentVersion: "2026-10",
language: "de-CH",
categories: [
{ id: "necessary", required: true },
{ id: "statistics" },
{ id: "marketing" },
],
}}
privacyPolicyUrl="/datenschutz"
googleConsentMode
>
{children}
<ConsentBanner />
<PreferenceCenter />
<PreferencesButton />
</PermitoProvider>
)
}Features
What you getFree under MIT, with Pro on top.
Free, MIT
- Opt-in by default, with "Reject all" exactly as prominent as "Accept all"
- No network calls and no tracking: consent is stored in your own cookie
- Gate scripts, iframes and components with ConsentScript, ConsentIframe and ConsentGate
- Server-safe Next.js helpers, so gated content never flashes on load
- Google Consent Mode v2 with a configurable category mapping
- German, Swiss German, English, French and Italian built in; keyboard and screen-reader accessible
Pro
- Service catalog with ready-made entries for common providers
- Cookie table component for your privacy policy
- Consent log for documenting given consent
- Scanner that lists the cookies and scripts a site sets
Compare
Free and ProSide by side.
| Feature | Free | Pro |
|---|---|---|
| Cookie banner and preference center | Included | Included |
| Consent gates for scripts, iframes and components | Included | Included |
| Google Consent Mode v2 | Included | Included |
| DE, DE-CH, EN, FR, IT translations | Included | Included |
| Service catalog | Not included | Included |
| Cookie table for the privacy policy | Not included | Included |
| Consent log | Not included | Included |
| Cookie and script scanner | Not included | Included |
| Licence | MIT | Per person |
| Support | GitHub issues | Agency and Lifetime |
Pro
Pro packagesAdd-ons on top of the core.
@sxwxbxr/permito-catalogReady-made service definitions for common providers.
@sxwxbxr/permito-cookie-tableRenders the cookie table for your privacy policy from the same config.
@sxwxbxr/permito-logRecords consent decisions so you can document them.
@sxwxbxr/permito-scannerLists the cookies and scripts a site actually sets.
Pricing
PricingPrices are in CHF.
Permito Pro: coming soon
The Pro packages are not on sale yet. Join the waitlist and you get a note when they are.
Freelancer
For one person working on client projects.
CHF 190
per year
2 months free
- 1 person
- No support entitlement
Agency
RecommendedFor teams shipping consent on many client sites.
CHF 590
per year
2 months free
- Up to 10 people
- Support included
Lifetime
Pay once, keep updates and repository access.
CHF 1'990
one-time
- Up to 10 people
- Support included
11 people or more: get in touch
- After cancelling, every version you already received keeps working. Only updates and repository access end.
- No licence key, no phone-home. The packages never contact a server to check your licence.
- Licensed per person on your team. Your clients and their websites need no licence of their own.
- Checkout, invoices and VAT are handled by Polar as merchant of record.
FAQ
QuestionsShort answers.
Who needs a licence?
Every person on your team who works with the Pro packages. Freelancer covers one person, Agency and Lifetime cover up to ten. For eleven or more, get in touch.
What happens when I cancel?
Every version you already received keeps working, in every project you used it in. Only new updates and access to the private repository end.
Do my clients need their own licence?
No. The licence covers the people building the sites. The websites you deliver and the clients who own them need nothing.
Is there a licence key or usage tracking?
No. The packages are installed from a private GitHub Packages registry and never contact a licence server.
Who issues the invoice, and is VAT included?
Polar sells Permito Pro as merchant of record. It handles checkout, invoices and VAT for your country.
Can I use the open-source part on its own?
Yes. @permitojs/core and @permitojs/react are MIT-licensed and complete without Pro.
Articles
ArticlesGuides and release notes.
2026-10-04
Permito 0.1.0 releasedThe first public release of Permito: a self-hosted cookie banner, preference center and consent gates for React and Next.js. MIT licensed, no network calls.