Zum Inhalt springen

Der Agent tippt.
Das Gate sagt nein.

Code Guardian steht zwischen Ihrem KI-Agenten und Ihrer Produktion: erst planen und freigeben lassen, dann bauen, jede Behauptung mit Kommando-Ausgabe belegen. Und vor jedem Deploy, jeder Migration und jedem neuen Paket ein Gate, das sich nicht überreden lässt.

Version v16.37
Firmenlizenz 120,00 € netto/Jahr

  • 4Modi
  • 5Gates
  • 10Hooks
  • 18Detektoren

Das hier ist die ganze Idee.

Ein Kommando, das Arbeit vernichtet, wird an der Werkzeuggrenze verweigert: bevor es läuft, nicht danach im Bericht. Wählen Sie eines aus. Die Antwort unten ist der tatsächliche Text aus dem jeweiligen Hook.

git reset --hard

blockiertdestructive-command-check.sh

git reset --hard verwirft ALLE nicht committeten Änderungen im Arbeitsbaum.

Ein Gate prüft die Ausgabe, ein Guardrail begrenzt das System. Dieser Befehl gehört zu der einen Klasse, die auch git nicht rückgängig macht. Sichere den Stand zuerst: «git stash -u» oder ein Commit auf einem Wegwerf-Branch, dann ist der Befehl harmlos.

Vor der ersten Zeile Code: eine Freigabe.

Jede Aufgabe beginnt schreibgeschützt. Der Agent erkundet, stellt jede offene Entscheidung einzeln zur Wahl, mit einer Empfehlung an erster Stelle, und legt einen Plan vor. Erst Ihr Klick öffnet den Schreibzugriff.

  1. schreibgeschützt

    Erkunden, Fakten sichern. Keine Datei kann geändert werden.

  2. Interview

    Jede offene Entscheidung einzeln, Empfehlung zuerst. Fakten werden nachgeschlagen, nie erfragt.

  3. Plan

    Was passiert, welche Dateien, wie es bewiesen wird. Dazu das Protokoll aller Entscheidungen.

  4. Ihre Freigabe

    Ab hier darf gebaut werden. Vorher nicht.

Nichts erreicht einen Server unklassifiziert.

Übertragen und Existieren sind zwei verschiedene Achsen. Eine prod-.env darf nie übertragen werden und muss trotzdem dort liegen. Ein Datenbank-Dump darf beides nicht. Wer das in eine Achse presst, löscht irgendwann das Falsche.

10 Dateien in der Transferliste

  • app/Http/Controllers/PostController.php
  • resources/js/Pages/Home.vue
  • public/build/assets/app-DI5faExM.js
  • .env
  • storage/app/private/
  • tests/Feature/CheckoutTest.php
  • .git/
  • dump-2026-07-24.sql
  • .audit-log.md
  • database/seeders/

Eine Migration gilt als irreversibel, bis das Gegenteil bewiesen ist.

Anwendungscode holt git revert zurück. Eine gelöschte Spalte nicht. Derselbe Befehl, zweimal ausgeführt:

$table->dropColumn('rabatt_prozent');

M3CREATE TABLE _backup_orders_rabatt_20260725 AS SELECT id, rabatt_prozent FROM orders;

Beispieltabelle orders
idkunderabatt_prozent
4711Hoffmann GmbH12,5 %
4712Bauer & Söhne5,0 %
4713Lentz Medien20,0 %

Ein neues Paket ist eine Lieferketten-Entscheidung.

Diese Regel ist gegen eine Angriffsklasse geschrieben, die es ohne KI-Agenten nicht gäbe.

  1. Das Modell erfindet einen Namen

    Der Agent braucht einen HTTP-Client und schreibt «npm install reqests». Das Paket gibt es nicht. Noch nicht.

  2. Die Halluzination wiederholt sich

    Dasselbe Modell, dieselbe Aufgabe, derselbe Vertipper, reproduzierbar über Läufe hinweg. Damit ist der Name vorhersagbar.

  3. Jemand registriert genau diesen Namen

    Ab jetzt existiert das Paket. Die Prüfung «gibt es das Paket?» sagt Ja. Genau darauf ist der Angriff gebaut.

  4. Der nächste Agent installiert es

    Und mit «postinstall» läuft fremder Code auf dem Entwicklerrechner und geht mit in die Produktion.

Deshalb prüft das Gate Reputation statt Existenz: Alter, Download-Verlauf, ein echtes Repository mit mehr als einem Beitragenden, und die Namensnähe zu einem bekannten Paket.

