Notfall als Code · paniq 0.1.0-dev

Der Notfall bekommt eine Datei.

Wenn ein Dienst brennt, schaltet paniq ihn mit einem Befehl in einen sicheren Zustand. Ein zweiter nimmt alles zurück. Jeder Schritt wird vorher gezeigt, danach gegen den Host geprüft und in einer Nachweiskette festgehalten.

  • Ein Binary, rund 9 MB
  • Kein Daemon
  • Keine Cloud
  • Keine Telemetrie
Nachgestellter Ablauf. Jede Zeile ist echte Ausgabe von paniq 0.1.0-dev.
  • Linux-Labor: 226 + 5 Prüfungen, ohne Fehler
  • macOS-Labor: 108 + 17 Prüfungen, ohne Fehler
  • Windows-Labor: 55 Prüfungen, ohne Fehler
  • Ohne paniq confirm nach 5 min zurück
  • Jede Absicherung läuft nach 14 Tagen ab
  • Exit-Codes 0 bis 4
  • Kein Call-home, keine Telemetrie
  • --json · MCP · SARIF 2.1.0
Haltung

Kein Dashboard. Kein Agent. Keine Cloud. Ein Befehl bringt den Dienst in Sicherheit, ein zweiter holt ihn zurück, und jeder Schritt ist belegt.

5 minbis zur Rücknahme, wenn niemand bestätigt
14 dAblauf jeder Absicherung
0Netzwerkaufrufe von selbst

Ablauf · vier Befehle

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

