SARmission — Bedienungsanleitung¶
Version des Handbuchs: für SARmission v4.0.0 und neuer (Stand 2026-05-06) Zielgruppe: - Primär: Einsatzleitung, Disposition, Kartenführung und Funkwart in Rettungshundestaffeln aller Hilfsorganisationen (DRK, JUH, MHD, ASB, BRH) und beim Bundesverband Rettungshunde (BRH e. V.). - Sekundär: ELW-Personal anderer BOS-Organisationen (Feuerwehr, THW, Polizei), das mit einer Rettungshundestaffel im Einsatz oder Pilot-Projekt zusammenarbeitet, sowie Stab S2 / S3. Sprache: Deutsch (UI und Handbuch)
Wenn Sie noch nie mit einer Rettungshundestaffel gearbeitet haben: Lesen Sie zuerst § 0 Hintergrund: Was ist Rettungshundearbeit? und werfen Sie einen Blick in den Glossar im Anhang A — dort sind alle Fachbegriffe (IPP, POA, POD, MT-H, Mantrailing, Koester-Modell, DV 101 …) erklärt.
Persona-Pfade — wo soll ich anfangen?¶
Das Manual ist umfangreich (42 Sektionen + 3 Anhänge). Statt linear durchzulesen, folgen Sie dem Pfad, der zu Ihrer Rolle passt:
| Wenn Sie … sind | Lesen Sie zuerst | Dann vertiefen Sie |
|---|---|---|
| 🐕 Hundeführer:in (Anfänger:in) | § 0 Hintergrund · § 5 Einheiten · § 9 Vermisstenverhalten | § 13 Tagebuch · § 35 Track-Import vom Smartphone |
| 🎯 Einsatzleiter:in (Power-User) | § 0 · § 4 Einsatzführung · § 7 Suchgebiete · § 36 Tactical Signs · § 37 Hundewohl-Compliance | § 16 Drucken · § 38 Mission-Timer · § 18 Live-Sync |
| 📻 Funkwart:in | § 0 · § 13 Tagebuch · § 18 Live-Sync | § 35 Track-Import |
| 🗺 Kartenführer:in (PWA/iPad) | § 0 · § 34.1 PWA · § 18 Live-Sync | § 6 Karten-Werkzeuge · § 11 UTM-Gitter |
| 🚑 ELW-Disponent:in (BOS-extern) | § 0 · Anhang B HiOrg-Mapping · § 36 Tactical Signs (DV-101) | § 14 KML-/GPX-Export · § 16 Lagebericht |
| 🔒 Datenschutzbeauftragte:r | §§ 30-33 DSGVO-Pack | Anhang A Glossar für DSGVO-Begriffe |
| 🏛 Vereins-Vorstand (Trägerschaft) | § 0 · § 30 DSGVO · § 42 Versionshistorie | Anhang B HiOrg-Mapping · Anhang C Wartungs-Prozess |
| 🎓 Schulungs-Leiter:in (Multiplikator:in) | § 0 · § 39 Onboarding-Tour · Anhang A Glossar | komplettes Manual als Schulungs-Vorlage |
Stil-Hinweis: Dieses Manual folgt dem
Diátaxis-Framework (Tutorial / How-to /
Reference / Explanation). Sektionen sind nach Typ markiert
([How-to], [Reference] etc.) — siehe Manual Style Guide.
Was sich seit v2.x geändert hat (Kurzfassung): - v3.0–v3.1: visuelle Neugestaltung mit Action-Bar und Tool-Rail - v3.4: Live-Sync mit Host/Join-Sub-Modi und mDNS-Auto-Discovery; PWA/iPad-Hardening; Capacitor-Mobile-Foundation - v3.5–v3.6: DSGVO-Compliance-Pack + automatische Verschlüsselung aller Vereins-Daten (AES-256-GCM) - v3.7–v3.8: optionale Master-Passphrase mit memory-hard scrypt-KDF - v3.9: Track-Import von Trupp-Smartphones (3 Übergabe-Pfade) - v3.10: Tactical Signs DV-101 (12 Symbole) · Mission-Timer · Hundewohl-Schwellwert-Pflicht-Modal · Lock + Re-Freigabe-Workflow - v3.11: Tagebuch-Retention mit getrennter Audit-Schwelle - v4.0.0: UX-Bündel (Quick-Win + Mittel + Aufwendig), Onboarding-Tour beim Erststart, neues Brand-Mark (Kompass + Pfotenabdruck) Siehe Abschnitte 30–34 für DSGVO/Encryption, 35–41 für die v3.9–v4.0-Features und Abschnitt 42 für die vollständige Versionshistorie.
Inhaltsverzeichnis¶
- Hintergrund: Was ist Rettungshundearbeit? — für ELW- und Stab-Personal ohne RHS-Vorkenntnisse
- Was SARmission ist
- Installation & Erststart
- Die Bedienoberfläche im Überblick
- Einsatzführung — Einsatz anlegen, speichern, wiederherstellen
- Einheitenverwaltung mit Einsatz-Uhr
- Kartenwerkzeuge — Zeichnen, Bearbeiten, Navigieren
- Suchgebiete mit POD/POA-Priorisierung (Mattson)
- POIs / Wegpunkte
- Vermisstenverhalten — Koester-Distanzringe
- Wetter-Overlay mit Hundeeinsatz-Hinweis
- UTM-Gitter, Live-Koordinaten-Readout und Label-Modi
- GPS-Empfänger (Bluetooth, Seriell, Simulation)
- Einsatztagebuch & Funk-Schnellmeldungen
- Import und Export (GPX · KML · DOCX · CSV)
- Offline-Karten
- Drucken & PDF — Profile und Logo
- Stammdaten — Hunde, Personen, Prüfungen, Alarmgruppen
- Live-Sync — Mehrere Geräte im Stab
- Rückgängig/Wiederherstellen und Snapshots
- Auto-Update
- Tastaturkürzel
- Dateispeicherorte
- Fehlersuche / FAQ
- POD-Slip pro Hunde-Kategorie (ab v2.7.0)
- XLSX-Statistik-Export (ab v2.8.0)
- Auto-Briefing-Generator (ab v2.9.0)
- Hunde-Kalender (ab v2.10.0)
- DOP-Orthofoto und WMS-Overlays (ab v2.11.0)
- ICS-Formulare ELS-201 / ELS-204 (ab v2.6.0)
- Datenschutz / DSGVO (ab v3.5.0)
- At-Rest-Encryption (ab v3.5.2)
- Master-Passphrase und KDF-Upgrade (ab v3.7.0 / v3.8.0)
- Audit-Trail für Stammdaten-Änderungen (ab v3.5.1)
- Mobile- und PWA-Modus
- Track-Import von Trupp-Smartphones (ab v3.9.0)
- Tactical Signs nach DV-101 (ab v3.10) — hilforganisations-übergreifende Lagebild-Sprache
- Hundewohl-Compliance: Schwellwert-Modal & Lock-Workflow (ab v3.10)
- Mission-Timer mit Aktions-Menü (ab v3.10 / v4.0.0)
- Onboarding-Tour beim Erststart (ab v4.0.0)
- Tagebuch-Retention mit getrennter Audit-Schwelle (ab v3.11)
- Brand-Mark v4.0.0 — Kompass + Pfotenabdruck
- Versionshistorie
- Bekannte Grenzen / Limitations — was die Software (noch) nicht kann
- Daten-Schema (
.rhs-Format) — für Power-User - Barrierefreiheit / Accessibility — A11y-Status v4.0.0
- Anhang A: Glossar — Fachbegriffe alphabetisch
- Anhang B: Hilfsorganisations-Mapping — DRK / JUH / MHD / ASB / BRH
- Anhang C: Wartungs-Prozess — bei jeder Software-Änderung
- Mobile- und PWA-Modus (ab v3.4.0)
- Versionshistorie v3.x
0. Hintergrund: Was ist Rettungshundearbeit?¶
Diese Sektion richtet sich an Leser:innen ohne RHS-Vorkenntnisse (insbesondere ELW- oder Stab-Personal anderer BOS-Organisationen). Wer schon in einer Rettungshundestaffel aktiv ist, kann direkt mit § 1 Was SARmission ist fortfahren.
0.1 Was tun Rettungshundestaffeln?¶
Eine Rettungshundestaffel (RHS) ist eine operative Einheit aus ehrenamtlich engagierten Hundeführer:innen mit zertifizierten Suchhunden. Sie wird typischerweise von der Polizei über die Rettungs-Leitstelle (ILS) angefordert, wenn eine Person vermisst wird — etwa ein:e Demenz-Patient:in, ein verirrtes Kind, ein Suizidgefährdeter oder eine vermisste Wandernde.
Pro Jahr werden in Deutschland bis zu 100.000 Personen als vermisst gemeldet (BRH-Statistik 2024). Ein Teil davon wird im Rahmen großer Suchaktionen mit Rettungshunden, Polizei, Feuerwehr und Drohnen gemeinsam gesucht.
0.2 Welche Organisationen führen Rettungshundestaffeln?¶
In Deutschland existieren parallel mehrere Träger-Strukturen:
| Träger | Rolle |
|---|---|
| DRK (Deutsches Rotes Kreuz) | Eigene Rettungshundestaffeln pro Kreisverband |
| JUH (Johanniter-Unfall-Hilfe) | Eigene Staffeln, oft auf Landesebene koordiniert |
| MHD (Malteser Hilfsdienst) | Eigene Staffeln |
| ASB (Arbeiter-Samariter-Bund) | Eigene Staffeln |
| BRH (Bundesverband Rettungshunde e. V.) | Überregionaler eigenständiger Verband mit eigenen Staffeln |
| THW (Technisches Hilfswerk) | Fachgruppe „Ortung", inkl. Rettungshunde-Komponente |
Alle Staffeln arbeiten nach den gleichen taktischen Prinzipien und sind im Einsatz hilfsorganisations-übergreifend kompatibel — etwa durch die Verwendung der DV-101-Tactical-Signs (siehe § 36).
0.3 Such-Methoden im Überblick¶
Rettungshundestaffeln nutzen mehrere komplementäre Such-Methoden, jede mit spezialisierten Hunden:
| Methode | Wann eingesetzt? | Was macht der Hund? |
|---|---|---|
| Mantrailing (MT) | Wenn ein Geruchsträger der vermissten Person verfügbar ist (Kleidungsstück aus Wohnung, Auto, Bett) | Folgt der individuellen Geruchsspur dieser einen Person — weg vom letzten Aufenthaltsort |
| Flächensuche (FL) | Wenn der Aufenthaltsbereich grob bekannt ist, aber kein konkreter Geruchsträger | Sucht ein definiertes Gebiet flächendeckend nach allgemeinem Menschengeruch |
| Trümmersuche | Bei eingestürzten Gebäuden (Erdbeben, Explosion, Bauschaden) | Sucht in Trümmern nach verschütteten Personen |
| Wasserortung | Bei vermutlicher Person unter Wasser (Bootsunglück, Sprung von Brücke) | Wittert Geruch an der Wasseroberfläche, vom Boot aus |
| Lawinensuche | Bei Verschüttung in Schnee | Findet Personen unter mehreren Metern Schnee |
| Leichensuche | Bei vermuteter Auffindung Verstorbener | Spezielle Konditionierung auf bestimmte Geruchskomponenten |
In SARmission wird jede Einheit ihrer Spezialisierung zugeordnet — darauf basiert auch die automatische POD-Vorschlags-Logik (siehe § 24 POD-Slip).
0.4 Rollen im Einsatz¶
Eine typische Rettungshunde-Lage hat folgende Rollen:
| Rolle | Aufgabe | Typischer SARmission-Use |
|---|---|---|
| Einsatzleiter:in (EL) | Operative Steuerung, Schnittstelle zur Polizei/ILS | Sitzt am Desktop oder ELW, bedient die Karte und die Einheiten-Liste |
| Kartenführer:in | Pflegt das Lagebild | iPad/Tablet im PWA-Modus, synchronisiert mit EL |
| Funkwart | Empfängt und sendet Funkmeldungen | Tagebuch + Funk-Schnellmeldungen (§ 13) |
| Hundeführer:in (HF) | Bewegt sich mit Hund im Suchgebiet | Smartphone mit GPS-Tracking (§ 35) |
| Truppführer:in (TF / GF) | Leitet 2–5 Personen im Such-Trupp | Über Funk an die EL angebunden |
| Zugführer:in (ZF) | Leitet einen Verband mehrerer Trupps | Übersicht über alle Suchgebiete |
| Helfer:in (HE) | Sicherung, Funk, Logistik | In der Stärkemeldung der Einheit erfasst |
0.5 Typischer Einsatzablauf in 7 Schritten¶
1. Anfrage → Polizei / ILS meldet vermisste Person an die RHS
2. Anlauf → EL legt Einsatz an, erfasst VP-Steckbrief und IPP/LKP
3. Planung → Suchgebiete zeichnen, Wetter prüfen, Koester-Ringe
4. Kräfte → Eigene Staffel + ggf. Fremdkräfte (andere HiOrgs) alarmieren
5. Briefing → Lagebriefing für die ankommenden Trupps drucken
6. Suche → Trupps durchsuchen ihre Sektoren, melden Status per Funk,
EL pflegt POD-Werte beim Abschluss jedes Sektors
7. Abschluss → Person gefunden / Sucheinstellung → Lagebericht + Übergabe
an Polizei
SARmission begleitet jeden dieser Schritte mit dedizierten
Werkzeugen — siehe das Demo-Video-Drehbuch unter
docs/marketing/demo-video-drehbuch.md
für eine durchgespielte 22-Min-Sequenz.
0.6 Schlüsselbegriffe in 60 Sekunden¶
Die wichtigsten Fachbegriffe, die im Handbuch immer wieder auftauchen:
- IPP (Initial Planning Point) = Punkt, von dem aus die Suche geplant wird (oft = LKP, Last-Known-Point)
- POA (Probability of Area) = Wahrscheinlichkeit, dass die vermisste Person in einem Suchgebiet ist
- POD (Probability of Detection) = Wahrscheinlichkeit, dass eine durchsuchte Fläche die Person tatsächlich gefunden hätte, wenn sie dort wäre
- Mattson-Verfahren = Bayes-basierte Methode zur Priorisierung des nächsten Suchgebiets nach Berücksichtigung der bereits durchgeführten Suchen
- Koester-Modell = Statistik-Modell von Robert J. Koester (NASAR 2008), das auf Basis tausender historischer Vermissten-Fälle Wahrscheinlichkeiten für Bewegungs-Reichweiten je Personenkategorie prognostiziert (Demenz, Wanderer, Kind etc.)
- Trupp = operative Sub-Einheit aus 2–5 Personen mit 1–2 Hunden
- Stärkemeldung = Erfassung des Personals einer Einheit nach Funktion (ZF / GF / HF / HE / FL-H / MT-H)
- DV 101 = Dienstvorschrift Bevölkerungsschutz mit den standardisierten taktischen Symbolen, die SARmission unterstützt
Vollständige Begriffe finden Sie im Glossar (Anhang A).
0.7 Was SARmission nicht ist¶
Damit Erwartungen klar sind:
- Keine Leitstellen-Software im Sinne von edp / IGNIS / Caudex — SARmission ist die Vereins-/Staffel-Software, die vor und während des Einsatzes von der Einsatzleitung der RHS bedient wird. Sie ergänzt vorhandene Leitstellen-Systeme, ersetzt sie nicht.
- Keine Auto-Disposition — Trupp-Zuweisung zu Suchgebieten erfolgt manuell durch den EL.
- Kein Auto-Funkverkehr — Funk wird über externe Systeme abgewickelt, SARmission protokolliert lediglich.
- Keine ILS-Anbindung in v4.0.0 — Schnittstellen zu Leitstellen- Systemen sind für v5.x geplant. Eingehende Anfragen werden im Einsatztagebuch dokumentiert.
1. Was SARmission ist¶
SARmission ist die Einsatzleitungs-Software der Rettungshundestaffel Mosbach, optimiert für Hundestaffel-Einsätze in der Personensuche. Sie vereint in einer einzigen, offline-fähigen App:
- eine Einsatz-Lagekarte (Leaflet mit Topo/OSM/Satellit-Kacheln, UTM-Gitter, 1-km-Radius)
- Einheitenverwaltung mit Stärkemeldung und adaptivem Pausen-Timer
- Suchgebiete mit mathematisch fundierter POA/POD-Priorisierung (Mattson-Verfahren)
- Vermisstenverhalten nach Robert J. Koester (Lost Person Behavior)
- Live-Stab-Backbone — mehrere Geräte im selben WLAN teilen das Lagebild in Echtzeit, ohne Internet, ohne Cloud
- Einsatztagebuch mit Funkverkehr-Schnellmeldungen
- Import/Export aller gängigen Formate (GPX, KML, CSV, DOCX, PDF)
Die App läuft als macOS-Desktop-Anwendung (Electron, arm64) sowie als installierbare PWA im Browser auf iPad/Tablet.
2. Installation & Erststart¶
2.1 macOS¶
- DMG-Datei aus dem GitHub-Release runterladen (https://github.com/stefanseyfferth-hue/sarmission/releases — immer das oberste, neueste).
- DMG doppelt anklicken → SARmission-Icon auf den Programme-Ordner ziehen.
- Per Doppelklick starten — die App ist seit v2.2.6 Apple-notarisiert, macOS startet sie ohne weitere Bestätigungsdialoge.
Auto-Update ab v2.2.6: Die App prüft beim Start automatisch auf neue Releases. Wenn eine neuere Version verfügbar ist, erscheint rechts oben in der Topbar ein blaues Glocken-Icon — Klick darauf, dann „Jetzt aktualisieren" wählen, App startet selbst neu.
2.2 Windows¶
- Laden Sie die
.exe-Installer-Datei aus dem GitHub-Release herunter (immer das oberste, neueste Release). - Doppelklick auf die
.exestartet den NSIS-Installer. - Bei der Windows-SmartScreen-Warnung (Code-Signing-Zertifikat noch nicht etabliert in v4.0.0) klicken Sie auf Weitere Informationen → Trotzdem ausführen.
- Standard-Installation in
C:\Program Files\SARmission\(nutzer-spezifische Daten in%APPDATA%\SARmission\).
🔧 Fortgeschritten: Per
.exe /S /D=C:\Custom\Pathlässt sich die Installation vollautomatisch durchführen — nützlich für Vereins-IT-Rollouts.
2.3 Linux (AppImage und .deb)¶
SARmission liefert ab v3.8.0 zwei Linux-Pakete:
AppImage (portable Single-File-Binary)¶
- Laden Sie die
.AppImageaus dem GitHub-Release. - Setzen Sie das Executable-Bit:
- Per Doppelklick oder
./SARmission-v4.0.0.AppImagestarten. - Läuft auf jedem glibc-≥-2.28-Linux ohne weitere Installation (Ubuntu 20.04+, Debian 11+, Fedora 33+, Arch).
.deb (Debian / Ubuntu)¶
Installiert systemweit nach /opt/SARmission/ und legt einen
Desktop-Eintrag unter „Internet" oder „Office" an.
ℹ️ Hinweis: Linux-Builds sind in v4.0.0 unsigniert. Für Vereins-interne Distribution unproblematisch; für öffentliche Distribution wird AppImage-Signierung via
zsigngeplant (Roadmap v4.x).
2.4 PWA (Tablet/iPad im Browser)¶
Die Progressive Web App (PWA) läuft auf jedem modernen Browser ohne Installation und ist für Kartenführer:innen am iPad/Android-Tablet gedacht.
- Öffnen Sie die PWA-URL im Browser:
- Standalone:
https://pwa.sarmission.de/(nach Domain- Registrierung) - Lokal:
http://<host-ip>:47832/app.html— der lokale Tile-Server läuft automatisch mit, wenn die Desktop-App aktiv ist - iOS-Safari: Teilen-Button → Zum Home-Bildschirm hinzufügen.
- Android-Chrome: Drei-Punkte-Menü → App installieren / Zum Startbildschirm hinzufügen.
- Die PWA verhält sich danach wie eine native App (Vollbild ohne Browser-Chrome).
💡 Tipp: Im Live-Sync-LAN-Modus ist der PWA-Tile-Server typischerweise auf demselben Gerät wie der Sync-Host — eine PWA auf dem Kartenführer-iPad braucht dann nur die Sync-Verbindung, Karten + Daten sind beide ohne Internet verfügbar.
2.5 Mobile (iOS und Android via Capacitor)¶
Eine native Mobile-Variante (Capacitor 7.x) ist für iOS und Android verfügbar (ab v3.8.0-mobile.alpha.4).
iOS via TestFlight¶
- Anfrage an pilot@sarmission.de für TestFlight-Einladung.
- TestFlight-App im App Store installieren.
- Über den Einladungs-Link beitreten und SARmission installieren.
Android via Google Play Internal Testing¶
- Anfrage an pilot@sarmission.de für die Internal-Testing-Liste.
- Über den Beitritts-Link den Internal-Testing-Track aktivieren.
- SARmission über den Play Store installieren.
⚠️ Achtung: Mobile-Builds haben eine Feature-Lücke zur Desktop-Variante (siehe § 34.3 Capacitor-Build). Insbesondere fehlt die At-Rest-Encryption (Roadmap v3.9 mit WebCrypto-PBKDF2 + WASM-scrypt) und das LAN-Sync-Hosting (Mobile kann nur joinen).
2.6 Erststart-Check¶
Beim allerersten Start sieht die Bedienoberfläche so aus:

- Links: Sidebar mit Einsatz-Nr., Einsatz-Name und den Haupt-Tabs.
- Mitte: Karte von Deutschland (Standard-Zentrum in Mosbach, Zoom 13) mit OpenTopoMap-Kacheln.
- Rechts oben: Topbar-Buttons (Topo-Layer, Messen, Offline, Alarm, UTM, Standort, Ebenen, Web/Desktop-Modus, Sync).
- Links an der Karte: Zeichenwerkzeuge, Trail, Werkzeuge, Vermisst, Wetter.
- Ganz unten: Hinweistext „Tippen zum Zeichnen · mind. 3 Punkte".
2.7 Erste 10 Minuten — geführter Demo-Einsatz [Tutorial]¶
🎓 Tutorial: In den nächsten 10 Minuten durchlaufen Sie einen kompletten Demo-Einsatz — vom IPP-Setzen bis zum Lagebericht-Druck. Sie brauchen keine Vorkenntnisse, nur die installierte App.
2.7.1 Demo-Daten laden (1 Min)¶
- Laden Sie die Demo-
.rhs-Datei aus dem Repo:docs/marketing/demo-data/sarmission-demo-einsatz.rhs - In SARmission: Action-Bar → Übergabe → Datei laden und die
.rhs-Datei auswählen. - Die Karte zentriert sich automatisch auf Mosbach-Neckarelz, alle 4 Einheiten + 3 Suchgebiete + 5 Tactical Signs + 51 Tagebuch- Einträge sind sichtbar.
2.7.2 Topbar erkunden (1 Min)¶
Schauen Sie auf die Topbar oben:
- Logo links mit „SARmission"-Wortmarke
- Einsatz-Nr.
RHS-2026-014und Name „Vermisstensuche Forsthaus Neckarelz" — bereits eingetragen - Mission-Timer zeigt die Einsatzdauer (Klick darauf → Aktions- Menü, siehe § 38)
- 🔒 DSGVO-Button öffnet den Datenschutz-Dialog
2.7.3 Vermisstenprofil + IPP (1 Min)¶
- Klicken Sie in der Tool-Rail auf 🧭 Vermisstenprofil.
- Die Demo-Daten haben bereits Demenz als Kategorie und einen IPP am Wanderparkplatz Forsthaus gesetzt.
- Sie sehen vier konzentrische Distanzringe (rot 25 % bis blau 95 %) — das sind die Koester-Wahrscheinlichkeits-Bereiche (siehe § 9-C).
2.7.4 Suchgebiete ansehen (1 Min)¶
- Wechseln Sie in den Tab Objekte → Gebiete in der Sidebar.
- Sie sehen 3 Suchgebiete: Sektor A (Nahbereich), Sektor B (südlich), Wald Nordost (Hauptverdacht).
- Beachten Sie das ⭐-Symbol — markiert das Gebiet mit höchster POA-Wahrscheinlichkeit (siehe § 7-C).
2.7.5 Einheit zuweisen (1 Min)¶
- Klick auf das Sektor-A-Gebiet → Detail-Panel aufgeklappt.
- Im Drop-down Zugeteilte Einheit wählen Sie
JUH-Heidelberg-1. - Auf der Karte erscheint ein farbiger Marker mit der Kennung — das Gebiet ist jetzt operativ zugewiesen.
2.7.6 Tactical Sign setzen (1 Min)¶
- Klicken Sie in der Action-Bar auf Taktisches Zeichen.
- Im Picker wählen Sie Verbandsplatz (weißes Quadrat mit rotem Kreuz).
- Tragen Sie ins Label-Feld ein: „VP B-Raum (DRK Notfall-San.)".
- Klicken Sie auf der Karte etwa 30 m neben dem Bereitstellungsraum.
- Das Symbol erscheint sofort, hover für Tooltip (siehe § 36).
2.7.7 Tagebuch-Eintrag (1 Min)¶
- Wechseln Sie in den Tab Tagebuch in der Sidebar.
- Sie sehen 51 historische Einträge (chronologisch absteigend).
- Klicken Sie unten auf Funkspruch, wählen Sie das Template „Hund im Einsatz" aus.
- Bestätigen Sie — der Eintrag wird automatisch mit Zeitstempel und der Standard-Formulierung angelegt.
2.7.8 Hundewohl-Compliance simulieren (1 Min)¶
- Wechseln Sie in den Tab Einheiten.
- Klick auf RHS-Mosbach-MT-1 (Mantrailer) — Detail-Panel öffnet.
- Beachten Sie die Einsatz-Uhr: bei dieser Demo bereits 48 Min (= 100 % der wetter-adaptiven Maximalzeit bei 28 °C Hitze-Faktor 0,80).
- Das F3-Pflicht-Modal war bereits ausgelöst und auf „Pause anordnen" entschieden — sichtbar im Tagebuch (siehe § 37).
2.7.9 Lagebericht drucken (1 Min)¶
- Klicken Sie in der Action-Bar auf Lagebericht (Drucker-Icon).
- Es öffnet sich eine 5-seitige Print-Vorschau mit:
- Stammdaten + Stärke
- Einheitenliste mit Einsatzzeiten
- Suchgebiete mit POA / POD
- Taktische Zeichen DV 101 (5 Symbole)
- Lagekarte als Snapshot
- Komplettes Tagebuch
- Drucken oder als PDF speichern (siehe § 16).
2.7.10 Übergabe-Datei (1 Min)¶
- Action-Bar → Übergabe.
- Geben Sie einen Dateinamen ein, z. B.
Forsthaus-Neckarelz-2026-05-07.rhs. - Datei speichern — diese kann an die Polizei oder die nächste EL-Schicht übergeben werden.
- Geöffnet werden kann sie auf jedem SARmission-Gerät über Action-Bar → Übergabe → Datei laden.
2.7.11 Was Sie jetzt können¶
In 10 Minuten haben Sie:
- ✅ Eine Demo-Lage geladen
- ✅ Vermisstenprofil + IPP + Distanzringe verstanden
- ✅ Suchgebiete + POA/POD + Einheits-Zuweisung bedient
- ✅ DV-101-Tactical Signs gesetzt
- ✅ Tagebuch + Funkspruch verwendet
- ✅ Hundewohl-Compliance-Workflow gesehen
- ✅ Lagebericht gedruckt + Übergabe-Datei gespeichert
Nächste Schritte:
- Hundeführer
lesen Sie § 5 Einheitenverwaltung und § 9 Vermisstenverhalten
- Einsatzleiter
lesen Sie § 7 Suchgebiete und § 36 Tactical Signs DV-101
- Funkwart
lesen Sie § 13 Tagebuch & Funk und § 18 Live-Sync
3. Die Bedienoberfläche im Überblick¶
Visueller Re-Design seit v3.0: Das Grundlayout wurde mit v3.0/v3.1 vereinheitlicht. Statt verstreuter Buttons gibt es jetzt eine Action-Bar (oben in der Karten-Zone) und eine Tool-Rail (links neben der Karte) mit klar gegliederten Werkzeug-Gruppen. Funktional bleibt alles gleich; die Bedienpfade sind aber kürzer.
Das Grundlayout besteht aus fünf Zonen:
| Zone | Inhalt |
|---|---|
| Topbar (ganz oben) | Einsatzleiter, Einsatz-Nr., Datum/Zeit, Layer-Switcher, Standort, DSGVO-Settings, Sync-Status, Update-Badge |
| Action-Bar (Karten-Zone, oben) | Schnellzugriff für Einheit hinzufügen, POI setzen, Funkspruch, Snapshot, Drucken |
| Sidebar (links) | Stärke-Übersicht, Gesamtzähler, Tab-Leiste und aktives Seitenpanel |
| Tool-Rail (links neben der Karte, vertikal) | 9 Karten-Werkzeuge: Zeichnen, Editieren, Pan, Trail, UTM-Gitter, Radius, Wald-Vorschlag, Vermisst, Wetter |
| Karte (Mitte) | Leaflet-Karte mit allen Lage-Elementen (Gebiete, Einheiten, POIs, GPS-Spuren, Kreise …) |
3.1 Haupt-Tabs in der Sidebar¶
Die Sidebar kennt fünf Haupt-Tabs (die über die Tab-Leiste umgeschaltet werden):
| Tab | Zweck |
|---|---|
| Einheiten | Einheitenliste, Steckbrief der vermissten Person, Einsatz-Archiv |
| Objekte | Suchgebiete und POIs (Unter-Tabs Gebiete / POI) |
| Tagebuch | Chronologisches Einsatztagebuch mit Filter + Bearbeiten |
| IO | Werkzeuge (GPX/KML-Export, UTM-Gitter, Offline-Karten) und Alarmierungen |
| Stammdaten | Hunde, Hundeteams, Prüfungen, Adressbuch, Alarmgruppen |
3.2 Topbar (Detail)¶

Die Topbar zeigt (links nach rechts):
- Einsatzleiter (frei editierbares Textfeld)
- Datum
- Einsatz-Nr. (frei editierbar, wird auch auf alle Drucke übernommen)
- Topo/OSM/Sat-Button — zyklisches Umschalten der Kartenlayer (Topo → OSM → Satellit → Hybrid → OSM-DE → zurück). Der Button-Text zeigt den aktiven Layer.
- Standort-Button (⊕-Symbol) — zentriert die Karte auf deinen aktuellen Standort und zeichnet einen Genauigkeits-Kreis.
- Adresssuche — (siehe Kap. 6.5).
- Messen — Maßband-Werkzeug (siehe Kap. 6.6).
- Offline-Karten-Auswahl (Rechteck-Icon) — siehe Kap. 15.
- Alarm (Glocken-Icon) — Alarmgruppen-Panel öffnen.
- Labels ein/aus — Gebiets-Namen auf der Karte ein-/ausblenden.
- UTM-Gitter — Gitter an/aus (Rechtsklick wechselt den Label-Modus).
- DSGVO-Button (🔒, ab v3.5.1) — öffnet den Datenschutz-Settings-Dialog (Auto-Lösch, Audit-Trail, At-Rest-Encryption, Master-Passphrase, anonymisierter Export). Siehe § 30.
- Sync-Badge — Status-Anzeige des Live-Sync (siehe Kap. 18).
- Update-Badge — erscheint nur, wenn eine neue Version bereitsteht (siehe Kap. 20).
3.4 Action-Bar (ab v3.0.0)¶
Die Action-Bar erscheint oberhalb der Karte und bündelt die häufigsten Einsatzleitungs-Aktionen, ohne dass die Sidebar gewechselt werden muss:
| Button | Funktion |
|---|---|
| ➕ Einheit | Neue Einheit anlegen (Schnell-Form, identisch zu Sidebar-Variante) |
| 📍 POI | POI-Setzen-Modus aktivieren (Klick auf Karte ⇒ Dialog) |
| 📻 Funkspruch | Direktsprung in das Tagebuch-Tab mit aktiver Funkspruch-Eingabe |
| 💾 Snapshot | Sofortiger Auto-Save + neuer Rotations-Snapshot |
| Druckdialog (Lagebild, Einsatzbericht, ICS-Formulare) |
Gegenüber v2.x neu: Diese Aktionen waren früher über Sidebar-Tabs oder Topbar verstreut — die Action-Bar verkürzt jeden Pfad auf einen einzelnen Klick.
3.3 Tool-Rail (links neben der Karte, ab v3.1.0)¶
Die Tool-Rail ist die vertikale Werkzeug-Spalte links der Karte. Jeder Button hat einen aktiven/inaktiven Zustand (visuell hervorgehoben), und ein Werkzeug-Hint-Banner zeigt während aktivem Modus die nächste erwartete Aktion an („Tippen zum Zeichnen · mind. 3 Punkte" etc.).
| Icon | Funktion | Referenz |
|---|---|---|
| ▷ | Suchgebiet zeichnen | § 6.1 |
| ✎ | Bearbeiten (Vertex-Modus) | § 6.2 |
| ⊹ | Navigieren (Pan-Modus) | |
| 🐾 | Trail skizzieren (Freihand → Wege-Snap) | § 6.7 |
| ⊞ | UTM-Gitter an/aus (Rechtsklick = Modus wechseln) | § 11 |
| ◎ | 1 + 2-km-Radius platzieren | § 6.4 |
| 🌲 | Waldgebiete vorschlagen | § 7.6 |
| 🧭 | Vermisstenprofil + Koester-Ringe | § 9 |
| 🌤 | Wetter am Einsatzort | § 10 |
Esc-Taste beendet jedes aktive Werkzeug und schaltet zurück in den Pan-Modus — schnellere Notbremse als der Pan-Button.
Rechts: Layer-Ebenen-Toggle, Web/Desktop-Modus-Umschalter.
4. Einsatzführung¶
4.1 Neuer Einsatz¶
Menü: Einsatz → Neuer Einsatz (Cmd+N)
Falls bereits ein Einsatz läuft, wird er zuerst im Archiv gesichert.
Danach werden alle Einheiten, Gebiete, Logs, POIs und der Steckbrief zurückgesetzt.
Undo/Redo-Stack wird gelöscht.
Die Einsatz-Nr. wird automatisch vorbelegt (E-<YYYYMMDD>-<HHMM>), kann in
der Topbar oder im Steckbrief-Tab überschrieben werden.
4.2 Einsatz speichern/laden¶
Einsatz → Einsatz speichern …(Cmd+Shift+S) schreibt eine.rhs-Datei (JSON) mit allem Zustand: Einheiten, Suchgebiete (inkl. Polygone), Tagebuch, POIs, Steckbrief, Alarm-Gruppen, Kartenansicht und Vermisstenprofil.Einsatz → Einsatz laden …(Cmd+Shift+O) stellt einen früheren Einsatz wieder her. Die aktuelle Arbeit wird ins Archiv gesichert, bevor überschrieben wird.
4.3 Einsatz-Archiv¶
Im Tab Einheiten → Archiv finden Sie automatisch abgelegte Einsätze der letzten Woche. Jeder Eintrag zeigt Anzahl Einheiten, Personen, Gebiete, Log-Einträge sowie Buttons ↩ Laden, ↓ Datei und ✕ Entfernen.
4.4 Auto-Save und rotierende Snapshots¶
Nach jeder Änderung schreibt SARmission den State als
einsatz_state.json in den userData-Ordner (Speicherorte siehe
§ 22). Zusätzlich wird alle 5 Minuten
ein durchnummerierter Snapshot in userData/snapshots/ gesichert
(maximal 30 rotierende Dateien).
- Menü →
Einsatz → Snapshot-Ordner öffnen …zeigt die Dateien im Finder. - Menü →
Einsatz → Snapshot wiederherstellen …öffnet einen Dialog mit allen Snapshots (siehe § 19):

5. Einheitenverwaltung mit Einsatz-Uhr¶
5.1 Die leere Liste und Einheit-hinzufügen¶
Im Tab Einheiten → Liste sehen Sie zu Einsatzbeginn den „Noch keine Einheiten"-Hinweis:

Über das Pluszeichen (oder Tab-Leiste → „Neu") öffnen Sie das Formular zum
Anlegen einer Einheit. Pflichtfeld ist die Kennung (z. B. FL-1, RHS-2).
Daneben können Sie eingeben:
- Status (
verfügbar·im Einsatz·Rückkehr) - Einsatzgebiet (Freitext)
- HiOrg (DRK, BRK, BRH, ASB, DLRG, Feuerwehr, THW, MHD, JUH, Polizei, Sonstige)
- Stärkemeldung (ZF, GF, HF, Helfer, FL-H, MT-H)
- Bemerkung
5.2 Einheitenliste mit Badges¶
Nach dem Anlegen erscheinen die Einheiten als Cards. Jede Card zeigt einen kompakten Summary-Streifen:

- Links: Status-Dot (rot = Einsatz, orange = Rückkehr, grün = verfügbar).
- HiOrg-Badge (DRK, BRH, …) in Organisationsfarbe.
- Kennung (groß).
- Meta-Zeile: Einsatzgebiet · Stärke-Summary (
1 HF · 2 FL · 1 He). - Status-Badge rechts.
- ✕ zum Löschen (mit Bestätigung, Undo möglich).
5.3 Einheit expandieren und bearbeiten¶
Klick auf die Card öffnet das Detail-Formular:

- Alle Felder werden live gespeichert (Änderung synchronisiert sofort an alle Peers, wenn Live-Sync aktiv ist).
- Zugewiesene Suchgebiete aktualisieren beim Statuswechsel automatisch ihre Badge-Farbe.
5.4 Einsatz-Uhr pro Einheit¶
Jede Einheit hat eine Einsatz-Uhr mit Start-, Pause-, Fortsetzen-, Stopp- und Reset-Button. Der Schwellwert richtet sich nach der Stärke:
| Einheit enthält … | Schwellwert |
|---|---|
| MT-H | 60 min |
| FL-H (ohne MT-H) | 90 min |
| sonst | 120 min |
Bei 80 % der Einsatzzeit kommt ein gelber Toast als Pausen-Vorwarnung, bei 100 % ein rotes „Pause empfohlen". Jeder Wechsel wird ins Tagebuch (Kategorie einheit) protokolliert.
Wetter-Adjust: Ist das Wetter-Overlay aktiviert und zeigt Hitze ab 25 °C, Sturm ab 35 km/h oder Starkregen ab 5 mm/h, werden die Schwellwerte automatisch reduziert (z. B. MT-H bei 32 °C → 42 min statt 60). Siehe § 10.
Drift-Schutz: Wird die App zwischendurch geschlossen, zählt die Uhr nicht die Zeit außerhalb der App. Beim Wiederöffnen läuft sie ab der zuletzt gespeicherten Sekunde weiter.
5.5 Einheit einem Suchgebiet zuweisen¶
Im expandierten Detail einer Einheit gibt es das Dropdown Zugeteilte Einheit im jeweiligen Gebiet (Tab Objekte → Gebiete). Nach der Zuweisung erscheint auf der Karte ein Marker mit Kennung und Statusfarbe auf dem Polygon. Die Zuweisung ist sync-stabil — bei gelöschter Einheit wird sie auf allen Peers sauber aufgelöst.
5.6 Steckbrief der vermissten Person¶

Im Unter-Tab Steckbrief erfassen Sie Name, Alter, Beschreibung, Bekleidung, Ausgangspunkt, Ortsbezug und Notizen. Die Daten fließen in den Gesamtbericht und die PDF-Exporte ein.
5.7 Hundeteams pro Einheit¶
In einer expandierten Einheit finden Sie unter der Stärkemeldung einen Bereich 🐕 Hundeteams, in dem du per Dropdown Hundeteams aus den Stammdaten (Kap. 17) zuweisen kannst.
6. Kartenwerkzeuge¶
6.1 Suchgebiet zeichnen (Draw-Mode)¶
Aktivieren Sie das ▷-Werkzeug in der linken Toolbar. Der Cursor wird zum Fadenkreuz. Jeder Klick setzt einen Polygon-Punkt.
- Live-Distanz-Anzeige zwischen den Punkten: Zwischen dem letzten gesetzten Punkt und dem Cursor schwebt eine gestrichelte Linie mit Meter-Angabe.
- Ab dem dritten Punkt erscheint ein ✓ Fertig-Button, oder klicke nahe den ersten Punkt (er wird grün hervorgehoben) → Polygon schließt automatisch.
- Doppelklick schließt ebenfalls.
- Farbe wird aus einer 8er-Palette automatisch zugewiesen (kann danach geändert werden).
6.2 Vertex-Bearbeitung¶
Werkzeug ✎ aktiviert den Vertex-Modus eines ausgewählten Gebiets. Es erscheinen weiße Punkt-Marker an jedem Polygon-Knick sowie graue Mittelpunkt-Marker zwischen zwei Knicken.
- Weißer Punkt ziehen = Vertex verschieben.
- Grauer Punkt ziehen = neuer Vertex einfügen (Linie teilt sich).
- Rechtsklick auf weißen Punkt = Vertex löschen.
- Klick auf den ✓ Fertig-Button im Panel beendet die Bearbeitung.
6.3 Pan-Modus¶
Werkzeug ⊹ deaktiviert Zeichenmodus, normales Karten-Pan/Zoom per Trackpad.
6.4 Radiuskreise¶
Werkzeug ◎ aktiviert den Circle-Modus: der nächste Map-Klick setzt einen Doppelkreis 1 km + 2 km (durchgezogen + gestrichelt) als Standard-Einsatz-Perimeter. Klick auf das Kreis-Zentrum entfernt den Kreis wieder. Der Modus lässt sich durch erneuten Klick auf ◎ beenden.
6.5 Adresssuche¶
Oben in der Karten-Mitte schwebt die Suchleiste. Tippen → Vorschläge von Nominatim/OpenStreetMap. Enter setzt die Karte auf den gewählten Treffer und markiert ihn als POI-Vorschlag.
6.6 Messen (Maßband)¶
Topbar → Lineal-Icon. Im Messen-Modus:
- Linksklick = Messpunkt setzen (Distanz zur letzten Position wird kumuliert angezeigt).
- Doppelklick = Messung beenden.
6.7 Trail-Snap¶
🐾 öffnet den Freihand-Trail-Modus: Maus gedrückt halten und über die Karte fahren → der gezeichnete Track wird anschließend über den Valhalla Trace-Route-Service auf reale Wege eingerastet. Das Ergebnis landet als GPS-Spur unter „Sonstige Tracks".
7. Suchgebiete mit POD/POA-Priorisierung¶
ℹ️ Hinweis (Diátaxis): Diese Sektion folgt dem Diátaxis-Framework und ist in drei Teile gesplittet — A: How-to (Bedienung), B: Reference (Werte), C: Explanation (Mathematik). Power-User springen direkt zu 7-A, Datenschutz / Auditor zu 7-B, Ausbilder:innen zu 7-C.
7-A How-to: Suchgebiet anlegen, abschließen, neu zuweisen [How-to]¶
So bedienen Sie das Suchgebiete-Modul Schritt für Schritt.
7-A.1 Suchgebiet zeichnen¶
- Klicken Sie in der Tool-Rail auf das ▷-Werkzeug (Polygon-Zeichnen).
- Setzen Sie nacheinander Polygon-Punkte mit Linksklick auf der Karte. Die Live-Distanz-Anzeige zwischen Cursor und letztem Punkt erscheint.
- Schließen Sie das Polygon ab dem dritten Punkt entweder mit Doppelklick oder Klick auf den ✓ Fertig-Button.
- SARmission berechnet automatisch Fläche in m² und den abgeleiteten FL-Hunde-Bedarf (Faustregel: 1 FL-H pro 45 000 m²).
7-A.2 Suchgebiete-Liste¶
Wechseln Sie in den Tab Objekte → Gebiete, um alle angelegten Suchgebiete zu sehen:

Pro Gebiet-Card sehen Sie:
- Namen (automatisch numeriert, editierbar)
- Status-Badge: 🔍 Offen · ✓ Abgeschlossen
- POA in % mit ⭐-Markierung beim Gebiet mit höchster Rest-Wahrscheinlichkeit
- POD in % (nach Abschluss)
- Fläche in m² + abgeleitete FL-Hunde-Anzahl
- Buttons Bearbeiten / Löschen
7-A.3 Einheit zuweisen¶
Klicken Sie auf den Farbpunkt links auf der Gebiet-Card, um das Detail aufzuklappen. Dort wählen Sie aus dem Drop-down Zugeteilte Einheit die operative Einheit. Auf der Karte erscheint dann ein Marker mit Kennung und Status-Farbe auf dem Polygon.
7-A.4 Gebiet abschließen mit POD-Eintrag¶
Beim Wechsel auf ✓ Abgeschlossen erscheint ein Prompt zur Eingabe der Probability of Detection (POD):
💡 Tipp: Standard-POD-Werte (FL-Hund 70 %, MT-Hund 50 %, Sicht 30 %) sind als Vorschlag vorbelegt — siehe § 7-B Reference für die vollständige Tabelle nach Hund-Spezialisierung.
Nach Bestätigung wird automatisch ein Bayes-Update durchgeführt (siehe § 7-C Explanation). Auf der Karte wird das abgeschlossene Gebiet gestrichelt und transparenter dargestellt.
7-A.5 Vertex-Bearbeitung¶
Über das Detail-Panel (Farbpunkt-Klick) finden Sie den Button Punkte bearbeiten, der den Vertex-Modus aktiviert. Weiße Punkte ziehen verschiebt Vertices, graue Punkte ziehen fügt neue Vertices ein, Rechtsklick auf weißen Punkt löscht ihn. Klick auf ✓ Fertig beendet die Bearbeitung.
7-A.6 Waldgebiete automatisch vorschlagen¶
Für den Erst-Einsatz in bewaldeten Regionen liefert SARmission einen Forest-Panel-Vorschlag, der die Karten-Region anhand von Wegen automatisch in Sektoren teilt.
- Klicken Sie in der Tool-Rail auf 🌲 (Wald-Vorschlag).
- Im Forest-Panel wählen Sie Modus („Wege & Straßen" oder „Waldgebiete"), Radius (1 km / 2 km / 1+2 km) und die erwartete FL-H-Anzahl.
- Klick auf Gebiete abfragen & einzeichnen startet eine Overpass-Abfrage und legt automatisch Polygone an.

💡 Tipp: Setzen Sie zuerst den IPP (siehe § 9) und einen 1-km-Kreis (Tool-Rail ◎), dann öffnet das Forest-Panel die Wald-Vorschläge passend zum Such-Perimeter.
7-B Reference: POD-Werte und FL-Hunde-Bedarf [Reference]¶
Diese Werte basieren auf NASAR „Managing Search Operations" und Koester „Lost Person Behavior" und sind im POD-Eintrag-Prompt als Default- Vorschläge hinterlegt.
7-B.1 POD-Standard-Werte je Hund-Spezialisierung¶
| Spezialisierung | POD Low | POD Standard | POD High |
|---|---|---|---|
| Flächensuche (FL) | 50 % | 70 % | 85 % |
| Mantrailing (MT) | 10 % | 60 % | 95 % |
| Trümmersuche | 45 % | 65 % | 85 % |
| Wasserortung | 20 % | 40 % | 65 % |
| Lawinensuche | 40 % | 60 % | 80 % |
| Leichensuche | 30 % | 55 % | 75 % |
| Sicht (Mensch ohne Hund) | 20 % | 30 % | 45 % |
🌐 BOS-Übergreifend: Der Standard-Wert gilt für gemäßigte Bedingungen (Tag, mittel-dichtes Gelände, kein Sturm). Bei Sturm, dichtem Wald oder altem Mantrailing-Trail (> 24 h Witterungs- alter) sollten Sie auf POD Low reduzieren.
7-B.2 FL-Hunde-Bedarf nach Fläche¶
| Sektor-Größe | FL-Hunde-Bedarf | Typische Geländeart |
|---|---|---|
| ≤ 50 000 m² (5 ha) | 1 | Nahbereich um IPP, kleiner Wald-Bestand |
| 50 000–180 000 m² | 2-4 | Stadt-Park, mittlerer Wald-Sektor |
| 180 000–600 000 m² | 4-13 | Großer Wald-Sektor, Feld-/Wald-Mosaik |
| > 600 000 m² | 14+ | Verbands-Gebiet, mehrere Trupps koordiniert |
Faustformel: 1 FL-Hund deckt 45 000 m² in einer typischen 2-Stunden-Suche bei mittel-dichtem Gelände. SARmission rechnet diese Formel automatisch und zeigt den Bedarf in der Gebiet-Card.
7-B.3 Quellen¶
- NASAR: „Managing Search Operations", 4th ed., 2014 (ISBN 978-0-9893999-0-7) — Quelle der POD-Tabellen
- Koester, R. J.: „Lost Person Behavior", dbS Productions, 2008 (ISBN 978-1-879471-39-2) — Quelle der Distanz-Wahrscheinlichkeiten (siehe auch § 9 Vermisstenverhalten)
7-C Explanation: Mattson-Verfahren (POA / POD / Bayes-Update) [Explanation]¶
Hier wird erklärt, warum SARmission so priorisiert, wie es das tut. Diese Sektion müssen Sie nicht lesen, um die Software zu bedienen — aber sie hilft beim Verstehen, was hinter der Stern-Markierung des „nächsten Suchgebiets" steckt.
7-C.1 Was POA und POD bedeuten¶
- POA (Probability of Area) — Wahrscheinlichkeit, dass die vermisste Person sich in einem bestimmten Suchgebiet aufhält. Als Prozentwert zwischen 0 und 100. Summe aller POAs ≤ 100 %.
- POD (Probability of Detection) — Wahrscheinlichkeit, dass eine durchsuchte Fläche die vermisste Person tatsächlich gefunden hätte, wenn sie dort gewesen wäre. Hängt von Hund-Spezialisierung, Wetter, Gelände und Suchaufwand ab (siehe § 7-B).
7-C.2 POA-Initialverteilung¶
Beim Anlegen eines neuen Suchgebiets wird die POA gleichverteilt unter allen offenen Gebieten:
Ein viertes neues Gebiet reduziert also die POA jedes existierenden offenen Gebiets von 100/3 ≈ 33,3 % auf 100/4 = 25 %.
🔧 Fortgeschritten: SARmission v4.0.0 unterstützt keine manuelle POA-Gewichtung. Wenn Sie ein Gebiet a priori als wahrscheinlicher einschätzen, schließen Sie zuerst die anderen Gebiete mit POD 0 ab — dann steigt die relative POA des Vermutungs-Gebiets. Manuelle Gewichtung ist Roadmap v4.1.
7-C.3 Bayes-Update beim Abschluss¶
Der Schlüssel des Mattson-Verfahrens: Wenn ein Gebiet abgesucht wurde und die Person nicht gefunden wurde, sinkt die POA dieses Gebiets proportional zum POD. Mathematisch:
POA_neu(geschlossenes_Gebiet) = POA_alt × (1 − POD/100)
POA(andere_Gebiete) bleibt absolut unverändert.
Die anderen Gebiete behalten ihre absolute POA, aber ihre relative Priorität im verbleibenden Such-Raum steigt automatisch.
7-C.4 Durchgerechnetes Beispiel¶
Betrachten Sie eine Lage mit 4 initialen Suchgebieten zu je 25 % POA:
Initial: POA(A) = POA(B) = POA(C) = POA(D) = 25 %
⭐ alle gleich, kein Ranking
Schritt 1: Sektor A wird abgesucht (FL-Hund, POD 70 %, kein Fund).
POA(A) = 25 % × (1 − 0.70) = 25 % × 0.30 = 7,5 %
POA(B) = POA(C) = POA(D) = 25 % (unverändert)
Total-POA = 7,5 % + 25 % + 25 % + 25 % = 82,5 %
⭐ jetzt B, C oder D (A hat niedrigste POA)
Schritt 2: Sektor C wird abgesucht (MT-Hund, POD 60 %, kein Fund).
POA(C) = 25 % × (1 − 0.60) = 10 %
Total-POA = 7,5 % + 25 % + 10 % + 25 % = 67,5 %
⭐ jetzt B oder D (mit POA 25 % gleichauf)
Schritt 3: Sektor D wird abgesucht (FL-Hund, POD 70 %, kein Fund).
POA(D) = 7,5 %
Total-POA = 7,5 % + 25 % + 10 % + 7,5 % = 50 %
⭐ jetzt B (POA 25 %)
Was bedeutet das Total-POA von 50 %? Die verbleibende Hälfte der Wahrscheinlichkeit verteilt sich auf:
- Person ist bereits gefunden worden
- Person hat sich aus den definierten Gebieten heraus bewegt
- Die initialen Gebiete haben die Person nie umfasst
ℹ️ Hinweis: Das Bayes-Update ist nur eine Heuristik, keine Prognose. Die POA-Werte sind ein Planungs-Werkzeug für die Priorisierung — die echte Wahrscheinlichkeit hängt vom Vermissten- Profil (siehe § 9 Koester-Distanzringe) und vom konkreten Verhalten der Person ab.
7-C.5 Ranking des nächsten Suchgebiets¶
Auf der Karte und im Suchgebiete-Panel markiert SARmission das offene Gebiet mit der höchsten aktuellen POA mit einem ⭐-Symbol — das ist mathematisch die Empfehlung für den nächsten Hund-Einsatz.
In der Praxis sollten Sie diese Empfehlung mit anderen Faktoren abwägen: Hundewohl (§ 37), Wetter (§ 10), Gelände-Erreichbarkeit, verfügbare Hund-Spezialisierungen.
7-C.6 Quellenangaben¶
Das in SARmission implementierte Verfahren basiert auf:
- Mattson, R. J.: „Mountain Search & Rescue Operations", 1980 — ursprüngliche mathematische Herleitung des Bayes-basierten POA/POD- Updates
- Koester, R. J. & Stooksbury, D. E.: „Lost Person Behavior", 2008 — moderne Validierung und Erweiterung mit ~50 000 historischen Vermissten-Fällen
8. POIs / Wegpunkte¶
Im Tab Objekte → POI können Sie Punkte-von-Interesse platzieren (Ausgangspunkt, Fundort, Sammelplatz, Hindernis, Hilfspunkt …).
- Hinzufügen: POI-Picker in der Topbar aktivieren oder per Adresssuche-Treffer.
- Jeder POI hat Icon, Name, Typ, Koordinaten und optionale Beschreibung.
- POIs werden mit der Karte gespeichert, ins KML-Export mit aufgenommen und zwischen allen Sync-Peers live synchronisiert.
9. Vermisstenverhalten — Koester-Distanzringe¶
ℹ️ Hinweis (Diátaxis): Sektion in drei Teile gesplittet — 9-A How-to (Profil + IPP setzen), 9-B Reference (12 Kategorien- Tabelle mit Perzentilen), 9-C Explanation (Methodik + Grenzen).
9-A How-to: Vermisstenprofil anlegen und IPP setzen [How-to]¶
So legen Sie das Vermisstenprofil und den Initial Planning Point (IPP) für eine konkrete Lage an.
9-A.1 Vermisstenprofil-Panel öffnen¶
Klicken Sie in der Tool-Rail auf das 🧭-Werkzeug (Vermisstenprofil). Es öffnet sich das Vermisstenprofil-Panel:

9-A.2 Kategorie wählen¶
Wählen Sie die zur Lage passende Kategorie aus dem Drop-down. SARmission liefert 12 Kategorien (siehe § 9-B für die vollständige Tabelle). Beispiele:
- Demenz für ältere Personen mit kognitiven Einschränkungen
- Wanderer für verirrte Outdoor-Sportler:innen
- Kind 4–6 Jahre für vermisste Kindergartenkinder
- Suizidgefährdet auf Polizei-Hinweis
9-A.3 IPP / LKP auf der Karte setzen¶
- Klicken Sie im Panel auf 📍 Punkt auf Karte setzen.
- Der Cursor wechselt auf Fadenkreuz.
- Klicken Sie auf der Karte an die Position des Initial Planning Point (IPP) — meist identisch mit dem Last-Known-Point (LKP), also dem letzten sicher belegten Aufenthaltsort.
- SARmission zeichnet sofort vier konzentrische Distanzringe um den Punkt:
- rot = 25 %-Perzentil (innerste Wahrscheinlichkeit)
- orange = 50 %
- gelb = 75 %
- blau = 95 % (äußerer Such-Perimeter)
- Jeder Ring trägt ein Label mit Perzentil und Radius in km.
9-A.4 IPP verschieben oder Profil ändern¶
- IPP verschieben: Klicken Sie erneut auf 📍 Punkt auf Karte setzen und platzieren Sie den Punkt neu. Die Ringe werden sofort aktualisiert.
- Profil ändern: Drop-down-Wechsel im Panel zeichnet die Ringe in den neuen Radien neu — der IPP bleibt erhalten.
9-A.5 Persistenz¶
Profile + IPP werden mit dem Einsatz gespeichert (.rhs-Mission-Datei,
Auto-Save, Snapshots) und überleben App-Neustarts. Bei Live-Sync
(siehe § 18) sehen alle Peers
den IPP und die Ringe in Echtzeit.
💡 Tipp: Setzen Sie den IPP bevor Sie Suchgebiete zeichnen. Die Ringe geben dann sofort eine visuelle Orientierung, in welchem Perzentil-Bereich Ihre Sektoren liegen — ein Sektor außerhalb des 95 %-Rings hat sehr niedrige Erfolgs-Wahrscheinlichkeit.
9-B Reference: Koester-Kategorien und Perzentile [Reference]¶
12 Kategorien mit ihren Distanz-Perzentilen (in km vom IPP). Datenquelle: Koester, Robert J. „Lost Person Behavior", dbS Productions 2008 (ISBN 978-1-879471-39-2).
9-B.1 Distanz-Tabelle¶
| Kategorie | p25 | p50 | p75 | p95 |
|---|---|---|---|---|
| Kind 1–3 Jahre | 0,1 km | 0,2 km | 0,5 km | 1,5 km |
| Kind 4–6 Jahre | 0,3 km | 0,6 km | 1,5 km | 3,0 km |
| Kind 7–9 Jahre | 0,5 km | 1,0 km | 2,0 km | 5,0 km |
| Kind 10–12 Jahre | 0,8 km | 1,6 km | 3,2 km | 7,0 km |
| Kind 13–15 Jahre | 1,0 km | 2,0 km | 4,0 km | 9,0 km |
| Demenz | 0,4 km | 1,0 km | 2,0 km | 7,5 km |
| Autismus / ASS | 0,5 km | 1,0 km | 2,0 km | 4,0 km |
| Wanderer | 1,0 km | 2,0 km | 4,0 km | 10,0 km |
| Jäger | 0,8 km | 1,6 km | 3,0 km | 8,0 km |
| Suizidgefährdet | 0,3 km | 0,5 km | 1,0 km | 4,0 km |
| Psychisch erkrankt | 0,5 km | 1,2 km | 3,0 km | 9,0 km |
| Mountain Biker | 2,0 km | 4,0 km | 8,0 km | 20,0 km |
9-B.2 Lese-Hilfe¶
- p25 (rot): In 25 % der historischen Fälle wurde die Person innerhalb dieses Radius gefunden. Höchste Such-Priorität.
- p50 (orange): In 50 % der Fälle. Standard-Such-Perimeter.
- p75 (gelb): In 75 % der Fälle. Erweiterter Perimeter.
- p95 (blau): In 95 % der Fälle. Praktische Such-Obergrenze.
9-B.3 Quellenangaben¶
- Koester, R. J.: „Lost Person Behavior — A search and rescue guide on where to look for land, air, and water", 1st ed., dbS Productions, 2008. ISBN 978-1-879471-39-2.
- Stooksbury, D. E. & Koester, R. J.: „Lost Person Behavior: Empirical Statistics on Probability of Detection from 50,000+ Cases", International Search and Rescue Conference, 2014.
9-C Explanation: Methodik und Grenzen [Explanation]¶
Hier wird erklärt, woher die Distanz-Werte stammen und welche Grenzen das Modell hat. Nicht relevant für die Bedienung, aber wichtig für korrekte Interpretation der Ringe.
9-C.1 Empirische Datenbasis¶
Robert J. Koester (NASAR-Instructor, Search-and-Rescue-Forscher) hat seit den 1990ern Falldaten von Vermissten-Einsätzen aus den USA, Großbritannien, Kanada und Australien zentral gesammelt. Die in SARmission verwendeten Werte basieren auf seiner Auswertung von über 50.000 Realfällen.
Pro Kategorie (z. B. „Demenz") hat Koester die horizontale Entfernung vom IPP zum Auffindungsort statistisch ausgewertet und die Quartile (p25, p50, p75, p95) bestimmt.
9-C.2 Was die Ringe NICHT sind¶
⚠️ Achtung: Die Distanzringe sind eine Heuristik, keine Prognose für den Einzelfall.
- Keine deterministischen Vorhersagen. Die Person kann auch außerhalb des 95 %-Rings sein (5 % der historischen Fälle).
- Keine Berücksichtigung von Gelände. Berge, Flüsse, Autobahnen begrenzen die reale Bewegung — die Koester-Statistik nimmt im Mittel-Effekt darauf Rücksicht, aber nicht im konkreten Fall.
- Keine Berücksichtigung von Wetter. Bei Starkregen wird sich eine Demenz-Person oft schneller niedersetzen als bei mildem Wetter.
- Keine Berücksichtigung von Uhrzeit. Nachts und in Dunkelheit bewegen sich Vermisste deutlich langsamer und in geringerem Radius.
9-C.3 Korrekte Interpretation¶
Die Ringe sind ein Werkzeug zur Such-Priorisierung, nicht zur Such-Begrenzung:
- Such-Reihenfolge: Erst innerhalb des 25 %-Rings (höchste Wahrscheinlichkeit), dann erweitern auf 50 %, 75 %, 95 %.
- Kombination mit lokalem Wissen: Wenn die Polizei einen Anhaltspunkt hat („sie geht oft Richtung Bahnhof"), dann hat dieses Wissen Vorrang vor den statistischen Ringen.
- Verhältnis zu POA/POD: Die Ringe geben einen a-priori-Hinweis auf wahrscheinliche Such-Bereiche. Das POA/POD-System (siehe § 7-C) arbeitet a posteriori — es priorisiert verbleibende Sektoren nach bereits durchgeführten Suchen.
9-C.4 Erweiterte Koester-Daten (nicht in SARmission v4.0.0)¶
Koesters Buch enthält weitere Statistiken, die in der aktuellen Version noch nicht implementiert sind:
- Vertikale Verschiebung (in bergigem Gelände)
- Mobilitäts-Modus-Korrekturen (Auto/Fuß/Boot)
- Saison-Korrekturen (Sommer/Winter)
- Survivability-Statistiken (Überlebenswahrscheinlichkeit nach Stunden ab Vermisstenmeldung)
Diese sind für die SARmission-Roadmap v4.x dokumentiert und werden sukzessive integriert.
9-C.5 Verhältnis IPP ↔ LKP¶
In der Fachliteratur wird zwischen Initial Planning Point (IPP) und Last-Known-Point (LKP) unterschieden:
- LKP: Letzter sicher belegter Aufenthaltsort (z. B. „die Person war um 14:00 Uhr nachweislich am Wanderparkplatz")
- IPP: Punkt, von dem aus die Such-Planung startet (kann LKP sein, oder eine Schätzung wenn LKP unsicher ist)
In SARmission v4.0.0 werden beide gleichbehandelt (ein Punkt). Eine Roadmap v4.1-Erweiterung sieht zwei separate Punkt-Marker vor (LKP + IPP), wenn diese auseinanderfallen.
10. Wetter-Overlay¶
🌤 in der linken Toolbar öffnet das Wetter-Panel:

Datenquelle: open-meteo.com (kostenfrei, DSGVO-freundlich, kein API-Key).
10.1 Werte¶
- Temperatur in °C
- Luftfeuchte in %
- Windstärke in km/h + Windrichtung (16-Sektor-Kompass: N, NNO, NO, …)
- Niederschlag in mm/h
- Wolkenbedeckung in %
- Zeitstempel des Abrufs
10.2 Windpfeil auf der Karte¶
Auf der Karte erscheint am Abrufpunkt ein farbiger Pfeil mit Windgeschwindigkeit. Er zeigt in die Strömungsrichtung (nicht die Herkunfts-Richtung).
10.3 Quellpunkt wählen¶
Buttons im Panel:
- 🧭 Für IPP — fragt die Werte am Vermisstenprofil-Punkt ab (nur aktiv, wenn IPP gesetzt ist).
- 📍 Kartenmitte — fragt den aktuell sichtbaren Mittelpunkt ab.
10.4 Hundeeinsatz-Hinweis¶
Unter den Werten erscheint ein farbcodierter Hinweis:
| Bedingung | Hinweis |
|---|---|
| Wind ≥ 35 km/h oder Regen ≥ 5 mm/h | ⚠ Eingeschränkt — beeinträchtigte Witterung |
| Temp ≥ 28 °C | ⚠ Hitze — häufigere Pausen, Wasser |
| Temp ≤ −5 °C | ❄ Kälte — Pfotenschutz prüfen |
| Wind 10–25 km/h, ideal | 🐕 Gut — Suchrichtung gegen den Wind planen |
| sonst | 🐕 Einsatzbedingungen unauffällig |
Der Timer (siehe § 5.4) berücksichtigt das Wetter in seinen Pausen-Schwellwerten automatisch.
10.5 DWD-Wetterwarnungen (ab v2.2.0)¶
Bei jedem Wetter-Abruf werden parallel die aktiven DWD-Warnungen für den abgefragten Punkt geladen. Datenquelle: brightsky.dev — ein freier JSON-Wrapper auf den DWD-OpenData-Server. Kostenfrei, kein API-Key.
Wenn aktive Warnungen vorliegen, erscheint oben im Wetter-Panel ein farbiger Banner:
| Severity | Farbe | Beispiel |
|---|---|---|
minor |
gelb | leichter Regen, Nebel |
moderate |
orange | Sturm, Hagel, Glätte |
severe |
rot | Schwerer Sturm, Hochwasser |
extreme |
violett | Orkan, Tornado |
Der Banner zeigt bis zu 3 Warnungen mit Headline + Zeitfenster (z. B. „Sturmwarnung — 14:00–22:00"). Bei mehr als 3 wird „… und N weitere" angefügt.
Praxis-Tipp: Vor jedem Einsatzbeginn das Wetter-Panel öffnen und auf einen Warn-Banner achten. Bei
severe/extremesollte die Einsatzleitung mit der Leitstelle Rücksprache halten, ob der Einsatz verschoben oder die Hundearbeit eingeschränkt wird.
11. UTM-Gitter & Live-Koordinaten¶
Der Button ⊞ in der linken Toolbar oder der UTM-Rechteck-Button in der Topbar schaltet das UTM-Gitter an und aus.

11.1 Label-Modi (Rechtsklick zyklusiert)¶
Die App bietet drei Modi für die Gitter-Beschriftung. Jeder Rechtsklick auf den UTM-Button schaltet einen Schritt weiter:
| Modus | Verhalten |
|---|---|
| Randbeschriftung (Default) | Labels nur am Kartenausschnitt-Rand (oben/unten für Easting, links/rechts für Northing). Mitte bleibt frei lesbar. |
| Kreuzbeschriftung | Labels an jeder Gitterkreuzung — klassische Dichte. |
| Keine Beschriftung | Nur Gitterlinien, keine Zahlen. |
Der gewählte Modus überlebt App-Neustarts (localStorage).
11.2 Auflösung je Zoom¶
- Zoom ≥ 14: 100-m-Gitter, 5-stellige E/N-Angabe
- Zoom 11–13: 1-km-Gitter, 3-stellige km-Angabe
- Zoom ≤ 10: 10-km-Gitter, keine Labels (unleserlich im Weitzoom)
11.3 Live-Koordinaten-Readout¶
Sobald das Gitter aktiv ist, erscheint unten rechts ein schwebender Chip, der bei jeder Mausbewegung die Koordinaten am Cursor live anzeigt:
- Zone + MGRS-Bandbuchstabe (C–X, nördliche Halbkugel ohne „S")
- Easting (6-stellig padded), Northing (7-stellig padded)
- WGS84 (Dezimal, 5 Nachkommastellen ≈ 1 m)
Auf Touch-Geräten ohne Mausbewegung bleibt der Chip leer; zur Koord-Abfrage tippen und den WGS/UTM-Popup verwenden.
12. GPS-Empfänger¶
Menü Einsatz → Bluetooth GPS verbinden oder Seriell GPS verbinden, oder
Tab Einheiten → GPS (separates Panel).
- Bluetooth: Standard Bluetooth-Device-Picker, SARmission erwartet ein UART-Service-Profil (z. B. Garmin GLO 2, Dual XGPS).
- Seriell (NMEA): über USB angeschlossene GPS-Mäuse. Baudrate 4800 oder
- Nach Verbinden werden GPRMC-/GPGGA-Sätze live geparst.
- Simulation: Demo-Modus mit Zufallsbewegungen rund um die Karten-Position für Schulungen ohne Empfänger.
Je verbundenem Empfänger erzeugt die App eine farbige Spur auf der Karte und aktualisiert einen Fortschritts-Punkt. Spuren landen automatisch nach Einheitentyp sortiert in FL-H, MT-H oder Sonstige Tracks (als separate Leaflet-Layer, einzeln ein-/ausblendbar über den Ebenen-Dialog).
13. Einsatztagebuch & Funk¶

13.1 Filter & Kategorien¶
| Kategorie | Typische Verwendung |
|---|---|
| Meldung | Eingehende Meldungen |
| Lage | Lageänderungen, Suchgebiets-Status |
| Einheit | Einheit hinzugefügt/verändert, Statuswechsel, Einsatz-Uhr-Events |
| Funk | Funkverkehr |
| Alarm | Alarmierungen, Benachrichtigungen |
| Notiz | Freitext |
Klicken Sie auf einen Filter-Button, um nur Einträge dieser Kategorie zu sehen.
13.2 Eintrag anlegen¶
Im unteren Panel-Bereich: Kategorie + Text + optionaler Verfasser → Eintrag speichern. Zeit wird automatisch übernommen.
13.3 Funk-Schnellmeldungen¶
Unterhalb der Filter finden Sie 8 vor-formulierte Funk-Buttons:
- ✓ Angekommen · 🗺 Gebiet abgesucht · 🐕 Hund im Einsatz · ⏸ Pause
- ⚠ Verstärkung · 🎯 Fund/Treffer · ⬅ Rückmarsch · ✕ Abgemeldet
Beim Klick fragt die App nach optionalem Detail (Einheitenname etc.), dann wird der Eintrag automatisch als Kategorie funk mit vor-formuliertem Text protokolliert. Der Eintrag wird live an alle Sync-Peers verteilt.
13.4 Eintrag bearbeiten oder löschen¶
Jeder Eintrag hat Buttons ✎ und ✕.
- Bearbeiten: Card wird mit cyan Rand markiert, zeigt Kategorie-Dropdown +
Textarea.
⌘/Ctrl + Enter= Speichern,Esc= Abbrechen. Der Originaltext bleibt in der Edit-History erhalten (gelber „bearbeitet …"-Hinweis). - Löschen: Mit Bestätigung. Undo möglich.
Edits und Löschungen werden live synchronisiert (Live-Sync, wenn aktiv).
13.5 Tagebuch-Export¶
- PDF via
Einsatz → Tagebuch als PDF exportieren …(Cmd+Shift+P) - CSV via
Einsatz → Tagebuch als CSV exportieren …(Excel/Numbers-tauglich)
14. Import und Export¶
14.1 GPX-Import¶
Menü Einsatz → GPX importieren … (Cmd+O) oder Tab IO → Werkzeuge → GPX importieren.
- Routen (
<rte>) werden als Suchgebiet-Polygone interpretiert. - Tracks (
<trk>) werden als Linien auf der Karte gezeigt.
Drag-and-Drop direkt auf die App ist ebenfalls unterstützt.
14.2 GPX-Export¶
Menü Einsatz → Suchgebiete als GPX exportieren … (Cmd+S) oder
Tab IO → Werkzeuge → ↓ GPX exportieren.
Alle Suchgebiete werden als GPX-Routen geschrieben (geschlossene Polygone durch doppelten Start-/Endpunkt).
14.3 KML/KMZ-Export (Lagebild)¶
Menü Einsatz → Lagebild als KML exportieren … (Cmd+Shift+K) oder im
Tab Objekte die KML-Schaltfläche.
Exportiert wird:
- alle Suchgebiete als KML-Polygone mit korrekter Farb-Konvention
AABBGGRRund Styles - alle POIs als Points mit Icon/Typ
- Einsatz-Name in
<name>und<description>
Kompatibel mit Google Earth, QGIS, ArcGIS, Polizei-/BRK-Leitstellen-Software.
14.4 GeoJSON-Export¶
Tab IO → Werkzeuge → ↓ GeoJSON exportieren — moderneres Format, für Web-GIS-Integration.
14.5 DOCX-Vorlagen¶
Tab Einheiten → (Vorlagen-Dialog): Du kannst eine DOCX-Datei mit
Platzhaltern ({{EINSATZ_NAME}}, {{ANZ_GEBIETE}}, …) hochladen.
SARmission ersetzt die Platzhalter und schreibt eine druckbare DOCX.
Unterstützte Platzhalter (Auswahl):
EINSATZ_NAME, EINSATZ_NR, DATUM, UHRZEIT, LEITER, STICHWORT,
ANZ_EINHEITEN, ANZ_PERSONEN, ANZ_GEBIETE, ANZ_FL_HUNDE,
ANZ_MT_HUNDE, VERMISSTEN_NAME, VERMISSTEN_ALTER, IPP_KOORD.
15. Offline-Karten¶

Tab IO → Werkzeuge → Offline-Karte. Mehrere Wege, einen Bereich zu wählen:
- Bereich auf Karte ziehen — Linksklick-Drag auf der Karte zeichnet eine Bounding-Box.
- Aktuellen Ausschnitt verwenden — übernimmt die aktuelle Zoom-/Pan-Ansicht als Rechteck.
Zoom-Range 8 – 18 (Slider). Layer-Auswahl Topo und/oder OSM.
Nach Download starten lädt der lokale Tile-Server alle Kacheln in
den Cache-Ordner (userData/tile-cache/<layer>/<z>/<x>/<y>.png).
Fortschrittsbalken zeigt Kacheln heruntergeladen / Fehler / Zeit.
Für echten Offline-Betrieb danach den Offline-Modus in der Topbar aktivieren — damit ignoriert SARmission Kachel-Requests, die nicht im Cache sind (keine Netz-Anfragen mehr).
16. Drucken & PDF¶
Tab IO → Werkzeuge und im Menü Einsatz → Gesamtbericht drucken …
(Cmd+P), Tagebuch als PDF exportieren … (Cmd+Shift+P), Tagebuch als
CSV exportieren ….
16.1 Druckprofile¶
Im Export-Panel gibt es einen Selector:
- A4 hoch (Standard)
- A4 quer
- A3 quer (Lagekarte für Einsatzwand)
Die Einstellung gilt für alle PDF-Exporte.
16.2 Staffel-Logo¶
Im selben Panel: Logo hochladen (PNG/JPG/WEBP/SVG, max. 400 KB).
Das Logo erscheint oben links in jedem Druck + Einsatz-Nr. + Einsatz-Name.
Persistent gespeichert in userData/print_settings.json.
16.3 Gesamtbericht¶
Generiert eine druckfertige HTML-Seite, die alle Kernelemente enthält:
- Kopfzeile (Logo · Titel · Einsatz-Nr./Name · Metadaten)
- Wetter-Ausschnitt (falls abgerufen)
- Steckbrief
- Gesamtstärke
- Einheitenliste
- Suchgebiete mit POA/POD
- Lagekarte (als PNG eingebettet)
- Komplettes Einsatztagebuch
16.4 Lagekarte drucken (WYSIWYG, ab v2.2.6)¶
Der „Karte drucken"-Button (Tab IO → Werkzeuge, oder Druck-Symbol in der Topbar) erstellt eine Lagekarte als PDF.
WYSIWYG-Prinzip: Genau das, was zum Druck-Zeitpunkt im Karten-Fenster sichtbar ist, kommt 1:1 ins PDF. Zoom-Level und Karten-Ausschnitt sind bewusst gewählt — die App ändert sie nicht für den Druck.
Layout:
- Karten-Aspect bleibt erhalten — kein Stretching, keine Verzerrung
- Frame nutzt die maximale Page-Größe, in die das Bild un-verzerrt passt
(bei A4-quer typischerweise 261×210 mm Frame mit ~18 mm weißem Streifen
links/rechts wenn der App-Map-Bereich eher quadratisch ist)
- UTM-Koordinaten als kleine, dezente Pillen am Bildrand
(Schriftgröße 0,9 mm, Farbe wie das UTM-Gitter #c0392b,
weißer Text-Glow für Lesbarkeit auf dichten Topo-Karten)
- Die App-UI (Toolbars, Adresssuche, Panels) wird vor dem Druck-Capture
ausgeblendet und ist nicht im PDF.
Praxis: Vor dem Drucken Karte auf gewünschten Maßstab zoomen (Zoom 14–15 für Stadt-Karten, 13 für Übersicht), Suchgebiete und Trail einzeichnen, ggf. UTM-Gitter einschalten, dann erst drucken. Bei A3-Querformat-Profil (siehe 16.1) gibt's mehr Detail-Auflösung für die Einsatzwand.
17. Stammdaten¶

Stammdaten sind einsatzübergreifend und werden in separaten JSON-Dateien
im userData-Ordner abgelegt:
| Datei | Inhalt |
|---|---|
hunde.json |
Hunde-Profile (Name, Rasse, Geburtsdatum, Chip-Nr., Fähigkeiten) |
pruefungen.json |
Ausbildungs-/Prüfungsstände je Hundeteam |
personen.json |
Mitglieder mit Rufnamen, Funknummer, HiOrg |
adressbuch.json |
Adressen / Ansprechpartner |
alarmgruppen.json |
Vorkonfigurierte Gruppen für Massen-Mail-Alarm |
print_settings.json |
Druckprofil + Logo |
Verschlüsselung (ab v3.6.0): Bei Neuinstallationen werden alle Stammdaten-Dateien automatisch mit AES-256-GCM verschlüsselt abgelegt. Bestehende Klartext-Dateien bleiben weiterhin lesbar; eine Migration auf einen Klick gibt es im DSGVO-Settings-Dialog. Details: § 31 At-Rest-Encryption.
Audit-Trail (ab v3.5.1): Jede CRUD-Operation (anlegen, ändern, löschen) auf Hunde, Personen und (ab v3.7.0) Alarmgruppen wird im Einsatztagebuch protokolliert — DSGVO-Art.30-§1d-konform. Details: § 33 Audit-Trail.
17.1 Unter-Tabs¶
Hunde: Liste mit Bild, Fähigkeiten (FL/MT/Fährte), Prüfungsstatus, Notizen. Button + Hund zum Anlegen.
Personen: Mitgliederliste, Zuordnung zu HiOrg, Funknummern. Wird für Steckbrief-Autocomplete + Alarmierung benutzt.
Alarmgruppen: definiert Gruppen wie „Vorstand", „Alle FL-H-Teams" etc.
Im Einsatz eine Gruppe auswählen → alle Mitglieder-E-Mails werden per
mailto:-Link geöffnet.
17.2 Alarmierung im Einsatz¶

Tab IO → Alarmierungen: Gruppen-Auswahl, Alarm-Text (vorbelegt aus Einsatznummer + Stichwort + IPP-Koord). Button Alarm senden öffnet das Standard-Mail-Programm mit vorgefüllten Empfängern und Text.
18. Live-Sync — Mehrere Geräte im Stab¶
ℹ️ Hinweis (Diátaxis): Sektion in drei Teile gesplittet — 18-A How-to (Sync aktivieren in 5 Schritten), 18-B Reference (Modi, Ports, Sync-Scope), 18-C Explanation (CRDT-/Yjs-/mDNS-Architektur).
18-A How-to: Live-Sync aktivieren [How-to]¶
So teilen Sie das Lagebild zwischen ELW-Laptop und Kartenführer-iPad in Echtzeit.
18-A.1 Sync-Dialog öffnen¶
Klicken Sie auf das Sync-Badge oben rechts in der Topbar. Es öffnet sich der Sync-Dialog:

18-A.2 Raum-ID festlegen¶
Geben Sie eine Raum-ID ein. Default ist die Einsatz-Nr.
(z. B. E-20260424-1430). Erlaubt sind 4–64 Zeichen aus A-Z 0-9 . - _.
🚨 Warnung: Verwenden Sie keine Klarnamen oder Adressen in der Raum-ID. Die ID wird (gehasht) an den Signaling-Server übermittelt.
18-A.3 Signaling-Modus wählen¶
| Modus | Wann verwenden |
|---|---|
| Öffentlich (Internet) | Standortverteilte Einsatzleitungen, Internet vorhanden |
| LAN (offline) | Vereins-Setup im selben WLAN, ohne Internet-Beteiligung — DSGVO-freundlichste Variante |
18-A.4 Sub-Modus (nur LAN): Host oder Join?¶
Im LAN-Modus muss genau ein Gerät den Signaling-Server hosten — die anderen verbinden sich darauf:
| Wenn dieses Gerät … | Wählen Sie |
|---|---|
| ELW-Laptop / Stations-PC (immer da, hat stabile IP) | Host |
| Kartenführer-iPad / mobiles Gerät (verbindet sich) | Join |
18-A.5 Geräte-Name + Aktivieren¶
- Vergeben Sie einen Gerätenamen (z. B. „ELW-Laptop", „Kartenführer-iPad") — dieser Name wird anderen Peers angezeigt.
- Klicken Sie auf Sync aktivieren.
- Im Join-Modus erscheint die Liste aller mDNS-entdeckten Hosts — wählen Sie den passenden aus.
- Sobald die Verbindung steht, sehen Sie unter Peer-Liste alle verbundenen Geräte mit grünem Punkt.
18-A.6 Peer-Cursor sichtbar machen¶
Sobald Sync aktiv ist, sehen Sie die Maus-Cursor der anderen Peers auf Ihrer Karte — jeder Peer hat eine eindeutige Farbe + Namens-Label. Nach 15 s Inaktivität verschwindet ein Cursor automatisch.
18-A.7 Sync deaktivieren¶
Klicken Sie im Sync-Dialog auf Deaktivieren. Im Host-Modus wird zusätzlich der lokale Server gestoppt und der mDNS-Service zurückgezogen.
💡 Tipp: Bei Übungen und Einsätzen legen Sie im Vorfeld fest, welches Gerät Host ist. Die Sub-Modus-Wahl wird im DSGVO-Settings- Dialog persistiert — Geräte, die immer in derselben Rolle laufen, müssen das nicht bei jedem Einsatz neu wählen.
18-B Reference: Modi, Ports, Sync-Scope [Reference]¶
18-B.1 Signaling-Modi¶
| Modus | Transport | Internet nötig? | Latenz |
|---|---|---|---|
| Öffentlich | WebRTC-P2P (UDP) + Public-Signaling-Server | ja | < 100 ms (P2P) |
| LAN — Host | y-websocket-Relay (TCP) auf Port 47833 + WebRTC-P2P | nein | < 50 ms |
| LAN — Join | Verbindung zu LAN-Host via mDNS-Discovery oder manuelle ws-URL | nein | < 50 ms |
18-B.2 Ports und Service-Identifier¶
| Port / Service | Verwendung |
|---|---|
| TCP 47832 | Tile-Server (Karten-Kacheln-Cache) |
| TCP 47833 | y-websocket-Relay (LAN-Sync) |
| WebRTC UDP (variabel) | P2P-Yjs-Updates |
mDNS Service _sarmission._tcp.local |
Auto-Discovery im LAN |
18-B.3 Synchronisierter Sync-Scope¶
Live-synchronisiert werden:
- Einheiten (Anlegen / Ändern / Löschen / Statuswechsel)
- Suchgebiete (Polygone / POA / POD / Zuweisungen / Vertex-Edits)
- POIs
- Tagebuch-Einträge inkl. Bearbeitungen + Löschungen
- IPP + Koester-Ringe (Vermisstenprofil)
- Tactical Signs (DV-101)
- Peer-Cursor auf der Karte
- Undo / Redo (Cmd+Z wirkt auf alle Peers)
Nicht synchronisiert (lokal je Gerät):
- Stammdaten (Hunde / Personen / Alarmgruppen / Adressbuch)
- Karten-Layer-Auswahl (Topo / OSM / Satellit)
- Karten-Zoom / -Pan
- Tile-Cache
- DSGVO-Settings + Encryption-Status
18-B.4 Browser-Kompatibilität¶
- ✅ macOS-Safari (Desktop + iPad-Safari)
- ✅ Chrome (Desktop + Android)
- ✅ Firefox
- ⚠️ Edge (WebRTC-Relay teilweise instabil bei Microsoft-Defender- Firewall — wechseln Sie zu LAN-Modus)
18-C Explanation: CRDT, Yjs, WebRTC, mDNS [Explanation]¶
🔧 Fortgeschritten: Diese Sektion erklärt die Sync-Architektur für Power-User und Datenschutzbeauftragte. Für die Bedienung der Software ist sie nicht erforderlich.
18-C.1 Conflict-Free Replicated Data Type (CRDT)¶
Wenn zwei Einsatzleiter:innen gleichzeitig denselben Datenpunkt ändern (z. B. den Status einer Einheit), muss die Software einen konfliktfreien Merge garantieren — niemand will, dass im Echteinsatz plötzlich Daten überschrieben werden, ohne dass es bemerkt wird.
CRDTs (Conflict-Free Replicated Data Types) sind Datenstrukturen mit einer mathematisch garantierten Konflikt-Auflösung: ungeachtet der Reihenfolge der Updates konvergieren alle Replikate auf denselben Endzustand.
SARmission verwendet die JavaScript-Bibliothek Yjs, die das operationally-transformed CRDT-Modell implementiert.
18-C.2 Zwei parallele Transport-Wege¶
┌──────────┐
│ ELW-Laptop│
└─────┬────┘
│
┌────────────┼────────────┐
│ │ │
▼ ▼ ▼
WebRTC-P2P y-websocket mDNS-Discovery
(UDP) (TCP) (Service-Annonce)
│ │ │
└─────────┬──┘ │
▼ │
┌─────────────┐ │
│ Karten-iPad │ ◄────────┘
└─────────────┘
- WebRTC-P2P (UDP): niedrige Latenz, direkter Peer-zu-Peer-Kanal — scheitert aber an strikten Firewalls (z. B. Windows-Defender ohne Ausnahme oder Vereinsheim-WLAN mit Multicast-Sperre).
- y-websocket-Relay (TCP, ab v3.4.0): läuft parallel zu WebRTC im Vereins-LAN. Wenn die WebRTC-UDP-Pakete blockiert werden, übernimmt TCP nahtlos. Lösung des v2.x-Bugs „Sync bricht nach 10 s ab".
18-C.3 mDNS-Auto-Discovery¶
Im LAN-Modus annoncieren sich Hosts via Bonjour/mDNS als
_sarmission._tcp.local-Service. Andere SARmission-Instanzen im
selben WLAN entdecken den Host innerhalb von ~500 ms.
⚠️ Achtung: Manche Vereinsheim-WLANs blockieren Multicast (typisch bei Gast-WLANs). Dann funktioniert mDNS nicht — fallen Sie auf manuelle
ws://-URL-Eingabe zurück.
18-C.4 Sicherheits-Modell¶
| Aspekt | Wer sieht was? |
|---|---|
| Yjs-Daten | nur Peers im selben Raum mit selber Raum-ID — niemals der Signaling-Server |
| WebRTC-Signaling-Server | sieht nur den gehashten Raum-ID-Token für Peer-Matching, keine Lage-Daten |
| LAN-Modus | kein Internet-Server beteiligt → DSGVO-freundlichste Variante |
| Encryption-at-Rest | gilt nur für lokale Persistenz (siehe § 31). Sync-Daten in Transit sind via WebRTC-DTLS / TLS verschlüsselt |
🌐 BOS-Übergreifend: Für Einsätze mit Personen-Daten ist der LAN-Modus die DSGVO-empfohlene Variante. Der Öffentlich-Modus ist für standortverteilte Einsatzleitungen praktisch, aber sollte über die Vereins-Datenschutz-Beauftragten freigegeben sein.
18-C.5 Undo ist sync-fest¶
Drückt jemand Cmd+Z, wird der wiederhergestellte Zustand als neuer
Yjs-Update über den Sync-Kanal an alle Peers verteilt. Kein
Ghost-Zustand, kein Diverge.
18-C.6 Auto-Reconnect¶
Bei Konfig-Wechsel (z. B. WLAN-Wechsel, Sleep/Wake) versucht SARmission alle 5 Sekunden einen Reconnect. Die Yjs-Bibliothek synchronisiert die zwischenzeitlich angefallenen lokalen Updates automatisch mit allen Peers, sobald die Verbindung wieder steht.
18-C.7 Quellen + weitere Lektüre¶
- Yjs: https://yjs.dev/
- CRDT-Theorie: Shapiro et al., „Conflict-Free Replicated Data Types", INRIA Research Report 7506, 2011
- WebRTC-Standard: RFC 8825-8848 (IETF)
- mDNS / Bonjour: RFC 6762 / 6763
19. Rückgängig/Wiederherstellen und Snapshots¶
19.1 Undo/Redo¶
- Cmd + Z — Rückgängig
- Cmd + Shift + Z — Wiederherstellen
Ein Ringpuffer von 50 State-Snapshots. Trigger:
- Einheit anlegen/löschen/ändern
- Gebiet zeichnen/löschen
- Manueller Tagebuch-Eintrag, Eintrag bearbeiten, Eintrag löschen
- IPP setzen/entfernen
- POI anlegen/löschen
Debounce 500 ms verhindert Rausch durch schnelle Textfeld-Eingaben.
19.2 Auto-Snapshots¶
Alle 5 Minuten (throttled + hash-dedupliziert) schreibt die App einen
Snapshot ins userData/snapshots/-Verzeichnis. Maximal 30 Einträge
(älteste werden gelöscht). Kein Backup-Server nötig.
Dialog: Einsatz → Snapshot wiederherstellen …
20. Auto-Update¶
Seit v2.2.6 ist der Update-Pfad live. Quelle: https://github.com/stefanseyfferth-hue/sarmission/releases
Die App prüft beim Start (+10 s Delay) auf neue Versionen.
- Update verfügbar → grünes Topbar-Badge
⬇ Lade … %während Download. - Download fertig → Badge wechselt zu
⬆ Update bereit. Ein Dialog fragt nach Neustart. - Aktuelle Einsatzdaten werden vor dem Neustart automatisch gespeichert.
- Manueller Check: Menü
Hilfe → Auf Updates prüfen ….
Entwickler-/Debug-Builds prüfen NICHT auf Updates (nur installierte DMG-Releases mit Apple-Notarization).
21. Tastaturkürzel¶
| Shortcut | Funktion |
|---|---|
| Cmd + N | Neuer Einsatz |
| Cmd + O | GPX importieren |
| Cmd + S | Suchgebiete als GPX exportieren |
| Cmd + Shift + S | Einsatz speichern … |
| Cmd + Shift + O | Einsatz laden … |
| Cmd + Shift + K | Lagebild als KML exportieren |
| Cmd + P | Gesamtbericht drucken |
| Cmd + Shift + P | Tagebuch als PDF exportieren |
| Cmd + L | Zum aktuellen Standort springen |
| Cmd + Shift + M | Vermisstenprofil / Koester-Ringe |
| Cmd + Shift + W | Web-/Desktop-Modus wechseln |
| Cmd + Z | Rückgängig |
| Cmd + Shift + Z | Wiederherstellen |
| Cmd + Plus | Vergrößern |
| Cmd + − | Verkleinern |
| Cmd + 0 | Originalgröße |
| Cmd + R | Neu laden |
| Ctrl + Cmd + F | Vollbild |
| Alt + Cmd + I | Entwicklerwerkzeuge |
| ⌘/Ctrl + Enter (in Log-Edit) | Eintrag speichern |
| Esc (in Log-Edit) | Bearbeiten abbrechen |
Auf Windows/Linux entspricht Cmd dem Strg (Ctrl)-Schlüssel.
22. Dateispeicherorte¶
Auf macOS:
~/Library/Application Support/SARmission/
├── einsatz_state.json # aktueller Einsatz (Auto-Save)
├── snapshots/ # rotierende Sicherungen, max. 30
│ └── einsatz_YYYYMMDD_HHMMSS.json
├── tile-cache/ # Offline-Kartenkacheln
│ ├── osm/z/x/y.png
│ └── topo/z/x/y.png
├── hunde.json
├── pruefungen.json
├── personen.json
├── adressbuch.json
├── alarmgruppen.json
└── print_settings.json
Auf Windows entsprechend %APPDATA%/SARmission/.
23. Fehlersuche / FAQ¶
23.1 „Die App startet nicht beim Doppelklick"¶
Nur beim ersten Start auf einem macOS-Rechner: Rechtsklick → Öffnen → Dialog bestätigen. Ursache ist der macOS-Gatekeeper, da die App noch nicht bei Apple notariell registriert ist (siehe § 20).
23.2 „Karte lädt keine Kacheln"¶
- Kein Internet + kein Offline-Cache → leer. Lösung: Online starten und
Offline-Karte-Download für das Einsatzgebiet anstoßen. - Offline-Modus versehentlich aktiv? In der Topbar das
🌐/💻-Symbol prüfen — sollte auf💻 Desktopstehen (nicht auf Offline).
23.3 „Ich sehe meinen Sync-Peer nicht"¶
- Beide im gleichen Signaling-Modus? Öffentlich ↔ LAN vermischen sich nicht.
- Beide im gleichen WLAN (LAN-Modus)?
- Exakt gleiche Raum-ID (Groß-/Kleinschreibung zählt)?
- Firewall blockiert Port 47833 (LAN) oder WebRTC-UDP (öffentlich)?
23.4 „Update-Badge erscheint nicht"¶
- Nur in der ausgelieferten App aktiv, nicht in
npm start. - Repo-Einstellung in
package.jsonistrhs-mosbach/sarmission— muss ein echtes, aktives GitHub-Release sein.
23.5 „Einsatz-Uhr zählt zu viel"¶
- Nach App-Schließen/Öffnen darf keine Zeit zwischen den Sessions hinzukommen.
Falls doch, liegt ein Bug vor → die App schreibt den „eingefrorenen"
Elapsed-Stand beim Auto-Save. Check:
userData/einsatz_state.json→ Feldunits[].einsatzElapsedSec.
23.6 „POA-Ranking erscheint mir falsch"¶
- POA wird gleichverteilt beim Anlegen berechnet (keine IPP-Gewichtung in v1).
- Manuelles Überschreiben der POA pro Gebiet ist derzeit nicht über UI möglich — Abschluss mit passendem POD ist der reguläre Update-Weg.
23.7 „Bluetooth-/Seriell-GPS findet nichts"¶
- macOS-Berechtigung:
Systemeinstellungen → Datenschutz → Bluetoothbzw.USB-Geräte→ SARmission zulassen. - Bei Seriell: Baudrate im Gerät-Handbuch prüfen. Standard ist 4800, manche moderne Empfänger nutzen 9600 oder 38400.
23.8 „Snapshot-Restore-Dialog ist leer"¶
- Tritt auf wenn noch kein 5-Minuten-Intervall vergangen ist oder die Einsatz-Daten seit dem ersten Start nicht verändert wurden.
- Alternativ den
snapshots-Ordner manuell öffnen: Menü →Einsatz → Snapshot-Ordner öffnen ….
23.9 „Welche Kartenlayer gibt es?"¶
- Topo (OpenTopoMap, Default)
- BKG Behörden-Topo (TopPlusOpen, ab v2.2.0) — amtliche Topographie-Karte mit Detail-Stand der deutschen Landesvermessungen, Optik 1:25 000. Datenquelle: Bundesamt für Kartographie und Geodäsie.
- BKG DOP / Orthofoto (basemap.de, ab v2.11.0) — amtliches Luftbild Deutschland, frei zugänglich. Nutze diese Variante für Vegetationsbewertung und Detailaufklärung.
- OSM (OpenStreetMap Standard)
- Satellit (Esri World Imagery)
- Hybrid (Satellit + OSM-Beschriftung 55 % Opazität)
- OSM-DE (deutsche OSM-Stilvariante)
Topbar-Topo-Button zyklusiert durch alle sieben Basis-Layer.
Zusätzlich (ab v2.11.0) Overlays: ALKIS Baden-Württemberg, VG250-Verwaltungsgrenzen, BfN-Naturschutzgebiete — siehe Kapitel 28.
23.10 „Ich habe versehentlich gelöscht"¶
- Cmd + Z — stellt den letzten Zustand wieder her.
- Falls der Undo-Puffer bereits leer: Menü →
Einsatz → Snapshot wiederherstellen …wählt einen Sicherungspunkt bis zu 2,5 Stunden in die Vergangenheit. - Letzte Rettung: eine per Hand gespeicherte
.rhs-Datei laden.
24. POD-Slip pro Hunde-Kategorie¶
Ab v2.7.0 schlägt SARmission beim Schließen eines Suchgebiets einen kategoriebezogenen POD-Wert vor. Die Logik liest die Spezialisierungen der Hunde des zugewiesenen Trupps und nimmt den besten POD-Standard-Wert aus folgender Tabelle:
| Kategorie | POD Low | POD Standard | POD High |
|---|---|---|---|
| Flächensuche | 0,50 | 0,70 | 0,85 |
| Mantrailing | 0,10 | 0,60 | 0,95 |
| Trümmersuche | 0,45 | 0,65 | 0,85 |
| Wasserortung | 0,20 | 0,40 | 0,65 |
| Lawinensuche | 0,40 | 0,60 | 0,80 |
| Leichensuche | 0,30 | 0,55 | 0,75 |
Werte basieren auf NASAR „Managing Search Operations" und Koester „Lost Person Behavior". Im Prompt erscheint der Vorschlag mit Kategorie-Label, der Einsatzleiter kann ihn übernehmen oder abändern. Bei mehreren Spezialisierungen einer Einheit (z. B. Hund beherrscht Fläche + Mantrailing) wird der höhere Standard-Wert genommen.
Hinweis: Die Werte gelten für Standard-Bedingungen (Tag, gemäßigtes Wetter, mittel-dichtes Gelände). Bei Sturm, dichtem Wald oder altem Mantrailing-Trail sollte der POD reduziert werden.
25. XLSX-Statistik-Export¶
Ab v2.8.0 generiert SARmission auf Knopfdruck eine vollständige Excel-Arbeitsmappe mit dem aktuellen Lagebild. Im IO-Tab → „Statistik" → Excel-Statistik (.xlsx) klicken; SARmission speichert die Datei in einen frei wählbaren Ordner.
Die Datei enthält fünf Tabellenblätter:
- Übersicht — Einsatzname, Datum, IPP, Anzahl Trupps/Suchgebiete/Hunde/Logbuch
- Trupps — Kennung, Funktion, Status, Funkrufname, Hundeteam mit Spezialisierungen, GPS-Position
- Suchgebiete — Name, Status, Fläche in ha, POD %, POA %, zugewiesener Trupp, Bemerkung
- Hunde — Name, Rasse, Hundeführer, Spezialisierungen, Prüfung gültig bis
- Logbuch — chronologisch alle Tagebuch-Einträge
Die Datei öffnet sich in Microsoft Excel, LibreOffice Calc, Apple Numbers und Google Sheets ohne Konvertierung. Nutze sie für Berichte an die Kreis-Einsatzleitung, Vereinsstatistiken oder als Auswertungs-Grundlage.
26. Auto-Briefing-Generator¶
Ab v2.9.0 baut SARmission auf einen Klick ein einseitiges A4-PDF für die Einsatzleitung — IO-Tab → ICS-Formulare → Auto-Briefing (PDF). Ideal für die Lageeinweisung der ankommenden Trupps.
Das Briefing enthält:
- Einsatz-Stammdaten (Nr., Datum/Zeit, Einsatzleiter)
- Vermisstenprofil (aus dem Steckbrief-Tab)
- Wetterlage mit Temperatur, Wind, Niederschlag, Luftfeuchte
- Mantrailer-Bewertung (Kurzfassung der 5-Faktor-Checkliste, falls Wetter abgerufen)
- Trupp-Übersicht mit Hundeteam und Status
- Suchgebiete mit POD-Vorschlag je Trupp (kombiniert die Logik aus Kapitel 24)
- Funk-/Meldewesen-Felder zum Eintragen
- Sicherheitshinweise (Boilerplate)
- Unterschriften-Zeile für EL und Hundeführer
Das PDF wird via dem normalen Druck-Pipeline gespeichert, also als echtes druckbares A4-Layout — kein Browser-Print, kein Skalierungs- problem.
27. Hunde-Kalender¶
Ab v2.10.0 verwaltet SARmission Termine pro Hund — Prüfungen, Trainings, Tierarzt-Besuche, Sonstige.
Bedienung über die IO-Sidebar → Hunde-Kalender:
- + Termin anlegen — sequentielle Eingabe: Hund auswählen, Termin-Typ, Datum (YYYY-MM-DD), Titel, optional Bemerkung.
- 📅 Nächste 30 Tage — zeigt alle anstehenden Termine plus eine
zusätzliche Warnung für Hundeprüfungen, die in den nächsten 60
Tagen ablaufen (auf Basis von
certValidUntilaus den Stammdaten). - ↓ Kalender-Export (.ics) — speichert den kompletten Kalender
als RFC-5545-konforme
.ics-Datei. Doppelklick → Apple Kalender, Google Calendar oder Outlook importieren ihn direkt.
Termine werden im Einsatz-Speicherstand (.rhs-Datei) mit abgelegt
und sind synchronisiert über die Live-Sync-Bridge.
Tipp: Bei der Eingabe einer Erinnerung (
reminderDaysBefore) wird in der.ics-Datei ein VALARM-Block erzeugt, der im Zielkalender eine Push-Erinnerung X Tage vorher auslöst.
28. DOP-Orthofoto und WMS-Overlays¶
Ab v2.11.0 ergänzt SARmission die Karten-Layer um amtliche deutsche Geodaten:
28.1 BKG DOP (Orthofoto)¶
Frei zugängliches Luftbild Deutschland aus dem basemap.de-Dienst des Bundesamts für Kartographie und Geodäsie. Im Topbar-Topo-Button durch die Basis-Layer zyklusieren bis "BKG DOP (Orthofoto)" aktiv ist.
Höhere Detailtiefe als der ESRI-Satellit für innerdeutsche Einsätze und konsistent mit den amtlichen Karten der Landesvermessungsämter.
28.2 WMS-Overlays¶
Sidebar → Karten-Overlays → 🗺 ALKIS / Schutzgebiete öffnet einen Dialog zur Aktivierung folgender Overlays:
- ALKIS Baden-Württemberg — Flurstücks-Liegenschafts-Kataster der LGL (für Mosbach und alle weiteren BW-Standorte). Zeigt Parzellen- grenzen, Hausnummern, Eigentümer-Symbole.
- Verwaltungsgrenzen DE — VG250-Kreis-/Gemeindegrenzen vom BKG. Für deutschlandweite Lageeinordnung nützlich.
- Naturschutz/FFH — Naturschutz- und FFH-Gebiete vom BfN. Zeigt Schutzbereiche, in die nur eingeschränkt eingerückt werden darf.
Overlays werden mit 70 % Opazität über die aktive Basis-Karte gelegt und sind unabhängig vom Topo-Switch. Mehrere Overlays gleichzeitig sichtbar möglich.
✕ Alle Overlays aus entfernt alle aktiven Overlays mit einem Klick.
Hinweis: Overlays brauchen eine Internet-Verbindung — die WMS- Server liefern keine Offline-Tiles. Im Offline-Mode sind Overlays nicht verfügbar.
29. ICS-Formulare ELS-201 / ELS-204¶
Ab v2.6.0 druckt SARmission deutsche Pendants der US-amerikanischen ICS-Formulare der Federal Incident-Command-Standards:
29.1 ELS-201 Lagebericht¶
Sidebar → ICS-Formulare → ⎙ ELS-201 Lagebericht
Vollständige Lagebericht-PDF mit Stammdaten, Vermisstenprofil, Wetterlage, allen eingesetzten Einheiten in Tabellenform und allen Suchgebieten mit Status. Pendant zu ICS-201 Incident Briefing.
29.2 ELS-204 Suchauftrag¶
Sidebar → ICS-Formulare → ⎙ ELS-204 Suchauftrag öffnet einen Dialog zur Auswahl von Einheit + Suchgebiet. Erzeugt einen formellen Suchauftrag pro Trupp-Sektor-Paar mit:
- Einheits-Daten (Kennung, HiOrg, Stärke, Bemerkung)
- Sektor-Daten (Größe in ha, empfohlene Hund-Anzahl, POA, Taktik)
- Vermisstenprofil-Kurzfassung
- Wetterhinweis zum Auftragszeitpunkt
- Funk- und Meldewesen-Felder
- Anweisungen-Bereich (frei beschreibbar)
- Doppelte Unterschriften-Zeile (Auftragsausgabe + Annahme)
Pendant zu ICS-204 Assignment List.
30. Datenschutz / DSGVO¶
SARmission ist seit v3.5.0 Teil eines geschlossenen DSGVO-Compliance- Pakets. Diese Sektion gibt eine Operations-orientierte Übersicht; die juristisch ausführliche Dokumentation liegt unter den Pfaden im Anhang.
30.1 Grundprinzip¶
- Lokale Datenhaltung: alle Personen-Daten (Mitglieder, Hunde,
Vermisste, Tagebuch) liegen ausschließlich im
userData-Ordner des ausführenden Geräts. Der Software-Hersteller hat keinen Zugriff — keine Telemetrie, kein Analytics, kein Cloud-Sync. - Externe Anfragen sind sparsam und enthalten keine Personen-Daten:
- Karten-Tiles (OSM/TopPlus): nur Bounding-Boxes
- Wetter (Open-Meteo): nur GPS-Koordinaten des Einsatz-Orts
- Adresssuche (Nominatim): nur die Such-Anfrage des Operators
- DWD-Warnungen: Bundesland-Filter
- Auto-Update (GitHub): nur App-Version und Plattform
- Vereins-Daten sind verschlüsselt (siehe § 31)
- Audit-Trail über alle Stammdaten-Änderungen (siehe § 33)
30.2 DSGVO-Settings-Dialog (Topbar 🔒, ab v3.5.1)¶

Der zentrale Anlaufpunkt für Datenschutz-Funktionen. Vier Sektionen:
| Sektion | Funktion |
|---|---|
| 🗑 Auto-Lösch | Snapshot-Retention konfigurieren (0 / 7 / 14 / 30 / 60 / 90 / 180 / 365 Tage). Default: deaktiviert (alle Snapshots bleiben). |
| 📝 Audit-Trail | Toggle für Stammdaten-Audit-Log (Default: aktiv). |
| 🔐 At-Rest-Encryption | Toggle „Vereins-Daten verschlüsseln" + Migrations-Button für Klartext-Bestand. Bei Neuinstallationen Default: aktiv. |
| 🔑 Master-Passphrase | Optional: Master-Key zusätzlich mit User-Passphrase schützen (siehe § 32). |
| 🎭 Anonymisierter Export | Einsatz als JSON exportieren mit Hash-Pseudonymen statt Klarnamen — geeignet für Schulungen/Statistiken. |
30.3 Anonymisierter Export¶
Ersetzt Personen-Klarnamen durch stable DJB2-Hash-Pseudonyme („VP-…", „HF-…"). Adressen, Geburtsdaten und Fotos werden entfernt. Geeignet für Übungs-Auswertungen, Statistiken und externe Vorträge ohne DSGVO-Risiko. Format: JSON-Download mit Datum im Dateinamen.
30.4 Auto-Backup-Hinweis¶
Cloud-Backup-Caveat (ab v2.13.0): Wird der Auto-Backup-Ordner in einer Cloud (iCloud Drive, Dropbox, Google Drive) synchronisiert, erhält der Cloud-Anbieter die Backup-Datei. Bei aktiver At-Rest-Encryption ab v3.5.2 ist diese Datei verschlüsselt — das reduziert das Risiko, ersetzt aber keinen Auftragsverarbeitungsvertrag. Vor Aktivierung Vereinsleitung prüfen lassen.
30.5 Doku-Anhang¶
Die juristischen Vorlagen liegen unter docs/:
- DSGVO.md — Datenkategorien, Rechtsgrundlagen,
Betroffenenrechte
- vvt-vorlage.md — Verzeichnis von
Verarbeitungstätigkeiten (Art. 30)
- privacy-policy-pwa.md — Datenschutzerklärung für PWA
- privacy-policy-mobile.md — Datenschutzerklärung für mobile Builds
- avv-muster.md — Auftragsverarbeitungs-Vertrag-Muster
- datenpannen-register.md — Vorlage für
Datenpannen-Meldungen Art. 33/34
- pen-test-preparation.md —
Bedrohungsmodell + Crypto-Cheat-Sheet (für externes Audit)
31. At-Rest-Encryption¶
ℹ️ Hinweis (Diátaxis): Sektion in drei Teile gesplittet — 31-A How-to (aktivieren / migrieren), 31-B Reference (Format, Coverage), 31-C Explanation (Krypto-Architektur).
31-A How-to: Encryption aktivieren und Bestand migrieren [How-to]¶
So aktivieren Sie die At-Rest-Verschlüsselung manuell und migrieren existierende Klartext-Dateien.
31-A.1 Encryption aktivieren¶
- Klicken Sie in der Topbar auf den 🔒 DSGVO-Button.
- Im DSGVO-Settings-Dialog scrollen Sie zur Sektion At-Rest-Encryption.
- Aktivieren Sie den Toggle Vereins-Daten verschlüsseln.
- Falls noch Klartext-Dateien existieren, klicken Sie auf 🔄 Bestehende Klartext-Dateien jetzt verschlüsseln.
- Die Migration läuft idempotent durch alle Daten-Dateien (State, Stammdaten, Snapshots) — schon verschlüsselte Dateien werden übersprungen.
💡 Tipp: Bei Neuinstallationen ab v3.6.0 ist Encryption bereits standardmäßig aktiv, sobald der OS-Keychain verfügbar ist. Sie müssen nichts manuell aktivieren.
31-A.2 Encryption-Status prüfen¶
Im DSGVO-Dialog zeigt die At-Rest-Encryption-Sektion an:
- Aktivierungs-Status (an / aus)
- Modus (Keychain / Passphrase)
- OS-Keychain-Verfügbarkeit (macOS Keychain Services / Windows DPAPI / Linux kwallet/gnome-keyring)
- Anzahl Klartext-Dateien (sollte 0 sein nach Migration)
31-A.3 Master-Passphrase einrichten (Modus B)¶
Wenn Sie zusätzlich Schutz im laufenden User-Account wünschen (z. B. Familien-Mac mit gemeinsamem Login):
- DSGVO-Dialog → Sektion 🔑 Master-Passphrase
- Klicken Sie auf Master-Passphrase einrichten
- Folgen Sie § 32 für die weiteren Schritte
🚨 Warnung: Bei Verlust der Master-Passphrase sind alle verschlüsselten Daten unwiederbringlich. Es gibt keinen Recovery-Mechanismus — eine Hintertür wäre ein Sicherheits-Bruch.
31-A.4 Backup-Strategie¶
- Wenn der Auto-Backup-Ordner mit aktiver Encryption auf eine Cloud synchronisiert wird (iCloud, Dropbox, Google Drive), bekommt der Cloud-Anbieter nur Geheimtext.
- Der Master-Key ist NICHT im Backup. Geht er verloren (Festplatten- Ausfall ohne Backup, Keychain-Reset), sind die Daten unwiederbringlich.
- Empfehlung: Zusätzlich gelegentlich einen Klartext-Export über Tab IO → JSON-Export auf ein getrenntes, sicheres Medium.
31-B Reference: Coverage, Container-Format, Performance [Reference]¶
31-B.1 Verschlüsselungs-Coverage¶
| Datei | Verschlüsselt seit |
|---|---|
einsatz_state.json (aktiver Einsatz) |
v3.6.0 |
personen.json, hunde.json, pruefungen.json |
v3.6.0 |
alarmgruppen.json, adressbuch.json |
v3.6.0 |
snapshots/*.json (rotierende Backups) |
v3.5.2 |
tile-cache/ (Karten-Kacheln) |
nicht verschlüsselt — keine PII |
print_settings.json, dsgvo_settings.json |
nicht verschlüsselt — keine PII |
31-B.2 Container-Format¶
Jedes verschlüsselte File beginnt mit dem 4-Byte-Magic SAR1 und folgt
dem AES-256-GCM-Schema:
┌──────────┬─────────────┬─────────────┬──────────────────────┐
│ "SAR1" │ 16-Byte IV │ 16-Byte Tag │ Ciphertext (variabel)│
│ (4 Byte) │ (CSPRNG) │ (Auth-Tag) │ │
└──────────┴─────────────┴─────────────┴──────────────────────┘
31-B.3 Master-Key-Modi¶
| Modus | Datei | Schutz greift |
|---|---|---|
| A — Keychain (Default) | sar-master-key.bin (per OS-Keychain gewrappt) |
Gerät ausgeschaltet oder kein User-Login |
| B — Passphrase (opt-in) | sar-passphrase-key.bin (per User-Passphrase gewrappt) |
Auch im laufenden User-Account |
Die beiden Modi schließen sich aus — Modus B löscht beim Aktivieren die Modus-A-Datei.
31-B.4 Performance-Kennzahlen¶
| Metrik | Wert |
|---|---|
| Verschlüsselungs-Overhead pro Datei | < 1 ms (AES-256-GCM ist hardware-beschleunigt auf modernen CPUs mit AES-NI) |
| Datei-Wachstum | +36 Bytes pro Datei (Magic + IV + Tag) |
Sichtbarkeit in cat / hexdump |
unleserliches Geheimtext-Binary — ein versehentlich kopiertes Backup bleibt geschützt |
| Backward-Compat | Klartext-Files (ohne SAR1-Magic) bleiben lesbar; idempotente Migration |
31-B.5 OS-Keychain-Mapping¶
| OS | Keychain-Backend |
|---|---|
| macOS | Keychain Services (System-Keychain) |
| Windows | DPAPI (Data Protection API, User-Scope) |
| Linux | kwallet (KDE) ODER gnome-keyring (GNOME) |
| Linux ohne Keyring | UI zeigt Hinweis, Encryption-Toggle ist disabled — Workaround: Passphrase-Modus B |
31-C Explanation: Krypto-Architektur und Bedrohungs-Modell [Explanation]¶
🔧 Fortgeschritten: Diese Sektion erklärt das Krypto-Design. Für die Bedienung ist sie nicht erforderlich, aber für Pen-Tester und Datenschutzbeauftragte wertvoll.
31-C.1 Algorithmus-Wahl: AES-256-GCM¶
Authenticated Encryption with Associated Data (AEAD) ist das moderne Idiom für File-Encryption. AES-256-GCM:
- AES-256: Symmetrische Verschlüsselung mit 256-Bit-Schlüssel (post-quantum-tauglich gegen Grover's Algorithm bis ~2050)
- GCM (Galois/Counter Mode): integrierter MAC (Auth-Tag) → garantiert Integrität + Vertraulichkeit in einem Schritt
- Hardware-beschleunigt auf allen modernen CPUs (Intel AES-NI, ARM Crypto-Extension, Apple Silicon)
Warum nicht ChaCha20-Poly1305? AES-NI ist auf den Ziel-Plattformen (macOS-Intel, macOS-arm64, Windows-x64, Linux-x64) bereits hardware- beschleunigt. ChaCha20 wäre für CPUs ohne AES-NI besser, aber auf Mobile-iOS / Android implementiert es Apple/Google ohnehin als Hardware- Pfad.
31-C.2 Initialisierungs-Vektor (IV)¶
Pro Datei wird ein frischer 16-Byte-IV via CSPRNG
(crypto.randomBytes(16)) generiert. Niemals wird derselbe IV mit
demselben Schlüssel zweimal verwendet — das wäre der häufigste
GCM-Implementierungs-Fehler.
31-C.3 Master-Key-Lebenszyklus¶
- Erst-Erzeugung: 32 Byte CSPRNG-Output
(
crypto.randomBytes(32)) — entweder beim ersten App-Start (Modus A) oder bei der Passphrase-Einrichtung (Modus B). - Speicherung Modus A: Per
safeStorage.encrypt()durch Electron insar-master-key.bingeschrieben — der OS-Keychain ent-/verschlüsselt automatisch beim Datei-Lesen. - Speicherung Modus B: Per AES-256-GCM mit Wrap-Key (von
PBKDF2 oder scrypt aus User-Passphrase abgeleitet, siehe
§ 32) gewrappt in
sar-passphrase-key.bin. - Verwendung: Beim App-Start in einer geschützten Buffer-Region
(libsodium-
sodium_mlock) gehalten — Speicher-Dump-Schutz.
31-C.4 Bedrohungs-Modell und Schutz-Profil¶
| Bedrohung | Modus A (Keychain) | Modus B (Passphrase) |
|---|---|---|
| Festplatte gestohlen, Gerät aus | ✅ geschützt | ✅ geschützt |
| Mitnutzer am gleichen User-Account (laufende Session) | ❌ Master-Key ist im RAM zugreifbar | ✅ geschützt (Sperre möglich) |
| GPU-Brute-Force gegen Passphrase | n/a | siehe § 32.5 (scrypt-resistent) |
| Speicher-Dump während Laufzeit | ❌ Master-Key im RAM | ❌ Master-Key im RAM |
| Hardware-Token-Bypass | n/a | n/a |
| Cloud-Backup-Datenleck | ✅ Backup ist Geheimtext | ✅ Backup ist Geheimtext + Passphrase nicht im Backup |
| Forensik auf Filesystem-Image | ✅ alle Daten geschützt | ✅ alle Daten geschützt |
31-C.5 Was Encryption nicht abdeckt¶
- Daten in Transit: Live-Sync-Daten zwischen Peers werden via WebRTC-DTLS bzw. TLS verschlüsselt, aber nicht mit dem At-Rest-Master-Key. Das ist ein anderes Krypto-System.
- Daten in Use: Während die App läuft und der Master-Key im RAM liegt, kann ein Angreifer mit Root-Zugriff theoretisch den Master-Key aus dem RAM extrahieren.
- Side-Channel-Attacken: Timing-Attacken auf AES-NI sind bekannt (Cache-Bleichenbacher) — die Praxis-Auswirkungen für einzelne Vereinsstaffeln sind aber vernachlässigbar.
🌐 BOS-Übergreifend: Das hier dokumentierte Krypto-Modell ist dem von BSI-empfohlenen Standard (TR-02102) konform. Vor externer Pen-Test-Vergabe ist die Doku in
docs/pen-test-preparation.mdzu lesen.
31-C.6 Quellen¶
- AES-Standard: NIST FIPS 197
- GCM-Modus: NIST SP 800-38D
- Electron
safeStorage: https://www.electronjs.org/docs/latest/api/safe-storage - BSI TR-02102: Technische Richtlinie „Kryptographische Verfahren: Empfehlungen und Schlüssellängen"
32. Master-Passphrase und KDF-Upgrade¶
Optional, ab v3.7.0 verfügbar. Die Master-Passphrase erweitert die At-Rest-Encryption um Schutz auch im laufenden User-Account — für Szenarien, wo z. B. ein Familien-Mitglied am selben Mac arbeitet.
32.1 Funktionsweise¶
- Der Master-Key wird mit einer von dir gewählten Passphrase verschlüsselt abgelegt. Die Passphrase wird nie auf Platte geschrieben.
- Beim App-Start erscheint der Boot-Prompt — bis zur korrekten Eingabe bleiben alle verschlüsselten Daten gesperrt (App startet leer).
- Im laufenden Programm kann die Passphrase manuell wieder gesperrt werden, ohne die App zu beenden.
32.2 Aktivieren¶
- DSGVO-Dialog → Sektion „🔑 Master-Passphrase"
- Button 🔑 Master-Passphrase einrichten
- Neue Passphrase eingeben (min. 8 Zeichen) und in einem zweiten Feld zur Bestätigung wiederholen
- Bestätigen
⚠️ Wichtig: Bei Verlust der Passphrase sind alle verschlüsselten Daten unwiederbringlich. Es gibt keinen Recovery-Mechanismus — jede Hintertür wäre ein Sicherheitsproblem. Notiere die Passphrase an einem sicheren Ort (Passwort-Manager, versiegelter Umschlag).
32.3 Aktionen im aktiven Modus¶
| Button | Wirkung |
|---|---|
| 🆙 KDF auf scrypt upgraden | Erscheint nur bei v1-PBKDF2-Bestand. Migriert zu memory-hard scrypt (siehe § 32.5). |
| 🔁 Passphrase ändern | Doppelte Eingabe der neuen Passphrase, alte zur Authentifizierung. Master-Key bleibt derselbe. |
| 🚫 Passphrase deaktivieren | Wrappt Master-Key zurück in den OS-Keychain. Erfordert aktuelle Passphrase. |
| 🔒 Jetzt sperren | Master-Key aus dem RAM löschen ohne Neustart. Beim nächsten Daten-Lese-Versuch erscheint der Boot-Prompt. |
32.4 Boot-Prompt¶
Beim Start der App erscheint:
SARmission · Master-Passphrase
Diese Installation ist mit einer Master-Passphrase geschützt.
[ Passphrase: ************** ] [ OK ] [ Abbrechen ]
- Bis zu 5 Versuche pro Boot. Danach Hinweis-Toast und Abbruch.
- Bei Abbruch startet die App leer (keine Daten lesbar). Bestehende Daten bleiben unangetastet — ein Neustart ermöglicht erneute Eingabe.
32.5 KDF-Upgrade auf scrypt (ab v3.8.0)¶
Die Schlüsselableitung von Passphrase zu Wrap-Key gibt es in zwei Versionen:
| Version | KDF | Memory | Brute-Force-Schutz |
|---|---|---|---|
| v1 (v3.7.0) | PBKDF2-SHA512, 200 000 Iter. | ~1 KB | gut gegen CPU, schwach gegen GPU |
| v2 (v3.8.0) | scrypt N=2¹⁷, r=8, p=1 | ~128 MB | gut gegen CPU und GPU/ASIC |
Neu eingerichtete Installationen ab v3.8.0 nutzen automatisch v2. Bestehende v1-Installationen können mit einem Klick migrieren:
- DSGVO-Dialog → Sektion „🔑 Master-Passphrase"
- Falls v1 aktiv ist, erscheint ein blauer Hinweis „🆙 Upgrade auf scrypt verfügbar" und ein Button 🆙 KDF auf scrypt upgraden
- Aktuelle Passphrase eingeben → Migration läuft (~250 ms)
- Nach Erfolg zeigt die UI „KDF: scrypt (N=131072, r=8, p=1)"
Der Upgrade ist atomar (tmp-Datei + rename) und idempotent (zweiter Klick ist no-op). Crash-resistent: wird die App während des Upgrades geschlossen, bleibt entweder die alte oder die neue Datei intakt — nie beide oder keine.
32.6 Sicherheits-Modell-Tabelle¶
| Angreifer-Profil | Modus A (Keychain) | Modus B v1 (PBKDF2) | Modus B v2 (scrypt) |
|---|---|---|---|
| Festplatte gestohlen, Gerät aus | ✅ geschützt | ✅ geschützt | ✅ geschützt |
| Mitnutzer am gleichen User-Account | ❌ ungeschützt | ✅ geschützt | ✅ geschützt |
| GPU-Brute-Force gegen 8-Zeichen-Passphrase | n/a | ⚠️ ~50× schneller als CPU | ✅ Memory-bandwidth-limitiert |
| Speicher-Dump während Laufzeit | ❌ Master-Key im RAM | ❌ Master-Key im RAM | ❌ Master-Key im RAM |
| Hardware-Token-Bypass | n/a | n/a | n/a |
33. Audit-Trail für Stammdaten-Änderungen¶
Ab v3.5.1 protokolliert SARmission jede CRUD-Operation auf Stammdaten im Einsatz-Tagebuch. Damit erfüllt der Verein die Nachweispflicht aus DSGVO Art. 30 §1d.
33.1 Was wird protokolliert¶
| Stammdaten-Typ | Hooked seit | Operationen |
|---|---|---|
Hunde (hunde.json) |
v3.5.1 | create / update / delete |
Personen (personen.json) |
v3.5.1 | create / update / delete (mit detached_dogs-Detail) |
Alarmgruppen (alarmgruppen.json) |
v3.7.0 | create / update / delete |
Jeder Eintrag landet im Einsatztagebuch (Tab Tagebuch) mit
Kategorie lage und Quelle System. Beispiel-Eintrag:
33.2 Konfiguration¶
DSGVO-Dialog → Sektion „📝 Audit-Trail" → Toggle „Audit-Trail aktiv". Default: aktiv. Wer den Audit-Trail deaktiviert, dokumentiert das selbst (in den Vereins-Verfahrensbeschreibungen).
33.3 Unterschied zum Einsatz-Tagebuch¶
Der Audit-Trail nutzt das Tagebuch als Persistenz-Medium, ist
aber konzeptionell separiert:
- Audit-Einträge haben Quelle System und sind nicht über die
normale Tagebuch-Eingabe-Maske editierbar.
- Beim Druck des Einsatzberichts werden Audit-Einträge in einem
separaten Block am Ende gelistet, getrennt von der eigentlichen
Einsatz-Chronologie.
33.4 Manipulationsschutz¶
Der Audit-Trail ist nicht kryptographisch signiert — eine
Vereins-Administrator-Person mit Schreibzugriff auf den userData-
Ordner könnte Einträge nachträglich verändern. Das ist akzeptiert
und in docs/pen-test-preparation.md dokumentiert. Für Vereine mit
höheren Anforderungen ist die manuelle Sicherung (Auto-Backup) auf
ein WORM-Medium der pragmatische Workaround.
34. Mobile- und PWA-Modus¶
34.1 PWA für iPad / Tablet¶
SARmission läuft als Progressive Web App auf jedem modernen Browser. Ab v3.4.0 wurde die iPad-Optimierung gehärtet:
- Topbar mit horizontalem Scroll statt Layout-Bruch auf engen Viewports
- Touch-optimierte Buttons ohne
pointer:coarse-Layout-Verschiebung - Korrekte
100vw/100vh-Constraints — keine Off-Screen-Elemente - A2HS-Banner („Zum Home-Bildschirm hinzufügen") nur in echten Browser-Tabs, nicht im Electron-Modus
Installation: 1. PWA-URL in Safari/Chrome auf dem iPad öffnen 2. Teilen → Zum Home-Bildschirm hinzufügen (iOS) bzw. Installieren (Android-Chrome) 3. Die PWA verhält sich danach wie eine native App (kein Browser-Chrome)
34.2 Tile-Server für Offline-Karten¶
Die PWA holt sich Karten-Tiles vom lokalen Tile-Server, der von
einer SARmission-Desktop-Instanz im selben WLAN bereitgestellt
wird. Port: 47832. URL-Pattern: http://<Host-IP>:47832/<layer>/{z}/{x}/{y}.png.
Im Live-Sync-LAN-Modus (siehe § 18.3) ist der Tile-Server typischerweise auf demselben Gerät wie der Sync-Host — eine PWA- Instanz auf dem Kartenführer-iPad braucht dann nur die Sync-Verbindung, und Karten + Daten sind beide ohne Internet verfügbar.
34.3 Capacitor-Build (Android + iOS, ab v3.4.0 / v3.8.0-mobile.alpha.4)¶
Eine Capacitor-7.x-basierte Mobile-Foundation existiert für Android
und iOS. Der Build-Pfad ist im Repo unter mobile/ vorbereitet,
zwei CI-Workflows produzieren bei Tag-Push v*-mobile.*:
.github/workflows/mobile-android.yml— signiertes AAB für Google Play Internal Testing (braucht 4 ANDROID_*-Secrets).github/workflows/mobile-ios.yml— signierte IPA für TestFlight (braucht 8 APPLE_*-Secrets); ohne Secrets läuft ein Verify-Build zur Compilation-Prüfung
Versionsstand: 3.8.0-mobile.alpha.4 synchron mit Desktop-Renderer v3.8.0. Die Stammdaten-Persistenz nutzt seit alpha.4 Capacitor- Filesystem (vorher nur Browser-localStorage).
Feature-Parität-Tabelle (mobile/README.md) zeigt was auf Mobile
funktioniert und was Desktop-only bleibt. Wichtigste Lücken:
- At-Rest-Encryption (AES-256-GCM, scrypt-KDF) — Desktop-only,
Roadmap v3.9 mit WebCrypto-PBKDF2 + WASM-scrypt
- Auto-Update (electron-updater) — Mobile updates über App Store /
Play Store
- LAN-Sync-Hosting — Mobile kann nur joinen, nicht hosten
(Capacitor-WebView kann keinen TCP-Server hosten)
Status: Pilot-erprobt, aber nicht für jeden Einsatz freigegeben — Performance auf älteren Geräten (RAM <4 GB) noch nicht optimiert. Für kritische Einsätze die macOS- oder iPad-PWA-Variante nutzen.
34.4 Linux-Build (ab v3.8.0)¶
Die electron-builder-Konfiguration produziert ab v3.8.0 auch
Linux-x64-Pakete in zwei Formaten:
- AppImage — portable Single-File-Binary, läuft auf jedem
glibc≥2.28-Linux ohne Installation
- .deb — für Debian/Ubuntu-Familie via sudo apt install ./*.deb
Der Release-Workflow baut bei jedem v*.*.*-Tag automatisch alle
drei Plattformen parallel (macOS arm64 + Windows x64 + Linux x64) und
hängt die Artefakte ans GitHub-Release. Linux-Builds sind aktuell
unsigniert — für Vereins-interne Distribution OK, für öffentliche
Distribution sollte später AppImage-Signierung via zsign ergänzt
werden.
34.5 Plattform-Bridge¶
Egal ob Electron, PWA oder Capacitor — die App-Logik ist identisch.
Eine Native-Bridge (platform-bridge.js) abstrahiert die
plattform-spezifischen Calls: GPS, File-Save-Dialog, Auto-Update.
Wenn eine Funktion auf der jeweiligen Plattform nicht verfügbar ist
(z. B. electronAPI.savePDF in der PWA), greift sie auf den
Browser-Standard-Pfad zurück (Download-Link).
35. Track-Import von Trupp-Smartphones¶
Trupps zeichnen ihre Suchbewegungen meist auf privaten Smartphones auf (Outdooractive, AlpenvereinAktiv, Komoot, GPSLogger, Locus, OsmAnd …) und übermitteln den Track an die Einsatzleitung. SARmission unterstützt ab v3.9.0 drei Übergabe-Pfade parallel — die Trupps wählen den, der zur App und zum Workflow passt.
Vollanalyse: Welche App empfehlenswert ist, welche bekannten Lücken existieren und warum gerade diese drei Pfade — siehe
docs/track-import-integration.md(479 Zeilen Architektur-Doku mit Quellen).
35.1 Pfad A — Web-Share-Target (Standard auf Android)¶
Auf Android erscheint „SARmission" automatisch im System-Share-Sheet, sobald die PWA installiert ist (Chrome → Menü → „Zum Startbildschirm hinzufügen").
Trupp-Workflow: 1. In Outdooractive (oder Komoot/AVAKTIV/…) den Track öffnen 2. 3-Punkt-Menü → „GPX exportieren" → Share-Sheet → SARmission 3. Track erscheint sofort auf der Karte; Toast bestätigt den Empfang
iOS-Limitation: PWA-Share-Targets funktionieren auf iOS aktuell nur mit URLs, nicht mit Files. Der Workaround: - Track in der App teilen → „In Dateien sichern" - AirDrop zum EL-Mac → Drop-Zone im Tagebuch-Tab
35.2 Pfad B — Live-HTTP-Endpoint (Live-Tracking)¶
Für Trupps mit einer App, die HTTP-Live-Upload kann (GPSLogger auf Android, Locus Map, OsmAnd-Tracker-Plugin), kann SARmission die Tracks live während des Einsatzes empfangen und auf der EL-Karte als gestrichelte Polylinien anzeigen — pro Trupp eine eigene Farbe.
EL-Workflow (einmalig pro Einsatz): 1. Sync-Dialog öffnen → Sektion „📡 Live-Tracks" 2. „➕ Trupp-Token erzeugen" → Trupp-Name eingeben 3. QR-Code wird angezeigt → Trupp-Smartphone scannen lässt
Trupp-Workflow (z. B. mit GPSLogger): 1. App starten → Settings → Logging → „Custom URL" 2. URL aus QR-Code übernehmen (oder Klartext kopieren) 3. Recording starten — die App schickt alle 10 s einen GPX-Snippet an SARmission
Sicherheit:
- Endpoint bindet auf 0.0.0.0 Port 47833, LAN-only (kein
Port-Forwarding empfohlen)
- Token-basierte Auth (24 Byte CSPRNG, in live-tokens.json
encryption-aware persistiert)
- Token-Widerruf wirkt sofort
- Audit-Log alle 30 s pro Trupp (DSGVO Art. 30)
35.3 Pfad C — Drop-Folder Watcher¶
Für den Mail-Anhang-Workflow oder bei Cloud-Sync: SARmission scannt
einen vom EL ausgewählten Ordner (z. B. iCloud-Drive- oder
Dropbox-Sync-Ordner) und importiert auftauchende .gpx/.kml-
Dateien automatisch.
Setup (einmalig): 1. Sync-Dialog → „📂 Eingehende-Tracks-Ordner" → „Ordner wählen …" 2. Z. B. einen iCloud-Ordner wählen, in den der Mail-Client Anhänge speichert
Trupp-Workflow:
- Track per Mail an einsatz@<verein>.de schicken
- EL-Mail-Client (oder Auto-Rule) speichert den Anhang in den
konfigurierten Ordner
- SARmission liest die Datei nach 1.5 s Stable-Delay automatisch ein
35.4 App-Kurzempfehlung pro Profil¶
| Trupp-Profil | App-Empfehlung | Pfad |
|---|---|---|
| „Ich nutze schon Outdooractive" | Outdooractive bleibt | A (Android) bzw. AirDrop (iOS) |
| Power-User Android, technik-affin | GPSLogger (F-Droid/Play) | B (live) |
| Power-User iOS | OsmAnd + Tracker-Plugin | B (live) |
| Trupp ohne Smartphone-Skills | beliebige App, GPX an Einsatz-Mail | C |
| Trupp mit Garmin-Watch | Garmin Connect → GPX-Export | A oder C |
36. Tactical Signs nach DV-101¶
Ab v3.10 unterstützt SARmission die zwölf operativ wichtigsten Symbole nach DV-101 (Dienstvorschrift Bevölkerungsschutz) — der deutschen Standard-Sprache für taktische Lagebild-Symbole bei Feuerwehr, THW, Polizei und allen Hilfsorganisationen.
Warum das wichtig ist: Die DV-101-Symbole sind die hilfsorganisations-übergreifende Lingua Franca für Lagebild- Kommunikation. Ein:e Feuerwehr-Stab-Mitarbeiter:in versteht den blauen Wimpel ebenso wie ein:e DRK-Sanitäter:in oder ein:e Polizei-Disponent:in. SARmission bringt diese Sprache in die Karten-Lage, ohne dass die EL erst Symbole erfinden müsste.
36.1 Die 12 Symbole¶
Tool aufrufen: Action-Bar → „Taktisches Zeichen" (oder Tastatur:
Cmd+Shift+T). Es öffnet sich der Symbol-Picker mit Live-Filter.

| Symbol | Kategorie | Was es bedeutet |
|---|---|---|
🟥 Rote Raute mit ? |
Schadenslage | Vermisste Person (Hauptsymbol) |
| ✅ Rote Raute mit ✓ | Schadenslage | Vermisste Person (gefunden) |
| 🟥 Rote Raute mit 🩹 | Schadenslage | Verletzte Person |
| ⬛ Schwarze Raute mit ✕ | Schadenslage | Tote Person |
| 🟦 Blauer Wimpel mit „IPP" | Eigene Kräfte | IPP / Letzter bekannter Punkt (Such-Ausgangspunkt) |
| 🟦 Blauer Wimpel gestrichelt mit „B" | Eigene Kräfte | Bereitstellungsraum (B-Raum) |
| 🟦 Blauer Wimpel mit Hund-Symbol | Eigene Kräfte | K9-Einheit (Trupp-Position) |
| 🟦 Blauer Wimpel mit „ELW" | Eigene Kräfte | Einsatzleitwagen |
| ⬜ Weißes Quadrat mit rotem Kreuz | Maßnahme | Verbandsplatz |
| 🟧 Orangefarbener Wimpel | Maßnahme | Sanitätsstation |
| 🔺 Gelbes Dreieck mit ⚠ | Gefahr | Gefahrenstelle (allgemein) |
| 🔺 Gelbes Dreieck mit Wegerschwernis-Icon | Gefahr | Wegerschwernis / Hindernis |
DV-101-Grundform-Konvention (alle weiteren Symbole folgen demselben Muster):
- Schadenslage → rote Raute (Quadrat auf Spitze)
- Eigene Kräfte / Maßnahme → blauer Wimpel (Rechteck mit Spitze oben)
- Gefahr → gelbes Dreieck
- Sanitäts-Maßnahme → weißes Quadrat mit rotem Kreuz
- Tote / endgültiger Zustand → schwarze Variante des Schadens-Symbols
36.2 Symbol setzen¶
- Action-Bar → „Taktisches Zeichen" klicken
- Im Picker das gewünschte Symbol auswählen (Live-Filter im Suchfeld
funktioniert: tippen
Bfiltert auf „B-Raum",IPP, „Verband", etc.) - Optional: Im Label-Feld einen freien Text ergänzen (z. B. „LKP Hans M. — 14:00 Uhr")
- Klick auf die Karte an der gewünschten Position — das Symbol erscheint
Hovering über das Symbol auf der Karte zeigt den Tooltip mit Symbol-Bezeichnung + User-Label.
36.3 Symbol verschieben / löschen¶
- Symbol verschieben: Symbol auf der Karte gedrückt halten und ziehen
- Symbol löschen: Rechtsklick auf das Symbol → „Löschen"
- Label nachträglich ändern: Linksklick auf das Symbol → Label-Editor
Alle Operationen werden im Einsatztagebuch (Audit-Trail) protokolliert.
36.4 Persistenz und Export¶
- Sync-stabil: Symbole werden über Live-Sync (Yjs) zwischen allen EL-Geräten synchronisiert
- In
.rhs-Datei mitgespeichert (Mission-Übergabe) - In KML-Export als StyleUrl-Referenzen mit Position
- Im Lagebericht-PDF als Bild-Embed (siehe § 16 Drucken)
- Im Tagebuch als Audit-Eintrag pro Symbol-Operation
36.5 Beispiel: Lagekarte mit gesetzten Symbolen¶
Eine typische RHS-Mosbach-Lage mit IPP, Bereitstellungsraum, Verbandsplatz, K9-Einheit und Fund-Position auf der Karte:

36.6 Praxis-Empfehlungen¶
| Situation | Empfohlene Symbole |
|---|---|
| Anlauf eines Such-Einsatzes | IPP + B-Raum + Verbandsplatz im B-Raum |
| Verteilung der Trupps | K9-Einheit pro Trupp-Startpunkt |
| Wegerschwernis im Suchgebiet | Gelbes Dreieck mit „Sturzgefahr" |
| Fund | Vermisste Person (gefunden) — grüne Raute mit ✓ |
| Polizei-Übergabe | Lagebericht mit allen Symbolen drucken (siehe § 16) |
37. Hundewohl-Compliance: Schwellwert-Modal & Lock-Workflow¶
ℹ️ Hinweis (Diátaxis): Sektion in drei Teile gesplittet — 37-A How-to (was tun bei Toast / Modal / Lock), 37-B Reference (Wetter-Faktor-Tabelle, Audit-Mapping), 37-C Explanation (Hundewohl-Hintergrund, Compliance-Begründung).
37-A How-to: Toast / Modal / Lock bedienen [How-to]¶
So reagieren Sie auf die drei Hundewohl-Trigger während eines laufenden Einsatzes.
37-A.1 Bei der 90-%-Vorwarnung (gelber Toast)¶
Bei 90 % der wetter-adaptiven Maximalzeit erscheint rechts oben ein gelber Toast für 8 Sekunden:
⚠ Hundewohl-Vorwarnung
RHS-Mosbach-MT-1: 90 % erreicht — Pause vorbereiten
(43 von 48 Min · Hitze-Faktor 0.80)
Was tun: 1. Funken Sie den Trupp an, dass die Pause vorbereitet werden soll (Wasser, Schatten-Platz, ggf. Ablöse-Trupp ankündigen). 2. Der Einsatz läuft weiter — der Toast ist nur eine Vorwarnung, keine Sperre.
37-A.2 Beim 100-%-Pflicht-Modal¶
Bei 100 % der wetter-adaptiven Maximalzeit öffnet sich ein modaler Pflicht-Dialog, der die Einsatzleitung zur Entscheidung zwingt:

Sie haben drei Optionen:
| Option | Wann wählen | Folge |
|---|---|---|
| ★ Pause anordnen (empfohlen) | Standard-Pfad: Hund braucht Erholung | Einsatzuhr pausiert sofort, Tagebuch-Eintrag „Pause angeordnet (Hundewohl)" |
| Weiter mit Begründung | Operativ unverzichtbarer Trail (z. B. heiße Spur kurz vor Fund), Pflicht-Begründung | Uhr läuft weiter, Audit-Eintrag mit Volltext-Begründung |
| Sperren | Hund zeigt Erschöpfung, Sicht-Check nötig | Lock-Workflow startet — siehe § 37-A.3 |
🚨 Warnung: Das Modal lässt sich nicht durch ESC oder Hintergrund-Klick schließen. Die Entscheidung ist Pflicht und wird im Audit-Trail festgehalten — das schützt Sie versicherungs- rechtlich.
37-A.3 Bei gesperrter Einheit (Lock-Workflow)¶
Wenn Sie im Pflicht-Modal Sperren gewählt haben:
- Auf der Einheits-Card erscheint ein 🔒 Lock-Badge
- Status wechselt automatisch auf
gesperrt - Die Einsatzuhr stoppt
- Die Einheit kann nicht mehr in Suchgebiete zugewiesen werden
- Ein Audit-Eintrag im Tagebuch dokumentiert Lock-Reason + Initiator
Re-Freigabe ist nur über einen strukturierten Workflow möglich:
- Klicken Sie auf das 🔒 Lock-Badge der gesperrten Einheit.
- Es öffnet sich das Re-Freigabe-Modal:

- Tragen Sie ein:
- Wer: Name der Sichtprüfungs-Person (Pflichtfeld)
- Funktion: Einsatzleiter:in / Hundeführer:in / Tierarzt:in
- Tierarzt-Sichtprüfung: ja / nein / nicht-anwendbar
- Begründung: Volltext (Pflicht)
- Aktivieren Sie die Bestätigungs-Checkbox „Einsatzfähigkeit attestiert".
- Klicken Sie auf Re-Freigabe erteilen.
🚨 Warnung: Die Re-Freigabe sollte nur erfolgen, wenn der Hund nach Sichtprüfung als einsatzbereit eingestuft wurde. Eine vorschnelle Re-Freigabe ohne tierärztliche Beurteilung entwertet den Audit-Trail und kann versicherungsrechtlich nachteilig sein.
37-B Reference: Wetter-Faktor + Audit-Mapping [Reference]¶
37-B.1 Wetter-adaptive Schwellwert-Tabelle¶
Die Einsatzuhr pro Einheit (siehe § 5.4) multipliziert die Standard-Maximalzeit mit dem Wetter-Faktor:
| Wetter-Bedingung | Faktor | MT-H Max. | FL-H Max. | Andere Einheit Max. |
|---|---|---|---|---|
| Standard (15–24 °C, kein Wind, trocken) | 1,00 | 60 min | 90 min | 120 min |
| Hitze 25–29 °C | 0,80 | 48 min | 72 min | 96 min |
| Hitze ≥ 30 °C | 0,67 | 40 min | 60 min | 80 min |
| Sturm ≥ 35 km/h | 0,75 | 45 min | 67 min | 90 min |
| Starkregen ≥ 5 mm/h | 0,80 | 48 min | 72 min | 96 min |
| Kälte ≤ −5 °C | 0,90 | 54 min | 81 min | 108 min |
ℹ️ Hinweis: Wenn Wetter abgerufen ist (siehe § 10 Wetter-Overlay), greift der Faktor automatisch. Ohne Wetter-Daten gelten die Standard-Werte (Faktor 1,00).
37-B.2 Trigger-Schwellen¶
| Schwelle | Trigger | UI-Reaktion |
|---|---|---|
| 80 % | Vorwarnung-Schwelle alt (v3.x) | gelber Toast (legacy) |
| 90 % | Vorwarnung F3 (ab v3.10) | gelber Toast 8 s |
| 100 % | Pflicht-Modal F3 (ab v3.10) | modaler Dialog mit 3 Optionen |
37-B.3 Audit-Trail-Mapping¶
Folgende Hundewohl-Events landen automatisch im Tagebuch
(Quelle System, Kategorie lage, Marker isAudit: true):
| Event | Tagebuch-Eintrag (Beispiel) |
|---|---|
| 90-%-Vorwarnung | ⚠ Vorwarnung: RHS-Mosbach-MT-1 hat 90 % der wetter-adaptiven Maximalzeit erreicht |
| 100-%-Modal geöffnet | ⚠ PFLICHT-MODAL: RHS-Mosbach-MT-1 hat 100 % erreicht |
| Decision: Pause | Schwellwert-Decision RHS-Mosbach-MT-1: Pause anordnen |
| Decision: Weiter | Schwellwert-Decision RHS-Mosbach-MT-1: Weiter — Begründung: "Trail kurz vor Fund, max. 10 weitere Min" |
| Decision: Sperren | Schwellwert-Decision RHS-Mosbach-MT-1: Sperren — Lock aktiviert |
| Re-Freigabe | Re-Freigabe RHS-Mosbach-MT-1: Tierärztl. Sichtprüfung durch Dr. Müller, einsatzbereit |
Im Lagebericht (siehe § 16 Drucken) werden diese Events in einem separaten Block „Hundewohl-Compliance" zusammengefasst.
37-B.4 Datenfelder pro Einheit (intern)¶
Für Power-User und Auditor:innen:
| Feld | Typ | Bedeutung |
|---|---|---|
einsatzWarn80 |
bool | 80-%-Toast wurde gezeigt (legacy) |
einsatzWarn90 |
bool | 90-%-Vorwarnung wurde gezeigt |
einsatzWarn100 |
bool | 100-%-Modal wurde geöffnet |
einsatzDecision100 |
string | pause / weiter / sperren / null |
einsatzDecision100Reason |
string | Volltext-Begründung |
einsatzDecision100At |
epoch ms | Zeitpunkt der Entscheidung |
lockState |
string | null / locked |
lockReason |
string | Initial-Lock-Reason |
lockedBy |
string | Initiator des Locks |
lockedAt |
epoch ms | Lock-Zeitpunkt |
unlockedBy |
string | Re-Freigabe-Initiator |
unlockedReason |
string | Re-Freigabe-Begründung |
unlockedAt |
epoch ms | Re-Freigabe-Zeitpunkt |
tierarztSichtpruefung |
string | ja / nein / nicht-anwendbar |
37-C Explanation: Hintergrund Hundewohl-Compliance [Explanation]¶
🌐 BOS-Übergreifend: Hundewohl ist nicht nur Tierschutz — es ist ein Compliance-Thema mit versicherungsrechtlichen Konsequenzen. SARmission ist die einzige operative SAR-Software im DACH-Raum, die das systematisch erzwingt.
37-C.1 Warum Hundewohl-Compliance?¶
Bei Such-Einsätzen im Sommer (28 °C, Sonneneinstrahlung) oder unter ungünstigen Bedingungen (Sturm, Niederschlag) ermüden Hunde deutlich schneller als unter Normal-Wetter. Die Maximalzeit eines Mantrailers liegt bei Standardbedingungen bei 60 Minuten — bei 28 °C reduziert sich das auf 48 Minuten.
Wer das ignoriert, riskiert:
- Gesundheit des Hundes (Hitzschlag, Erschöpfung, Bandscheiben-Schaden)
- Versicherungs-Konformität (Hund-Versicherungs-Verträge der Verbände setzen Hundewohl-Compliance voraus)
- Mannschafts-Vertrauen (Hundeführer:innen verlieren Vertrauen in die EL, wenn Hundewohl nicht ernst genommen wird)
- Verbands-Reputation (BRH-, DRK-, JUH-Vorstände erwarten nachweisbare Compliance-Dokumentation)
37-C.2 Warum erzwingen statt nur warnen?¶
In v2.x und v3.0-v3.9 gab SARmission nur einen gelben Toast bei 100 %. Der Toast verschwand nach 8 Sekunden — und im Eifer eines laufenden Einsatzes wurde das schlicht übersehen oder ignoriert.
Mit v3.10 wurde aus dem Toast ein modaler Pflicht-Dialog, der die Bildschirm-Interaktion blockiert, bis eine Entscheidung getroffen wurde. Das ist bewusst „lästig" — die Friktion ist der Punkt:
Wer eine Entscheidung trifft, der hat die Verantwortung übernommen. Audit-Trail garantiert, dass die Verantwortung nachher rekonstruierbar ist.
37-C.3 Warum eine Tierarzt-Sichtprüfung bei der Re-Freigabe?¶
Ein Hund, der wegen Erschöpfungs-Limit gesperrt wurde, braucht eine fachliche Sichtprüfung vor dem nächsten Einsatz — sei es durch einen anwesenden Tierarzt, einen erfahrenen Hundeführer oder die Hundeführer:in selbst.
Das Re-Freigabe-Modal in SARmission erzwingt diese Sichtprüfung als dokumentierten Schritt:
- Wer hat geprüft (Name, Funktion)
- Welcher Status ist attestiert (einsatzbereit / nicht einsatzbereit)
- Begründung für die Re-Freigabe-Entscheidung
Diese drei Datenpunkte sind der goldene Standard für die Versicherungs-Compliance.
37-C.4 Quellen und Referenzen¶
- TVA-Tierschutz-Hunde-VO: Tierschutz-Hundeverordnung des BMUV (zuletzt geändert 2021) — § 3 Abs. 2 fordert „artgerechte Beschäftigung" inkl. angemessene Pausen
- BRH-Standards für Hund-Versicherungs-Verträge (intern, nicht öffentlich) — fordern Audit-Trail über Pause-Entscheidungen
- DRK-Bundesverband Rettungshunde — empfiehlt Hundewohl-Doku in jedem Einsatz-Bericht
37-C.5 Wofür ist das in der Praxis gut?¶
| Anwendungsfall | Nutzen |
|---|---|
| Versicherungs-Schaden bei Hund-Erschöpfung | Vollständiger Audit-Trail entlastet den Verein |
| Externe Aufsicht (BRH, DRK-Bundesverband) | Nachweisbare Compliance-Dokumentation |
| Schulung neuer Hundeführer:innen | Hundewohl wird nicht „mal vergessen" — System erzwingt es |
| Sommer-Einsätze bei Hitze | Wetter-Faktor schützt automatisch |
| Hund-Versicherung im Schadensfall | EL kann Pause-Entscheidung mit Zeitstempel + Begründung beweisen |
38. Mission-Timer mit Aktions-Menü¶
Ab v3.10 läuft in der Topbar ein globaler Mission-Timer, der die Gesamt-Einsatzdauer ab dem Start der ersten Einheit anzeigt. Ab v4.0.0 öffnet ein Klick darauf ein Aktions-Menü mit 4 Schnell-Funktionen.
38.1 Anzeige¶
In der Topbar erscheint ab dem ersten Einheits-Start:
┌─────────────────────────────────────────┐
│ RHS-2026-014 · Forsthaus Neckarelz │
│ │
│ Mission-Timer: 02:14:23 [4/4 aktiv] │
└─────────────────────────────────────────┘
- Format:
HH:MM:SS - Farbe: Schwarz auf weißem Hintergrund (normal), Orange ab 4 h, Rot ab 8 h
- Subtext: aktive Einheiten / Gesamt-Einheiten
38.2 Aktions-Menü (U3, ab v4.0.0)¶
Klick auf den Timer öffnet ein Aktions-Menü:

┌──────────────────────────────────────────┐
│ 📊 Mission-Status anzeigen │
│ ⏸ Alle Einheiten pausieren │
│ 🔄 Mission-Timer zurücksetzen │
│ 🛑 Mission beenden │
└──────────────────────────────────────────┘
| Aktion | Wirkung |
|---|---|
| 📊 Mission-Status anzeigen | Toast mit Mission läuft seit HH:MM:SS · N Einheit(en) aktiv · M abgeschlossen |
| ⏸ Alle Einheiten pausieren | Pausiert Einsatzuhren aller Einheiten gleichzeitig (Pause-Bündel-Aktion) |
| 🔄 Mission-Timer zurücksetzen | Setzt den Timer auf 00:00:00 zurück (mit Confirm) — Einsatzuhren der Einheiten bleiben unverändert |
| 🛑 Mission beenden | Stoppt alle laufenden Einsatzuhren + Mission-Timer-Reset, Tagebuch-Eintrag „Mission beendet" |
38.3 Persistenz¶
Mission-Timer-Start-Zeitpunkt wird in einsatz_state.json als
missionStartedAt (epoch ms) gespeichert. Nach App-Neustart wird die
laufende Zeit korrekt fortgeführt.
39. Onboarding-Tour beim Erststart¶
Ab v4.0.0 erscheint beim ersten App-Start eine 7-Schritte- Onboarding-Tour mit Tooltip-Highlights über die Hauptbereiche.

39.1 Die 7 Schritte¶
1. Topbar → "Hier setzen Sie Stammdaten des Einsatzes"
2. Tool-Rail → "Linke Werkzeug-Spalte: Zeichnen, Vermisst, Wetter"
3. Action-Bar → "Schnellaktionen: Einheit, POI, Funkspruch, Drucken"
4. Sidebar-Tabs → "5 Tabs: Einheiten, Objekte, Tagebuch, IO, Stammdaten"
5. Mission-Timer→ "Globaler Einsatz-Timer mit Aktions-Menü (Klick)"
6. DSGVO-Settings → "Datenschutz-Werkzeuge oben rechts (🔒)"
7. Karte → "Klicken Sie auf der Karte um IPP, POI oder
Suchgebiete zu setzen"
Jeder Schritt zeigt ein Tooltip mit Pfeil auf das relevante UI- Element + „Weiter"- und „Tour beenden"-Button.
39.2 Tour zurücksetzen (U12, ab v4.0.0)¶
Die Tour erscheint nur einmal beim Erststart (Marker in
localStorage als sarmission:onboardingSeen=1).
Für Schulungs-Zwecke (z. B. Vorführung neuer Mitglieder) kann sie zurückgesetzt werden:
DSGVO-Dialog (Topbar 🔒) → Sektion „🎓 Onboarding-Tour" → Button „🔄 Tour beim nächsten Start neu zeigen"
Beim nächsten App-Start läuft die Tour wieder.
39.3 Auto-Skip¶
Wenn eine bestehende einsatz_state.json mit Daten existiert (also
keine echte Erst-Installation), wird die Tour nicht angezeigt —
sie ist explizit für leere App-Zustände gedacht.
40. Tagebuch-Retention mit getrennter Audit-Schwelle¶
Ab v3.11 lassen sich für reguläre Tagebuch-Einträge und Audit-Einträge getrennte Auto-Lösch-Schwellen konfigurieren — notwendig, weil Audit-Einträge (DSGVO Art. 30, F3-Decisions, F4-Locks) versicherungsrechtlich länger aufbewahrt werden müssen.
40.1 Hintergrund¶
Vor v3.11 galt eine Retention-Schwelle für alles. Das war zu grob: - Reguläre Einträge sollten nach 30 Tagen verschwinden (DSGVO-Sparsamkeit) - Audit-Einträge müssen 365 Tage oder länger bleiben (Versicherungs-/Verbands-Compliance)
40.2 Konfiguration¶
DSGVO-Dialog → Sektion „🗑 Auto-Lösch":
| Feld | Default | Empfohlen |
|---|---|---|
| Reguläre Tagebuch-Einträge | unbegrenzt | 30 Tage |
| Audit-Einträge (System, Lage, Schwellwert, Lock) | unbegrenzt | 365 Tage |
Snapshots in userData/snapshots/ |
unbegrenzt | 90 Tage |
40.3 Was als „Audit-Eintrag" zählt¶
Tagebuch-Einträge mit dem Marker isAudit: true (intern):
- Stammdaten-CRUD-Logs (Hunde, Personen, Alarmgruppen)
- Schwellwert-Decisions (F3 90 %, 100 %)
- Lock + Re-Freigabe (F4)
- Tactical-Sign-Operationen
- Mission-Start / Mission-Beenden
- Übergabe-Datei-Speicherung
- Lagebericht-Druck
40.4 Lösch-Logik¶
Beim App-Start läuft eine Retention-Sweep-Funktion:
- Reguläre Einträge älter als
regularRetentionDayswerden gelöscht - Audit-Einträge älter als
auditRetentionDayswerden gelöscht - Tombstone-Eintrag „Auto-Lösch: N reguläre, M Audit-Einträge entfernt" wird im Tagebuch hinterlegt
- Snapshots werden separat nach
snapshotRetentionDaysaufgeräumt
Die Lösch-Aktion ist idempotent und nicht rückgängig machbar (außer durch manuelles Snapshot-Restore).
41. Brand-Mark v4.0.0¶
Ab v4.0.0 trägt SARmission ein neues Brand-Mark: einen Kompass-Ring mit Nord-Nadel und Pfotenabdruck in Amber auf Navy-Gradient.
41.1 Wo das Logo sichtbar ist¶
- Topbar (links oben in der App)
- Lagebericht-Print (Kopfzeile)
- App-Icon auf Desktop / iPhone / iPad / Android-Home
- Splash-Screen beim App-Start
- Website unter sarmission.de (Kompass-Mark in der Navigation)
41.2 Brand-Identity-Farben¶
| Token | Hex | Verwendung |
|---|---|---|
| Navy-600 | #185FA5 |
Primary, CTAs, Headlines |
| Amber-400 | #FBBF24 |
Accent, Highlights, Brand-Mark |
| Violet-500 | #7C3AED |
DSGVO-Akzent |
Hinweis: Das alte Cyan-Brand-Mark (v3.x) wurde für eine bessere visuelle Konsistenz mit der zukünftigen Website (
sarmission.de) ersetzt. Die UI-Akzent-Farbe in der Software wurde von Cyan auf Amber umgestellt — alle Funktionen sind unverändert.
42. Versionshistorie¶
Vollständige Liste in CHANGELOG.md. Hier eine
operative Zusammenfassung der für Endnutzer relevanten Änderungen
seit v2.x:
| Version | Datum | Highlights |
|---|---|---|
| v3.0.0 | 2026-04 | Visueller Re-Design (Action-Bar, Tool-Rail, neues Brand-Mark) |
| v3.1.x | 2026-04 | Tool-Rail-Konsolidierung, mDNS-aware UI, Hotfixes für Action-Bar-Buttons |
| v3.2.x | 2026-04 | ESLint-Hardening, erweiterte E2E-Test-Coverage (intern) |
| v3.3.0 | 2026-04 | ESM-Migration (intern; keine UX-Änderung) |
| v3.4.0 | 2026-04 | PWA/iPad-Hardening, Capacitor-Mobile-Foundation, Live-Sync mit Host/Join-Sub-Modi + mDNS-Discovery + y-websocket-Relay |
| v3.5.0 | 2026-04 | DSGVO-Compliance-Pack: Doku + Tools + Anonymisierung + Auto-Lösch |
| v3.5.1 | 2026-04 | DSGVO-Settings-Dialog in Topbar, Audit-Trail-Hooks für Hunde + Personen |
| v3.5.2 | 2026-05 | At-Rest-Encryption für Snapshots (AES-256-GCM, Keychain-Master-Key) |
| v3.6.0 | 2026-05 | Encryption auf alle Stammdaten + State erweitert, Default-on für Neuinstallationen, Migrations-IPC |
| v3.7.0 | 2026-05 | Optionale Master-Passphrase (PBKDF2-SHA512) mit Boot-Prompt + Audit-Hooks für Alarmgruppen + Pen-Test-Doku |
| v3.8.0 | 2026-05 | scrypt-KDF (memory-hard) als Default für neue Passphrasen, Upgrade-Pfad für v3.7.0-Bestand |
| v3.9.0 | 2026-05 | Track-Import von Trupp-Smartphones via 3 Übergabe-Pfade (Web-Share-Target / Live-HTTP-Endpoint / Drop-Folder) |
| v3.10.0 | 2026-05 | Tactical Signs DV-101 (12 Symbole, Schadenslage / Eigene Kräfte / Gefahr / Maßnahme), Mission-Timer (durchgängig in Topbar), F3-Schwellwert-Pflicht-Modal (3 Optionen mit Audit), F4-Lock + Re-Freigabe-Workflow mit Tierarzt-Sichtprüfung |
| v3.11.0 | 2026-05 | Tagebuch-Retention mit getrennter Audit-Schwelle (regulär / Audit / Snapshots) |
| v4.0.0 | 2026-05 | UX-Bündel (Quick-Win + Mittel + Aufwendig): U3 Mission-Timer-Aktions-Menü, U4 POI-Reposition-Banner, U5 Lock-Badge-Click, U6 DSGVO Quick-Jump, U11 Onboarding-Tour beim Erststart, U12 Tour-Reset im DSGVO-Dialog, U14 Auto-Update-Error-Handling, C5 Tactical Signs in KML+Print-Export, C6 Bundle-Minify (−32 % Bundle-Größe). Plus neues Brand-Mark (Kompass + Pfotenabdruck) und alle Icons regeneriert. |
Migrations-Hinweise¶
- v2.x → v3.x: Auto-Update-Pfad funktioniert nahtlos. Existierende
einsatz_state.jsonund Stammdaten bleiben unverändert; die At-Rest-Encryption wird nur bei Neuinstallationen automatisch aktiv. Bestehende User können sie jederzeit manuell einschalten (DSGVO-Dialog). - v3.5.x → v3.6.0: Encryption-Coverage erweitert sich von Snapshots auf alle Vereins-Daten — bestehende Encryption-Setting bleibt erhalten, Migration der Klartext-Stammdaten läuft auf Klick.
- v3.7.0 → v3.8.0: Falls Passphrase-Modus aktiv ist, erscheint beim nächsten Öffnen des DSGVO-Dialogs ein „🆙 KDF auf scrypt upgraden"-Button. Ein Klick + Passphrase-Eingabe migriert.
- Auto-Update-Channel: ab v3.5.2 sind alle stable Releases mit
prerelease=falsemarkiert — das electron-updater installiert sie automatisch beim nächsten Start (Glocken-Icon in der Topbar).
43. Bekannte Grenzen / Limitations [Reference]¶
ℹ️ Hinweis: Diese Sektion listet ehrliche Software-Grenzen. Wer SARmission produktiv einsetzt, sollte sie kennen — nicht zur Abschreckung, sondern für realistische Erwartungen.
43.1 Sync-Performance¶
| Limit | Wert | Auswirkung |
|---|---|---|
| Live-Sync-Latenz LAN | < 50 ms | nicht spürbar |
| Live-Sync-Latenz WebRTC-P2P | < 100 ms | nicht spürbar |
| Live-Sync-Latenz Internet | 200–2000 ms | spürbar bei kurzen Edits |
| Maximale Peer-Anzahl pro Raum | empfohlen ≤ 10 | bei > 10 Peers sind Cursor-Updates merklich verzögert |
| Maximale Yjs-Doc-Größe | praktikabel ≤ 5 MB | mehr → Initial-Sync dauert > 5 s |
43.2 Karten-Performance¶
| Limit | Wert | Auswirkung |
|---|---|---|
| Empfohlene POI-Anzahl pro Einsatz | ≤ 100 | mehr → Karten-Rendering wird träge |
| Empfohlene Suchgebiete-Anzahl | ≤ 50 | mehr → Liste schwer übersichtlich |
| Maximale Tile-Cache-Größe | praktikabel ≤ 5 GB | bei großem Bundes-Land-Download Festplatten-Aufmerksamkeit |
| Track-Punkte pro GPS-Spur | empfohlen ≤ 10 000 | mehr → Karten-Pan ruckelt |
43.3 Mobile-Plattform-Lücken¶
Der Capacitor-Build (iOS / Android, ab v3.8.0-mobile.alpha.4) hat gegenüber Desktop folgende Feature-Lücken:
| Funktion | Desktop | Mobile | Roadmap |
|---|---|---|---|
| At-Rest-Encryption (AES-256-GCM, scrypt-KDF) | ✅ | ❌ | v3.9 mit WebCrypto-PBKDF2 + WASM-scrypt |
| Auto-Update (electron-updater) | ✅ | ❌ | über App Store / Play Store |
| LAN-Sync-Hosting | ✅ | ❌ | Capacitor-WebView kann keinen TCP-Server hosten |
| Bluetooth-GPS direkt | ✅ | ⚠️ iOS eingeschränkt | iOS WebBluetooth limitiert |
| ✅ | ⚠️ über Plattform-Print-API | Plattform-bedingt | |
| File-Save-Dialog | ✅ | ⚠️ Capacitor-Filesystem | etwas anderer UX-Flow |
43.4 Browser / PWA-Limits¶
| Limit | Wert | Workaround |
|---|---|---|
| iOS-Safari Bluetooth | nicht unterstützt | Garmin GLO direkt am Mac mit USB |
| Android-Chrome Background-Sync | begrenzt auf 1 min | Sync nur im aktiven Tab |
| Tile-Cache im IndexedDB | ~ 50 MB Quota | für längere Einsätze regelmäßig „Pre-Cache"-Download |
43.5 Bekannte UX-Friktionen (Roadmap v4.x)¶
- Manuelle POA-Gewichtung ist in v4.0.0 nicht möglich (siehe § 7-C)
- Köster-Vertikal-Verschiebung in bergigem Gelände nicht implementiert
- ILS-Schnittstelle (Eingehende Anfragen, Lage-Übermittlung) fehlt — Roadmap v5.x
- Multi-Mission-View (mehrere parallele Einsätze) fehlt
- Rollen-/Rechte-System in der App (verschiedene User mit unterschiedlichen Schreibrechten) fehlt — Workaround: separate User-Accounts auf dem OS
43.6 Datenschutz-/Compliance-Grenzen¶
🚨 Warnung: Bei Verlust der Master-Passphrase (Modus B) sind alle verschlüsselten Daten unwiederbringlich. Es gibt keinen Recovery-Mechanismus.
- Audit-Trail ist nicht kryptographisch signiert — eine
Vereins-Administrator-Person mit Schreibzugriff auf den
userData- Ordner könnte Einträge verändern. Workaround: Auto-Backup auf WORM-Medium (Write-Once-Read-Many). - Keine forensisch-belastbare Lösch-Garantie — gelöschte
Tagebuch-Einträge sind aus dem Yjs-CRDT entfernt, aber theoretisch
in alten Snapshots noch enthalten (
userData/snapshots/).
44. Daten-Schema (.rhs-Format) [Reference]¶
🔧 Fortgeschritten: Diese Sektion dokumentiert das interne Daten-Format für Power-User, die externe Auswertungen schreiben oder Custom-Importer entwickeln wollen.
44.1 Format-Identifier¶
Jede .rhs-Datei trägt am Top-Level den Identifier:
Künftige Format-Änderungen werden mit einem neuen Identifier
(rhs-einsatz-v2) markiert. v1-Files bleiben weiterhin lesbar.
44.2 Top-Level-Schema¶
| Feld | Typ | Bedeutung |
|---|---|---|
format |
string | Immer "rhs-einsatz-v1" |
savedAt |
ISO 8601 | Zeitpunkt der Datei-Speicherung |
missionStartedAt |
epoch ms / null | Mission-Timer-Start (F2) |
meta |
object | Einsatz-Stammdaten (siehe 44.3) |
units |
array | Einheiten (siehe 44.4) |
areas |
array | Suchgebiete (siehe 44.5) |
tracks |
object | GPS-Spuren je Gerät |
tacticalSigns |
array | DV-101-Symbole (siehe 44.6) |
logEntries |
array | Tagebuch-Einträge (siehe 44.7) |
steckbrief |
object | Vermissten-Steckbrief |
alarms |
array | Alarmierungen |
missingProfile |
object / null | Vermisstenprofil + IPP |
mapState |
object | Karten-Zoom + Layer |
44.3 meta (Einsatz-Stammdaten)¶
"meta": {
"id": "E-DEMO-2026-014",
"nr": "RHS-2026-014",
"name": "Vermisstensuche Forsthaus Neckarelz",
"stichwort": "Demenz / hilflose Person",
"leiter": "M. Schreiner",
"datum": "2026-05-07",
"zeit": "14:32"
}
44.4 units (Einheiten)¶
Pro Einheit:
{
"id": "U-DEMO-MT-1",
"kennung": "RHS-Mosbach-MT-1",
"status": "im-einsatz",
"hiorg": "DRK",
"zf": 1, "gf": 1, "hf": 1, "he": 0, "fl": 0, "mt": 1,
"personen": 3,
"teamDogs": [],
"einsatzState": "running",
"einsatzStart": null,
"einsatzElapsedSec": 2880,
"einsatzWarn80": true,
"einsatzWarn90": true,
"einsatzWarn100": true,
"einsatzDecision100": "pause",
"einsatzDecision100Reason": "Bero zeigt Müdigkeit",
"einsatzDecision100At": 1778076780000,
"lockState": null,
"tierarztSichtpruefung": null
}
Vollständige Feld-Liste siehe § 37-B.4.
44.5 areas (Suchgebiete)¶
{
"id": "A-DEMO-SektorA",
"name": "Sektor A — Nahbereich IPP",
"color": "#22c55e",
"status": "abgeschlossen",
"unitIdx": 1,
"unitId": "U-DEMO-JUH-1",
"poaCurrent": 15,
"pod": 85,
"latlngs": [[49.353, 9.107], [49.353, 9.109], ...]
}
44.6 tacticalSigns (DV-101)¶
{
"id": "ts-demo-ipp",
"signId": "ipp",
"lat": 49.354,
"lng": 9.108,
"label": "LKP Hans M. — 14:00 Uhr",
"createdAt": 1778071320000
}
signId ist einer der 12 Werte aus
§ 36-A.1 (vp-vermisst,
vp-gefunden, verletzt, tot, ipp, bereitstellung,
verbandsplatz, sammelstelle, elw, gefahr, brand,
k9-einheit).
44.7 logEntries (Tagebuch)¶
{
"id": "log_dm01",
"time": "14:32",
"at": 1778070720000,
"kat": "funk",
"text": "Eingehende Anfrage Polizei …",
"autor": "Funk",
"isManual": true,
"isAudit": false,
"editHistory": []
}
kat ist einer von: meldung, lage, einheit, funk, alarm,
notiz, system. isAudit: true markiert Audit-Trail-Einträge
mit höherer Retention-Schwelle (siehe
§ 40).
44.8 KML-Export-Konvention¶
KML-Dateien (Google Earth-kompatibel) verwenden folgende Struktur:
- Suchgebiete als
<Polygon>mit<color>(KML-AABBGGRR-Format) - POIs als
<Point>mit<name>und Icon-Reference - Tactical Signs als
<Point>mit<styleUrl>auf 12 vordefinierte DV-101-Styles (in<Document>-Header) - GPS-Tracks als
<LineString>pro Trupp
Demo-Datei mit allen Elementen: siehe
docs/marketing/demo-data/sarmission-demo-einsatz.rhs.
45. Barrierefreiheit / Accessibility [Reference]¶
ℹ️ Hinweis: Barrierefreiheit ist in v4.0.0 partiell unterstützt. Diese Sektion listet ehrlich, was funktioniert und wo noch Lücken sind.
45.1 Was funktioniert¶
| Aspekt | Status |
|---|---|
| Tastatur-Navigation | ✅ Alle Topbar-Buttons + Tab-Leiste sind per Tab/Shift-Tab erreichbar |
| Tastaturkürzel | ✅ Vollständig dokumentiert (siehe § 21) |
| ESC schließt Dialoge | ✅ (Ausnahme: F3-Pflicht-Modal — bewusst nicht ESC-bar) |
| Hoher Farb-Kontrast | ✅ Standard-Theme erfüllt WCAG-AA für Body-Text |
| Focus-Indikatoren | ✅ Tab-Focus sichtbar (blauer Outline) |
| Sprache: Deutsch durchgängig | ✅ Konsistente Lokalisierung |
45.2 Was teilweise funktioniert¶
| Aspekt | Status | Hinweis |
|---|---|---|
| Screen-Reader (VoiceOver / NVDA) | ⚠️ teilweise | Karten-Region ist nicht semantisch beschriftet — Leaflet-Limitierung |
| Color-Blind-Safe | ⚠️ Status-Badges (rot/orange/grün) verwenden zusätzlich Symbole, aber Karten-Polygon-Farben sind nicht color-blind-sicher | Workaround: Custom-Color-Picker pro Suchgebiet |
| Vergrößerung (Zoom) | ⚠️ Layout reagiert auf Browser-Zoom 50–150 % gut, ab 200 % brechen einige Panels |
45.3 Was nicht funktioniert (Roadmap v4.x)¶
| Aspekt | Status | Roadmap |
|---|---|---|
| Vollständige Screen-Reader-Bedienung der Karten-Region | ❌ | v4.2 (semantische ARIA-Labels für Suchgebiete und POIs) |
| High-Contrast-Mode für Sehschwäche | ❌ | v4.2 (separater Theme-Switcher) |
| Touch-Friendly-Mode (größere Tap-Targets) | ⚠️ PWA hat 44px-Targets, Desktop nicht | v4.1 |
| Dynamic Font Scaling (Body-Text 12 → 18 pt einstellbar) | ❌ | v4.2 |
45.4 Empfehlung¶
Für Hundeführer:innen mit Sehschwäche oder eingeschränkter Feinmotorik empfehlen wir aktuell die PWA-Variante auf einem iPad — die Touch-Targets sind dort größer, und die System- Vergrößerung von iOS ergänzt SARmission gut.
🌐 BOS-Übergreifend: Die EU-Web-Accessibility-Richtlinie (BITV 2.0 in DE) gilt nicht direkt für Vereins-Software, ist aber ein guter Maßstab. Wir streben für v4.2 eine WCAG-2.1-AA-Konformität für die Kern-UI-Komponenten an.
Anhang A: Glossar¶
Alphabetisch sortiert. Begriffe, die im Handbuch ohne Erklärung auftauchen, finden Sie hier kompakt definiert. Bei tieferer Erklärung Verweis auf die entsprechende Sektion.
| Begriff | Definition |
|---|---|
| A2HS | Add-To-Home-Screen — Mechanismus auf iPhone/iPad/Android, eine Web-App wie eine native App auf den Home-Bildschirm zu legen. |
| AGPL-3.0 | Affero General Public License v3.0 — Open-Source-Lizenz für den SARmission Free Core. |
| Audit-Eintrag | Tagebuch-Eintrag, der nicht durch User-Eingabe sondern automatisch durch das System angelegt wird (Stammdaten-Änderung, F3-Decision, F4-Lock, Mission-Beenden, etc.). Siehe § 33 und § 40. |
| B-Raum | Bereitstellungsraum — zentraler Treffpunkt für ankommende Trupps mit Funk, Verpflegung, Lagebriefing. Auf der Karte als blauer Wimpel mit gestricheltem „B" markiert. |
| BOS | Behörden und Organisationen mit Sicherheitsaufgaben (Polizei, Feuerwehr, Rettungsdienst, Hilfsorganisationen, THW, Bundeswehr im Inland). |
| BRH | Bundesverband Rettungshunde e. V. — überregionaler Verband mit eigenen Staffeln, parallel zu DRK / JUH / MHD / ASB-Staffeln. |
| CRDT | Conflict-Free Replicated Data Type — mathematisches Modell für die Live-Sync-Bibliothek Yjs, die Konflikt-Auflösung bei gleichzeitiger Bearbeitung garantiert. Siehe § 18. |
| DOP | Digitales Orthophoto — amtliches Luftbild mit Geo-Referenzierung. SARmission nutzt das BKG-DOP von basemap.de. Siehe § 28. |
| DRK | Deutsches Rotes Kreuz. |
| DV 101 | Dienstvorschrift Bevölkerungsschutz mit der standardisierten taktischen Symbolik für deutsche BOS-Lagebild-Kommunikation. SARmission unterstützt 12 zentrale Symbole. Siehe § 36. |
| DSGVO | Datenschutz-Grundverordnung (EU 2016/679). SARmission ist seit v3.5.0 vollständig DSGVO-konform. Siehe § 30–33. |
| DWD | Deutscher Wetterdienst — amtliche Wetter-Warnungen werden via brightsky.dev abgerufen. Siehe § 10.5. |
| EL | Einsatzleitung / Einsatzleiter. Die operativ verantwortliche Person für die Steuerung des Einsatzes. |
| ELS | Einsatz-Leitstelle (deutsches Pendant zu ICS Incident Command Standards). SARmission druckt ELS-201 Lagebericht und ELS-204 Suchauftrag. Siehe § 29. |
| ELW | Einsatzleitwagen — mobiler Einsatzleitstand auf Fahrzeug-Basis. |
| Fährte | Geruchsspur, die vom Hund vom vorgegebenen Startpunkt aus verfolgt wird. Im Unterschied zum Trail (Mantrailing) keine individuelle Vorgabe der Personen-Identität. |
| Flächensuche (FL) | Methode, bei der ein Hund ein definiertes Gebiet flächendeckend nach allgemeinem Menschengeruch absucht. Standard für unbekannte Aufenthaltsorte in Wald-/Feldgelände. |
| FL-H | Flächensuch-Hund — FL-zertifizierter Hund / Hundeteam. |
| GF | Gruppenführer — Leiter einer Gruppe aus 2–3 Trupps. Hierarchie: ZF > GF > TF > HF. |
| HE | Helfer — assistierende Person ohne Hundeführer-Funktion (Sicherung, Funk, Logistik, Verpflegung). |
| HF | Hundeführer — Person mit ausgebildetem Suchhund. Bildet zusammen mit dem Hund ein Hundeteam. |
| HiOrg | Hilfsorganisation: DRK, JUH, MHD, ASB, BRH, THW (im RHS-Kontext). Siehe Anhang B. |
| Hundeteam | Zertifizierte Mensch-Hund-Einheit mit definierter Spezialisierung (FL, MT, Trümmer, Wasser, Lawine, Leichensuche). |
| ICS | Incident Command System — internationaler Standard für Einsatz-Befehlsstrukturen. SARmission liefert deutsche Pendants ELS-201 / ELS-204. |
| ILS | Integrierte Leitstelle — kombinierte Polizei-/Rettungsdienst-Leitstelle (oder nur Rettung). Anforderer von RHS-Einsätzen. |
| IPP | Initial Planning Point — der Punkt, von dem aus die Such-Planung gestartet wird. Oft identisch mit dem LKP (Last-Known-Point), kann aber abweichen, wenn der LKP unsicher ist. Siehe § 9.2. |
| JUH | Johanniter-Unfall-Hilfe. |
| K9 | Internationale Kurzform für „Canine" (Hund). Steht für „Suchhund-Einheit". |
| KDF | Key Derivation Function — Funktion, die aus einer User-Passphrase einen kryptographischen Schlüssel ableitet. SARmission verwendet PBKDF2-SHA512 (v1) und scrypt (v2). Siehe § 32.5. |
| KML | Keyhole Markup Language — XML-basiertes Geo-Format, kompatibel mit Google Earth, QGIS, ArcGIS. |
| Koester-Modell | Statistisches Modell von Robert J. Koester (NASAR, 2008), das auf Basis vergangener Vermissten-Fälle Verhalten und maximale Bewegungs-Reichweiten je Personenkategorie (Demenz, Wanderer, Kind etc.) prognostiziert. Siehe § 9. |
| Lagebild | Karten-basierte Darstellung aller relevanten Einsatz-Elemente (Suchgebiete, Einheiten, IPP, Funde). |
| LKP | Last-Known-Point — letzter sicher belegter Aufenthaltsort der vermissten Person. |
| MANV | Massenanfall von Verletzten / Erkrankten — Großschadenslage mit zahlreichen Patienten. |
| Mantrailing (MT) | Methode, bei der ein Hund eine individuelle Geruchsspur einer bestimmten Person verfolgt — ausgehend von einem Geruchsträger (z. B. getragenes Kleidungsstück). Standard für bekannte Vermisste mit Last-Known-Position. |
| Mattson-Verfahren | Mathematische Methode (basierend auf bedingten Wahrscheinlichkeiten / Bayes-Update) zur Priorisierung von Suchgebieten unter Berücksichtigung der bereits durchgeführten Suchen. SARmission implementiert dies im POA/POD-System. Siehe § 7. |
| mDNS | Multicast DNS / Bonjour — Auto-Discovery-Mechanismus im LAN. SARmission nutzt es, um Sync-Hosts automatisch zu finden. Siehe § 18.4. |
| MHD | Malteser Hilfsdienst. |
| MT-H | Mantrailer-Hund — MT-zertifizierter Hund / Hundeteam. |
| NASAR | National Association for Search and Rescue (USA) — internationale Standardisierungs-Quelle für SAR-Methodik. Quelle der POD-Tabellen und Koester-Daten. |
| NMEA | Datenformat für GPS-Empfänger (NMEA 0183 mit Sätzen wie GPRMC, GPGGA). Siehe § 12. |
| POA | Probability of Area — Wahrscheinlichkeit (in %), dass die vermisste Person in einem bestimmten Suchgebiet ist. Wert zwischen 0 und 100, normalerweise gleichverteilt zu Beginn der Planung. |
| POD | Probability of Detection — Wahrscheinlichkeit (in %), dass eine durchsuchte Fläche die vermisste Person tatsächlich gefunden hätte, wenn sie dort wäre. Hängt von Hund-Spezialisierung, Wetter, Gelände und Suchaufwand ab. Standard-Werte siehe § 24. |
| POI | Point of Interest — Wegpunkt auf der Karte (Sammelplatz, Hindernis, Fundort, Hilfspunkt). Siehe § 8. |
| PWA | Progressive Web App — installierbare Web-Anwendung im Browser. SARmission läuft als PWA auf iPad / iPhone / Android. Siehe § 34.1. |
| Raum-ID | Live-Sync-Identifier, der mehrere Geräte zur gleichen Synchronisations-Sitzung zuordnet. Default = Einsatz-Nr. |
| Rettungshundestaffel (RHS) | Operative Einheit mit zertifizierten Hundeteams für Such- und Rettungseinsätze. |
.rhs-Datei |
SARmission-Mission-Datei (JSON-Format). Enthält den vollständigen Einsatz-State (Einheiten, Suchgebiete, POIs, Tagebuch, Steckbrief, Tactical Signs). Format-Marker: format: "rhs-einsatz-v1". |
| SAR | Search and Rescue — Suche und Rettung. |
| scrypt | Memory-hard Key Derivation Function (RFC 7914). SARmission v3.8.0 verwendet scrypt mit N=2¹⁷, r=8, p=1 für die Master-Passphrase-Verschlüsselung. Resistent gegen GPU-/ASIC-Brute-Force. |
| Stab S1–S6 | Standardisierte Stabs-Funktionen: S1 Personal, S2 Lage, S3 Einsatz, S4 Versorgung, S5 Presse/Information, S6 Information/Kommunikation. |
| Stärkemeldung | Standardisierte Erfassung der personellen Zusammensetzung einer Einheit nach Funktion (ZF / GF / HF / HE / FL-H / MT-H). |
| Steckbrief | Strukturierte Erfassung der Daten der vermissten Person (Name, Alter, Foto, Bekleidung, medizinische Besonderheiten, Verhalten). Siehe § 5.6. |
| Suchgebiet (Sektor) | Auf der Karte definiertes Polygon, in dem ein Trupp eine systematische Suche durchführt. SARmission berechnet automatisch Fläche und FL-Hunde-Bedarf (1 FL-H pro 45.000 m²). |
| Tactical Sign DV-101 | Standardisiertes taktisches Symbol nach Dienstvorschrift Bevölkerungsschutz (rote Raute = Schadenslage, blauer Wimpel = eigene Kraft, gelbes Dreieck = Gefahr, weißes Quadrat mit rotem Kreuz = Verbandsplatz, etc.). Siehe § 36. |
| TF | Truppführer — Leiter eines Trupps aus 2–5 Personen. |
| THW | Technisches Hilfswerk — bundesweite Bevölkerungsschutz-Behörde mit Fachgruppe Ortung (inkl. Rettungshunde). |
| Trail | Mantrailer-Spur — die individuell-definierte Geruchsverfolgung. |
| Trümmersuche | Spezialisierung für die Suche nach Verschütteten in zerstörten Gebäuden (Erdbeben, Explosion, Bauschaden). |
| Trupp | Operative Sub-Einheit aus 2–5 Personen, typischerweise mit einem oder zwei Hunden. |
| UTM | Universal Transverse Mercator — projeziertes Koordinatensystem, in der deutschen Vermessung Standard. SARmission zeigt UTM-Gitter mit Zone, Easting, Northing. Siehe § 11. |
| Vermisstenprofil | Klassifikation der vermissten Person nach Koester-Kategorie (Demenz, Wanderer, Kind 4–6 J., etc.) für Such-Strategie und Distanzring-Berechnung. |
| VP | Vermisste Person. |
| Wasserortung | Spezialisierung für die Suche von Personen unter Wasser (vom Boot aus, der Hund wittert Geruchsspuren an der Wasseroberfläche). |
| Witterungsalter | Zeit, die zwischen dem Verlassen einer Geruchsquelle und dem Beginn der Trail-Verfolgung vergangen ist. Beeinflusst Mantrailer-Tauglichkeit erheblich. Üblich: ≤ 4 h gut, 4–24 h schwierig, > 24 h Profi-Trupp nötig. |
| WMS | Web Map Service — Kartendienst-Standard für Online-Geo-Daten. SARmission nutzt WMS für ALKIS, VG250 und FFH-Schutzgebiete. Siehe § 28.2. |
| Yjs | JavaScript-Bibliothek für Conflict-Free Replicated Data Types (CRDT). Realisiert SARmission's Live-Sync-Backbone. |
| ZF | Zugführer — Leiter eines Verbands aus mehreren Gruppen (höher als GF). |
Anhang B: Hilfsorganisations-Mapping¶
Übersicht der deutschen Träger von Rettungshundestaffeln. SARmission ist hilfsorganisations-übergreifend gebaut — alle Rollen, Stärke- Notationen, Funk-Konventionen und Tactical Signs sind kompatibel.
B.1 Träger-Struktur¶
| Träger | Voller Name | Sitz / Trägerschaft | Anzahl Staffeln |
|---|---|---|---|
| DRK | Deutsches Rotes Kreuz | föderal je Kreisverband | ~150–200 |
| JUH | Johanniter-Unfall-Hilfe | je Regional-/Landesverband | ~80 |
| MHD | Malteser Hilfsdienst | je Diözese / Region | ~60 |
| ASB | Arbeiter-Samariter-Bund | je Regional-/Landesverband | ~30 |
| BRH | Bundesverband Rettungshunde e. V. | überregional, eigene Staffeln | ~97 (2024) |
| THW | Technisches Hilfswerk Fachgruppe Ortung | bundesweit | ~5 (Ortungs-Komponente mit K9) |
B.2 Gemeinsame Standards¶
Trotz unterschiedlicher Trägerschaft gibt es bundesweit etablierte Standards:
| Standard | Quelle / Kürzel | In SARmission |
|---|---|---|
| Hundeprüfung | je nach Verband (BRH / DRK-Bund / o. ä.); zentrale Spezialisierungen FL / MT / Trümmer / Wasser / Lawine | Stammdaten-Tab → Hunde + Prüfungen |
| Stärkemeldung | ZF / GF / HF / HE / FL-H / MT-H | Einheits-Formular |
| DV-101 Tactical Signs | Dienstvorschrift Bevölkerungsschutz | § 36 |
| POD-Werte | NASAR „Managing Search Operations" | § 24 |
| Koester-Modell | NASAR „Lost Person Behavior" 2008 | § 9 |
| POA/POD-Bayes-Update | Mattson-Verfahren | § 7 |
B.3 Hilfsorganisations-Felder in SARmission¶
Im Einheits-Formular (siehe § 5.1) gibt es das Feld HiOrg mit den Werten:
DRK / BRK / JUH / MHD / ASB / BRH / DLRG / THW / Feuerwehr / Polizei / Sonstige
Im Lagebericht-PDF und im KML-Export wird die HiOrg-Information mitgeführt — relevant für Polizei-Übergabe und Verbands-Statistik.
B.4 Beispiel: Multi-HiOrg-Einsatz¶
Ein typisches Mosbach-Szenario in SARmission:
Einsatz RHS-2026-014 (Forsthaus Neckarelz)
├── RHS-Mosbach-MT-1 (DRK) — Mantrailer
├── RHS-Mosbach-FL-1 (DRK) — Flächensuche
├── JUH-Heidelberg-1 (JUH) — Flächensuche (Fremdkraft)
└── Malteser-Heilbronn-2 (MHD) — Flächensuche (Fremdkraft)
Alle 4 Einheiten arbeiten im gleichen SARmission-Lagebild, sehen die gleichen Suchgebiete, und ihre Funkmeldungen landen im gemeinsamen Tagebuch.
Anhang C: Wartungs-Prozess¶
Dieser Anhang dokumentiert den Prozess für Handbuch-Aktualisierungen bei jeder Software-Änderung — wie im Auftrag „Bestandsaufnahme" (
MANUAL-BESTANDSAUFNAHME.md) verlangt.
C.1 Trigger-Punkte¶
Folgende Software-Änderungen lösen automatisch eine Handbuch-Pflicht- Aktion aus:
| Software-Änderung | Handbuch-Pflicht-Aktion |
|---|---|
| Neue UI-Funktion (Action-Bar-Button, Sidebar-Tab, Modal) | Neue Sektion oder Update bestehender Sektion + Screenshot |
| Geänderter Workflow (z. B. F3-Modal-Pflicht statt nur Toast) | Bestehende Sektion umschreiben |
| Neuer Crypto-/DSGVO-Mechanismus | Neue Subsektion in §§ 30–33 |
| Major-Version-Bump | Versionshistorie + Header-Stand + ggf. Migrations-Hinweis |
| Geänderte Bedingung / Schwellwert (z. B. wetter-adaptiver Faktor) | Tabelle aktualisieren |
| Neue Plattform-Variante (PWA, Capacitor, Linux-Build) | § 34 Mobile- und PWA-Modus erweitern |
| Brand-/Logo-Änderung | Topbar-Screenshot + Branding-Hinweis |
| Neue Tactical Signs / Symbole | § 36 Tactical-Signs-Tabelle erweitern |
| Neue Hundewohl-Schwellwerte | § 37.1 Faktor-Tabelle aktualisieren |
| Neuer Glossar-Begriff im Code (z. B. Fachbegriff in einer neuen UI-Doku-Tooltip) | Glossar (Anhang A) erweitern |
C.2 Pre-Release-Checkliste¶
Vor jedem v*.*.*-Tag-Push:
[ ] Versionshistorie in § 42 ergänzt
[ ] Header-Versionsnummer + Datum aktualisiert
[ ] Neue Features dokumentiert (mindestens als Subsektion)
[ ] Geänderte UI-Elemente: Screenshots neu aufgenommen
(npm run build:manual-screens)
[ ] Cross-Refs auf neue Sektionen geprüft
(grep -nE "§ [0-9]" docs/MANUAL.de.md | wc -l)
[ ] Glossar (Anhang A) erweitert um neue Fachbegriffe
[ ] CHANGELOG.md ↔ Handbuch-§-Konsistenz geprüft
[ ] MANUAL-BESTANDSAUFNAHME.md aktualisiert (Versions-Drift, Score-Karte)
[ ] PDF + HTML-Build neu generiert
(npm run build:manual-pdf)
[ ] Neue Inhalte gegen ELW-Außensicht-Persona geprüft
(Glossar erweitert, jede Fachbegriff-Erstverwendung verlinkt?)
C.3 Empfohlener Maintenance-Rhythmus¶
| Trigger | Aufwand | Priorität |
|---|---|---|
Patch-Release (vX.Y.Z+1) |
typisch 30 Min | Glossar + Versionshistorie + ggf. Screenshot |
Minor-Release (vX.Y+1.0) |
typisch 2-4 h | Neue Sektionen, Bestandsaufnahme-Refresh |
Major-Release (vX+1.0.0) |
typisch 1-2 Tage | Strukturelle Review, alle 6 Achsen der Bestandsaufnahme neu bewerten |
C.4 Automatisierungs-Vorschläge (mittelfristig)¶
Diese Hooks könnten den Maintenance-Aufwand reduzieren:
- CI-PR-Check: Pull Request, der
src/js/modules/*.jsändert, muss einen Hinweis im PR-Template enthalten, dass das Handbuch geprüft wurde. - Coverage-Script
scripts/check-manual-coverage.mjs: Sucht in der Codebase nach// @manual:section X.Y-Annotationen und prüft, ob jede Annotation auch im MANUAL.de.md vorhanden ist. Fehlerhinweise im Build. - Glossar-Lint: Sucht in MANUAL.de.md nach Fachbegriffen aus einer Whitelist und warnt, wenn ein Begriff verwendet wird, der noch nicht im Glossar steht.
C.5 Bestandsaufnahme-Refresh¶
Die MANUAL-BESTANDSAUFNAHME.md sollte
alle 3 Monate ODER bei jedem Major-Bump neu evaluiert werden. Die
Score-Karte (Achsen A–F) wird tabellarisch in der Bestandsaufnahme
geführt — mit jeder Iteration wird eine neue Spalte ergänzt, sodass
Verbesserungen über die Zeit nachverfolgbar sind.
Ende der Bedienungsanleitung. Bei Bug-Reports, Feature-Wünschen oder Schulungsbedarf: GitHub-Issue unter github.com/stefanseyfferth-hue/sarmission/issues oder E-Mail an die Rettungshundestaffel Mosbach.
Stand: SARmission v4.0.0 (2026-05-06).