Saltar al contenido principal

Die Technik dahinter

Drupal 11 im Backend, Nuxt 4 im Frontend, Open311 GeoReport v2 als Schnittstelle. Betrieb in Containern, in unserer Cloud in Deutschland oder in Ihrem Rechenzentrum.

Diese Seite richtet sich an Ihre IT. Sie beschreibt, woraus Mark-a-Spot besteht, welche Schnittstellen es gibt und wie der Betrieb aussieht.

Der Stack im Überblick

Was Mark-a-Spot ausmacht, und unter welcher Lizenz es jeweils steht.

Komponente Technologie Lizenz
BackendDrupal 11, PHP 8.4GPL-2.0
FrontendNuxt 4, Vue 3, TypeScriptMIT oder BSL, je nach Variante
SchnittstelleOpen311 GeoReport v2, JSON:APIOffener Standard
DatenbankMariaDB 11GPL-2.0
KarteMapLibre GL, eigener Vektor-Tile-ServerBSD-3-Clause
BetriebDocker, KubernetesApache-2.0

Die Lizenzspalte nennt bei Backend und Frontend die Lizenz unseres eigenen Codes, in den übrigen Zeilen die der eingesetzten Fremdkomponenten. Das Backend ist vollständig quelloffen. Beim Frontend gibt es zwei Varianten: eine frei verwendbare Bürgeransicht unter MIT-Lizenz und das Pro-Frontend mit Dashboard und Progressive Web App, das lizenzpflichtig ist.

Warum headless

Klassische Fachverfahren liefern Oberfläche und Datenhaltung als ein Stück. Bei Mark-a-Spot sind das zwei Teile, die über eine Schnittstelle miteinander reden. Diese Trennung bestimmt, was Sie später ohne Verfahrenswechsel ändern können.

Daten und Oberfläche sind getrennt

Das Backend hält die Meldungen und stellt sie über eine dokumentierte Schnittstelle bereit. Die Bürgeransicht ist eine eigene Anwendung, die diese Schnittstelle nutzt. Sie können die Oberfläche also ersetzen, ohne die Datenhaltung anzufassen.

Einbettung ins vorhandene Portal

Sie können die Bürgeransicht unter einer eigenen Domain betreiben, in Ihr Bürgerportal einbetten oder durch eine eigene Oberfläche ersetzen. Das Verfahren dahinter bleibt dasselbe.

Eine Anwendung für alle Geräte

Das Frontend ist eine Progressive Web App. Bürger melden vom Telefon, die Sachbearbeitung arbeitet im Browser, der Außendienst nutzt dieselbe Anwendung mobil. Es gibt keine getrennte App, die separat gepflegt werden muss.

Serverseitiges Rendering

Die Seiten werden auf dem Server erzeugt und ausgeliefert. Das hilft bei langsamen Verbindungen und macht Meldungen für Suchmaschinen lesbar.

Offener Standard

Open311 GeoReport v2

Open311 ist eine öffentlich spezifizierte Schnittstelle für Bürgeranliegen, die Städte in Europa und Nordamerika einsetzen. Ein Client, der den Standard spricht, kann Mark-a-Spot ansprechen. Kategoriezuschnitt, Statusabbildung und Zugangsdaten sind trotzdem pro Kommune abzustimmen, das nimmt kein Standard ab.

GET /georeport/v2/services

Kategorien und ihre Pflichtfelder abrufen

GET /georeport/v2/requests

Meldungen abrufen, gefiltert nach Zeitraum, Status oder Kategorie

POST /georeport/v2/requests

Meldung anlegen, etwa aus einem Fremdsystem oder einer eigenen App

GET /georeport/v2/requests/{id}

Einzelne Meldung mit Verlauf abrufen

Antwortformat ist JSON oder XML. Der vollständige Bearbeitungsverlauf gehört nicht zum Open311-Standard. Dafür steht JSON:API bereit, im Rahmen der Berechtigungen des zugreifenden Kontos, dazu ein CSV-Export mit Koordinaten für Auswertungen.

Einen nativen GeoJSON-Export von Meldungen gibt es nicht. GeoJSON nutzt Mark-a-Spot als Eingang für Gebietsgrenzen, etwa zur Prüfung, ob eine Meldung im eigenen Zuständigkeitsgebiet liegt. Braucht Ihr GIS einen GeoJSON-Ausgang, ist das eine Anpassung, die wir im Projekt einplanen.

Verarbeitungskette

Erst anonymisieren, dann analysieren

Die Erkennung personenbezogener Daten läuft vor der KI-Analyse, nicht danach. Was an einen KI-Dienst geht, ist bereits reduziert. Eine automatisierte Erkennung ist dabei keine Garantie auf Vollständigkeit, deshalb bleibt die redaktionelle Prüfung vor der Veröffentlichung Teil des Verfahrens.

Schritt 1: Bild anonymisieren

Ein eigener Dienst auf unseren Servern in Deutschland erkennt Gesichter und Kennzeichen und macht sie unkenntlich. Das unkenntlich gemachte Bild ersetzt das Original, der Vorgang wird protokolliert. Dieser Schritt verlässt Deutschland nicht. Erkennt der Dienst Personen, die trotz Verpixelung identifizierbar blieben, wird das Bild nicht veröffentlicht.

Schritt 2: Text prüfen

Aus dem Meldungstext werden Kontaktdaten entfernt: E-Mail-Adressen, Telefonnummern und IBAN. Eine Erkennung von Personennamen lässt sich zusätzlich aktivieren. Freitextangaben wie eine geschilderte Anschrift erfasst die Mustererkennung nicht, das gehört zur fachlichen Prüfung.

Schritt 3: Analysieren

