Notfall als Code

Der Notfall bekommt eine Datei.

Wenn ein Dienst brennt, schaltet paniq ihn mit einem Befehl in einen sicheren Zustand. Mit einem zweiten nimmst du alles zurück. Jeder Schritt wird vorher gezeigt, danach geprüft und belegt.

  • Ein Binary
  • Kein Agent
  • Keine Cloud
  • Keine Telemetrie
root@web-01: ~ Linux-Labor
Echte Ausgabe aus dem Linux-Labor, gekürzt.

In 30 Sekunden erklärt

Prüfen. Absichern. Belegen. Zurücknehmen.

Der Ablauf ist immer gleich, ob nginx, sshd, IIS, eine Datenbank oder eine Cloudflare-Zone. Und jeder Schritt hat eine Rücknahme.

paniq status --verify

Gegen den echten Host prüfen

paniq vergleicht jeden Dienst mit dem, was wirklich auf der Maschine läuft, nicht mit einer Notiz. Weicht etwas ab, wird die Ampel rot und der Exit-Code 2. Monitoring und CI merken es sofort.

paniq shield shop

Absichern, mit Ablaufdatum

Zuerst zeigt paniq den Plan, dann führt es ihn aus. Bekannte Angriffe werden blockiert, der Dienst bleibt erreichbar. Jede Änderung trägt ein Ablaufdatum von 14 Tagen.

paniq report --pdf nachweis.pdf

Jeden Schritt belegen

Was geprüft wurde, was sich geändert hat, wer es ausgelöst hat, was zurückgenommen wurde. Als Text, JSON oder PDF für die Revision. Lokal erzeugt, ohne Server.

paniq undo

Alles zurück, geprüft

paniq nimmt jede Änderung zurück, in umgekehrter Reihenfolge, mit einer Prüfung nach jedem Schritt. Der Nachweis bleibt, denn ein Vorfall muss auch nach dem Ende belegt sein.

Einmalig

paniq init schreibt das Paniqfile.

Es liest das Inventar und beschreibt Dienst, Prüfungen, Zustände und Rücknahme. Die Datei ist Text und gehört ins Repository. Vier Zustände, von harmlos bis streng:

normal
Alles wie immer.
secured
Signierte Abwehr-Module aktiv, Dienst voll erreichbar.
degraded
Notbetrieb: statischer Schnappschuss, Pfade wie /admin gesperrt.
isolated
Ports nur noch für erlaubte Adressen.
Paniqfile
# Paniqfile, erzeugt mit paniq init version: 1 service: shop kind: webapp runs_on: [server/web-01] states: secured: mitigations: registry # signierte Module degraded: web: static_snapshot # lesbar, Formulare aus paths: { /admin: restrict } isolated: ports: { 22: restrict, 5432: never_public } policies: - when: outage > 5m enter: degraded approval: preapproved # umkehrbar, 14 Tage

Ein Binary.
Vier Plattformen.

  • Linux nftables · systemd · nginx · apache2 · sshd
  • macOS pf · launchd · nginx · apache · php-fpm
  • Windows netsh · Dienste · IIS · Registry
  • Cloudflare Zonen-Firewall · läuft auf jedem OS

Sechs Standards

Nicht gemeint, sondern gemessen.

Jede Zusage ist in echten Maschinen geprüft. Was nicht geprüft ist, steht nicht hier.

Umkehrbar

Jede Änderung hat eine Rücknahme und ein Ablaufdatum von 14 Tagen. Der nächste Lauf baut Abgelaufenes zurück, Schritt für Schritt geprüft.

226 Linux-, 108 macOS- und 55 Windows-Prüfungen in echten Maschinen, inklusive Neustart und Rücknahme.

Schnell

Alles läuft lokal auf dem Host. Kein Warten auf einen Dienst in der Cloud.

  • 1Binary
  • 1Prozess
  • 0Netzwerkaufrufe im Steuerpfad

Portabel

Netzwerkregeln setzt paniq mit den echten Werkzeugen der Plattform, nicht simuliert.

  • systemd
  • launchd
  • pf
  • netsh
  • IIS

Labore mit echten Diensten, keine Container-Attrappen.

Leicht

Keine Laufzeitumgebung, kein Daemon, kein Agent auf dem Host.

< 10 MB

Statisch gebaut. Standardbibliothek plus ein YAML-Parser.

Stabil

Reproduzierbare Builds: gleicher Quellstand, gleiche Hashes. Fehler enden hart, nie halb angewandt.

exit 4Fail closed

Unbekannt bleibt unbekannt.

Flexibel