Der Ablauf ist immer gleich, ob nginx, sshd, IIS, eine Datenbank oder eine Cloudflare-Zone. Jeder Schritt hat eine Rücknahme, jede Änderung ein Ablaufdatum.

  1. 01Prüfen

    Gegen den echten Host prüfen.

    paniq liest das Inventar der Maschine und gleicht es lokal mit öffentlichen Schwachstellendaten ab. status --verify vergleicht jeden Dienst mit dem, was wirklich läuft, nicht mit einer Notiz. Weicht etwas ab, wird die Ampel rot und der Exit-Code 2.

    paniq check --fetch
    $ paniq check --fetch paniq check · srv-01 ──────────────────────────────────── Inventar 231 Komponenten, 35 Ports Feeds kev:abruf Registry /usr/share/paniq/registry (4 Module) ● Keine Treffer – nichts zu tun → Nächster Schritt: paniq status $ paniq status --verify paniq status · srv-01 Dienste 1 Dienst Ampel green ● normal web
  2. 02Absichern

    Erst der Plan, dann der Schutz.

    paniq zeigt vorher jeden Schritt und die Rücknahme. Dann setzt shield den Zustand um. Wer nicht innerhalb von 5 Minuten mit paniq confirm bestätigt, bekommt automatisch den alten Zustand zurück. Jede Absicherung läuft nach 14 Tagen ab.

    sudo paniq shield web --state isolated
    $ paniq plan web --state isolated paniq plan · web ──────────────────────────────────── web: normal → isolated (läuft ab in 14d) Der Dienst wird vom Netz getrennt – nur für den Notfall. Schritte 2 Rücknahme paniq undo + restrict_port tcp/22 (allow=203.0.113.0/24) + restrict_port tcp/5432 (allow=203.0.113.0/24) $ sudo paniq shield web --state isolated --yes paniq shield · web Zustand normal → isolated Bis 2026-11-07 14:02 Schritte 2 ohne paniq confirm in 5m zurückgesetzt – erreichbar? paniq confirm web 2 Schritte umgesetzt. Rückgängig: paniq undo web $ sudo paniq confirm web Bestätigt: web – Schutz bleibt bis Ablauf. Nächster Schritt: paniq status
  3. 03Belegen

    Jeder Schritt landet in einer Kette.

    Was geprüft wurde, was sich geändert hat, wer es ausgelöst hat, was zurückgenommen wurde. Die Nachweise sind verkettet und lassen sich prüfen und verankern. Eine Übung mit drill schaltet um, prüft und nimmt zurück, mit eigenem Nachweis.

    paniq evidence verify
    $ paniq evidence verify Kette OK: 3 Einträge (kein Anker hinterlegt – Nächster Schritt: paniq evidence anchor --to DATEI). $ sudo paniq drill web --state secured --live Übung web → secured: geprüft=true, zurückgenommen=true (Nachweis #4) $ paniq report --pdf nachweis.pdf
  4. 04Zurücknehmen

    Alles zurück, Schritt für Schritt geprüft.

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

    sudo paniq undo
    $ sudo paniq undo web: isolated → normal Zurückgenommen. Nächster Schritt: paniq status $ paniq status paniq status · srv-01 Dienste 1 Dienst Ampel green ● normal web

Paniqfile

Vier Zustände. Eine Datei im Repository.

paniq init liest das Inventar und schreibt das Paniqfile: Dienst, Komponenten, Zustände. Die Datei ist Text, gehört ins Repository und wird mit paniq lint geprüft. Vier Stufen, von harmlos bis streng.

normal

Alles wie immer. Kein Eingriff, nichts läuft ab. Die Ampel ist grün, der Exit-Code 0.

  • Ports, Pfade und Dienste wie konfiguriert
  • ● normal web
/etc/paniq/services/web.yaml normal
version: 1 service: web kind: webapp runs_on: [server/testhost] components: [nginx] states: secured: mitigations: registry degraded: web: static_snapshot paths: /admin: restrict isolated: ports: 22: restrict 5432: never_public

paniq lint: 1 Datei geprüft – keine Probleme. Nächster Schritt: paniq plan DIENST

Plattformen

Ein Binary. Vier Plattformen.

paniq setzt Regeln mit den echten Werkzeugen der Plattform, nicht simuliert. Geprüft in Laboren mit echten Diensten, inklusive Neustart und Rücknahme.

  • Linux nftablessystemdnginxapache2sshd 226 + 5Prüfungen
  • macOS pf-Ankerlaunchdnginxapachephp-fpm 108 + 17Prüfungen
  • Windows netsh-FirewallDiensteIISRegistry 55Prüfungen
  • Cloudflare Zonen-Firewallläuft auf jedem OS APIkein Agent nötig

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, standardmäßig 14 Tage. Ohne paniq confirm setzt sich ein Schutz nach 5 Minuten selbst zurück.

Prüfungen je Laborlauf in echten Maschinen, plus Neustart-Prüfungen.

Leicht

9MB

Ein Binary. Keine Laufzeitumgebung, kein Daemon.

Schnell

4Befehle

prüfen, absichern, belegen, zurücknehmen. Der nächste Schritt steht in jeder Ausgabe.

Portabel

Netzwerkregeln setzt paniq mit den Werkzeugen der Plattform. Lokal, ohne Cloud, ohne Telemetrie. Kein Call-home, kein Auto-Update.

  • nftables
  • systemd
  • launchd
  • pf
  • netsh
  • IIS

Stabil

Feste Exit-Codes. Fehler enden hart, nie halb angewandt.

Flexibel

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

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

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, Exit-Code als Signal $ paniq --json status || notify "nicht grün" # Was kann dieses Binary? $ paniq --json capabilities

Das Manifest paniq.capabilities/v1 nennt Befehle, Flags und Exit-Codes.

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.

Kostenlos

Frei nutzbar

  • Privatpersonen, egal wofür
  • Vereine, Bildung und Forschung
  • Gemeinnützige Organisationen

Kommerzielle Lizenz

Lizenzpflichtig

  • Unternehmen jeder Größe
  • Freiberufler im Kundenauftrag
  • Managed-Service-Provider und Hoster
commercial@paniq.dev

Eine Lizenz schaltet nie die Notbremse ab. paniq undo funktioniert immer.

Darf mein Unternehmen paniq nutzen?

Ja, mit einer kommerziellen Lizenz. Das gilt für Unternehmen jeder Größe.

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.

Was kostet eine Lizenz?

Umfang und Preis vereinbaren wir per Angebot über commercial@paniq.dev.

Was passiert, wenn eine Lizenz fehlt?

Die Notbremse bleibt. paniq undo läuft immer, damit kein Dienst in einem abgesicherten Zustand hängen bleibt.

Sendet paniq Daten nach Hause?

Nein. Keine Telemetrie, kein Call-home. Netz gibt es nur, wenn der Befehl es ausdrücklich anfordert, z. B. check --fetch (KEV-Katalog von CISA) oder --feed NAME=URL; alles andere braucht nur Dateien im Repo.

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