Zum Inhalt springen
Loslegen

Lizenzierung

Die Mildport-Lizenzierung ist offline. Ihre Engine verifiziert jeden Schlüssel lokal gegen einen öffentlichen Schlüssel, den Sie mit ihr deployen — Importe laufen weiter, ob Sie uns erreichen oder nicht: im Air-Gap, während unserer Wartung, an einem Sonntagabend.

Derselbe Schlüssel gilt überall. Es gibt keinen getrennten „Cloud-Schlüssel“ und „Self-Host-Schlüssel“: ein Schlüssel, dieselbe Prüfung in unserer Cloud und in Ihrer VPC.

  1. Sie erhalten einen Lizenzschlüssel auf der Seite Lizenzen Ihres Mildport-Kontos.
  2. Ihre Engine hält den öffentlichen Schlüssel, gegen den sie prüft — IMPORT_LICENSE_PUBLIC_KEY, auf der Seite Self-Hosting desselben Kontos.
  3. Jede Anfrage wird lokal verifiziert. Kein Netzwerkanruf, jemals.

Ein Schlüssel trägt Tenant, Plan, Limits und Ablaufdatum — ein Deployment kann viele Tenants mit unterschiedlichen Rechten bedienen; die Engine liest das alles aus dem Schlüssel selbst.

Schlüssel gegen unsere verwaltete Cloud sind bewusst kurzlebig (Wochen, nicht Jahre) und erneuern sich unbeaufsichtigt: neben dem Lizenzschlüssel erhalten Sie ein Refresh-Geheimnis (ebenfalls genau einmal angezeigt). Ihr Server ruft damit den Refresh-Endpunkt per Cron auf — gleicher Plan, gleiche Origins, frischer Schlüssel und Ablauf — und tauscht den Schlüssel dort aus, wo Sie ihn einbetten. Ein durchgesickerter Cloud-Schlüssel stirbt also von selbst innerhalb von Tagen, ohne Widerrufsinfrastruktur und ohne dass die Prüfung nach Hause telefoniert.

Self-Hosted- und Air-Gap-Deployments sind davon ausgenommen: ihre Schlüssel behalten die lange Plan-Laufzeit und müssen uns nie erreichen — die Engine kennt den Refresh-Endpunkt nicht. Ein manuelles Regenerieren rotiert auch das Refresh-Geheimnis.

Melden Sie sich an, öffnen Sie Lizenzen, und legen Sie einen Tenant an. Der Schlüssel erscheint einmal, direkt nach dem Ausstellen.

Der Schlüssel gehört in den einbettenden Host, als license-key-Attribut des Widgets (siehe Konfiguration). Er ist ein Bearer-Credential: behandeln Sie ihn wie einen API-Schlüssel und halten Sie ihn aus öffentlichen Repositories.

Schlüssel sind zeitlich begrenzt, und Ablauf ist das Einzige, was ein Schlüsselleben beendet — es gibt keinen Remote-Kill-Switch, weil es nichts Remote gibt.

  • Wir mailen Ihnen 30 Tage vor Ablauf, an die Adresse, die den Schlüssel angelegt hat.
  • Verlängern ist ein Klick: regenerieren auf der Lizenzseite. Sie erhalten einen frischen Schlüssel, der aktuelle gilt bis zu seinem Ablauf — Sie können früh tauschen, ohne Ausfall.
  • Nach Ablauf stoppen Importe mit diesem Schlüssel. Die Lösung ist derselbe Klick.

Das Panel zeigt einen Countdown auf jeder Lizenz in den letzten 30 Tagen, damit der Stand sichtbar ist, ohne auf die Mail zu warten.

Ein Schlüssel für ein Browser-Embed kann auf die erlaubten Sites gepinnt werden. Liste leer lassen — der Schlüssel gilt überall; Origins eintragen — Browser-Anfragen von anderswo werden abgelehnt. Server-seitige Aufrufe sind unberührt — das schützt eingebettete Schlüssel, die jeder im Seitenquelltext sehen kann.

Setzen Sie die Liste beim Anlegen oder Regenerieren. Wildcard-Subdomains gehen als https://*.example.com; Ports zählen.

Weil die Prüfung offline ist, lässt sich ein kompromittierter Schlüssel nicht remote zurückrufen. Zwei Hebel:

  • Sperrliste — die Lizenz-ID in IMPORT_LICENSE_REVOKED_IDS auf Ihrer Engine eintragen (kommagetrennt). Wirkt mit dem nächsten Deploy, ohne neuen öffentlichen Schlüssel.
  • Regenerieren — einen frischen Schlüssel im Panel ausstellen und den alten nicht mehr verteilen. Er gilt bis zum Ablauf — deshalb gibt es die Sperrliste für den dringenden Fall.

Der Preflight sagt, ob die Engine Schlüssel überhaupt prüfen kann, bevor Traffic ankommt:

Terminal window
pnpm import:self-host-check

Aus einem Image statt einem Source-Checkout? Dieselbe Prüfung ist eingebaut:

Terminal window
docker run --rm --env-file .env ghcr.io/capitality-io/mildport-aio \
bun dist/cli/self-host-check.js

Auf Kubernetes führt helm test mildport sie im Cluster aus.

Weiter: Konfigurationsreferenz · Image-Zugang