Skip to main content
Introducing packages.sweber.dev
All packages
BetaMIT + Pro

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/react

Permito 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.

FeatureFreePro
Cookie banner and preference centerIncludedIncluded
Consent gates for scripts, iframes and componentsIncludedIncluded
Google Consent Mode v2IncludedIncluded
DE, DE-CH, EN, FR, IT translationsIncludedIncluded
Service catalogNot includedIncluded
Cookie table for the privacy policyNot includedIncluded
Consent logNot includedIncluded
Cookie and script scannerNot includedIncluded
LicenceMITPer person
SupportGitHub issuesAgency and Lifetime

Pro

Pro packagesAdd-ons on top of the core.

  • @sxwxbxr/permito-catalog

    Ready-made service definitions for common providers.

  • @sxwxbxr/permito-cookie-table

    Renders the cookie table for your privacy policy from the same config.

  • @sxwxbxr/permito-log

    Records consent decisions so you can document them.

  • @sxwxbxr/permito-scanner

    Lists 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
Join waitlist

Agency

Recommended

For teams shipping consent on many client sites.

CHF 590

per year

2 months free

  • Up to 10 people
  • Support included
Join waitlist

Lifetime

Pay once, keep updates and repository access.

CHF 1'990

one-time

  • Up to 10 people
  • Support included
Join waitlist

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.
Read the licence terms

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.