Ein Urteil über Daten ist ein Urteil über das ganze Schema.

Aus einem echten Fehlurteil: Aufträge wurden für verwaist erklärt, weil niemand die Warte-Spalte kannte. Sie waren zurückgestellt, nicht kaputt.

SELECT id, kunde, status, erstellt FROM auftraege WHERE status = 'offen';
Beispieltabelle auftraege
idkundestatuserstellt
8801Hoffmann GmbHoffen2026-04-02
8814Bauer & Söhneoffen2026-04-11
8827Lentz Medienoffen2026-04-19

VERWAIST? Seit Monaten offen, nie bearbeitet. Sieht nach einem Defekt aus, und genau hier wird der Reparatur-Auftrag geschrieben, der gesunde Daten anfasst.

Keine Optionsfrage ohne Empfehlung.

Ein Agent, der drei gleichwertige Wege aufzählt und Sie wählen lässt, hat die Arbeit nur weitergereicht. So sieht stattdessen jede Frage aus, die Sie bekommen:

Wie soll die Lizenz laufen?

  1. Firmenlizenz, unbegrenzt (Empfohlen)Braucht kein Seat-Tracking und keinen Lizenzserver. Die Dateien liegen lokal; jede andere Zählung wäre nicht überprüfbar.
  2. Pro EntwicklerMehr Umsatz bei großen Teams, aber technisch nicht verifizierbar. Erzeugt Kontrollaufwand ohne Kontrolle.
  3. GestaffeltZwei Tarife zu pflegen, dieselbe Nicht-Überprüfbarkeit.

Das Gate empfiehlt. Entschieden haben immer Sie.

Jede Regel hat einen Schaden als Vater.

Keine dieser Regeln kommt aus einer Checkliste. Jede steht im Paket mit dem Vorfall, aus dem sie entstanden ist, und mit der Messung, die sie belegt.

646
echte Migrationen geprüft
Über drei Laravel-Projekte. Jeder Befund von Hand als echter Treffer bestätigt.
342
Tests für die Detektoren
Dazu eine Fixture mit 58 markierten Fällen als unabhängige Referenz.
0
produktive Symbole je zum Löschen freigegeben
Die harte Sicherheitsbedingung der Aufräum-Ebene. Ein Verstoß lässt den Lauf scheitern.
36/36
mechanische Slop-Regeln greifen auf den Fallen
Und null Befunde auf den sauberen Gegenstücken. Ein lauter Detektor wird abgeschaltet.

Was es nicht kann.

Drei Dinge, die Sie vor dem Kauf wissen sollten. Sie stehen auch im README, weil eine Zusage, die man erst nach dem Kauf findet, keine Zusage ist.

Die Gates sind sprachunabhängig, die Werkzeug-Ebenen nicht.

Statische Analyse und Mutationstests sind für PHP/Laravel und JS/TS/Vue verdrahtet. Der Slop-Scanner liest zusätzlich Python, Go, Rust und Ruby. Auf einem anderen Stack bekommen Sie die Gates, die Reflexe und den Scanner, aber kein Analyse-Gate: es gibt dort nichts, an das es delegieren könnte.

Ohne Superpowers fehlt eine Phase.

Das Paket verweist an einigen Stellen auf das freie Skill-Paket obra/superpowers. Ist es nicht installiert, laufen diese Verweise ins Leere. Kein Gate wird übersprungen, keine Prüfung fällt aus. Was fehlt, ist die geführte Explorationsphase bei großen Aufgaben. Superpowers ist nicht Teil der Lieferung.

Es ist kein Support-Vertrag.

Enthalten sind alle Versionen, die während Ihrer Laufzeit erscheinen. Nicht enthalten ist eine zugesagte Update-Frequenz und keine individuelle Betreuung. Nach Ablauf endet der Portalzugang; die zuletzt geladene Version dürfen Sie unbegrenzt weiter nutzen.

Eine Lizenz, ein Preis.

120,00 €netto pro Jahr

  • Unbegrenzt viele Entwickler im lizenzierten Unternehmen
  • Alle Updates während der Laufzeit, direkt im Portal
  • Vier Modi, fünf Gates, zehn Hooks, 18 Detektoren
  • Anpassbar für den internen Gebrauch
  • Nach Ablauf läuft die zuletzt geladene Version weiter
Rechnungsanschrift

Zahlung über Stripe, Rechnung sofort. Mit dem Kauf gilt der Lizenzvertrag, der dem Paket als EULA.md beiliegt.

Sie haben bereits eine Lizenz? Zum Portal