Das Paniqfile ist Text für Menschen. Signierte Registry-Module liefern erprobte Abwehr, und über MCP nutzt ein Agent dieselben Befehle wie du.

  • --json
  • Exit-Codes 0–4
  • MCP
  • SARIF
  • signierte Module

Für Agenten & CI

Gebaut, um aufgerufen zu werden.

Jeder Befehl spricht JSON und endet mit einem festen Exit-Code. Cron, Pipelines und Agenten brauchen keine Sonderbehandlung.

cron, CI, Monitoring
# Nur JSON auf stdout. ok == (Exit-Code 0) $ paniq --json status || notify "nicht grün" # Abweichung vom Host: rot, rc 2 $ sudo paniq status --verify --json # Was kann dieses Binary? $ paniq capabilities --json

Das Manifest paniq.capabilities/v1 nennt Befehle, Flags, Exit-Codes und die Sicherheitsklasse je Befehl.

Exit-Codes
Exit-Codes von paniq
Code Bedeutung
0 grün, nichts zu tun
1 gelb, diese Woche handeln
2 rot, jetzt handeln
3 falsche Bedienung oder Bestätigung fehlt
4 technischer Fehler, fail closed
MCP über stdio
# 9 lesende Werkzeuge, JSON-RPC 2.0 $ paniq mcp paniq_status · paniq_plan · paniq_check paniq_doctor · paniq_metrics · … # Schreibende Werkzeuge: doppelt gesperrt $ paniq mcp --allow-write # plus "yes": true je Aufruf

Ein Agent kann Erreichbarkeit nicht per Flag behaupten. Unbestätigt bleibt unbestätigt.

GitHub Code Scanning
# Befunde zusätzlich als SARIF 2.1.0 $ sudo paniq check --kev kev.json \ --epss epss.csv \ --sarif befunde.sarif --json

GitHub nimmt SARIF nativ an und zeigt die Befunde in der Security-Sektion. Je Ergebnis steht die Inventar-Komponente als logicalLocation. Scheitert das Schreiben: rc 4.

Lizenz

Frei für alle, die kein Geld damit verdienen.

Der Quelltext steht unter PolyForm Noncommercial 1.0.0. Wer paniq geschäftlich nutzt, zahlt eine Lizenz. Das ist die Regel, die dieses Projekt finanziert.

Kostenlos

Frei nutzbar

  • Privatpersonen, egal wofür
  • Vereine, Bildung und Forschung
  • Behörden und öffentliche Stellen
  • Rettungs- und Gesundheitsorganisationen

Kommerzielle Lizenz

Lizenzpflichtig

  • Unternehmen jeder Größe, auch Ein-Personen-Firmen
  • Freiberufler im Kundenauftrag
  • Managed-Service-Provider und Hoster
  • 30 Tage kostenlos testen, bis 10 Hosts
commercial@paniq.dev

Eine Lizenz schaltet nie die Notbremse ab. undo, doctor und Nachweise funktionieren immer.

Darf mein Unternehmen paniq nutzen?

Ja, mit einer kommerziellen Lizenz. Das gilt für Unternehmen jeder Größe, auch für Ein-Personen-Firmen. Zum Ausprobieren gibt es 30 Tage kostenlos für bis zu 10 Hosts.

Ich betreue als Freiberufler oder MSP Server für Kunden.

Dann brauchst du eine Lizenz, auch wenn die Server dem Kunden gehören. Schreib uns, wie viele Hosts du betreust, dann bekommst du ein Angebot.

Was kostet eine Lizenz?

Es gibt keine Preisliste. Umfang und Preis vereinbaren wir per Angebot über commercial@paniq.dev.

Was passiert, wenn eine Lizenz fehlt oder abläuft?

Die Notbremse bleibt. undo, doctor und die Nachweise laufen immer, damit kein Dienst in einem abgesicherten Zustand hängen bleibt.

Wo stehen die vollständigen Regeln?

In LICENSING.md und COMMERCIAL.md im Repository. Das Repository wird bald öffentlich; bis dahin beantworten wir Fragen per Mail.

Warteliste

Sei dabei, wenn paniq startet.

Wir schreiben selten: einmal zum Start, danach nur bei Sicherheitshinweisen, die deine Installation betreffen. Kein Newsletter, keine Weitergabe.

Für MSPs und Firmen: Sag im Feld „Kontext“, wie viele Hosts du betreust. Dann bekommst du zuerst eine Lizenz zum Testen.

Du stehst auf der Liste.

Wir melden uns zum Start. Widerruf jederzeit per Mail an waitlist@paniq.dev.

Lieber per Mail? waitlist@paniq.dev