Erst jetzt geht die reduzierte Meldung in die Analyse. Sie schlägt Kategorie und Priorität vor und prüft auf Gefahrenhinweise. Standardmäßig läuft das über Microsoft Azure OpenAI in der Region Germany West Central, ohne Training auf Ihren Daten. Auf Wunsch nutzen wir stattdessen einen deutschen Anbieter. Alle KI-Funktionen sind einzeln abschaltbar.

Schritt 4: Ausgeben

Das Ergebnis landet als Vorschlag im Dashboard, den die Sachbearbeitung bestätigt oder korrigiert. Erkannte Gefahrenhinweise kann Mark-a-Spot im CAP-Format ausgeben, dem internationalen Austauschformat für Warnmeldungen, sodass ein Warnsystem sie weiterverarbeiten kann.

ki-analyse im dashboard
KI-Analyse einer Meldung im Sachbearbeiter-Dashboard

Zugriff, Rechte, Updates

Wer sich anmeldet, wer was sieht und wie Aktualisierungen eingespielt werden.

Anmeldung der Beschäftigten

Anbindung an einen vorhandenen SAML-Identity-Provider, sodass die Sachbearbeitung keine zusätzlichen Zugangsdaten braucht. Alternativ eine passwortlose Anmeldung per Einmalcode an die dienstliche Adresse.

Rechte und Zuständigkeiten

Rollenbasierte Rechtevergabe, dazu eine Trennung nach Organisationseinheiten. Ein Bauhof sieht die Meldungen seines Bereichs, nicht die des ganzen Hauses.

Mandantentrennung

Mehrere Kommunen in einer Installation, jede mit eigenen Kategorien und eigenem Branding. Die Trennung ist logisch umgesetzt, über Mandantenzuordnung und Berechtigungen. Wer eine getrennte Instanz mit eigener Datenbank braucht, bekommt sie, das ist dann aber ein anderes Betriebsmodell.

Updates

Drupal hat ein eigenes Sicherheitsteam mit festem Veröffentlichungsrhythmus. In der Cloud-Variante spielen wir Sicherheits- und Funktionsupdates ein, beim Self-Hosting liefern wir die aktualisierten Container-Images.

Drei Betriebsmodelle

Die Software ist in allen dreien dieselbe. Was sich unterscheidet, ist die Aufteilung der Betriebsverantwortung, und die gehört in den Vertrag, nicht auf eine Website.

Betrieb durch uns

Server in Deutschland, Hetzner Nürnberg. Aktualisierungen, Sicherung und Überwachung liegen bei uns. Was das konkret an Reaktionszeiten und Wiederanlaufzeiten bedeutet, steht im Vertrag und nicht auf dieser Seite.

Betrieb im eigenen Rechenzentrum

Wir liefern die Container-Images, Sie betreiben sie auf Ihrer Infrastruktur. Für Docker Compose gibt es eine fertige Zusammenstellung des kompletten Stacks. Die Betriebsverantwortung liegt dann bei Ihnen, wir liefern Software und Unterstützung.

Betrieb durch Ihren IT-Dienstleister

Mark-a-Spot läuft bei kommunalen IT-Dienstleistern in Kubernetes. Die Übergabe stimmen wir direkt mit dem Betriebsteam ab, die Aufteilung der Zuständigkeiten wird dabei schriftlich festgehalten.

Wechsel zwischen den Modellen

Ein Wechsel ist eine Migration derselben Software, kein neues Verfahren. Was sich ändert, ist nicht die Anwendung, sondern wer für Betrieb, Sicherung und Störungsannahme einsteht.

Warum diese Entscheidungen

Kriterium Was dahintersteckt
Berechenbarer VeröffentlichungsrhythmusDrupal veröffentlicht Sicherheitsupdates nach festem Zeitplan und pflegt jede Hauptversion über einen angekündigten Zeitraum. Ihre IT kann Update-Fenster deshalb vorausplanen, statt auf Anbietermeldungen zu warten.
Quelloffenes BackendDas Backend steht unter GPL-2.0 auf GitHub und drupal.org. Sie können es prüfen, selbst betreiben und weiterbetreiben, auch ohne uns. Das Pro-Frontend mit Dashboard ist davon ausgenommen, es ist lizenzpflichtig.
Standard statt HausformatOpen311 GeoReport v2 ist eine öffentlich spezifizierte Schnittstelle. Was sie liefert, lässt sich vor der Beschaffung nachlesen und mit anderen Angeboten vergleichen.
Bestehende InfrastrukturDocker und Kubernetes sind in kommunalen Rechenzentren im Einsatz. Für Mark-a-Spot muss Ihr Betrieb keine Sonderumgebung aufbauen, die er sonst nirgends braucht.
Verfügbare FachkräftePHP und JavaScript sind verbreitete Sprachen. Das ersetzt keine Einarbeitung in Mark-a-Spot, senkt aber die Hürde, wenn Ihr Rechenzentrum oder ein Dienstleister eigene Anpassungen machen will.

Selbst nachsehen

Das Backend ist öffentlich einsehbar. Ihre IT kann den Quelltext lesen, bevor Sie eine Beschaffungsentscheidung treffen.

Häufige Fragen der IT

Fragen, die hier nicht stehen?

Für Markterkundungen und Vergabeverfahren brauchen Sie mehr als eine Website: Angaben zu Reaktionszeiten, Sicherung und Wiederanlauf, Auftragsverarbeitung, technischen und organisatorischen Maßnahmen, Unterauftragnehmern und Barrierefreiheit. Sagen Sie uns, welche Nachweise Ihr Verfahren verlangt, dann bekommen Sie sie schriftlich.

Technisches Gespräch vereinbaren