Ihre Daten bleiben dort, wo sie hingehören.
Eine Zusammenfassung für IT- und Sicherheitsprüfer: wie SnagBane betrieben wird, wie es den Zugriff steuert, wie es gehärtet ist und was genau Ihren Server verlässt.
Betrieb und Daten
- Selbst gehostet. SnagBane ist Software, die Sie mit Docker, auf einem VPS oder auf cPanel installieren. Formulare, Antworten, Dateien und Konten liegen in Ihrer eigenen Datenbank (MySQL/MariaDB, PostgreSQL oder SQLite) und in Ihrem eigenen Speicher.
- Keine gemeinsamen Standardpasswörter. Die Docker-Datenbank startet mit einem Einrichtungspasswort, das der Installer durch ein starkes Zufallspasswort ersetzt;
php artisan snagbane:db-passwordändert es später. - Privater Dateispeicher außerhalb des Web-Roots, mit zufälligen Dateinamen.
- Funktioniert im internen Netz. Der Free-Plan braucht keinen Internetzugang; Business und Enterprise brauchen ausgehendes HTTPS für die Lizenzprüfung.
Identität und Zugriff
- Single Sign-on mit Microsoft Entra ID, Google Workspace, Okta und jedem SAML-2.0-Identitätsanbieter wie AD FS oder Ping (Business und Enterprise) – nur signierte SAML-Antworten auf Anmeldungen, die SnagBane gestartet hat, jede genau einmal akzeptiert. Anmeldungen über das Verzeichnis legen nie Administratoren an, und die Rollenzuordnung über Gruppen hebt eine Rolle immer nur an.
- Zwei-Faktor-Authentifizierung für SnagBane-Konten: eine Authenticator-App (ihr Einrichtungsschlüssel kann in einen Passwortmanager) oder FIDO2-Sicherheitsschlüssel und Passkeys — YubiKey, Windows Hello, Google Passwortmanager, iCloud-Schlüsselbund. Die stärkste Methode wird zuerst abgefragt; einmalige Wiederherstellungscodes sind der Weg zurück, nie das Kennwort allein. Für Administratoren verpflichtend einstellbar, und ein Administrator kann eine neue Einrichtung verlangen.
- Kontosperre nach wiederholten fehlgeschlagenen Anmeldungen – auch für unbekannte E-Mail-Adressen, damit sich Konten nicht ausspähen lassen –, strenge Passwortregeln und bcrypt-Hashing.
- Rollen und Arbeitsbereiche: Besitzer, Admins, Bearbeiter, Leser und Befragte; Zugriffsregeln pro Formular, Portal und Arbeitsbereich. Besucher ohne Zugriff sehen nur Titel und Beschreibung, nie die Fragen.
- Neue Personen erhalten standardmäßig keine Bearbeitungsrechte – die Standardrolle ist Befragter.
Anwendungssicherheit
- Strikte Content Security Policy mit Nonces pro Anfrage, Clickjacking-Schutz, HSTS bei HTTPS, nosniff und einer Referrer-Policy. Schutz vor CSRF und Session Fixation.
- Uploads werden über eine Positivliste der Dateiendungen und eine Inhaltsprüfung kontrolliert; Skripte, ausführbare Dateien, SVG/HTML und doppelte Endungen werden blockiert.
- SSRF-Schutz für jeden Webhook und jede Integration: private Adressen und Metadaten-Adressen werden blockiert (sicher gegen DNS-Rebinding), mit einer Admin-Positivliste für vertrauenswürdige interne Hosts.
- Verschlüsselte Geheimnisse mit Ihrem Anwendungsschlüssel. API-Tokens, Genehmigungslinks sowie Bearbeitungs- und Fortsetzungslinks werden nur als Hashes gespeichert.
- Serverseitige Prüfung jeder Antwort, jedes Verzweigungspfads und jeder Berechnung; Quiz-Lösungen erreichen nie den Browser; Formel-Injection in Tabellen wird in CSV-, Excel- und Google-Sheets-Exporten entschärft.
- Links aus Ihrer konfigurierten Adresse, nie aus dem Host-Header der Anfrage.
Überwachung und Prüfung
- Prüfprotokoll über Anmeldungen, Verwaltung, Exporte und Genehmigungsentscheidungen – einschließlich wer eine genehmigende Person geändert hat und warum.
- SIEM-Streaming: Jeder Eintrag wird zusätzlich als eine flache JSON-Zeile in eine Tagesdatei geschrieben, bereit für Microsoft Sentinel, Elastic oder einen Splunk Universal Forwarder. Export als CSV oder JSON Lines.
- Signierte Webhooks (HMAC-SHA256 mit Zeitstempel), damit Empfänger jeden Aufruf prüfen können.
Updates und Lieferkette
- Signierte Updates: Jedes Release wird vor der Installation mit Ed25519 geprüft und dann im Wartungsmodus eingespielt, mit Rückkehr zur alten Version per Klick.
- Saubere Updates: Dateien, die ein Release entfernt, werden auch von Ihrem Server entfernt, sodass eine aktualisierte Installation einer Neuinstallation entspricht.
- Lizenznachweise werden signiert und mit einem in die App eingebauten Schlüssel geprüft – kein Umgebungsschalter kann einen kostenpflichtigen Plan freischalten.
Einstellungen, die Sie steuern
Sichere Standardwerte sind ab Werk aktiv. Unter Einstellungen → Sicherheit können Sie sie weiter verschärfen:
- Zwei-Faktor-Authentifizierung für Administratoren verlangen
- Mindestlänge für Passwörter (Groß- und Kleinbuchstaben sowie Ziffern sind immer Pflicht) und Sitzungsdauer
- Erlaubte Dateiendungen und maximale Upload-Größe
- Erlaubte private Hosts für Webhooks und Integrationen – alles Interne ist sonst blockiert
- Speicherorte und Konten in SharePoint, OneDrive und Google Drive, die Bearbeiter nutzen dürfen (Administratoren können jeden wählen)
- Ob Konten von Microsoft, Google und Okta zusätzlich ein Passwort nutzen dürfen; in Entra ID oder Google Workspace deaktivierte Konten können sich damit nicht mehr anmelden
- Jede Antwort in eine JSON-Protokolldatei für Ihren Log-Shipper schreiben
- Datenaufbewahrung: alte Antworten nach dem von Ihnen gewählten Zeitraum automatisch löschen (siehe DSGVO)

