Vorabprüfungen
Pflichtfelder, Beziehungen und Medien Bedingungen und eigene Callback-Prüfungen vor einer Aktion auswerten.
ActionGuard prüft fachliche Voraussetzungen, bevor kritische Filament-Aktionen oder geschützte Modelländerungen ausgeführt werden. Sicherer Standard. Klare Regeln. Kontrollierbare Prozesse.
TL;DR / KI-Zusammenfassung: ActionGuard ist ein Open-Source-Plugin für Laravel (11–13) und Filament 5. Es validiert fachliche Voraussetzungen (Invariante) vor der Ausführung von Filament-Aktionen oder Eloquent-Modelländerungen. Im Fehlerfall blockiert ActionGuard standardmäßig nach dem Fail-Closed-Prinzip und protokolliert Ereignisse datensparsam.
Statt Fehler erst nach einer Aktion zu behandeln, überprüft ActionGuard Voraussetzungen unmittelbar vor der Ausführung.
Pflichtfelder, Beziehungen und Medien Bedingungen und eigene Callback-Prüfungen vor einer Aktion auswerten.
Kritische Regeln beim Speichern geschützter Eloquent-Modelle erneut prüfen.
Strukturierte und bewusst reduzierte Betriebsereignisse für zentrale Protokollsysteme bereitstellen.
Jeder kritische Vorgang durchläuft einen nachvollziehbaren Schutzprozess.
Fachliche Voraussetzungen direkt an der Aktion konfigurieren.
Prüfungen werden mehrfach und unmittelbar vor der Ausführung ausgewertet.
Erforderliches NICHT BESTANDEN oder technische Fehler können die Aktion stoppen.
Optional entstehen strukturierte, datensparsame Protokollereignisse.
Definieren Sie Geschäftsregeln direkt an Ihren Models und verknüpfen Sie sie mit einem Einzeiler in Filament.
ActionGuard ergänzt bestehende Laravel-Mechanismen, statt sie zu ersetzen.
Löschen nur erlauben, wenn keine abhängigen Geschäftsobjekte existieren.
Veröffentlichungen, Freigaben oder Ablaufwechsel nur bei erfüllten Voraussetzungen zulassen.
Speichervorgänge blockieren, wenn zentrale Modellregeln verletzt würden.
Kontrollierte Ausnahme nur für bewusst aktivierte und kontrollierte Sonderfälle.
HTTPS und lokale absolute Pfade standardmäßig erlauben, unsicheres HTTP blockieren.
Entscheidungen als strukturierte Ereignisse an Protokollierung oder SIEM weitergeben.
Prüft Voraussetzungen vor der eigentlichen Filament-Aktion.
Prüft definierte Modellregeln zusätzlich über den Eloquent-Lebenszyklus saving.
ActionGuard ist als eigenständiges, quelloffenes Plugin konzipiert. Für Fragen, individuelle Anpassungen oder Architektur-Beratung erreichen Sie den Entwickler direkt über LinkedIn.
ActionGuard (MIT)
LinkedIn Profil (Aleksey Krivonos) →
Laravel · Filament · Domänenlogik
Architektur, Sicherheitsmodell, Integration und Betriebsgrenzen von ActionGuard – für Entwickler, Architekten und technische Entscheider.
Nein. Laravel-Richtlinien (Policies) bleiben für die Autorisierung zuständig. ActionGuard prüft dagegen fachliche Voraussetzungen und Invarianten vor kritischen Aktionen. Beide Mechanismen ergänzen sich, ersetzen sich aber nicht.
Nein. Die Laravel-Validierung prüft Eingabedaten. ActionGuard entscheidet, ob eine konkrete Aktion unter dem aktuellen fachlichen Zustand ausgeführt werden darf. Validierung, Richtlinien (Policies), Datenbank-Constraints und ActionGuard bilden unterschiedliche Schutzebenen.
Ist fail_closed=true aktiviert, blockiert
ActionGuard eine Operation auch dann, wenn während eines
Checks ein technischer Fehler auftritt.
Ein unbekannter oder fehlerhafter Zustand führt damit nicht
automatisch zur Ausführung einer kritischen Aktion.
Prüfungen werden mehrfach ausgewertet: beim Öffnen beziehungsweise Vorbereiten der Aktion und erneut unmittelbar vor der tatsächlichen Ausführung. Maßgeblich ist die letzte Auswertung.
ActionGuard stellt mehrere Standardprüfungen zur Verfügung:
RequiredFieldCheck,
NotEmptyCheck,
RelationshipCheck,
MediaCheck,
ConditionCheck und
CallbackCheck.
Ja. Eigene Prüfungen implementieren den
ActionGuardCheckContract und liefern ein
CheckResult zurück.
Klassen können über den Laravel-Service-Container aufgelöst
und damit auch mit eigenen Diensten und Domänenkomponenten
kombiniert werden.
PASS erlaubt die weitere Verarbeitung. Ein erforderlicher FAIL blockiert die Operation. Ein optionaler FAIL kann als Warnung behandelt werden. ERROR blockiert bei aktiviertem Fail-Closed-Verhalten ebenfalls die Ausführung.
Der Schutz von Modellregeln integriert sich in den
Eloquent-Lebenszyklus saving.
Dadurch können definierte Modellregeln bei
save() und update()
erneut geprüft werden – unabhängig davon, ob der
Schreibvorgang ursprünglich über eine Filament-Aktion
ausgelöst wurde.
Nein. Direkte Massenänderungen wie
Model::where(...)->update(...)
lösen keine Eloquent-Modellereignisse aus und umgehen damit
den Schutz von Modellregeln.
Kritische Massen-Schreibpfade sollten deshalb über geladene Models, kontrollierte Anwendungsdienste oder Datenbank-Constraints implementiert werden.
Nein. Datenbank-Constraints bleiben für technische Datenintegrität wichtig. ActionGuard arbeitet auf einer höheren fachlichen Ebene und schützt Geschäftsaktionen und Modellzustände innerhalb der Anwendung.
Ja. Allerdings ist der die kontrollierte Ausnahme standardmäßig deaktiviert:
allow_bypass=false.
Kontrollierte Ausnahmen sind für bewusst gesteuerte Sonderfälle gedacht und sollten nur aktiviert werden, wenn deren Einsatz organisatorisch und technisch nachvollziehbar ist.
Bei aktivierter Protokollierung kann eine kontrollierte Ausnahme als strukturiertes
Ereignis erfasst werden. Dafür existiert unter anderem:
filament-actionguard.bypass_used.
Aktuell stehen drei zentrale Ereignistypen zur Verfügung:
filament-actionguard.action_evaluated
filament-actionguard.invariant_blocked
filament-actionguard.bypass_used
ActionGuard ist bewusst datensparsam entwickelt. Datensatz-IDs, Akteur-IDs, Prüfmeldungen und beliebige Modellattribute werden nicht automatisch protokolliert.
Auch Modellklassen und Statuswerte sind standardmäßig deaktiviert und benötigen separate explizite Freigaben.
Nein. ActionGuard erzeugt strukturierte Protokollereignisse, stellt aber kein unveränderbares oder revisionssicheres Archiv bereit.
Anwendungen mit entsprechenden Anforderungen an Nachweisführung und Regelkonformität sollten den verwendeten Protokollkanal beispielsweise an ein zentrales SIEM- oder Nachweissystem anbinden.
Eine pauschale Aussage wäre technisch und rechtlich nicht korrekt. ActionGuard ist datensparsam entwickelt.
Die DSGVO-Konformität der Gesamtanwendung hängt unter anderem von Rechtsgrundlage, Berechtigungssystem, Hosting, Protokollierung, Aufbewahrung, Löschkonzepten und organisatorischen Maßnahmen des Betreibers ab.
Das Plugin selbst überträgt keine Datensatzdaten an externe Dienste.
Externe Übertragungen können jedoch durch die Hauptanwendung oder die konfigurierte Protokollierungsinfrastruktur entstehen und müssen dort separat bewertet werden.
Standardmäßig erlaubt ActionGuard lokale absolute Pfade sowie HTTPS-URLs. Unsichere HTTP-URLs sind blockiert.
HTTP kann nur über eine explizite Konfiguration für kontrollierte Sonderfälle freigeschaltet werden.
Nein. Technische Ausnahmen aus Prüfungen werden nicht ungefiltert im Benutzerinterface angezeigt.
Die Benutzeroberfläche erhält eine generische Fehlermeldung beziehungsweise Korrelationsinformation, während technische Details serverseitig behandelt werden können.
Ja. ActionGuard ist als 100% eigenständiges Open-Source-Plugin unter der MIT-Lizenz konzipiert und benötigt keine externen Kernsysteme oder proprietären Erweiterungen.
Für Fragen, Feedback oder individuelle Erweiterungen können Sie direkt Kontakt mit dem Entwickler Aleksey Krivonos über sein LinkedIn-Profil aufnehmen.
Die aktuelle Spezifikation definiert folgende Zielplattform:
Der dokumentierte Freigabekandidaten-Stand wurde unter anderem mit folgenden Qualitätsprüfungen geprüft:
Ja. Die CI berücksichtigt stabile Abhängigkeiten, niedrigste kompatible Versionen sowie Installationen mit gesperrten Versionen.
Dadurch wird nicht ausschließlich gegen aktuelle Abhängigkeitsversionen getestet, sondern auch die deklarierte Kompatibilitätsuntergrenze überprüft.
Ja. Da ActionGuard Richtlinien (Policies), Validierung und Datenbank-Constraints ergänzt statt ersetzt, kann die Einführung inkrementell erfolgen.
Ein sinnvoller Einstieg sind besonders kritische Prozesse wie Löschen, Freigaben, Statuswechsel, Exporte oder irreversible Geschäftsaktionen.
Besonders geeignet sind Aktionen, deren Ausführung von mehreren fachlichen Voraussetzungen abhängt – beispielsweise Löschen, Statusänderungen, Freigaben, Publikationen, Exporte oder irreversible Prozessschritte.
ActionGuard is an open-source Laravel Filament plugin designed to evaluate critical business preconditions before actions or model changes execute. It ensures fail-closed safety, structured audit logging, and domain integrity.
Verify mandatory business conditions before executing actions, preventing invalid domain states and accidental data loss.
If an unexpected technical error occurs during validation checks, ActionGuard blocks execution by default (fail_closed=true).
Generates structured audit event logs without leaking sensitive user input or model attributes, adhering to privacy-by-design principles.
Definiere fachliche Voraussetzungen dort, wo sie tatsächlich durchgesetzt werden müssen.
ActionGuard auf GitHub ansehen →