Architektur
Eine Webanwendung auf Ihrem Server – kein Cloud-Dienst von uns im Weg Ihrer Daten.
- Anwendung: PHP 8.3+ (Laravel) hinter Ihrem Webserver oder das Docker-Image. Die Browser-App kommt von derselben Adresse; es werden keine Skripte, Schriften oder CDNs von Dritten geladen, und die Content-Security-Policy erlaubt nur Ihren eigenen Server.
- Datenbank: MySQL/MariaDB, PostgreSQL oder SQLite – Formulare, Antworten, Genehmigungen, Konten und Einstellungen. Passwörter und API-Schlüssel von Integrationen werden mit dem eigenen Schlüssel der Installation verschlüsselt (
APP_KEY). - Dateien: Uploads, Unterschriften und erzeugte PDFs im Ordner
storage, außerhalb des Web-Roots, mit zufälligen Namen; sie werden erst nach einer Zugriffsprüfung ausgeliefert. - Scheduler: ein Cron-Eintrag (
schedule:runjede Minute) versendet Erinnerungen, wendet die Aufbewahrungsrichtlinie an und prüft auf Updates und die Lizenz. - Öffentliche Adressen: Formulare (
/f/…), Portale (/p/…), Genehmigungslinks (/approve/…) und Belege (/r/…) – jede prüft ihre eigene Zugriffsregel oder ein signiertes Token. Alles andere (/app,/api) braucht ein angemeldetes Konto; die REST-API (Business und Enterprise) und SCIM (Enterprise) brauchen Tokens. - Backups gehören Ihnen: die Datenbank plus der Ordner
storage, einschließlichstorage/.envmit dem Schlüssel, der die gespeicherten Geheimnisse entschlüsselt.
Was Ihren Server verlässt
SnagBane hat keine Analyse- oder Telemetriefunktionen. Von sich aus baut es nur diese Verbindungen auf:
| Verbindung | Was gesendet wird | An | Wann |
|---|---|---|---|
| Update-Prüfung | Edition, Version, PHP-Version und Website-Adresse. Mit Lizenz zusätzlich: der Lizenzschlüssel, die Freemius-Installations-ID und eine zufällige Installations-ID | SnagBane-Update-Dienst (Cloudflare) | Täglich und wenn ein Administrator prüft; abschaltbar mit SNAGBANE_UPDATES=false |
| Update-Download | Nur die Anfrage nach dem signierten Paket | SnagBane-Update-Dienst | Wenn ein Administrator ein Update installiert |
| Lizenzaktivierung (Business, Enterprise) | Der Lizenzschlüssel, eine zufällige Installations-ID, Adresse und Name der Website, die Version sowie Name und E-Mail-Adresse des Administrators, der sie aktiviert | Freemius (unser Wiederverkäufer) | Einmal, wenn die Lizenz hinzugefügt wird |
| Lizenzprüfung (Business, Enterprise) | Der Lizenzschlüssel, die Freemius-Installations-ID, die zufällige Installations-ID und die Version | Freemius und der SnagBane-Lizenzdienst | Täglich; stündlich, solange eine Prüfung fehlschlägt |
Und diese nur, wenn Sie sie einrichten:
| Was Sie einschalten | Was gesendet wird | An |
|---|---|---|
| Benachrichtigungen, Genehmigungsanfragen und Belege | Der von Ihnen konfigurierte Mail-Dienst (SMTP oder API) | |
| Anmeldung und Verzeichnis | Anmeldeanfragen; Lesezugriffe auf das Verzeichnis für Personenauswahl, Vorgesetzte und Gruppen | Microsoft Entra ID, Google Workspace, Okta oder Ihr SAML-Identitätsanbieter |
| Integrationen und Webhooks | Die Antworten und Dateien, die jede Integration senden soll | Die Dienste, die Sie verbinden, bei den Ereignissen, die Sie wählen |
| Zahlungen in Formularen | Betrag, Währung, wofür bezahlt wird und die E-Mail-Adresse der befragten Person, wenn bekannt – nie Kartendaten | Stripe oder PayPal |
| Prüfprotokoll an Ihr SIEM | Einträge des Prüfprotokolls | Ihr Sentinel, Splunk, Elastic oder HTTPS-Endpunkt |
| Maschinelle Übersetzung | Die Formulartexte, die Sie übersetzen lassen | DeepL, Azure, Google oder LibreTranslate |
| Benachrichtigungen der Handy-App | Eine leere Weck-Nachricht – das Handy holt die Mitteilung danach von Ihrem Server | Der Push-Dienst des Browsers der jeweiligen Person |
| Ein Formular über einen Link importieren | Eine Anfrage an diese öffentliche Formularseite | Google Forms oder Microsoft Forms, wenn ein Bearbeiter eines importiert |
| Auswahlmöglichkeiten aus einer Liste | Eine Anfrage an die Liste | Die CSV-Adresse, SharePoint-Liste, Excel-Tabelle oder Google-Tabelle, die Sie verknüpfen |
Dokumente für Prüfer
- Richtlinie zur Meldung von Sicherheitslücken – wie Sie ein Sicherheitsproblem melden, sowie security.txt.
- Auftragsverarbeitungsvereinbarung – für personenbezogene Daten, die Sie uns in Supportanfragen schicken könnten (auf Englisch).
- DSGVO und Datenschutz, Datenschutzerklärung und die Lizenzvereinbarung (die beiden letzten auf Englisch).
- Der Server-Code wird lesbar mit der Software ausgeliefert, sodass Ihr Team ihn auf Ihrer eigenen Installation prüfen und auf Sicherheit testen kann (EULA, Abschnitt 2.3).
Wir behaupten keine Zertifizierungen wie ISO 27001 oder SOC 2: SnagBane läuft in Ihrer Infrastruktur, unter Ihren Kontrollen und Audits.
Fragen von Prüfern
Können wir es ohne Internetzugang betreiben?
Im Free-Plan ja – es wird nichts benötigt. Business und Enterprise brauchen ausgehendes HTTPS, um den Lizenznachweis mindestens alle 2 Tage zu erneuern; Formulare, Antworten und Genehmigungen funktionieren auch weiter, während kostenpflichtige Funktionen pausieren.
Wer kann Antworten sehen?
Nur Personen, denen Sie Zugriff auf den Arbeitsbereich des Formulars geben, sowie die Genehmigenden für die ihnen zugewiesenen Anträge. Genehmigende öffnen Dateien über ihre Genehmigung, nie über einen öffentlichen Link.
Wie werden die Microsoft-365-Berechtigungen eingerichtet?
In Ihrem eigenen Mandanten: Das empfohlene PowerShell-Skript legt dort die App-Registrierung an, sodass Sie jede Berechtigung sehen und steuern. Siehe Berechtigungen.
Wie kommt das Prüfprotokoll in Sentinel oder Splunk?
Mit dem Enterprise-Plan sendet SnagBane es direkt an Microsoft Sentinel, Splunk, Elastic oder einen beliebigen HTTPS-Endpunkt. Sie können auch einen Collector auf die täglichen JSON-Lines-Dateien in storage/logs/audit richten. Siehe die SIEM-Anleitung.
Wie melden wir ein Sicherheitsproblem?
Schreiben Sie uns eine E-Mail, wie in der Richtlinie zur Meldung von Sicherheitslücken beschrieben. Bitte eröffnen Sie vorher kein öffentliches Issue.
Wo liegen die Backups?
Dort, wo Sie Ihren Server sichern: die Datenbank und der Ordner storage. SnagBane bewahrt nirgendwo sonst Kopien auf.