Gen-EM NAdoku

Handbuch

Gen-EM NAdoku — Handbuch, aus Handbuch.md im Repositorium

Für die technische Struktur siehe Technik.md, für Änderungen CHANGELOG.md.

Aufbau. Kapitel 1 bis 10 gelten für alle: die Uhr, die Weboberfläche, die eigenen Daten. Kapitel 11 (Verwaltung) und Kapitel 12 (Betrieb) folgen den beiden Menüblöcken, die nur Admins bzw. BetreiberInnen sehen — Abschnitt für Abschnitt in der Reihenfolge des Menüs. Wer nur dokumentiert, braucht die beiden nicht.

1. Was ist Gen-EM NAdoku?

Gen-EM NAdoku dokumentiert Notarzteinsätze direkt vom Handgelenk — luft- gebunden wie bodengebunden (RTH, NEF, NAW): Eine Uhr-App (derzeit für Garmin-Uhren — rund hundert Modelle, gebaut und geprüft an Fenix 6 Pro, Forerunner 945, Venu 3s; dazu eine Wear-OS-Uhr mit der Android-App) erfasst Einsatzphasen mit Zeitstempeln, GPS-Tracks und Reanimations-Ereignisse und lädt alles automatisch auf einen eigenen Server. Die Web-Oberfläche zeigt Diensttage mit Karte, Einsatz-Details und Reanimations-Protokollen — und erlaubt Nachtragen und Bearbeiten von Hand.

Patientendaten sind geschützt. Nachname, Vorname, Geburtsdatum, Alter, Diagnose, die Einsatznummer, der Einsatzort (Adresse und Koordinate) und seine Beschreibung, der manuelle Abfahrtort sowie die Notizen des Einsatzes werden Ende-zu-Ende-verschlüsselt gespeichert: Der Browser ver- und entschlüsselt sie mit einem Schlüssel aus deinem Login-Passwort, der Server sieht nur Chiffretext (Abschnitt 5). Seit Web 22 gilt das ebenso für die Ortsdaten — GPS-Daten, die Koordinate jeder Einsatzphase, Reanimation, Transportziel und Ortshöhe. Die Notizen des Diensttags und die übrigen Freitextfelder sind davon nicht erfasst — dort gehören keine Patientendaten hinein; sie tragen die Kleinzeile „Klartext — keine Patientendaten". Was sonst im Klartext liegt und warum, steht in Abschnitt 5.


2. Die Uhr-App

2.0 Unterstützte Uhren und ihre Bedienung

Die App läuft auf der Fenix 6 Pro, der Forerunner 945 und der Venu 3s. Fenix und Forerunner werden gleich bedient. Die Venu 3s hat nur zwei Tasten, die Apps überhaupt erreichen — die mittlere ist von Garmin belegt — und wird deshalb zusätzlich über den Touchscreen bedient:

Auf Fenix / Forerunner Auf der Venu 3s
kurz UP / DOWN nach oben / unten wischen
kurz START kurz Action (Taste oben rechts)
lang START lang Action oder lang Zurück
lang UP / lang DOWN nicht verfügbar — die Ereignisse liegen im Rea-Untermenü
BACK kurz Zurück (Taste unten rechts) oder nach rechts wischen

Der lange Druck liegt auf der Venu bewusst doppelt: Sollte die Uhr den langen Druck der Action-Taste für ihr eigenes Steuerungsmenü abfangen, bleibt die App über den langen Zurück-Druck vollständig bedienbar.

Auch die Kopplung folgt dieser Tabelle. Sie startet auf der Sync-Seite mit lang START (Abschnitt 2.2) — auf der Venu 3s also mit lang Action oder lang Zurück. Die Weboberfläche und Abschnitt 12 beschreiben den Ablauf gerätefrei und verweisen für den Tastenweg hierher.

Tippen auf den Bildschirm bewirkt auf den Hauptseiten nichts. Das ist Absicht — unter Einsatzbedingungen soll eine versehentliche Berührung nichts auslösen. In Menüs kann ein Tippen den gerade markierten Eintrag auswählen.

Uhren mit Touchscreen und UP/DOWN-Tasten (Fenix 7, Epix 2, FR965 und ähnliche) bedienst du mit denselben Tasten wie die Fenix 6 Pro. Für sie gibt es in den App-Einstellungen in Garmin Connect den Schalter „Touchbedienung verwenden" (Vorgabe: an). Steht er auf aus, verwirft die App Wischen und Tippen auf ihren eigenen Seiten und Menüs — es zählen nur noch die Tasten (seit Uhr 4.1.0; bis dahin stand der Schalter da und bewirkte nichts). Die Rückfragen („Einsatztag beenden?" und ähnliche) und die Liste „Zeiten" sind Bausteine der Uhr selbst; dort wirkt ein Tippen weiter. Auf der Venu 3s hat der Schalter keine Wirkung, weil sie ohne Touch unbedienbar wäre, auf Uhren ohne Touchscreen ohnehin nicht.

2.1 Dienst beginnen und beenden

Beim Öffnen der App erscheint „Dienst beginnen?". Erst ein Druck auf START aktiviert die App und die GPS-Aufzeichnung — vorher passiert nichts. Der Diensttag läuft, bis du ihn über das Schnellmenü mit „Einsatztag beenden" (Sicherheitsabfrage) schließt; dabei werden Restdaten hochgeladen. Das Datum des Diensttags ist das Datum des Dienstbeginns — auch bei Diensten über Mitternacht.

Jeder Druck auf START erzeugt einen eigenen Diensttag. Zwei Dienste an einem Kalendertag sind damit möglich und vorgesehen — etwa ein Hubschrauberdienst am Tag und ein NEF-Nachtdienst am Abend. Beide erscheinen im Web als getrennte Zeilen, unterschieden durch die Uhrzeit des Dienstbeginns.

Wurde die App während eines Dienstes versehentlich mehrfach gestartet, sind daraus mehrere Diensttage geworden. Im Web lassen sie sich wieder zusammenführen (Abschnitt 4.5a).

Die Uhr kennt die Einsatzart nicht. Sie fragt weder nach Standort noch nach Rettungsmittel; beides trägst du im Web nach. Bis dahin ist der Diensttag neutral — Zeiten, Phasen, Track und Reanimation werden trotzdem vollständig erfasst.

Ein Neustart der Uhr oder der App mitten im Dienst ist unkritisch: Phase, Track und eine laufende Reanimation werden nahtlos fortgesetzt.

Schon vor dem Dienstbeginn führt kurz DOWN vom Startbildschirm auf die Sync-Seite. Sie zeigt Kopplungszustand, Serveradresse und die App-Version — und dort startet auch die Kopplung (lang START, Abschnitt 10). Zurück zum Startbildschirm geht es mit kurz UP oder mit BACK; beide tun dasselbe. Weiter nach unten führt von hier nichts: Die Oberflächen aus Abschnitt 2.2 gibt es erst im laufenden Dienst.

Steht dort etwas in Rot? Jede Meldung sagt dir, was zu tun ist.

„Abgemeldet, Daten bis 27.10." (seit Uhr 4.1.0; davor „Gerät nicht mehr angemeldet") heißt: Der Server kennt diese Uhr nicht mehr — sie wurde in den Einstellungen gelöscht. Die Uhr hört dann auf zu senden und behält alles — 30 Tage lang, gezählt ab der ersten Abmeldung. Danach verwirft sie alle ungesendeten Pakete: Eine Uhr, die niemand mehr koppelt, soll Spur, Phasen und Reanimation nicht unbegrenzt tragen. Das Datum in der Zeile ist der letzte Tag. Der Weg zurück ist eine neue Kopplung (lang START), auch wenn noch Pakete offen sind (seit Uhr 4.3.0; davor verweigerte die Uhr sie mit „Erst 2 Pakete senden", und es blieb nur die Frist). Die Uhr fragt dann „Trennen? 2 Pakete bleiben und gehen nur ans selbe Konto". Koppelst du sie wieder an dein Konto, gehen die Pakete hinaus. Koppelst du sie an ein anderes, gehen sie dort nicht hin — sie gehören dir und wären dort lesbar; die Sync-Seite zeigt dann „2 Pakete altes Konto" und kurz START verwirft sie nach einer Rückfrage. Die Frist läuft für sie weiter. Während eines Dienstes geht das nicht („Erst Dienst beenden").

„Gerät im Web deaktiviert" mit „Im Web klären, bis 27.10." darunter (seit Uhr 4.2.0; davor stand auch hier „Abgemeldet") heißt: Die Uhr ist in den Einstellungen abgeschaltet. Statt „Gerät im Web deaktiviert" kann dort auch „Konto gesperrt", „Konto wartet auf Freigabe" oder „Adresse nicht bestätigt" stehen — dann liegt es am Konto. Die Uhr sendet nicht, behält alles mit derselben Frist wie oben. Neu koppeln hilft hier nicht: Im Web das Gerät wieder einschalten (oder das Konto freigeben lassen), dann auf der Uhr die Sync-Seite einmal verlassen und wieder öffnen — beim Öffnen versucht sie es, und der Rückstand geht hinaus. (Bis Uhr 4.1.1 musste die App dafür ganz neu gestartet werden, Backlog Nr. 431.)

„Konto voll" mit „Im Web aufräumen" (seit Uhr 4.2.0) heißt: Dein Konto hat seine Mengengrenze erreicht. Die Uhr behält alles und versucht es nach einer Stunde wieder; im Web Altes löschen oder die Grenze heben lassen. Gedämpft, nicht rot, steht dagegen „Server bremst bis 13:05": Der Server hat um eine Pause gebeten, und die Uhr wartet bis dahin.

„1 abgewiesen" heißt: Der Server hat dieses eine Paket dauerhaft zurückgewiesen, es kommt nie an. Alles andere wird weiter gesendet. Mit kurz START kannst du es verwerfen; die Uhr fragt vorher nach, denn die Aufzeichnung ist danach fort. Solange du es stehen lässt, belegt es Platz im Speicher der Uhr — beim Trennen der Kopplung wird es ohnehin verworfen. Seit Uhr 4.0.0 räumt die Uhr es nach 30 Tagen selbst weg, gezählt ab dem Abweisen: Eine Spur, die nie mehr ankommt, soll nicht für immer auf einem Gerät liegen, das verlorengehen kann.

„Kein Schlüssel" (seit Uhr 4.0.0) heißt: Die Uhr ist gekoppelt, hat aber den Schlüssel deines Kontos nicht, mit dem sie GPS-Daten, Phasenorte und Reanimation verschließt — so steht sie nach dem Update auf 4.0.0 da, oder wenn dein Konto beim Koppeln noch keinen hatte. Sie sendet dann nichts und behält alles. Darunter steht der Weg: lang START (Venu: Action halten) holt den Schlüssel. Kommt „Erst im Web anmelden", melde dich einmal in der Weboberfläche an — dabei entsteht der Schlüssel — und halte START noch einmal. Ein Neukoppeln ist dafür nicht nötig.

„Verschlüsseln geht nicht" (seit Uhr 4.0.0) heißt: Die Uhr hat ihre Verschlüsselung vor dem ersten Senden gegen einen festen Prüfwert gerechnet, und er stimmte nicht. Sie sendet dann nichts, weil niemand ihre Daten öffnen könnte. Neu koppeln hilft hier nicht — bitte melden, mit Uhrenmodell und Firmware.

2.2 Die Oberflächen

Mit kurz UP/DOWN blätterst du im Kreis durch: Uhr → Tempo → Statistik → Sync → Reanimation.

Uhr (Hauptanzeige): groß die Uhrzeit, darunter klein das Datum, darunter die aktuelle Phase (Zahl + Name). Läuft eine Reanimation, umschließt ein roter Ring die Anzeige — auf einen Blick erkennbar.

  • kurz START schaltet zur nächsten Phase (mit Zeitstempel und Position): 1 Frei → 2 Alarmierung (= Einsatzbeginn) → 3 Ausrücken → 4 Ankunft Einsatzort → 5 Ankunft PatientIn → 6 Transportbeginn → 7 Ankunft Klinik → 8 Übergabezeit → 9 Endzeit → 10 Beendigung (= Einsatzende, zurück zu 1).

    Phase 3 hieß bis Uhr 1.7.0 „Abflug", Phase 7 „Landung Krankenhaus". Seit 1.8.0 sind beide neutral benannt, weil dieselbe Uhr auch am NEF läuft. Nummerierung, Bedeutung und Reihenfolge sind unverändert.

  • lang START öffnet das Schnellmenü: eine Phase direkt anspringen (erneutes Setzen erzeugt einen zusätzlichen Zeitstempel — nichts wird überschrieben), „Einsatzübersicht Zeiten" (Liste aller Zeitstempel) und „Einsatztag beenden". Drückst du während des langen START-Drucks zusätzlich eine andere Taste, bleibt das Menü zu — die App erkennt daran die Tastensperre der Uhr. So kollidiert das Sperren nicht mehr mit dem Schnellmenü.
  • BACK fragt nach, bevor die App verlassen wird.

Tempo: aktuelle Geschwindigkeit (km/h) groß, darunter die im Einsatz zurückgelegten Kilometer.

Statistik: Kennzahlen des laufenden Dienstes.

Sync: Beantwortet die Frage, ob alles beim Server angekommen ist. Die Seite kennt dafür drei Antworten:

Anzeige heißt
Grün „Sync vollständig" mit Haken Alles übertragen — und die Uhr kann übertragen
Orange Zahl, darunter „Pakete offen" So viele abgeschlossene Pakete warten noch
Rot „Nicht eingerichtet" Die Uhr kann gar nicht senden; darunter steht, was fehlt

Der dritte Fall ist der Zustand vor der Einrichtung. Seit Uhr 4.1.0 zeigt ihn auch eine Uhr, die nie über den Code gekoppelt war, sondern vor Uhr 3.0.0 von Hand mit Geräte-ID und API-Schlüssel in Garmin Connect eingerichtet: Diese Einstellungen liest die Uhr nicht mehr. Einmal koppeln, dann sendet sie weiter; was sie noch nicht gesendet hat, behält sie. Darunter steht der nächste Schritt — entweder „Erst Server-Adresse setzen" (das geschieht in Garmin Connect, nicht auf der Uhr) oder der Tastenweg zum Koppeln. Die Reihenfolge ist zwingend: Ohne Server-Adresse ist Koppeln nicht möglich.

Grün gibt es also nur, wenn beides steht — Adresse und Kopplung. Bis Uhr 1.10.0 erschien „Sync vollständig" auch vor der ersten Einrichtung, weil die Seite nur zählte, was zum Senden bereitlag; vor dem ersten Dienst ist das zu Recht nichts. Die Aussage war trotzdem falsch: Sie sprach über einen Weg, den die Uhr nie benutzt hatte.

Über der Antwort steht die GPS-Güte: „GPS gut" oder „GPS ausreichend" (grün) heißt, dass Positionen aufgezeichnet werden; „GPS zu schwach" (rot) bedeutet, dass die Uhr gerade keine Punkte speichert. Außerhalb eines Dienstes steht dort „GPS aus". Unten die App-Version, bei Problemen der Fehlergrund; mit START gedrückt halten startest du hier die Geräte-Kopplung.

Koppeln — die Uhr zeigt einen Code. Seit Uhr 3.0.0 läuft das andersherum als früher: Du tippst nichts mehr auf der Uhr ein. Sie holt sich beim Server eine Kopplungssitzung und zeigt sechs Zeichen groß an, darunter „Im Web eingeben" und die Restzeit. Diesen Code gibst du im Web ein (Einstellungen → Geräte). Danach fragt die Uhr zurück — „Mit ph***@… koppeln?" —, und erst dein Ja auf der Uhr schließt die Kopplung ab. So kann weder ein fremdes Gerät in dein Konto noch dein Gerät in ein fremdes.

Mit dem Ja bekommt die Uhr den Schlüssel deines Kontos (seit Uhr 4.0.0). Damit verschließt sie GPS-Daten, Phasenorte und Reanimation, bevor sie sie sendet; öffnen kann das nur dein Browser. Steht nach dem Koppeln „Gekoppelt · Erst im Web anmelden" und darunter „Kein Schlüssel", hatte dein Konto noch keinen — melde dich einmal im Web an und halte dann START (oben, „Steht dort etwas in Rot?").

Zurück bricht ab. Nach zehn Minuten verfällt der Code; dann holst du mit demselben Tastenweg einen neuen — die Uhr sagt es dir („Code abgelaufen / START halten: neuer Code"). Ist eine Kopplung schon da, fragt die Uhr vorher, ob sie sie trennen soll, und besteht darauf, dass vorher alles gesendet ist: Offene Pakete gehören dem bisherigen Konto. Die Seite im Web, auf der du den Code eingibst, steht in Abschnitt 10.

Reanimation: siehe 2.3.

2.3 Reanimationsmodus

Zwei Timer: oben im schwarzen Kopfbalken die Gesamtdauer seit Rea-Beginn, mittig groß der 2:00-Countdown für den Zyklus, darunter ein Fortschrittsbalken. Bei 0:00 vibriert die Uhr fünfmal kräftig; der Countdown bleibt rot auf 0:00 stehen, bis er neu gestartet wird.

Taste Wirkung
kurz START, keine Rea läuft Reanimation beginnen
kurz START, Rea läuft Untermenü öffnen
lang START, Rea läuft Countdown neu starten (2:00)
lang START, keine Rea läuft ohne Funktion
lang UP Adrenalingabe dokumentieren
lang DOWN Rhythmuskontrolle dokumentieren (setzt Countdown auf 2:00)
kurz UP/DOWN Oberfläche wechseln (Timer laufen weiter)
BACK zurück zur Hauptanzeige (Timer laufen weiter)

Der häufigste Griff während einer laufenden Reanimation ist das Dokumentieren eines Ereignisses. Deshalb liegt das Untermenü auf dem kurzen Druck — der lange Druck ist dem Countdown vorbehalten.

Untermenü (farbcodiert, endlos scrollbar, in derselben Darstellung wie das Schnellmenü der Hauptanzeige) in dieser Reihenfolge:

Eintrag Wirkung
Timer neu starten setzt den Countdown auf 2:00 — ohne Zeitstempel
Rhythmuskontrolle Zeitstempel und Countdown-Neustart
Defibrillation Zeitstempel und Countdown-Neustart
Adrenalin Zeitstempel
Amiodaron Zeitstempel
Zugang Zeitstempel
Intubation Zeitstempel
Sonographie Zeitstempel
ROSC Zeitstempel
Tod Zeitstempel
Rea BEENDEN hält die Reanimation an und öffnet die Übersicht (s. u.)
Übersicht zeigt alle Zeiten der laufenden Rea

Das Menü öffnet auf „Timer neu starten". Ein Schritt nach oben landet auf „Übersicht", zwei Schritte auf „Rea BEENDEN".

Reanimation beenden — zweistufig. „Rea BEENDEN" schließt die Rea nicht sofort, sondern hält sie an und öffnet die Übersicht. Ganz oben stehen dort zwei Einträge:

  • Rea fortsetzen — weiter mit frischem 2:00-Zyklus.
  • Rea beenden — die Reanimation ist endgültig abgeschlossen.

So fällt die Entscheidung mit den dokumentierten Zeiten vor Augen, und ein Vertippen schließt nichts mehr versehentlich. Triffst du keine Entscheidung und gehst mit BACK zurück, bleibt die Rea pausiert — alle Seiten zeigen das an, der rote Ring der Hauptanzeige wird gelb. Der Zustand übersteht auch einen Neustart der Uhr.

Während der Pause steht der Countdown. Die Gesamtdauer läuft weiter: Sie ist die tatsächlich verstrichene Reanimationszeit und würde sonst zu kurz dokumentiert.

Nach dem Beenden startet kurz START eine neue Reanimation — mehrere pro Einsatz sind möglich, jede bekommt im Web ihre eigene Tabelle. Bei Einsatzende wird eine laufende oder pausierte Rea automatisch geschlossen.

2.4 Datenübertragung

Die Uhr lädt selbstständig hoch: Einsätze beim Abschluss des Einsatzes, den Ruhe-Track etwa stündlich, den Rest beim Dienstende. Ohne Verbindung puffert die Uhr sicher im Speicher und sendet später nach — gelöscht wird lokal erst, wenn der Server den vollständigen Empfang bestätigt hat. Den aktuellen Stand zeigt die Sync-Seite.


3. Die Web-Oberfläche — Überblick

Die Kopfleiste zeigt links das Zeichen der Produktmarke und den Kurznamen der Anlage (Vorgabe Gen-EM NAdoku, einstellbar unter Verwaltung → Installation, 11.5); am breiten Bildschirm steht der eigene Name daneben (im Profil setzbar, sonst die E-Mail-Adresse). Rechts stehen Startseite, Suche (Abschnitt 4.6), das Fragezeichen für dieses Handbuch, bei der Darstellung „Umschalter“ oder „Folgt System“ Mond oder Sonne zum Umschalten zwischen hell und dunkel (seit Web 24.9.0, Abschnitt 3.1a) und das Zahnrad für die Einstellungen. Sie bleibt beim Scrollen oben stehen. Das Fragezeichen öffnet das Kapitel der Seite, auf der du gerade bist (seit Web 24.2.0) — von den Servereinstellungen aus also 12.5, von der Tagesübersicht 4.1. Die Seiten selbst tragen deshalb keine Verweise „Handbuch: …" mehr, sondern höchstens einen Satz je Abschnitt. Nach 30 Minuten ohne Aktivität meldet das System automatisch ab.

Die Web-Oberfläche am Schreibtisch

Auf schmalen Geräten — Handy und Tablet im Hochformat — zeigt die Kopfleiste stattdessen links einen Knopf mit drei Strichen. Er öffnet die Schublade: dieselbe Leiste, die am breiten Bildschirm dauerhaft links steht, hier von links hereingeschoben. Ganz oben liegen Startseite und Suche, darunter der Teil, der zur Seite gehört (Diensttage, Einstellungen oder die Filter der Suche). Schließen lässt sie sich auf drei Wegen: über das × oben links, über die abgedunkelte Fläche daneben oder mit der Esc-Taste.

Popups (Dialoge) schließt du mit ihrem Knopf, mit der Esc-Taste oder seit Web 24.9.3 mit einem Klick daneben — das wirkt wie „Abbrechen“. Nur die Dialoge rund um deine Schlüssel (neuer Wiederherstellungsschlüssel, Rückweg, Schlüsselblatt und die Rückfrage zum Konto) bleiben dabei offen, weil sie etwas Einmaliges zeigen oder eine Antwort brauchen.

Das Zahnrad führt auf die Einstellungs-Übersicht. Sie ist in drei Blöcke geteilt, und wer welchen sieht, hängt an der Rolle:

Block wer sieht ihn was darin steht
Einstellungen alle Profil, Geräte, Standorte, Backup, Import / Export — Kapitel 3 bis 10
Verwaltung Admins; der Support nur NutzerInnen und Protokoll NutzerInnen, Konto-Backups, Installation (mit dem Demo-Konto), Rechtstexte, Protokoll — Kapitel 11
Betrieb BetreiberInnen Status, Statistik, Updates, Hintergrundjobs, Servereinstellungen, Komplett-Backup (die Backup-Ziele sind seit Web 24.7.0 eine Karte darin und in den Servereinstellungen) — Kapitel 12

Jeder Block hat einen Kopf mit rundem Zeichen, Namen und der Zahl der Einträge. Am Schreibtisch stehen die Blöcke nebeneinander, auf schmalen Geräten untereinander. Abmelden steht unten in der Leiste (auf dem Handy unten in der Schublade) und fragt sicherheitshalber nach.

Der Punkt für die Stammdaten hat zweimal den Namen gewechselt, und beide alten Links funktionieren weiter. Bis Web 6.3.0 hieß er „Standortdaten" und trug Standorte und Rettungsmittel zusammen. Danach standen „Standorte" und „Rettungsmittel" nebeneinander im Menü — bis Web 19.0.0: Seither gibt es nur noch „Standorte", und die Rettungsmittel eines Standorts stehen auf dessen eigener Seite. Der Grund war, dass beide Reiter denselben Bestand luden und man zwischen ihnen hin und her ging, um einen einzigen Standort einzurichten.

Am breiten Bildschirm liegen Leiste und Inhalt in einer gemeinsamen Karte (seit Web 24.0.0). Die Leiste bleibt beim Rollen stehen und rollt, wenn sie länger ist als das Fenster, in sich; ihr Fuß — „Abmelden", „Diensttag anlegen", „Papierkorb" — bleibt dabei sichtbar. In den Einstellungen sind die Abschnitte einer Seite durch Linien getrennt statt als einzelne Karten gezeichnet. Unter allem steht ein dunkelblauer Streifen mit Lizenz, Fassung, Impressum und Datenschutz.

Unter der Kopfleiste stehen dieselben Blöcke als Reiter (seit Web 23.12.0): Einstellungen · Verwaltung · Betrieb, je mit der Zahl seiner Einträge und — wenn darin etwas zu tun ist — der Summe der Zahlen an seinen Menüpunkten. Ein Klick führt auf den ersten Punkt des Blocks, bei Betrieb also auf den Status. Am breiten Bildschirm bleibt die Zeile beim Scrollen unter der Kopfleiste stehen, auf dem Handy rollt sie mit der Seite weg. Die Reiter innerhalb einer Seite (Protokoll, Statistik, Rechtstexte) sehen genauso aus; welche Reihe die obere Ebene ist, sagt ihre Lage.

Am breiten Bildschirm zeigt die Leiste nur den Bereich, in dem du stehst (seit Web 24.1.0) — die anderen erreichst du über die Reiter darüber. Der aktive Menüpunkt ist blau hinterlegt.

In der Schublade auf schmalen Geräten klappen die drei Blöcke auf und zu. Ihre Namen stehen eine Stufe größer in Dunkelblau, der Winkel zum Aufklappen rechts, und eine Linie trennt die Blöcke voneinander (seit Web 21.1.0 — bis dahin stand der Winkel links, dort, wo die Einträge ihr Symbol tragen). Offen sind „Einstellungen" und der Block, in dem die gerade geöffnete Seite steht; die übrigen zeigen nur ihren Namen und die Zahl der Einträge dahinter („Betrieb · 7"). Ein Klick auf die Zeile klappt sie auf. Was man dabei umstellt, gilt für diese Sitzung — beim nächsten Anmelden steht das Menü wieder in der Vorgabe. Der Grund für das Klappen ist Platz: Eine BetreiberIn hat achtzehn Menüpunkte, und die passen untereinander in kein übliches Browserfenster.

Eine Zahl am Menüpunkt heißt: hier ist etwas zu tun. Sie steht an vier Punkten und nur dann, wenn sie über null liegt — Status (Punkte, die Aufmerksamkeit brauchen; rot, sobald einer davon gar nicht arbeitet), Updates (ausstehende Migrationen), Hintergrundjobs (Jobs mit Fehler) und Konto-Backups (überfällige und nie gesicherte Konten). Die Zahl ist höchstens eine Minute alt.

Unter dem geöffneten Menüpunkt stehen die Karten der Seite als Sprungmarken — kleiner und ohne Symbol, damit sie nicht wie eigene Seiten aussehen. Eine Karte, die die Seite gerade nicht zeigt (etwa „Für dich freigegebenes Backup", solange nichts freigegeben ist), hat keine Marke. Ein Klick springt zur Karte; während man liest, ist die Marke der Karte fett, die gerade oben steht. Ist das Fenster niedriger als 950 px (seit Web 21.1.3; vorher 800 px), fallen die Sprungmarken in der festen Leiste weg: Sonst schieben sie auf einem Laptop die Einträge darunter aus dem Bild, und die Einträge sind die Wege durch die Anwendung. Am Handy stehen die Sprungmarken immer, dort ohne Markierung: Die Schublade liegt vor dem Inhalt, und wer sie geöffnet hat, sieht die Karten nicht. Ein Sprung schließt sie.

Dieselbe Seite bei 390 px und die geöffnete Schublade

Die Diensttage-Leiste begleitet alle Inhaltsseiten — auch Einsatzansicht und Formular. Sie ist nach Jahr und Monat gruppiert (Abschnitt 4.4).

Streifen über dem Inhalt (seit Web 20.38.0 in einer Reihe). Bis zu vier stehen dort, immer in derselben Reihenfolge:

  1. Die Umgebung — nur auf einer Testanlage: „Staging — Testdaten, kein Echtbetrieb". Dazu ist dort die Kopfleiste orange (dunkles Orange, bis Web 23.9.0 rot) statt dunkelblau, und vor jedem Seitentitel im Browser steht „[Staging]". Auf der Anlage für den Echtbetrieb gibt es nichts davon. Wer eine orange Leiste sieht, trägt dort keine echten Einsätze ein.
  2. Eine Ankündigung der BetreiberIn, etwa eine Wartung. Sie steht auch über der Anmeldung. Das × rechts blendet sie aus, bis du dich abmeldest; beim nächsten Anmelden steht sie wieder da, bis sie abläuft (Abschnitt 12.8).
  3. Der Demo-Hinweis — nur im Demo-Konto (Abschnitt 3.2).
  4. Der Hinweis auf eine neue Datenschutzerklärung, bis du sie angesehen hast.

Umgebung, Demo-Hinweis und Datenschutz lassen sich nicht wegklicken: Sie sagen etwas, das beim nächsten Besuch noch genauso gilt.

Handlungen an einer Zeile — bearbeiten, verschieben, löschen — stehen am Schreibtisch als Knöpfe am rechten Zeilenrand. Auf schmalen Geräten steht dort ein Knopf mit drei Punkten (⋯); er öffnet ein Blatt von unten, in dem dieselben Handlungen untereinander stehen, „Löschen" rot und abgesetzt. Das gilt überall: Stammdaten, Geräte, NutzerInnen, Papierkorb.

Das Blatt fährt von unten herein, und der Knopf bleibt hellblau hinterlegt, solange es offen steht — damit zu sehen ist, wohin es gehört und womit man es wieder zumacht. Zum Schließen genügt der Knopf ein zweites Mal, ein Tipp daneben, „Abbrechen" im Blatt oder die Escape-Taste. Wer im Betriebssystem „Bewegung reduzieren" eingestellt hat, bekommt das Blatt ohne Fahrt; die orange Markierung bleibt.

Ganz unten auf jeder Seite steht die Fußzeile — auch vor der Anmeldung. Sie ist zweizeilig: oben Lizenz und Versionsnummer, darunter die Verweise auf Impressum und Datenschutz. Beide Seiten sind ohne Anmeldung erreichbar; was darin steht, hinterlegt die Verwaltung (Abschnitt 11.5a).

Die einzige Seite ohne diese Verweise ist der Einrichter: Er läuft, bevor die Anwendung eine Datenbank hat, und die beiden Rechtstextseiten brauchen eine.

Wenn ein Link ins Leere führt. Ein Lesezeichen auf einen gelöschten Einsatz, eine Adresse aus einer alten E-Mail, ein Diensttag im Papierkorb: Dann erscheint eine Seite mit der Kopfleiste, einem kurzen Satz („Einsatz nicht gefunden.") und einem Rückweg zur Übersicht. Seit Web 7.2.0 sieht das überall gleich aus; vorher stand dort nur der Satz auf weißem Grund, ohne Menü und ohne Weg zurück.

3.1 Anmelden und Passwort

Anmeldung mit E-Mail-Adresse und Passwort. Über „Passwort vergessen oder erstmalig setzen" kommt ein Link per E-Mail (1 Stunde gültig) — derselbe Weg dient auch der Erst-Einrichtung nach dem Anlegen durch den Admin. Beim Zurücksetzen wird zusätzlich der Wiederherstellungsschlüssel abgefragt (Abschnitt 5); bei der Erst-Einrichtung entfällt das, weil noch keine verschlüsselten Daten vorliegen.

Es gilt immer nur der zuletzt verschickte Link. Forderst du einen neuen an, wird der vorherige damit ungültig. Nimm also die neueste E-Mail — eine ältere führt zu „Link ungültig oder abgelaufen".

Mindestens zwölf Zeichen (bis Web 15.5.2 waren es zehn). Am besten vier zufällige Wörter, die nichts miteinander zu tun haben — „Anker Winter Regen Glas" ist leichter zu merken und schwerer zu raten als „Kl!n1k2026". Länge zählt hier mehr als Sonderzeichen, und das ist keine Geschmacksfrage, sondern die Rechnung eines Rateangriffs.

Warum das mehr wiegt als sonst. Wer die Datenbank und die Konfigurationsdatei des Servers stiehlt, kann dein Passwort ausprobieren, so oft er will — auf seinem eigenen Rechner, ohne Sperre nach Fehlversuchen und ohne dass es jemand merkt. Die Datenbank allein reicht dafür seit Web 23.2.0 nicht mehr (bis dahin reichte sie). Gegen beides zusammen hilft nur ein Passwort, das sich nicht raten lässt. Der Server kann dabei nicht helfen: Er sieht das Passwort nie (Abschnitt 5), also kann er seine Güte auch nicht prüfen. Was die Seite prüft, prüft dein Browser.

Was die Seite abweist: geläufige Wörter und Muster — auch dienstliche wie „Notarzt" oder „Rettung", auch mit angehängter Jahreszahl. Gemessen wird nicht das Vorkommen, sondern was übrig bleibt, wenn man die geläufigen Teile wegnimmt: „Winterurlaub2026" ist im Kern ein Listenwort, „Anker-Winter-Regen-Glas" nicht. Sonderzeichen zählen dabei mit, Bindestrich, Punkt, Unterstrich und Leerzeichen nicht — „Winter-Urlaub-2026" ist kein besseres Passwort als „Winterurlaub2026". Die Meldung unter dem Feld sagt, was gestrichen wurde und wie viel übrig blieb — damit du nicht raten musst, woran es lag. Ein gewürfeltes Passwort aus dem Passwortverwalter wird an dieser Regel nicht gemessen; es enthält kein Listenwort.

Die Passwortstärke zeigt sich beim Tippen als Balken aus vier Segmenten: je mehr gefüllt, desto besser. Rot heißt zu kurz oder zu leicht zu raten, Orange geht, Dunkelblau ist gut. Die Stärke des Passworts ist unmittelbar die Stärke der Verschlüsselung — es schützt nicht nur den Zugang, sondern leitet den Schlüssel ab, mit dem die geschützten Angaben eines Einsatzes verschlüsselt werden — Patientendaten, Einsatzort, Abfahrtort und Notizen; die vollständige Liste steht in Abschnitt 5.

„Dieser Installation fehlt der Server-Anteil" statt „Anmeldung fehlgeschlagen" heißt: Dein Passwort kann richtig sein, aber dem Server fehlt ein Teil seiner Konfiguration, ohne den er es nicht prüfen kann (seit Web 23.2.0). Die BetreiberIn ist informiert. Über „Passwort vergessen" und deinen Wiederherstellungsschlüssel kommst du trotzdem hinein.

Die erste Anmeldung nach dem Update dauert länger. Seit Web 15.6.0 rechnet der Browser mit 600 000 statt 320 000 Runden; solange ein Konto noch auf der alten Zahl steht, rechnet die Anmeldung beides durch und braucht dafür etwa die doppelte Zeit. Das hört von selbst auf: Beim ersten Anmelden wird das Konto still nachgezogen, danach ist es wieder eine Rechnung. Zu tun ist nichts.

Mit Zweitfaktor kommt nach dem Passwort ein zweiter Schritt (seit Web 20.42.0): Die Seite fragt nach dem sechsstelligen Code aus der App auf deinem Handy. Für Support, Admin und BetreiberIn ist er Pflicht, für alle anderen ein Angebot — alles dazu in 3.1f. Handy und Codes verloren? Seit Web 20.45.0 genügt am Code-Schritt der Wiederherstellungsschlüssel vom Notfallblatt („Gerät und Codes verloren?", ebenfalls 3.1f).

Deine Anmeldung hängt an zwei Cookies (seit Web 21.7.0). Das eine nennt die Sitzung, das zweite bestätigt, dass sie zu diesem Browser gehört. So nützt es niemandem, eine Sitzungsdatei auf dem Server gelesen zu haben — ohne das zweite Cookie ist die Sitzung beendet. Beide verschwinden beim Abmelden und wenn der Browser schließt. Nach dem Update auf 21.7.0 meldest du dich einmal neu an; die Anmeldeseite sagt dann „Die Sitzung ließ sich diesem Browser nicht zuordnen". Dasselbe siehst du, wenn du die Cookies dieser Seite gelöscht hast. Beides ist harmlos: Es geht nichts verloren.

Nach mehreren Fehlversuchen wird die Anmeldung vorübergehend gesperrt. Die Meldung nennt, ab wann es wieder geht. Die Sperre gilt für das Konto, nicht für den Browser: Ein anderes Gerät oder ein neues Fenster hilft nicht. Sobald die Anmeldung einmal gelingt, ist die Zählung zurückgesetzt.

Dasselbe gilt für „Passwort vergessen": Wer den Knopf zu oft drückt, bekommt eine Zeit lang keine weitere E-Mail. Die Seite antwortet dabei unverändert — sie verrät nie, ob es zu einer Adresse ein Konto gibt.

Wenn eine Fehlermeldung eine Kennung nennt — acht Zeichen aus Ziffern und Buchstaben —, dann notiere sie und gib sie weiter: Die Fehlerseite sagt, an welche Adresse (die Kontaktadresse der Installation, 11.5); steht dort keine, an die Person, die NAdoku für dich betreibt. Unter dieser Kennung findet die BetreiberIn den Fehler im Protokoll, Reiter System (11.7); ohne sie ist er dort nicht wiederzufinden. Auf dem Bildschirm steht der Fehlertext bewusst nicht: Solche Texte nennen Interna der Datenbank, die niemanden etwas angehen. Antwortet die Datenbank selbst nicht, steht er unter derselben Kennung im Fehlerprotokoll des Webspace.

Groß- und Kleinschreibung der E-Mail-Adresse spielt keine Rolle. Max@Example.invalid und max@example.invalid sind dasselbe Konto.

Der Link aus der E-Mail braucht Cookies. Beim ersten Öffnen nimmt die Seite ihn aus der Adresszeile — er soll weder im Verlauf des Browsers noch in Serverprotokollen stehen bleiben. Wer Cookies für die Seite blockiert, bekommt statt der Passwortseite den Hinweis „Cookie nötig". Ein neuer Link hilft dann nicht; die Einstellung muss geändert werden.

Ein Passwortwechsel meldet alle anderen Sitzungen ab. Wer sein Passwort ändert, ist danach überall sonst ausgeloggt — auf dem zweiten Rechner, auf dem Tablet, in einem anderen Browser. Am Gerät, an dem der Wechsel stattfindet, bleibt man angemeldet. Wer den Verdacht hat, dass jemand anders Zugriff hat, erreicht damit genau das Gewünschte. Noch offene Links zum Zurücksetzen werden gleichzeitig ungültig.

Die abgemeldete Seite sagt, warum: „Das Passwort dieses Kontos wurde geändert." Ebenso, wenn ein Konto von der Verwaltung gelöscht wurde — dann endet die Sitzung beim nächsten Klick, nicht erst beim nächsten Anmelden.

Schlägt ein Passwortwechsel fehl, ändert sich nichts. Bis Web 4.5.1 konnte ein abgelehnter Versuch — falsches aktuelles Passwort, zu lange offenes Formular — dazu führen, dass die geschützten Angaben im selben Tab nicht mehr lesbar waren, bis man sich neu anmeldete. Das ist behoben.

Rollenänderungen wirken sofort. Wird jemandem die Admin-Rolle gegeben oder genommen, gilt das ab dem nächsten Klick; ein Ab- und Anmelden ist nicht nötig.


3.1a Profil: Name, Adresse, Logo und Darstellung

Unter dem Zahnrad → Profil stehen dein Anzeigename (er erscheint in der Kopfleiste neben der Marke), deine Anmelde-Adresse und seit Web 9.7.0 die Logo-Wahl.

Die E-Mail-Adresse zu ändern verlangt seit Web 15.6.0 dein aktuelles Passwort. Sie ist die Anmeldung zu diesem Konto: Wer sie ändert, ändert, wer hereinkommt — und wer sich anschließend den Link „Passwort vergessen" schicken lässt, ändert, wem das Konto gehört. Deshalb steht unter der Adresse ein Feld für das Passwort. Für Name und Logo brauchst du es nicht; leer lassen genügt, solange die Adresse stehen bleibt.

Seit Web 20.20.0 gilt die neue Adresse erst nach einem Klick. Du bekommst an die neue Adresse eine Nachricht mit einem Link, der 24 Stunden gilt; erst dieser Klick schreibt sie um. Bis dahin meldest du dich weiter mit der alten an — nichts ist kaputt, wenn du dich vertippt hast.

Genau darum geht es: Bis Web 20.19.0 galt die neue Adresse sofort, ohne dass irgendjemand geprüft hätte, ob sie überhaupt erreichbar ist. Ein Tippfehler sperrte damit aus — die Anmeldung läuft über die Adresse, und „Passwort vergessen" schickt an eine Adresse, die es nicht gibt.

An die alte Adresse geht zusätzlich eine Warnung. Sie sagt, was gerade beantragt wurde und dass du dich melden sollst, falls du es nicht warst. Sie geht bewusst an die alte Adresse — sie ist die einzige, die im Missbrauchsfall noch dir gehört. Dasselbe gilt, wenn die Verwaltung die Adresse eines Kontos ändert (11.1).

Ist die neue Adresse inzwischen von einem anderen Konto belegt, sagt die Seite das beim Klick, und deine bisherige Adresse bleibt unverändert.

Seit Web 15.0.0 steht dort auch deine Rolle — NutzerIn, Support, Admin oder BetreiberIn — als reine Anzeige. Sie erklärt, warum zwei Konten unter dem Zahnrad verschieden viel sehen; geändert wird sie in der Verwaltung (11.3), nicht hier.

Die Anwendung bringt zwei Zeichen mit — einen Hubschrauber und ein Fahrzeug (NEF), beide in Dunkelblau mit den drei Gen-EM-Farben. Welches du siehst, entscheidest du selbst:

Wahl Bedeutung
Standard der Installation folgt der Vorgabe dieser Installation. Was das gerade ist, steht rechts daneben. Das ist die Voreinstellung.
Hubschrauber (RTH) immer der Hubschrauber
Fahrzeug (NEF) immer das Fahrzeug
Wechselnd bei jeder Anmeldung neu ausgewürfelt

Die Wahl gilt für die Kopfleiste und das Symbol im Browser-Tab — beide wechseln gemeinsam. Sie wirkt sofort nach dem Speichern; abmelden musst du dich dafür nicht.

„Wechselnd" heißt je Anmeldung, nicht je Seite: Innerhalb einer Sitzung bleibt das Logo, wie es ist. Ein Logo, das beim Blättern springt, wäre keine Abwechslung, sondern Unruhe.

Die Anmeldeseite zeigt immer den Standard der Installation. Dort ist noch niemand angemeldet, und die Wahl hängt am Konto. Die Wartungsseite zeigt immer den Hubschrauber; sie kommt ohne Datenbank aus und kennt den Standard deshalb nicht. (Bis Web 9.9.0 zeigte sie stattdessen immer den Hubschrauber, gleich wie der Standard eingestellt war.)

Den Standard der Installation setzt die Verwaltung unter Verwaltung → Installation (11.5). Er wirkt sofort, auch für bereits angemeldete Konten — aber nur bei denen, die hier „Standard der Installation" stehen haben. Eine getroffene eigene Wahl bleibt unberührt.

Karte „Darstellung": hell oder dunkel. Seit Web 23.10.0 wählst du im Profil, wie die Oberfläche aussieht, seit Web 24.9.0 aus vier Einstellungen:

  • Umschalter (die Vorgabe): Die Seite folgt der Einstellung von Handy oder Rechner, und in der Kopfleiste steht zwischen „?" und Zahnrad ein Knopf mit Mond (zu dunkel) oder Sonne (zu hell). Ein Klick schaltet sofort um und gilt bis zur Abmeldung; danach folgt die Seite wieder dem Gerät.
  • Immer hell und Immer dunkel: fest, ohne Knopf.
  • Folgt System: wie Umschalter — die Seite folgt dem Gerät, der Knopf steht da, ein Klick gilt bis zur Abmeldung.

(Bis Web 24.8.0 gab es drei Einstellungen ohne Knopf: Wie das Gerät, Hell, Dunkel. Ein Konto, das „Wie das Gerät" stehen hatte, hat jetzt den Umschalter.) Die Wahl gilt für dein Konto auf jedem Gerät und wirkt sofort nach dem Speichern. Dunkel heißt: dunkelblaue Flächen, helle Schrift, dieselben Farben für Hinweise und Warnungen in dunklen Tönen. Die Karte bleibt hell — eine dunkle Karte bräuchte einen weiteren Kartendienst, der deinen Ausschnitt sähe —, ebenso alles, was du druckst. Die Anmeldeseite kennt dein Konto noch nicht und folgt immer dem Gerät. Im Demo-Konto lässt sich das Profil nicht speichern; dort gilt der Umschalter.

Karte „Datenschutz": die Adresssuche. Seit Web 15.8.0 steht im Profil darunter der Schalter „Adressvorschläge aus dem Internet". Er entscheidet für dein Konto, auf jedem Gerät: Ist er an, schickt dein Browser beim Tippen in einem Ortsfeld den getippten Text an einen Adressdienst und bekommt Vorschläge zurück; nach einer Wahl auf der Karte geht die Koordinate denselben Weg, um die Adresse dazu zu holen. Welcher Dienst das ist, steht in der Karte namentlich — die BetreiberIn trägt ihn ein (12.5), und es kann ein selbst betriebener sein.

Nichts anderes verlässt dabei das Gerät — kein Name, keine Diagnose, keine Einsatznummer. Was ohne die Suche bleibt: Koordinaten, Plus Codes, „Meine Position", der Kartendialog und die Karte selbst. Was entfällt: die Adressvorschläge beim Tippen, die Umkehrsuche (also die Adresse zu einer Koordinate) und das Suchfeld im Kartendialog. Der Hinweis unter dem Ortsfeld verschwindet dann ebenfalls — er sagt aus, dass etwas hinausgeht, und dann geht nichts hinaus.

Die Karte hat einen eigenen Speichern-Knopf; sie hängt nicht am Knopf darüber. Hat die Installation die Adresssuche abgeschaltet, steht der Schalter ausgegraut da und sagt es — dann ändert er nichts, und wer ihn braucht, wendet sich an die BetreiberIn.

3.1d Selbst ein Konto anlegen (seit Web 20.22.0)

Ob das geht, entscheidet die BetreiberIn. Drei Betriebsarten:

Einstellung Was passiert
nur auf Einladung (Vorgabe) Es gibt keine Registrierungsseite zum Ausfüllen. Die Verwaltung legt Konten an; du bekommst eine Einladungsmail.
offen Du legst dir selbst ein Konto an und kannst sofort loslegen.
offen mit Freischaltung Du legst dir selbst ein Konto an; die BetreiberIn schaltet es frei, bevor du hereinkommst.

Steht die Registrierung offen, führt auf der Anmeldeseite ein Verweis „Neu hier? Konto anlegen" dorthin. Steht sie nicht offen, fehlt er — er führte sonst auf eine Seite, die absagt.

So läuft es ab:

  1. Adresse, Name und die Häkchen eintragen. Die Häkchen sind Nutzungsbedingungen, Vereinbarung zur Auftragsverarbeitung und Datenschutzerklärung; sie sind Pflicht, jeder Text ist verlinkt. Es sind nicht immer drei: Gezeigt wird, was die BetreiberIn hinterlegt hat. Fehlt ein Text noch, kannst du ihn nicht annehmen — dann steht sein Häkchen auch nicht da, und du wirst beim ersten Anmelden danach gefragt, sobald er eingespielt ist. Deine Antworten werden mit der Fassung und dem Zeitpunkt im Konto festgehalten; du siehst sie später unter Einstellungen.
  2. Die Seite antwortet immer gleich — „wenn die Adresse frei ist, ist eine Mail unterwegs". Das ist Absicht: Sonst könnte jeder durch Ausprobieren herausfinden, wer hier ein Konto hat.

    Während du tippst, löst dein Browser eine kleine Rechenaufgabe (seit Web 21.14.0). Sie schützt vor Massenanmeldungen und braucht kein Zutun — meist ist sie fertig, bevor du auf „Konto anlegen" drückst. Bist du schneller, steht unter dem Knopf kurz „Sicherheitsprüfung läuft …", und das Formular geht von selbst ab. Ohne JavaScript geht es nicht; dann steht dort genau das. Bleibt das Formular länger als zwei Stunden offen, lade die Seite neu, bevor du absendest.

  3. Den Link aus der Mail anklicken. Er gilt 48 Stunden. Dort legst du dein Passwort fest; dabei entsteht dein Wiederherstellungsschlüssel und wird einmalig angezeigt — notiere ihn, ohne ihn kommt nach einem Passwort-Reset niemand mehr an deine verschlüsselten Angaben.
  4. Danach steht da, wie es weitergeht: sofort anmelden, oder warten.

Wenn nichts ankommt: Sieh im Spam-Ordner nach und prüfe die Schreibweise. An dieselbe Adresse gehen höchstens drei Mails in 24 Stunden — sonst wäre die Seite ein Werkzeug, um fremde Postfächer zuzuschütten.

Wegwerfadressen werden nicht angenommen. Der Hinweis steht vorher auf der Seite, nicht hinterher als Fehler. Mit einer Adresse von einem Wegwerfanbieter passiert schlicht nichts — auch keine Mail.

Hast du hier schon ein Konto, bekommst du eine Mail, die das sagt. Es wird nichts angelegt und nichts geändert; melde dich wie gewohnt an oder nimm „Passwort vergessen".

Wartest du auf die Freischaltung, kommt eine Mail, sobald das Konto frei ist. Passiert das nicht innerhalb der eingestellten Frist (Vorgabe 30 Tage), verfällt die Registrierung, du bekommst eine letzte Nachricht — und kannst dich jederzeit neu registrieren. Wer den Link aus Schritt 3 nie anklickt, dessen Anfrage wird nach 48 Stunden von selbst gelöscht.

3.1e Die ersten drei Schritte (seit Web 20.24.0)

Beim ersten Anmelden steht über der Tagesübersicht eine Karte „Willkommen — drei Schritte, dann geht es los":

  1. Standort anlegen — optional: ein Ort, dem deine Rettungsmittel zugeordnet sind (Wache, Klinik). Der Schritt ist neutral gezeichnet und sandfarben nummeriert, weil ihn nicht jede Betriebsart braucht.
  2. Rettungsmittel anlegen — womit du fährst oder fliegst: Name, Typ, Standort. Ein Rettungsmittel vom gewöhnlichen Typ verlangt einen Standort; deshalb steht Schritt 1 davor, auch wenn er optional heißt.
  3. Uhr oder Handy koppeln — die App erfasst Einsätze unterwegs und gleicht sie hier ab (Kapitel 2 und 3.3).

Die Karte hält dich nicht auf. Darunter steht die vollständige, bedienbare Tagesübersicht — wer die Karte übergeht, arbeitet trotzdem. Zwei Auswege stehen unten:

  • Später blendet sie bis zur nächsten Anmeldung aus. Morgen steht sie wieder da.
  • nicht mehr zeigen (das Häkchen daneben) blendet sie dauerhaft aus, auch wenn noch Schritte offen sind.

Erledigte Schritte bleiben mit einem Haken stehen und zeigen, was du angelegt hast — „Hochkreuth — Wache Nord" statt der Erklärung, die du nicht mehr brauchst. Sind alle drei erledigt, verschwindet die Karte von selbst.

3.1c Was dein Konto hält (seit Web 20.21.0)

Unter dem Zahnrad → Profil steht, wie voll dein Konto ist: Einsätze und Speicher, jeweils mit der Grenze daneben.

Zwei Grenzen, und es zählt die, die zuerst erreicht ist. Wer viele Einsätze mit wenig GPS-Daten hat, läuft in die eine; wer wenige mit langen Aufzeichnungen hat, in die andere.

Anteil Was passiert
unter 80 % nichts
ab 80 % einmalig eine Nachricht, dazu ein Hinweis auf dieser Seite
100 % Der Server nimmt keine Gerätedaten mehr an

Bei 100 % geht nichts verloren. Uhr und Handy bekommen eine Absage, behalten ihre Aufzeichnungen und senden sie, sobald wieder Platz ist. Bearbeiten und Löschen bleiben möglich — sonst säßest du in deiner eigenen Grenze fest.

Was im Papierkorb liegt, zählt nicht mit. Löschen hilft also sofort, ohne 90 Tage zu warten.

Die Speicherzahl ist geschätzt, nicht auf das Byte genau — sie zählt die GPS-Daten, und die liegen je nach Alter in zwei verschiedenen Formen. Für eine Grenze bei 250 MB reicht das; eine Abrechnung ist es nicht.

Was hilft, wenn es eng wird: alte Diensttage löschen — oder die Verwaltung um eine höhere Grenze bitten. Sie kann sie je Konto setzen (11.1).

3.1b Konto löschen (seit Web 20.20.0)

Unter dem Zahnrad → Profil, ganz unten. Du brauchst niemanden zu fragen.

Dein aktuelles Passwort ist der Nachweis; es verlässt den Browser nicht. (Bis Web 23.1.0 ging die Löschung an dieser Stelle nie — die Seite sagte immer „Passwort leer oder falsch", auch beim richtigen.) Nach zehn falschen Passwörtern hier, beim Passwort- oder Adresswechsel ist eine Weile Pause; dieselbe Sperre gilt dann auch für die Anmeldung.

Was passiert: Dein Konto wird sofort gesperrt und nach 30 Tagen endgültig gelöscht. In dieser Zeit genügt eine Anmeldung, und die Löschung ist zurückgenommen — einen Knopf dafür brauchst du nicht. Mit Zweitfaktor zählt die Anmeldung erst mit dem Code (3.1f); das Passwort allein nimmt nichts zurück. Eine Nachricht mit dem Termin geht an deine Adresse.

Warum die Anmeldung und kein Link: Ein Link, der ohne Passwort wirkt, wäre genau das, was jemand bräuchte, der deine Löschung verhindern will, um weiter mitzulesen.

Nach dem Termin ist es endgültig. Einsätze, GPS-Daten, Stammdaten und Konto-Backups sind fort. Es gibt danach keinen Weg zurück, auch nicht über die Verwaltung — deine Daten sind mit deinem Passwort verschlüsselt, und niemand sonst kann sie öffnen.

Willst du sie behalten, leite sie vorher aus (Import / Export). Danach ist es zu spät.

Was in der Karenz mit deinen Geräten passiert: Uhr und Handy bekommen eine Absage und behalten ihre Warteschlange. Nimmst du die Löschung zurück, kommt alles nach. Lässt du es laufen, ist es mit dem Konto fort.

Das Demo-Konto lässt sich nicht löschen — es setzt sich 30 Minuten nach der ersten Änderung ohnehin selbst zurück.

3.1f Zweitfaktor

Seit Web 20.42.0. Zusätzlich zum Passwort ein sechsstelliger Code aus einer App auf deinem Handy — einer Authenticator-App, wie es sie von vielen Anbietern gibt, oft auch im Passwortverwalter. Der Code wechselt alle 30 Sekunden. Wer dein Passwort abgefischt hat, kommt damit allein nicht mehr herein.

Für wen. Für Support, Admin und BetreiberIn Pflicht, für alle anderen ein Angebot. Im Demo-Konto lässt er sich nicht einschalten — dessen Zugangsdaten sind öffentlich. Wer eine der drei Rollen hat und noch keinen Zweitfaktor, landet nach der Anmeldung auf der Seite „Zweitfaktor einrichten": Bis er steht, geht keine andere Seite auf, nur Abmelden. Drei Ausnahmen, alle für die BetreiberIn gedacht: Zwischen einem Update und update.php, im Wartungsmodus und solange die Anlage keinen Serverschlüssel hat, lässt die Seite durch — sonst käme niemand mehr an Betrieb → Updates oder an die Servereinstellungen. Fehlt der Serverschlüssel, sagt die Seite es, und die BetreiberIn trägt ihn unter Betrieb → Servereinstellungen nach.

Einrichten. Unter Einstellungen → Profil, Karte „Zweitfaktor" → „Einrichten". Drei Wege in die App, nimm den, der passt:

  1. den QR-Code scannen — am Rechner, die App auf dem Handy,
  2. „In der Authenticator-App öffnen" — am Handy, wenn du die Seite dort geöffnet hast,
  3. das Geheimnis von Hand eintragen — die Vierergruppen unter „Oder von Hand eintragen", zeitbasiert, sechs Ziffern, 30 Sekunden.

Dann den Code aus der App ins Feld „Code aus der App" und „Einschalten". Eingeschaltet wird erst mit einem richtigen Code — wer das Scannen abbricht, sperrt sich nicht aus. Ein Neuladen der Seite behält das Geheimnis; „Abbrechen" verwirft es.

Die zehn Wiederherstellungscodes erscheinen genau einmal, direkt nach dem Einschalten. Drucke sie mit „Codeblatt drucken" (eine A4-Seite, mit Kästchen zum Abhaken) oder schreib sie ab. Jeder Code gilt einmal, wenn das Handy fehlt. Gespeichert ist nur ein Prüfwert je Code — das Blatt lässt sich nicht nachdrucken. Bewahre es getrennt vom Handy auf. Auf der Seite „Zweitfaktor einrichten" wird „Weiter" erst frei, wenn du „Ich habe die Codes gesichert." angehakt hast. „Neue Codes erzeugen" gibt dir zehn neue; die alten und ein gedrucktes Blatt gelten dann nicht mehr. Seit Web 23.2.0 fragt die Seite dafür nach einem frischen Code (unten), und eine Mail an deine Adresse sagt, dass neue Codes erzeugt wurden — hat das jemand anderes getan, erfährst du es so. Die Karte zeigt, wie viele noch offen sind („8 von 10").

Anmelden. Nach dem Passwort fragt die Seite nach dem Code aus der App; Leerzeichen sind egal. Ein Passwortmanager mit gespeichertem Einmalcode (etwa Bitwarden) bietet ihn am Feld zum Einfüllen an, seit Web 22.7.1 auch in Firefox. Du hast dafür fünf Minuten, danach beginnt die Anmeldung von vorn. Jeder Code gilt einmal: Meldest du dich zweimal kurz hintereinander an, nimm beim zweiten Mal den nächsten Code der App. Kein Handy zur Hand? „Wiederherstellungscode verwenden" und einen Code vom Blatt eintippen. „Zurück zur Anmeldung" bricht ab. Nach fünf falschen Codes ist die Anmeldung dieses Kontos eine Viertelstunde gesperrt, bei Wiederholung länger; die Meldung nennt, ab wann es wieder geht.

Die Karte zeigt eingeschaltet einen Satz (seit Web 24.5.0): seit wann, wie viele Codes übrig sind, ob der Rückweg steht, wie viele Geräte gemerkt und wie viele Passkeys angelegt sind. „Verwalten" öffnet seit Web 24.10.0 ein Fenster „Zweitfaktor verwalten" (bis dahin klappte es die Zeilen unter dem Satz auf) — Codes zur Wiederherstellung („Neu erzeugen"), Gemerkte Geräte („Vergessen"), Passkeys („Umbenennen", „Entfernen", „Passkey hinzufügen") und Rückweg („Erneuern"), jede mit ihrer Handlung; unten „Ausschalten" und „Schließen". Nach einer Handlung oder einer Code-Bestätigung geht es wieder auf, mit der Meldung darin. Schließen geht auch mit Esc oder einem Klick daneben.

Ausschalten geht nur, wo er kein Muss ist: Karte → „Verwalten" → unten „Ausschalten". Für Support, Admin und BetreiberIn gibt es den Knopf nicht; dort setzt die Verwaltung zurück (11.1) — die BetreiberIn für alle Rollen, ein Admin nur für NutzerInnen, und niemand am eigenen Konto. Du bekommst dann eine Mail, und der Schritt steht im Protokoll.

Rückweg mit dem Wiederherstellungsschlüssel (seit Web 20.44.0). Bei eingeschaltetem Zweitfaktor zeigt die Karte eine dritte Zeile: „eingerichtet" mit Datum, oder „ab der nächsten Anmeldung". Du musst dafür nichts tun — beim Anmelden legt dein Browser still ein Schlüsselpaar an und verschließt dessen geheime Hälfte mit deinem Schlüssel, den nur du öffnen kannst; der Server bekommt davon nichts, womit er etwas öffnen könnte. Mit ihm genügt der Wiederherstellungsschlüssel vom Notfallblatt, wenn Handy und Codes fehlen (unten). „Rückweg erneuern" legt ein neues Paar an und fragt dafür dein Passwort; das Notfallblatt bleibt gültig, und du bekommst eine Mail — erneuert ihn jemand anderes an deinem Konto, erfährst du es so. Das Demo-Konto hat keinen Rückweg.

Handy weg und die Codes auch? Seit Web 20.45.0 geht es ohne die Verwaltung: Nach dem Passwort im Code-Schritt „Gerät und Codes verloren? Wiederherstellungsschlüssel verwenden" (auch aus „Wiederherstellungscode verwenden" heraus) und den Wiederherstellungsschlüssel vom Notfallblatt eintippen — Bindestriche und Leerzeichen zählen nicht. Ein Tippfehler wird beim Tippen benannt; ein Schlüssel, der nicht zu deinem Konto passt, auch — dann geht nichts an den Server. „Zweitfaktor zurücksetzen" schaltet ihn aus, und du bist angemeldet; eine Mail geht an deine Adresse, der Schritt steht im Protokoll. Richte ihn danach unter Einstellungen → Profil mit dem neuen Gerät wieder ein — für Support, Admin und BetreiberIn geschieht das sofort, du landest unmittelbar auf „Zweitfaktor einrichten".

Der Schlüssel verlässt dabei deinen Browser nicht: Er öffnet dort dein Schlüsselpaar (Zeile „Rückweg" oben), und der Server prüft nur eine Unterschrift damit. Ohne Passwort hilft der Zettel nicht, und eine gestohlene Datenbank allein genügt nicht, um den Zweitfaktor abzuschalten. Fehlt der Verweis — das Konto hat noch kein Paar, oder die Anlage kann die Unterschrift gerade nicht prüfen (Betrieb → Status, „Rückweg-Prüfung") —, setzt die Verwaltung zurück, wie bisher. Dasselbe gilt, wenn auch das Notfallblatt fehlt.

Und wenn es niemanden gibt, der zurücksetzen könnte? Bist du die einzige BetreiberIn deiner Anlage und fehlen Gerät, Codes und Notfallblatt, gibt es seit Web 21.13.0 einen Notzugang: die Seite zweitfaktor_notweg.php deiner Anlage. Er verlangt drei Dinge — eine Datei, die du per FTP ins Anwendungsverzeichnis legst (den Namen nennt die Seite), einen Wert aus der Datenbank (im Datenbankwerkzeug deines Hosters) und dein Passwort. Wie das im Einzelnen geht, steht in 12.1 unter „Wenn die einzige BetreiberIn den Zweitfaktor verliert". Gibt es eine zweite BetreiberIn, setzt sie zurück — dann bleibt der Notzugang zu.

Nach einem Umzug der Anlage auf einen anderen Serverschlüssel — etwa nach einer Wiederherstellung aus einem Komplett-Backup — lässt sich das Geheimnis nicht mehr öffnen. Die Anmeldung sagt es und nimmt dann Wiederherstellungscodes und — seit Web 21.10.0 — deine Passkeys; beide hängen nicht am Serverschlüssel. Die Karte im Profil sagt es auch. Richte ihn danach neu ein (bei Pflichtrollen: erst zurücksetzen lassen). Ausschalten und Zurücksetzen löschen auch die Passkeys — auch den, mit dem du gerade hereingekommen bist. Also: ausschalten (oder zurücksetzen lassen), mit der App neu einrichten, dann die Passkeys neu hinzufügen.

Was er schützt und was nicht. Er schützt die Anmeldung gegen ein gestohlenes Passwort. Gegen den Angriff auf eine gestohlene Datenbank hilft er nicht — dagegen steht der Server-Anteil (Abschnitt 5).

Dieses Gerät merken (seit Web 21.8.0). Im Code-Schritt steht unter dem Feld der Haken „Dieses Gerät n Tage merken". Gibst du den Code aus der App mit Haken ein, fragt die Anmeldung an diesem Browser danach so viele Tage keinen Code — nur noch das Passwort. Wie viele Tage es sind, stellt die BetreiberIn ein, je Rolle: für NutzerInnen sind es von Haus aus 30, für Support, Admin und BetreiberIn 7 (Betrieb → Servereinstellungen, Karte „Anmeldung", 12.5). Steht dort „aus", gibt es keinen Haken.

  • Nur nach einem Code aus der App oder einem Passkey (unten). Mit einem Wiederherstellungscode oder dem Wiederherstellungsschlüssel gibt es keinen Haken — dann fehlte gerade das Handy.
  • Nicht an einem Rechner, den andere mitbenutzen. Ein gemerkter Browser ist so gut wie dein Handy: Wer dort dein Passwort kennt, ist drin.
  • Vergessen: Einstellungen → Profil, Karte „Zweitfaktor", Zeile „Gemerkte Geräte" (im Fenster „Verwalten") → „Vergessen". Von selbst vergessen werden alle gemerkten Geräte, wenn du dein Passwort wechselst oder zurücksetzt, wenn der Zweitfaktor ausgeschaltet oder zurückgesetzt wird, und wenn die BetreiberIn die Dauer kürzer stellt, als dein Gerät schon gemerkt ist.
  • Der Browser merkt sich das mit einem Cookie; auf dem Server liegt nur ein Prüfwert davon, kein Gerätename und kein Browsertyp.

Noch einmal den Code — vor wenigen Handlungen (seit Web 21.9.0). Ein paar Handlungen verlangen einen Code, der höchstens 15 Minuten alt ist: die Griffe an den Schlüsseln des Servers und das Schlüsselblatt, auf der Kontoseite einer anderen Person Rolle wechseln, Zweitfaktor zurücksetzen und Konto löschen, das Ausschalten deines eigenen Zweitfaktors und — seit Web 21.10.0 — einen Passkey hinzufügen oder entfernen. Seit Web 23.2.0 kommen dazu: neue Wiederherstellungscodes erzeugen (sie sind ein dauerhafter zweiter Faktor wie ein Passkey), und in der Verwaltung ein Komplett-Backup herunterladen, ein Konto-Backup freigeben, die Anmeldeadresse einer anderen Person ändern und ihr einen Setz-Link senden. Seit Web 23.5.0 außerdem unter Betrieb → Hintergrundjobs: eines der drei Tokens erneuern oder die Health-Abfrage abschalten. Hast du dich eben mit dem Code oder einem Passkey angemeldet, merkst du davon nichts. Kamst du über ein gemerktes Gerät herein oder ist die Anmeldung älter, erscheint die Seite „Code bestätigen" — Code aus der App (oder ein Wiederherstellungscode) eingeben oder „Mit Passkey bestätigen", danach geht es zurück. Eine abgeschickte Handlung wird dabei nicht nachgeholt: Die Seite sagt „Code bestätigt — bitte die Handlung noch einmal auslösen", und ein zweiter Klick tut es. Danach gilt der Code 15 Minuten lang auch für die übrigen. Ohne Zweitfaktor fragt nichts nach.

Passkeys (seit Web 21.10.0). Statt den Code aus der App abzutippen, kannst du die Anmeldung mit einem Passkey bestätigen — mit Fingerabdruck, Gesicht oder PIN des Geräts, oder mit einem Sicherheitsschlüssel am USB. Der Browser fragt danach, und die Antwort passt nur zu dieser Adresse: Eine nachgemachte Anmeldeseite unter einer anderen Adresse bekommt nichts, womit sie etwas anfangen kann — anders als ein Code, den man dort abtippen könnte. Der Code aus der App bleibt aber daneben: Wer auf einer nachgemachten Seite statt des Passkeys den Code eintippt, gibt ihn preis. Schau deshalb weiter auf die Adresse, auch mit Passkey.

  • Für wen. Für alle mit eingeschaltetem Zweitfaktor — ein Passkey kommt zusätzlich zur App, nicht an ihre Stelle. Codes, Codeblatt und Wiederherstellungsschlüssel bleiben der Weg, wenn das Gerät fehlt. Das Demo-Konto hat keine.
  • Hinzufügen. Einstellungen → Profil, Karte „Zweitfaktor", Abschnitt „Passkeys": eine Bezeichnung, wenn du magst („Handy", „Laptop"; bis 40 Zeichen — sonst heißt er „Passkey vom <Datum>"), dann „Passkey hinzufügen" und der Dialog deines Browsers. Weil ein neuer zweiter Faktor am Konto hängt, fragt die Seite vorher nach einem frischen Code (oben): Steht dort „Zuerst Code bestätigen", führt der Verweis auf die Seite „Code bestätigen" und zurück. Höchstens zehn je Konto und Adresse. Eine Mail an deine Adresse sagt, dass einer dazugekommen ist — hat das jemand anderes getan, erfährst du es so.
  • Anmelden. Nach dem Passwort steht im Code-Schritt über dem Codefeld „Mit Passkey bestätigen". Er zählt wie ein Code aus der App: Der Haken „Dieses Gerät merken" gilt auch für ihn, und die 15 Minuten des frischen Codes beginnen. Der Code aus der App geht daneben weiter.
  • Umbenennen (seit Web 24.10.0). In der Liste je Passkey „Umbenennen" (am Handy hinter „⋯"): ein kleines Fenster mit der Bezeichnung, bis 40 Zeichen; leer heißt er wieder „Passkey vom <Datum>". Ohne frischen Code — der Name ist eine Beschriftung, am Schlüssel ändert sich nichts. Das Protokoll hält es fest, eine Mail gibt es dafür nicht.
  • Entfernen. In der Liste je Passkey „Entfernen" (mit Rückfrage, auch hier mit frischem Code); eine Mail sagt es. Mit dem Zweitfaktor gehen alle Passkeys: beim Ausschalten, beim Zurücksetzen durch die Verwaltung und mit dem Wiederherstellungsschlüssel.
  • Nur für diese Adresse. Ein Passkey gehört zu der Adresse, unter der die Anlage läuft. Unter einer anderen Adresse — einer Testanlage neben der echten — gibt es ihn nicht, und die Anmeldung fragt nach dem Code. Nach einem Umzug auf eine neue Adresse bietet die Anmeldung die alten Passkeys nicht mehr an; die Karte zeigt sie mit der Plakette „andere Adresse" und dem Satz „gilt für … — hier nicht nutzbar", und du kannst sie dort entfernen (seit Web 21.11.0). Läuft die Anlage unter einer bloßen IP-Adresse oder ohne HTTPS — oder unter einem Namen mit Umlaut auf einem Server ohne die PHP-Erweiterung intl —, gibt es keine Passkeys, und der Abschnitt fehlt.
  • Wenn der Knopf fehlt: Der Browser kennt keine Passkeys, JavaScript ist aus, oder das Konto hat keinen für diese Adresse — dann bleibt der Code. Meldet der Browser „Abgebrochen, abgelaufen oder kein passender Passkey auf diesem Gerät", hast du den Dialog geschlossen, zu lange gewartet, oder auf diesem Gerät liegt keiner deiner Passkeys; welches davon, sagt der Browser nicht.
  • Wenn das Hinzufügen nach dem Dialog scheitert, bleibt der Knopf grau, und die Meldung endet mit „Bitte die Seite neu laden." (seit Web 21.11.2). Der Passkey liegt dann womöglich schon auf deinem Gerät, ohne dass die Anlage ihn kennt — ein zweiter Klick legte einen zweiten an. Lade die Seite neu und schau in die Liste; steht er dort nicht, kannst du ihn in der Passkey-Verwaltung deines Geräts löschen.
  • „Der Passkey wurde abgewiesen — zuletzt auf einem anderen Gerät benutzt" (seit Web 21.11.0). Jeder Passkey zählt seine Benutzungen mit; läuft die Zahl zurück, war womöglich eine Kopie im Spiel. Die Anmeldung weist ihn dann ab, du bekommst eine Mail (höchstens eine am Tag je Passkey), und der Passkey bleibt stehen — du entscheidest. Melde dich mit dem Code an; warst du es nicht, entferne ihn unter Einstellungen → Profil und wechsle dein Passwort, denn wer ihn benutzt hat, kannte es. Passkeys, die über Apple oder Google zwischen deinen Geräten wandern, zählen nicht mit und lösen das nie aus. Ein solcher Fall zählt, wie eine abgelaufene Anfrage, nicht als Fehlversuch.
  • Gespeichert wird der öffentliche Teil des Schlüssels, seine Kennung, die Adresse, für die er gilt, die Bezeichnung und wann er angelegt und zuletzt benutzt wurde; der geheime Teil verlässt dein Gerät nicht. Kein Gerätename, kein Hersteller. Dein Gerät (oder der Schlüsselbund, der deine Passkeys verwaltet) kann seinerseits die Adresse der Anlage, deine Kontoadresse als Namen des Passkeys und eine Nutzerkennung speichern — das ist deine Kontonummer, sonst nichts. Ein Sicherheitsschlüssel ohne eigenen Speicher für Passkeys legt keinen Namen ab.

3.2 Demo-Konto — ausprobieren, ohne etwas kaputtzumachen

Es gibt ein Konto, in dem sich alles gefahrlos ausprobieren lässt:

Adresse demo@gen-em.org
Passwort nadokudemo0815

Alle Daten darin sind frei erfunden. Die Orte, Kliniken, Rettungsmittel und Besatzungsnamen gibt es nicht; die Diagnosen gehören zu niemandem. Der Datensatz ist so gebaut, dass jede Funktion der Anwendung darin vorkommt — Luft- und Bodeneinsätze, Windeneinsätze, Bergwacht, Reanimationen, Dienste über Mitternacht am Boden und in der Luft (seit Web 21.3.1 ein Nachtdienst im Juni mit Einsätzen vor und nach Mitternacht), ein Diensttag ohne Einsatz, ein gefüllter Papierkorb.

Seit dem Ausbau des Bestands auch die drei Rettungsmittel-Typen im Betrieb (Abschnitt 9.1a): ein Bergwachtnotarzt am Boden mit Winde und Bergwacht-Bereitschaften, ein Verlegungsfahrzeug mit Sekundärtransporten, und zwei Veranstaltungsdienste — ein Boxkampf und ein Konzert — an Abenden, an denen tagsüber schon ein anderer Dienst lief. Die beiden Veranstaltungstage haben keinen Standort: kein Standortfeld im Diensttag, keine Rollen-Vorbelegung, und die Aufzeichnung beginnt dort, wo der Dienst begonnen hat. Beim Konzert ist alles von Hand nachgetragen — die Einsätze haben Koordinaten, aber keine Aufzeichnung, und die Tageskarte zeigt sie deshalb als gestrichelte Luftlinien.

Seit Web 14.2.1 auch die Herkunft: Unter Einstellungen → Geräte stehen zwei Geräte mit Modell — eine Uhr für die Luftdienste, ein Handy für die Bodendienste —, und jeder Einsatz trägt die Plakette des Geräts, das ihn aufgezeichnet hat. Fünf Einsätze sind aus einer Ruhezeit geschnitten (Abschnitt 4.1b): Sie tragen die Plakette „Schnitt", und am Ruhesegment steht der gesperrte Bereich — einer davon nach Mitternacht im Nachtdienst, einer über ein ganzes Segment. Zwei Zeiträume sind gelöscht, und ein Teil der Aufzeichnungen ist verdichtet — zusammengefasst oder, wenn sie älter als 31 Tage sind, ausgedünnt —, wie es der Wartungslauf mit deinen eigenen Daten tut.

Zum Üben des Schneidens liegen an drei Diensttagen Ruhesegmente mit einem Weg zu einem Einsatzort und zurück, aus dem niemand einen Einsatz gemacht hat (am 14.02., 05.07. und 16.08.); eines davon ist schon verdichtet. Schneide dort einen Einsatz heraus und nimm ihn wieder zurück — beides geht beliebig oft. Den Schnitt am 14.06. kannst du ebenfalls zurücknehmen; den am 18.04. nicht mehr, weil seine Aufzeichnung danach verdichtet wurde.

Ausprobieren ist ausdrücklich erwünscht. Ändere Einsätze, lege neue an, lösche welche, pflege Stammdaten, koppele eine Uhr. Es geht nichts verloren, was jemandem fehlen würde.

30 Minuten nach der ersten Änderung setzt sich das Konto selbst zurück. Danach ist der Ausgangsstand wieder da und deine Änderungen sind fort — auch die, die du gerade noch gebraucht hättest. Gezählt wird ab der ersten Änderung, nicht ab deiner letzten: Wer länger ausprobiert, wird mittendrin zurückgesetzt. Solange niemand etwas ändert, bleibt der Bestand stehen, und du wartest beim Hereinkommen auf nichts; nur einmal am Tag wird er auch ohne Änderung zurückgesetzt. Ein Banner am oberen Rand erinnert daran und nennt, sobald du etwas geändert hast, wann es so weit ist. Bis Web 21.1.x setzte es sich alle 30 Minuten zurück, auch ohne Änderung.

Was im Demo-Konto nicht geht: E-Mail-Adresse und Passwort lassen sich nicht ändern, und „Passwort vergessen" führt für diese Adresse zu nichts. Beides ist Absicht — die Zugangsdaten sind öffentlich und müssen es bleiben, damit die nächste Person hereinkommt. Alles andere ist offen.

Und in der Verwaltung (seit Web 12.4.1): Auf der Kontoseite des Demo-Kontos sind Ändern, Sichern, Einspielen, Freigeben und Löschen gesperrt, die Karte „Konto-Backups" fehlt dort ganz, und der Anzeigename lautet „Demo NutzerIn". Verwaltet wird das Konto ausschließlich über den Karte Demo-Konto unter Installation: anlegen, zurücksetzen, entfernen. Der Grund ist der Reset — was auf der Kontoseite eingetragen würde, wäre beim nächsten Reset wieder weg, und zwar ohne Hinweis. Die Geräte bleiben offen: Eine Uhr zu koppeln ist gerade der Sinn dieses Kontos, und der Reset räumt das selbst wieder ab.

Niemals echte Patienten- oder Einsatzdaten in diesem Konto erfassen. Es ist die einzige Stelle der Anwendung, an der die Verschlüsselung bewusst ausgesetzt ist: Das Schlüsselmaterial liegt dort auf dem Server, damit die Rücksetzung funktioniert. Für erfundene Daten ist das unproblematisch — für echte wäre es das nicht.

Wird das Konto gerade von sehr vielen gleichzeitig genutzt, ist die Anmeldung vorübergehend gesperrt. Die Meldung sagt, ab wann es wieder geht; ein eigenes Konto ist davon nicht betroffen.

4. Einsätze ansehen und bearbeiten

4.1 Tagesübersicht

Tagesübersicht auf dem Handy

Startseite nach der Anmeldung. Links die Liste der Diensttage; der neueste ist vorausgewählt. Liegen mehrere Diensttage auf einem Kalendertag, steht bei jedem zusätzlich die Uhrzeit des Dienstbeginns — sonst ließen sie sich nicht unterscheiden. Vor dem Datum steht ein Zeichen für die Art: ein Hubschrauber für luftgebunden, ein Rettungswagen für bodengebunden, ein gestrichelter Kreis für „noch ohne Zuordnung". Trägt der Diensttag ein Rettungsmittel mit einem eigenen Typ, steht dessen Zeichen davor — ein Berg für Bergwacht, eine Eintrittskarte für Veranstaltung, ein Kreis mit drei Punkten für Sonstiges (seit Web 16.0.0). Der Typ geht der Art vor: Ein Bergwacht-Dienst trägt den Berg, ob er nun geflogen oder gefahren wird; wo du mit der Maus darüber stehenbleibst, nennt der Hinweis beides („Bergwacht, luftgebunden").

Rechts daneben steht der Name des Rettungsmittels — und zwar sein Kurzname, wenn einer hinterlegt ist („BW Hoch" statt „Bergwacht Hochkreuth"). Die Leiste ist die schmalste Stelle der Anwendung; der volle Name steht im Hinweis, sobald du darüber stehenbleibst, und überall sonst ohnehin. (Bis Web 8.0.1 waren das Emoji — sie sahen auf jedem Betriebssystem anders aus; seit Web 9.0.0 sind es gezeichnete Symbole, die sich mitfärben.)

Über allem steht die Titelzeile (seit Web 9.2.0): Wochentag und Datum als Überschrift, darunter Rettungsmittel, Standort und Dienstbeginn in einer Zeile. Rechts daneben öffnet der Knopf „···" das Aktionsblatt des Tages mit „Einsatz nachtragen", „Einsatz aus GPS-Daten ausschneiden" (Abschnitt 4.1b, nur an Tagen mit Ruhesegment), „Diensttag-Daten bearbeiten", „Datum ändern" (Abschnitt 4.2a), „Anderen Diensttag aufnehmen" (Abschnitt 4.5a), „GPS-Daten als GPX" (Abschnitt 4.1a), „GPX importieren" (Abschnitt 4.1c) und „Tag löschen" (Abschnitt 8). Auf dem Handy fährt das Blatt von unten herein, am Desktop steht es als Menü am Knopf; Escape schließt es, die Tastatur bedient es vollständig. Rechts neben dem Menü steht „Einsatz nachtragen" zusätzlich als oranger Knopf — die Haupthandlung der Seite. Orange ist in der Oberfläche diesem einen Knopf je Seite vorbehalten (Anmelden, Konto anlegen, Diensttag anlegen, Einsatz bearbeiten und speichern); alles andere handelt in Dunkelblau.

Pro Tag:

  • Diensttag-Daten: Die Karte zeigt Standort, Rettungsmittel, Besatzung und Notizen als Leseansicht. Erst „Bearbeiten" (in der Kopfzeile oder im Aktionsblatt) klappt an derselben Stelle das Formular auf; Speichern — oder ein zweiter Klick auf „Bearbeiten" — klappt zurück. Solange noch nichts eingetragen ist, sagt die Karte das („Noch keine Angaben") statt leere Zeilen zu zeigen.

    Welche Besatzungsrollen im Formular stehen, ergibt sich aus dem gewählten Rettungsmittel: luftgebunden Pilot 1, Pilot 2, HEMS-TC, Flugretter und Sonstige, bodengebunden Fahrer, Praktikant und Sonstige. Ein Diensttag ohne Rettungsmittel zeigt keine Rollen — trag Standort und Rettungsmittel nach, dann erscheinen sie.

    Seit Web 18.1.0 erscheinen sie sofort, sobald du das Rettungsmittel wechselst — vorher musstest du erst speichern, um die neuen Rollen überhaupt zu sehen, und danach ein zweites Mal, um sie zu füllen. Namen, die du schon eingetragen hast, bleiben stehen, solange das neue Rettungsmittel dieselbe Rolle führt. Gespeichert ist damit noch nichts: Erst „Speichern" schreibt die Zuordnung fest.

    „Anderes Rettungsmittel …" steht als letzter Eintrag der Auswahl (seit Web 18.1.0). Er ist für den Dienst auf einem Fahrzeug, das du sonst nie fährst — die Aushilfe, das Fremdfahrzeug, der einmalige Sanitätsdienst. Darunter klappen drei Felder auf: Bezeichnung, Typ (und die Betriebsart, die er zulässt) und Standort. Das Standortfeld ist beides zugleich: Tippst du und wählst einen Vorschlag, übernimmt es den Standort samt Koordinate; tippst du etwas anderes, bleibt es dein Text.

    Es entsteht dabei kein Stammdatensatz. Das Rettungsmittel steht nur an diesem einen Diensttag und taucht in keiner Auswahlliste wieder auf; in Suche, Filter und Diensttage-Leiste findest du es trotzdem. Wenn du es öfter brauchst, leg es unter Einstellungen → Standorte an. Die Besatzungsrollen folgen der Betriebsart (seit Web 21.0.0): luftgebunden sind es Pilot 1, Pilot 2, HEMS-TC, Flugretter und Sonstige, bodengebunden Fahrer, Praktikant und Sonstige — gleich welcher Typ. Ein „Anderes Rettungsmittel" vom Typ Bergwacht oder Sonstiges führt also die Rollen seiner Art, obwohl ein Rettungsmittel desselben Typs aus den Stammdaten keine Rollen-Vorlagen hat (9.1a). Das ist gewollt: In den Stammdaten wählst du die Rollen per Haken aus, hier gibt es keine Haken, aus denen man wählen könnte. Die Felder erscheinen, sobald du die Betriebsart wählst; vorher steht dort ein Satz, der sagt, was fehlt. Am einzelnen Einsatz gilt dasselbe, denn das Einsatzformular zeigt die Rollen des Diensttags. Vorschläge für die Namen gibt es, wenn du den Standort aus der Liste gewählt hast. Einen frei getippten Ort kennt die Anwendung nicht, also auch keine Namen dazu. Bis Web 20.47.0 führte ein solcher Tag gar keine Rollen; Tage von damals haben sie mit dem Update bekommen.

    Bis Web 18.1.0 stand hier, Namen ließen sich am einzelnen Einsatz nachtragen. Das stimmte nicht: Ein frisch angelegter Tag dieser Art bot auch dort keine Rollen an, und ein aus einer früheren Zuordnung umgestellter bot die alten an. Seit Web 18.1.1 verhalten sich beide gleich.

  • Karte mit allen Einsätzen des Tages (jeder in eigener Farbe, beginnend mit Orange/Blau/Rot) und dem Ruhe-Track in gedämpftem Graublau. Kleine Richtungspfeile auf den Aufzeichnungen zeigen die Bewegungsrichtung. Der Standort steht als Haus-Schild auf der Karte, der Einsatzort als dunkelblauer Kreis. Anfang und Ende der Aufzeichnung sind hier nicht gekennzeichnet — die Tagesübersicht zeigt den ganzen Tag, und was ihn einrahmt, steht am einzelnen Einsatz (Abschnitt 4.2). Bis Web 15.9.0 behauptete dieser Absatz das Gegenteil. Transportziele zeigt diese Karte nicht (seit Web 12.3.2): Sie beantwortet, wo das Rettungsmittel an diesem Tag unterwegs war, und acht Klinik-Schilder zwischen acht Aufzeichnungen beantworten eine andere Frage. Das Transportziel steht in der Einsatzansicht, wo es zu einem Einsatz gehört. Einsätze ohne aufgezeichneten Track verbindet eine gestrichelte Luftlinie in der Farbe des Einsatzes — gestrichelt heißt immer: gerade Verbindung, kein aufgezeichneter Weg. Die Karte zoomt automatisch so, dass alles sichtbar ist. Auf dem Handy liegt sie kompakt über der Einsatzliste, auf sehr breiten Bildschirmen (ab 1600 px) rückt sie neben Daten und Tabelle. Oben links lässt sich die Karte per Klick auf Vollbild stellen (erneuter Klick oder ESC verlässt den Vollbildmodus wieder), oben rechts über das Kartenzeichen zwischen vier Kartenarten umschalten: Standard, Wanderkarte (mit Höhenlinien), Topografisch und — seit Web 7.0.0 — Satellitenbild. Wer die Kacheln liefert (OpenStreetMap, OpenHikingMap, OpenTopoMap, Esri), steht seit Web 24.8.0 nicht mehr in der Auswahl, sondern je Kartenart in der Zeile unten rechts. Das Luftbild zeigt, was Höhenlinien nicht leisten: ob der Einsatzort auf einer Wiese, im Wald oder auf einem Parkplatz lag. Es ist bewusst nicht der Standard, weil es deutlich größere Kacheln lädt. Beide Controls stehen auf allen drei Kartenseiten der Anwendung zur Verfügung.

    Unter dem Vollbild-Knopf steht seit Web 19.5.0 ein dritter Knopf — nur hier, auf der Tagesübersicht. Er vergrößert die Karte, ohne die Seite zu verlassen: Sie wird so hoch, dass ein gutes Drittel des Bildschirms für die Einsatzliste darunter bleibt. Auf sehr breiten Bildschirmen (ab 1600 px), wo sie ohnehin hoch neben Daten und Tabelle steht, macht derselbe Knopf sie stattdessen breit: Sie rückt dann über die ganze Inhaltsbreite zwischen Diensttag-Daten und Liste. Das Zeichen im Knopf sagt, was gerade passiert — senkrechte Pfeile für höher, Querpfeile für breiter. Ein zweiter Klick stellt den Ausgangszustand wieder her, und die Wahl bleibt erhalten: Wer die Karte groß lässt, findet sie beim nächsten Aufruf groß vor. Das merkt sich der Browser, nicht das Konto — am Handy kann sie also klein bleiben, während sie am Schreibtisch groß steht.

  • Einsätze: Die Kopfzeile der Karte nennt Anzahl und Kilometersumme des Tages und trägt rechts „+ Nachtragen" — das öffnet das Eingabeformular für diesen Tag.

    Auf dem Handy (unter 720 px) erscheint jeder Einsatz als dreizeilige Kachel: Farbstreifen und Beginn, der Einsatzort fett mit der Kilometerzahl, die Diagnose, darunter Dauer und Alter samt Plaketten (Winde, Bergwacht, Sekundär, Fehleinsatz, „kein Ende"). Das ist die Antwort auf den alten Zustand, in dem Ort und Diagnose auf schmalen Bildschirmen schlicht verschwanden. Sortiert wird über das Pfeilsymbol im Kopf: Es öffnet ein Blatt mit denselben Spalten wie am Desktop, die Reihenfolge ist dieselbe.

    Ab 720 px steht die Tabelle: Nr., Beginn, Dauer, Einsatzort (Ortschaft aus der verschlüsselten Adresse), Alter, Diagnose, Winde, Bergwacht, Sekundärtransport, Kilometer. Winde und Bergwacht stehen nur an einem luftgebundenen Diensttag, dessen Rettungsmittel sie führt (seit Web 20.35.0). An einem bodengebundenen Dienst fehlen beide Spalten, auch wenn das Rettungsmittel die Fähigkeit hat — die Haken bleiben im Einsatz selbst eintragbar und dort sichtbar, und unter 720 px stehen sie weiterhin als Plakette auf der Kachel. Davor stand die Windenspalte an jedem Diensttag, auch an einem NEF-Dienst ohne Winde: Die Regel war im Feldkatalog hinterlegt, aber in dieser Tabelle nie ausgewertet worden. Den Fehleinsatz führt diese Tabelle bewusst nicht — er steht im Einsatz selbst und auf der Kachel; auswerten lässt er sich in der Zeitraum-Übersicht und der Suche. Zahlenspalten stehen rechtsbündig, Haken zentriert; ein Klick auf eine Zeile öffnet den Einsatz, ein Klick auf einen Spaltenkopf sortiert.

    Seit Web 20.37.0 ist es dieselbe Tabelle wie in Suche und Zeitraum-Übersicht — vorher baute die Tagesübersicht sie ein zweites Mal von Hand. Drei Kleinigkeiten sehen dadurch anders aus: Der Kopf „Sekundärtransport" steht als ein Wort und trennt nur, wenn der Platz es verlangt (vorher stand „Sekundär" und „Transport" ohne Bindestrich untereinander); das Alter steht rechtsbündig wie die übrigen Zahlen; und Winde und Bergwacht stehen vor dem Sekundärtransport. Die Reihenfolge der Spalten oben in diesem Absatz stimmte schon vorher — das Handbuch beschrieb die gemeinsame Tabelle, die Tagesübersicht wich davon ab.

    Beim Sortieren nach „Beginn" steht jetzt auch ein Nachtdienst richtig (seit Web 20.37.0). Bei einem Dienst über Mitternacht stand in der Zeitraum-Übersicht und in der Suche bis dahin 01:10 vor 23:50 — die Uhrzeit wurde als Text verglichen, nicht als Zeitpunkt. Bei gleichen Werten — zwei Einsätze derselben Dauer — entscheidet die Einsatznummer, in beiden Richtungen. Die Dauer rechnet von Beginn bis Ende des Einsatzes; ist er noch nicht abgeschlossen, steht dort die Plakette „kein Ende". Bis Web 14.2.1 rechnete sie bis Phase 9 — ein geschnittener oder importierter Einsatz hat keine und galt damit als „kein Ende", obwohl er längst zu Ende war. Eine Spalte abw. Crew gab es von Web 5.4.0 bis 5.9.0; sie ist wieder entfallen, weil der Haken an den allermeisten Tagen in keiner Zeile stand. Ob für einen Einsatz eine vom Diensttag abweichende Besatzung eingetragen ist, steht vollständig in der Einsatzansicht unter Besatzung — mit „(abw.)" an der betroffenen Rolle (Abschnitt 5). Das Feld selbst ist unverändert.

4.1a GPS-Daten des Diensttages

Erreichbar über „···" → „GPS-Daten als GPX". Die Seite zeigt oben die Karte des Tages und darunter jede Aufzeichnung als eigene Zeile, in der Reihenfolge, in der der Tag verlaufen ist: Ruhezeit, Einsatz, Ruhezeit, Einsatz. Einsätze tragen ihre Nummer. Je Zeile stehen Zeitraum und Punktzahl. Ob eine Aufzeichnung schon ausgedünnt ist, zeigt die Seite seit Web 24.8.0 nicht mehr an; die GPX-Datei trägt es weiter in sich (Dateiname und Kennzeichnung je Track, siehe unten).

Wer auf eine Zeile zeigt, sieht auf der Karte, welche Linie gemeint ist; ein Klick zoomt auf sie. GPX lädt genau diese Aufzeichnung herunter.

Mehrere auf einmal. Links in jeder Zeile steht ein Kästchen. Sobald eines angekreuzt ist, erscheint unten eine Leiste — sie sagt, wie viele Aufzeichnungen ausgewählt sind, und „Auswahl als GPX" lädt sie als eine Datei herunter. Die Karte zeigt dabei mit: Was ausgewählt ist, bleibt kräftig, der Rest tritt zurück.

In der Datei bleibt jede Aufzeichnung ein eigener Track — Kartenprogramme zeigen sie getrennt an und ziehen keine Verbindungslinie vom Ende der einen zum Anfang der nächsten. Der Dateiname nennt Tag und Anzahl, z. B. diensttag_2026-05-10_4-spuren_original.gpx; sind Original- und ausgedünnte Aufzeichnungen gemischt, heißt er …_gemischt.gpx, und jede trägt ihre Kennzeichnung in der Datei bei sich.

Ein Eintrag ohne Aufzeichnung steht in der Liste, hat aber ein abgeschaltetes Kästchen und keinen Abruf — es gibt an ihm nichts herunterzuladen.

Die Datei entsteht in deinem Browser (seit Web 22.3.0). Die GPS-Daten liegen verschlüsselt auf dem Server; die Seite öffnet sie mit deinem Passwort, um die Karte zu zeichnen, und baut aus denselben Punkten die Datei. Ist die Sitzung gesperrt, fragt sie zuerst nach dem Passwort. Die Datei selbst ist dieselbe wie vorher — Name, Beschreibung und Dateiname haben sich nicht geändert.

Diese Seite ist die einzige Stelle, an der auch die Ruhezeiten einzeln greifbar sind — auf der Tagesübersicht sind sie nur eine schwarze Linie auf der Karte.

GPS-Daten zeigen den Weg, also auch den Einsatzort. Die Datei ist damit so zu behandeln wie die geschützten Angaben selbst: Auf dem Server sind sie verschlüsselt, in der heruntergeladenen Datei nicht. Der Hinweis steht auf der Seite über der Liste.

4.1b Einen vergessenen Einsatz aus der Ruhezeit schneiden

Seit Web 12.6.0.

Das Problem, für das es gebaut ist: Der Einsatz war da, nur hat niemand auf der Uhr einen Knopf gedrückt. Er fehlt also in der Liste — aber der Weg ist aufgezeichnet: Das Gerät hat durchgezeichnet und alles als Ruhezeit gebucht. Wer den Einsatz einfach nachträgt, bekommt einen Einsatz ohne GPS-Daten, und die Fahrt bleibt als Ruhezeit stehen.

Dafür gibt es im Aktionsmenü des Diensttags („···") den Eintrag „Einsatz aus GPS-Daten ausschneiden", direkt unter „Einsatz nachtragen". Er steht nur an Tagen, die Aufzeichnung zwischen den Einsätzen haben, und öffnet unter der Einsatzliste die Karte „Ruhesegmente": jede solche Aufzeichnung mit Zeitraum, Dauer und Punktzahl. Hat der Tag genau ein Segment, ist dessen Schneide-Bereich gleich aufgeklappt. (Bis Web 24.8.0 stand die Karte an jedem Tag mit Ruhesegment fest unter der Einsatzliste.)

So geht es:

  1. „Schneiden" an der Zeile des Segments, in dem der Einsatz steckt. Der Bereich klappt darunter auf. Auf dem Handy stehen „Schneiden" und „Schnitt zurücknehmen" hinter dem „⋯" am Ende der Zeile, wie bei jeder Liste.
  2. Beginn und Ende eintragen. Vorbelegt ist das ganze Segment — das ist Absicht: Ein geratener Ausschnitt wäre eine Behauptung über etwas, das nur du weißt. Die Zeitleiste darüber zeigt orange, was du gewählt hast.
  3. Phasenzeiten sind optional — Ausrücken, Ankunft Einsatzort, Ankunft Klinik. Alles Weitere trägst du danach im Einsatz nach; zum Schneiden genügen Beginn und Ende.
  4. „Einsatz erzeugen". Unter den Feldern steht vorher in Worten, was passiert: welchen Zeitraum der Einsatz bekommt, wie lange er dauert (etwa „1h 06min", seit Web 21.1.11 wie überall in der Anwendung) und welche Reste als Ruhesegment stehen bleiben. Passt die Auswahl nicht — das Ende liegt vor dem Beginn, oder eine Zeit liegt außerhalb des Segments —, steht dort stattdessen rot, warum, und der Knopf bleibt gesperrt.

Die Punkte wandern. Nach dem Schnitt liegt die Fahrt beim Einsatz und erscheint nicht mehr im Ruhesegment. Das ist gewollt: Sonst zeigte die Ruhezeit später eine Fahrt über 40 km. Seit Web 22.2.0 schneidet dein Browser — die GPS-Daten sind verschlüsselt, und nur er kann sie öffnen. Du musst dafür entsperrt sein; sonst fragt die Anwendung zuerst nach dem Passwort. Im Ruhesegment ist der Zeitraum danach gesperrt und wird nicht mehr gezeigt; die Punktzahl an der Zeile zählt ihn trotzdem noch mit, bis die Aufzeichnung einmal neu gepackt ist.

Was danach noch fehlt: Einsatzort, Alter und Diagnose. Die sind verschlüsselt und können nur im Browser entstehen — der geschnittene Einsatz ist zunächst ein Einsatz mit Zeiten, Phasen und GPS-Daten. Öffne ihn und trag den Rest wie gewohnt nach (Abschnitt 4.3).

Rückgängig steht an derselben Segmentzeile, neben einer Plakette mit dem geschnittenen Zeitraum. Es löscht den Einsatz, und der Zeitraum gehört wieder zum Ruhesegment.

Es geht nur, solange am Einsatz nichts hängt. Hast du inzwischen Einsatzort, Diagnose, eine abweichende Besatzung oder eine Reanimation eingetragen, sagt die Anwendung das und tut nichts — Rückgängig würde das mitlöschen. Soll der Einsatz dann trotzdem weg, lösch ihn über den Papierkorb (Abschnitt 8); dort läuft die Frist von 30 Tagen.

Und es geht nicht mehr, wenn die Aufzeichnung inzwischen verdichtet wurde. Beim Verdichten fallen die geschnittenen Punkte aus dem Ruhesegment; sie liegen dann nur noch im Einsatz, und Rückgängig würde sie mitlöschen. Die Anwendung sagt es und tut nichts — auch hier ist der Papierkorb der Weg.

Ein Zeitraum, in dem kein Punkt liegt, lässt sich nicht schneiden. Die Anwendung sagt es und legt nichts an. Das passiert, wenn du denselben Bereich ein zweites Mal schneidest oder wenn das Gerät dort nicht aufgezeichnet hat. Für einen Einsatz ohne GPS-Daten ist „Nachtragen" der richtige Weg.

Und wenn das Gerät den Zeitraum später noch nachliefert? Es kommt nicht mehr an. Der Schnitt merkt sich den Zeitraum, und was daraus nachkommt, wird verworfen — sonst läge die Fahrt hinterher zweimal da. Alles außerhalb des geschnittenen Zeitraums kommt normal an; die Aufzeichnung läuft über den Schnitt hinweg weiter, und ein Dienst, der um 09:30 geschnitten wurde, zeichnet um 09:31 weiter auf. Nimmst du den Schnitt zurück, ist auch die Sperre wieder weg.

Ein Stück einer Aufzeichnung löschen

Seit Web 22.2.0.

Ein vergessener Dienst zeichnet weiter auf — auch den Weg nach Hause. Solche GPS-Daten willst du nicht behalten, den echten Dienst daneben aber schon. Dafür steht im selben aufgeklappten Bereich neben „Einsatz erzeugen" der rote Knopf „Zeitraum löschen":

  1. „Einsatz aus GPS-Daten ausschneiden", dann „Schneiden" an der Zeile des Segments, Beginn und Ende des Zeitraums eintragen — wie beim Schneiden.
  2. „Zeitraum löschen". Die Anwendung fragt nach und nennt, wie viele Punkte zwischen welchen Uhrzeiten wegfallen.
  3. Nach „Löschen" sind diese Punkte endgültig fort; es gibt kein Rückgängig. Die übrigen Punkte bleiben, die Punktzahl an der Zeile sinkt. Im Protokoll steht eine Zeile dazu.

Der gelöschte Zeitraum bleibt gesperrt: Sendet ein Gerät ihn noch einmal, kommt er nicht zurück. Ein paar Grenzen:

  • Die ganze Aufzeichnung lässt sich so nicht löschen — dafür ist der Papierkorb da (den Diensttag löschen, Abschnitt 8).
  • Aufzeichnungen aus der Zeit vor der Verschlüsselung gibt es seit Web 23 nicht mehr; bis dahin ließen sie sich nicht stückweise löschen.
  • Zusammengefasste und ausgedünnte Aufzeichnungen (Abschnitt 6, „GPS-Daten verdichten") lassen sich seit Web 22.6.0 genauso stückweise löschen; sie bleiben danach zusammengefasst.
  • Kommen gerade neue GPS-Daten an, während du löschst, tut die Anwendung nichts und bittet dich, die Seite neu zu laden — sonst ginge das Neue verloren.

4.1c GPX-Datei importieren

Seit Web 12.7.0.

Eine Aufzeichnung, die woanders entstanden ist — auf einer Wanderuhr, als Export aus einer anderen Software, aus einem eigenen Backup —, lässt sich einem Diensttag hinzufügen. Über „···" → „GPX importieren"; der Eintrag steht direkt neben „GPS-Daten als GPX", denn es ist derselbe Weg in die andere Richtung.

Warum hier und nicht unter „Import / Export"? Eine Aufzeichnung gehört immer zu einem Diensttag — und welcher das ist, weiß nur die Tagesübersicht. Unter Import / Export steht dieselbe Begründung, samt Verweis hierher.

Zwei Möglichkeiten, und die Wahl ist wichtig:

  • Ruhesegment — die Datei ist die Aufzeichnung eines ganzen Dienstes. Sie wird eine durchgehende Ruhezeit, und die Einsätze schneidest du danach heraus (Abschnitt 4.1b). Das ist der Regelfall.
  • Einsatz — die Datei ist genau ein Einsatz. Sie wird unmittelbar einer; die Phasenzeiten trägst du danach im Einsatz nach.

Die Datei muss Zeitstempel haben. Jeder Punkt braucht ein <time>. Ohne Zeit gibt es keine Reihenfolge, kein Schneiden und keine Phasenzeiten — eine solche Datei wird abgelehnt, und die Meldung sagt genau das. Ebenso abgelehnt werden kaputte Dateien, Dateien ohne Track (nur Wegpunkte oder Routen), mehr als 50 000 Punkte (das sind knapp 14 Stunden bei einem Punkt je Sekunde) und Dateien über 12 MB. In jedem Fall steht der Grund im Dialog, und es entsteht nichts.

Die Datei sollte UTF-8 sein. GPX schreibt das vor, und Geräte halten sich daran. Eine Latin-1-Datei kommt trotzdem an — die Punkte vollständig, Umlaute aber als Ersatzzeichen; sie stehen nur im Namen der Aufzeichnung, und den speichert der Import nicht. Abgelehnt werden ein Nullbyte (das deutet auf UTF-16 hin) und eine Kodierungsangabe wie UTF-7, UTF-16 oder EBCDIC; die Meldung sagt, was zu tun ist: als UTF-8 speichern und erneut versuchen.

Die Datei wird in deinem Browser gelesen (seit Web 22.3.0). Bevor etwas an den Server geht, verschlüsselt der Browser die Punkte; der Server sieht keine Koordinate. Jede Ablehnung oben entsteht deshalb im Dialog selbst, ohne dass etwas gesendet wurde. Ein Passwort braucht es dafür nicht: Verschlossen wird mit dem öffentlichen Schlüssel deines Kontos, wie es die Uhr auch tut.

Was toleriert wird: GPX 1.0 ebenso wie 1.1, und Dateien ohne Namensraumangabe. Mehrere Abschnitte in einer Datei werden zu einer Aufzeichnung zusammengeführt und nach Zeit sortiert. Einzelne unbrauchbare Punkte — eine Koordinate außerhalb des Erlaubten, eine unlesbare Zeit — fallen heraus, ohne die Datei zu verwerfen; wie viele es waren, steht in der Rückmeldung.

Nach dem Import steht das neue Segment beziehungsweise der Einsatz an seiner Stelle in der Tagesansicht, und die Rückmeldung nennt Punktzahl und Zeitraum. Beim Import als Ruhesegment öffnet sich dazu die Karte „Ruhesegmente", denn dort steht die Rückmeldung, und dort schneidest du die Einsätze heraus. Der Diensttag verlängert sich, wenn die Aufzeichnung über seinen bisherigen Zeitraum hinausreicht.

4.2 Einsatzansicht

Über dem Titel steht der Rückweg „‹ Sonntag, 27.12.2026" zurück zur Tagesübersicht. Der Titel heißt „Einsatz N · Uhrzeit" (N = Nummer des Tages nach Alarmierungszeit; auf dem Handy nur „Einsatz N"). Rechts daneben: „Bearbeiten" als dunkelblauer Hauptknopf und das Aktionsblatt mit Verschieben, GPS-Daten als GPX und Löschen (mobil „···", am Desktop „Aktionen"; Escape schließt, die Tastatur bedient es vollständig — seit Web 9.3.0 dasselbe Blatt wie auf der Startseite). GPS-Daten als GPX erscheint nur, wenn der Einsatz überhaupt GPS-Daten hat, und lädt sie als GPX-Datei herunter — lesbar von jedem Kartenprogramm. Die Datei baut dein Browser aus den geöffneten GPS-Daten (seit Web 22.3.0; Abschnitt 4.1a). In der Unterzeile stehen Zeitspanne — bei einem Einsatz ohne Ende „… Uhr – kein Ende" —, das Herkunftskennzeichen als Plakette, Rettungsmittel und Standort:

Kennzeichen Bedeutung
Uhr Von der Garmin-Uhr-App aufgezeichnet
Handy Von der Android-App auf dem Handy aufgezeichnet
Wear An der Wear-OS-Uhr begonnen — gesendet hat ihn das Handy
manuell Von Hand nachgetragen (Abschnitt 4.5/4.3)
importiert Über Import/Export eingespielt
Schnitt Aus einer Ruhezeit herausgeschnitten (Abschnitt 4.1b)

GPS-Daten, Phasenorte und Reanimation öffnet dein Browser (seit Web 22.0.3). Uhr und Handy schicken sie verschlüsselt, und nur dein Browser hat den Schlüssel dazu — deshalb erscheinen Karte, Einsatzphasen und Reanimation erst nach dem Entsperren. Dauert das einen Moment, steht an ihrer Stelle ein kleiner drehender Ring mit einem Satz: „Ortsdaten werden geladen …", „Wartet auf dein Passwort" (der Ring steht dann still, bis du entsperrst), „Ortsdaten werden geöffnet …". Lassen sie sich nicht öffnen, steht dort eine rote Meldung; die übrigen Angaben des Einsatzes stimmen trotzdem. Die Administration erfährt davon von selbst (seit Web 22.0.4): Im Reiter System erscheint eine Meldung mit der Nummer des Einsatzes und dem Grund — nie mit dem Inhalt. Dasselbe gilt für die Karte der Tagesübersicht und für „GPS-Daten des Diensttages" (4.1a). Seit Web 22.1.0 gilt dasselbe für die Zielklinik (Zeile, Pin, Linie zur letzten Zielklinik) und die Höhe des Einsatzorts: Beides steht erst nach dem Entsperren da. (Von Web 22.0 bis 22.7 zeigten Einsätze aus der Zeit davor vorübergehend keine Karte, bis dein Browser ihre Ortsdaten im Hintergrund verschlossen hatte. Seit Web 23 ist das abgeschlossen; alte Ortsdaten im Klartext gibt es auf dem Server nicht mehr.)

Sechs Kennzeichen seit Web 14.0.0, vorher drei. Ein Einsatz vom Handy und einer von der Wear-OS-Uhr standen bis dahin beide als „Uhr" da, ein geschnittener als „manuell" — die Anzeige konnte es nicht besser wissen, weil es der Datensatz selbst nicht wusste. Bestehende Einsätze sind beim Update mitgezogen worden.

„Handy" und „Wear" kommen dabei vom selben Gerät: Die Uhr-App am Handgelenk hat keinen eigenen Zugang zum Server, sie reicht ihre Ereignisse ans Handy weiter, und das sendet. Der Unterschied sagt, wo du getippt hast, nicht welches Gerät hochgeladen hat.

Trägt der Einsatz GPS-Daten, steht dort außerdem die Plakette „GPS-Daten". Ob die Aufzeichnung schon ausgedünnt ist (das geschieht sechs Monate nach dem Einsatz, siehe Abschnitt 9), sagt sie seit Web 24.8.0 nicht mehr: Die orange Plakette „GPS-Daten ausgedünnt" las sich wie eine Warnung, und es ist keine — die Aufzeichnung ist vollständig in der Form, die bleibt. Die GPX-Datei trägt die Angabe weiter (Abschnitt 4.1a).

Seit Web 15.9.0 steht keine Zahl mehr darin. Bis dahin hieß sie „Spur · 852 Punkte" bzw. „Spur ausgedünnt · 113 von 443 Punkten". Die Zahlen sind gegangen, weil sie eine Frage beantworteten, die niemand stellt: Wie viele Messpunkte eine Aufzeichnung hat, sagt nichts über den Einsatz — es sagt etwas über das Speicherverfahren. Wer die Punktzahl doch braucht, findet sie auf der Seite „GPS-Daten des Diensttages" (4.1a), wo sie zur Sache gehört.

Wurde der Einsatz nach dem Anlegen verändert, erscheint zusätzlich das Bearbeitungskennzeichen „editiert" — unabhängig von der Herkunft. Ein von der Uhr aufgezeichneter, später bearbeiteter Einsatz zeigt also „Uhr" und „editiert", nicht „manuell": „manuell" beschreibt ausschließlich, wie ein Einsatz entstanden ist, „editiert" ob er danach verändert wurde.

Solange die Verschlüsselung gesperrt ist, steht über den Karten eine blaue Meldung mit dem Entsperren-Knopf. Sind gespeicherte Angaben mit dem aktuellen Schlüssel nicht lesbar, steht dort stattdessen eine deutliche Fehlermeldung.

Nach dem Entsperren verschwindet die Meldung (seit Web 12.3.1). Eine Bestätigung, die von da an auf jedem Einsatz steht, sagt beim zwanzigsten Mal nichts mehr; sichtbar ist der Zustand ohnehin daran, dass die geschützten Angaben dastehen. Entsperrt bleibt es bis zur Abmeldung — das Passwort ist danach nicht noch einmal nötig.

Welche Angaben geschützt sind, sagen die Karten selbst: Die Blöcke Einsatz und PatientIn tragen im Kopf die blaue Plakette „verschlüsselt", und die einzelnen geschützten Zeilen — Einsatzort, Beschreibung, manueller Abfahrtort, Diagnose, Name, Geburtsdatum, Alter und die Notizen des Einsatzes — tragen vor ihrer Beschriftung ein kleines Schloss (seit Web 24.8.0 in einer eigenen schmalen Spalte, damit die Werte in einer Flucht beginnen; bis dahin stand es hinter dem Wort). Die Plakette sagt „hier stehen verschlüsselte Angaben", das Schloss sagt „diese hier". Auch die Einsatznummer trägt es (seit Web 19.1.1) — sie ist seit langem verschlüsselt, war aber die einzige Zeile des Blocks ohne das Zeichen. Der manuelle Abfahrtort steht seit Web 21.1.5 als eigene Zeile da; bis dahin nannte ihn nur das Kurzinfo des Punkts auf der Karte, ohne Schloss.

Die Angaben selbst stehen in vier Karten:

  • Einsatz: Einsatzort (darunter klein Höhe — sofern luftgebunden und aus dem Track ermittelbar —, Luftlinie und Strecke), Beschreibung des Einsatzorts, Abfahrtort (nur bei „Manueller Ort", Abschnitt 4.3), Diagnose, Notizen, weitere Rettungsmittel.
  • PatientIn: Einsatznummer, Name, Geburtsdatum mit Alter. Diese geschützten Angaben erscheinen nur hier, nicht in den Übersichten.
  • Einsatz und Transport: Transportart (mit NA-Begleitung in derselben Zeile), Ziel, Schockraum, „Namen / Infos" der Bergwacht; am Fuß der Karte stehen Plaketten: Winde (mit Cycles), Bergwacht (mit Bereitschaft), Sekundär, Fehleinsatz — nur was zutrifft. (Bis Web 24.8.0 hieß die Karte „Transport", und die Plaketten standen in der Karte „Einsatz" — im Formular gehören ihre Schalter aber hierher.)
  • Besatzung: die für diesen Einsatz gültige Besatzung — normalerweise die des Diensttags, bei einer abweichenden Besatzung (Abschnitt 4.3) die abweichende Person, klein gekennzeichnet mit „(abweichend vom Diensttag)". Rollen ohne Eintrag werden weggelassen; ohne Besatzung entfällt die Karte.

Leere Felder werden nicht angezeigt; eine Karte ganz ohne Inhalt erscheint nicht. Die Karte (auf dem Handy kompakt zwischen den Angaben und den Phasen, ab 1200 px rechts oben und beim Rollen klebend) zeigt den Track mit Richtungspfeilen, den Standort als Haus-Schild, das Transportziel als Klinik-Schild und den Einsatzort als orangen Kreis. Die Schilder tragen keinen Namen (seit Web 12.3.2) — nur das Symbol; der Name erscheint als Kurzinfo, wenn der Mauszeiger darauf steht. Start und Ende der Aufzeichnung färben den Rand des Schildes blau bzw. rot — am Schild des Ortes, an dem die Aufzeichnung beginnt oder endet, sonst als eigener kleiner Ring daneben; beides am selben Ort ergibt einen doppelten Rand, außen rot und innen blau.

Seit Web 15.9.0 ist der Farbrand wirklich der Rand und liegt nicht mehr darum herum: Ein Standort mit beidem maß vorher 60 px und deckte auf dem Handy mehr als ein Drittel der Kartenhöhe — jetzt sind es 38 px. Die Zeichen sind insgesamt kleiner geworden (Schild 36 → 30, Einsatzort-Kreis 32 → 28 px), und die Richtungspfeile zeigen erstmals wirklich in Fahrtrichtung; bis dahin zeigten sie ausnahmslos nach Norden. Einsätze ohne Track zeigt die gestrichelte Luftlinie. Auf dem Track sitzen an den GPS-Positionen der Zeitstempel Phasen-Nummern, die standardmäßig ausgeblendet sind — ein Control auf der Karte („Einsatzphasen anzeigen") blendet sie ein, sofern mindestens eine Phase über GPS-Koordinaten verfügt; der Zustand wird nicht gespeichert, nach einem Neuladen ist er wieder aus.

Die Karte Einsatzphasen nennt im Kopf die Gesamtdauer und je Zeile Nummer, Name, Uhrzeit und den Minutenabstand zur vorigen Phase. Zeigt man auf eine Zeile (am Handy: antippen), wird sie hellblau hinterlegt und ihr Teilstück des Tracks — von der vorigen Phase bis zu ihr — färbt sich blau auf der Karte; ein eingeblendeter Phasenpunkt leuchtet ebenso.

Reanimation steht als eigene Karte: ohne Sitzung schlicht „keine", sonst je Reanimation die Ereignisliste mit Uhrzeiten.

4.2a Falsche Tageszuordnung korrigieren

Es lassen sich zwei Dinge korrigieren: ein Einsatz, der beim falschen Tag gelandet ist, und ein ganzer Diensttag, der am falschen Datum steht. Das sind zwei verschiedene Fälle, und die Wahl entscheidet darüber, was mit den Uhrzeiten passiert.

Ein einzelner Einsatz gehört zum falschen Tag. Seine Uhrzeiten stimmen — nur die Zuordnung nicht. Der klassische Fall ist der Dienst über Mitternacht: Beim Nachtragen landet ein Einsatz auf dem Kalendertag, an dem er begann, obwohl er zum Diensttag davor gehört. Auf der Einsatzseite: Aktionen → Verschieben, Zieltag wählen, fertig. Die Uhrzeiten bleiben unverändert.

Liegt der Zieltag im Papierkorb, wird die Verschiebung abgelehnt; hol ihn erst zurück. Ein späterer Upload derselben Uhr zieht den Einsatz nicht wieder auf den alten Tag.

Gewählt wird ein Diensttag, nicht mehr ein Datum. Seit Web 6.0.0 können auf einem Kalendertag mehrere Diensttage liegen — das Datum benennt den Zieltag also nicht mehr eindeutig. Die Auswahl nennt deshalb je Tag Datum und Dienstbeginn, Rettungsmittel, Standort und die Zahl der dort liegenden Einsätze.

Die Uhr war falsch gestellt. Dann sind Datum und Uhrzeit falsch, und der ganze Tag steht am falschen Datum. In der Tagesübersicht: Aktionen → „Datum ändern". Hier wandern alle Zeitstempel mit — Einsätze, Ruhesegmente, Phasenzeiten, Reanimationsprotokolle und die GPS-Daten. Die abgelesenen Uhrzeiten bleiben dabei stehen; verschoben wird nur das Datum, auch über eine Zeitumstellung hinweg.

Bevor etwas geschieht, zeigt die Seite, was betroffen ist: wie viele Einsätze, Ruhesegmente und Trackpunkte, und ob Einträge aus dem Papierkorb dabei sind (die wandern mit). Danach kommt die übliche Rückfrage. Alles davon geschieht gemeinsam oder gar nicht — bricht etwas ab, steht der Tag unverändert am alten Datum.

Ein belegtes Zieldatum ist kein Hindernis mehr. Bis Web 5.10.0 wurde die Änderung abgelehnt, wenn dort schon ein Tag stand — der Kalendertag war der Schlüssel. Seit Web 6.0.0 sind mehrere Diensttage an einem Datum der vorgesehene Fall; sie stehen danach in der Leiste links untereinander, unterschieden durch die Uhrzeit des Dienstbeginns. Sollen die beiden ein Dienst werden, ist das ein eigener Vorgang: Abschnitt 4.5a.

4.3 Einsätze nachtragen und bearbeiten

Das Formular dient beidem. Über allem: der Rückweg (beim Bearbeiten zum Einsatz, beim Nachtragen zum Diensttag) und der Titel „Einsatz N bearbeiten" bzw. „Einsatz nachtragen" mit dem Diensttag in der Unterzeile. Die Felder stehen seit Web 9.4.0 in Karten (am Desktop ab 1200 px in zwei Spalten), in dieser Reihenfolge:

  1. PatientIn — Einsatznummer, Nachname, Vorname, Geburtsdatum, Alter, Diagnose, Einsatzort, Beschreibung des Einsatzorts, Abfahrtort (alles gemeinsam Ende-zu-Ende-verschlüsselt)
  2. Einsatz und Transport (seit Web 24.8.0 eine Karte, vorher zwei) — oben Sekundärtransport und Fehleinsatz als Schalter nebeneinander, darunter die Transportart als drei Tasten Luft · Boden · Ambulant, dann Transportziel, NA-Begleitung und Schockraum; Windeneinsatz und Bergwacht folgen als Schalter, die Detailfelder eines eingeschalteten Schalters (Cycles, Bereitschaft …) erscheinen eingerückt hinter einer Linie
  3. Weitere Rettungsmittel — Rettungsmittel (RTW, NEF, RTH …), weitere NotärztIn
  4. Abweichende Besatzung — zugeklappt mit der Vorschau „vom Diensttag"; mit gespeicherter Abweichung offen
  5. Notizen — seit Web 19 verschlüsselt wie die Patientendaten
  6. Einsatzphasen
  7. Reanimation — zugeklappt („keine"), mit Bestand offen

Unter dem Titel steht ein Satz zu den beiden Zeichen an den Feldern, mit einem Verweis auf ihre Erklärung am Ende dieses Abschnitts (Schloss und Klartext).

Windeneinsatz und Bergwacht fehlen ganz, wenn der Diensttag die jeweilige Fähigkeit nicht mitbringt und im Einsatz nichts dazu eingetragen ist.

Kein Feld „Einsatzdatum" mehr. Es stand früher direkt unter dem Diensttag und zeigte in aller Regel dasselbe Datum ein zweites Mal. Der Fall, für den es gedacht war — der Einsatz nach Mitternacht an einem Dienst, der am Vortag begann —, wird jetzt erkannt: Liegt die erste Phase vor dem Beginn des Dienstes, gehört der Einsatz dem Folgetag. Weicht das Einsatzdatum vom Datum des Dienstes ab, steht es oben ausdrücklich daneben. Beim Bearbeiten bleibt das gespeicherte Datum unangetastet; verschoben wird ein Einsatz über Aktionen → Verschieben.

Phasen werden als Zeilen erfasst (Phase wählen, Uhrzeit eintragen, Zeilen hinzufügen/entfernen — auch dieselbe Phase mehrfach). Die Reihenfolge musst du nicht selbst einhalten: Die Liste sortiert sich, sobald du ein Zeitfeld verlässt (seit Web 9.4.0); Zeilen ohne Uhrzeit bleiben hinten. Der Kopf der Karte zählt mit („8 von 9"). Zeiten nach Mitternacht werden automatisch dem Folgetag zugerechnet. Der Block steht seit Web 7.0.0 unten, direkt über der Reanimation: Beim Bearbeiten — dem häufigeren Fall — stehen die Phasen meist schon vollständig da und schoben alles andere nach unten.

NA-Begleitung ist bei „Luft" vorbelegt. Ein Lufttransport ohne NotärztIn an Bord ist die Ausnahme. Der Haken setzt sich, sobald du „Luft" wählst — und nur, solange du ihn nicht selbst angefasst hast: Deine ausdrückliche Entscheidung gilt danach dauerhaft.

Das gilt beim Nachtragen und beim Bearbeiten. Ein gespeicherter Wert wird dabei nie überschrieben: Der Haken setzt sich ausschliesslich, wenn du die Transportart gerade umstellst — beim blossen Öffnen eines Einsatzes passiert nichts.

Uhrzeiten stehen immer im 24-Stunden-Format HH:MM, unabhängig davon, wie dein Gerät sonst eingestellt ist. Du kannst einfach die Ziffern tippen: aus 930 wird 09:30, aus 9 wird 09:00, der Doppelpunkt setzt sich von selbst. Ergibt die Eingabe keine gültige Uhrzeit, färbt sich das Feld rot, und gespeichert wird sie nicht. Daten tippst du als TT.MM.JJJJ (seit Web 24.4.0), überall in der Anwendung gleich und ohne Kalender: Aus 07112026 wird 07.11.2026, aus 7.1.2026 beim Verlassen des Felds 07.01.2026. Beim Geburtsdatum genügt ein zweistelliges Jahr — 23.04.33 wird 23.04.1933, weil 2033 in der Zukunft läge. Ein Tag, den es nicht gibt, färbt das Feld rot.

Gespeichert wird über die Speichern-Leiste, die am unteren Rand erscheint, sobald du etwas geändert hast (seit Web 9.4.0) — vorher gibt es nichts zu speichern und keinen Knopf. Sie ist blau hinterlegt und nennt links, in welchen Abschnitten etwas geändert ist („Geändert: Einsatzort und Zeiten", seit Web 24.2.0). Einen „Verwerfen"-Knopf gibt es bewusst nicht: Der Rückweg oben genügt, und beim Verlassen mit ungespeicherten Änderungen fragt der Browser nach. Strg-Enter (bzw. Cmd-Enter auf macOS) speichert ohne Maus — in Notizen bleibt einfaches Enter ein Zeilenumbruch.

Geschützte Angaben (Abschnitt 5) stehen gesammelt in der Karte „PatientIn" — Person, Diagnose, Einsatzort, Beschreibung, manueller Abfahrtort; dazu, mit Schloss an ihrer Stelle, das Transportziel und die Karte Reanimation (seit Web 22.1.0). Ist der Schlüssel in dieser Sitzung gesperrt, sind alle diese Felder gesperrt — die übrigen bleiben bedienbar. Speichern geht seit Web 22.1.0 erst nach dem Entsperren: Orte der Einsatzphasen und Reanimation werden bei jedem Speichern neu verschlüsselt, und das kann nur dein Browser mit offenem Schlüssel. Wer gesperrt auf Speichern tippt, bekommt zuerst den Entsperren-Dialog. Lassen sich die Ortsdaten eines Einsatzes nicht öffnen, steht oben eine rote Meldung, und Speichern bleibt gesperrt — es würde sie sonst überschreiben. Beim Geburtsdatum reicht auch eine zweistellige Jahreszahl (z. B. „23.04.33") — die Anwendung ergänzt automatisch das plausible Jahrhundert. Der Einsatzort sucht beim Tippen: Ab drei Buchstaben erscheinen Adressvorschläge (OpenStreetMap); die Auswahl eines Vorschlags speichert die Koordinaten und setzt den Pin auf den Karten. Freitext ohne Vorschlag geht auch — dann ohne Pin. Neben der Lupe des ersten Ortsfelds einer Seite steht ein kleines Infozeichen (seit Web 24.4.0; bis dahin eine Kleinzeile darunter). Fährst du darüber, tippst es an oder springst mit der Tabulatortaste darauf, nennt es den Adressdienst beim Namen und sagt, was ihn erreicht; Esc schließt den Satz wieder. Es fehlt, wenn die Adresssuche abgeschaltet ist (Abschnitt 3.1a), und steht nur einmal je Seite — auf der Standortseite wären es sonst zehn gleiche Zeichen.

So wird eine Vorschlagsliste bedient (seit Web 15.7.0 überall dieselbe — Einsatzort, Abfahrtort, Transportziel, Besatzung, weitere Rettungsmittel). Sie öffnet unter dem Feld und legt sich über den Inhalt darunter; der getippte Teil steht in jedem Treffer fett. Mit Pfeil auf und Pfeil ab wanderst du durch die Einträge, Enter übernimmt den markierten (ohne Markierung den ersten), Esc schließt die Liste; mit der Maus oder dem Finger genügt ein Antippen. Kommen die Treffer aus verschiedenen Quellen, stehen sie in Gruppen untereinander, jede mit einer kleinen Überschrift; ein Symbol und eine feine Zeile unter dem Treffer sagen zusätzlich, woher er stammt.

Neben dem Feld stehen seit Web 9.4.0 zwei Knöpfe: Die Lupe stößt die Suche ausdrücklich an — sie ersetzt das frühere zweite Suchfeld („Lokalisation …") auch am Transportziel, wo ein Adresstreffer weiterhin nur die Koordinaten übernimmt und den eingetragenen Namen nie überschreibt. Der Pin öffnet ein Blatt mit zwei Wegen: „Meine Position übernehmen" (Standort des Geräts; der Browser fragt nach der Freigabe) und „Auf der Karte wählen" — der Kartendialog. In beiden Fällen holt die Anwendung zur Koordinate eine Adresse (Umkehrsuche beim Adressdienst, Abschnitt 3.1a); sie füllt das Feld nur, wenn es leer ist. Die Anfrage trägt ausschließlich die Koordinate — nie Namen, Diagnose oder andere Inhalte.

Der Kartendialog (seit Web 15.8.0 an fünf Stellen derselbe: Einsatzort, manueller Abfahrtort, Transportziel sowie die Lage von Standorten und Zielkliniken in den Stammdaten) zeigt eine Karte mit Fadenkreuz in der Mitte: verschieben, bis das Kreuz auf dem Ort steht, dann „Übernehmen". Drei Dinge helfen beim Zielen:

  • Im Kopf steht ein Suchfeld. Ein Treffer daraus setzt nur das Kreuz — die Karte fährt hin, ins Formular geschrieben wird nichts. Erst „Übernehmen" übernimmt. So lässt sich ein Ort suchen und anschließend von Hand genauer treffen, ohne dass eine ungenaue Adresse schon im Einsatz steht. Ist die Adresssuche abgeschaltet (Abschnitt 3.1a), fehlt das Feld.
  • Ist für den Einsatz eine GPS-Aufzeichnung vorhanden, liegt sie als Linie auf der Karte, mit Ring am Start und am Ende; eine Legende darunter sagt, was was ist. Der Einsatzort liegt fast immer an dieser Linie — und mit ihr vor Augen findet man ihn auch dann, wenn man die Gegend nicht kennt.
  • Ist das Ortsfeld noch leer, stellt sich die Karte beim Öffnen von selbst auf diese Aufzeichnung ein. Steht schon eine Koordinate, bleibt sie der Mittelpunkt — sie ist die Aussage, die Aufzeichnung nur Zusatz. Und wer selbst geschoben oder gezoomt hat, dem wird die Karte nicht mehr weggezogen, auch wenn die Aufzeichnung erst danach fertig geladen ist.

Gespeicherte Koordinaten stehen unter dem Feld. Sobald Koordinaten gesetzt sind — egal ob über einen Adressvorschlag oder über eine der unten genannten Eingabeformen —, erscheinen sie darunter als kleines Feld mit einem Kreuz zum Entfernen, genau wie bei den weiteren Rettungsmitteln. Das Textfeld bleibt davon unberührt: Du kannst dort weiterschreiben, ohne die Koordinaten zu verlieren.

Solange Koordinaten gesetzt sind, sucht das Feld nicht mehr. Es ist dann reines Bezeichnungsfeld: keine Adressvorschläge, keine Erkennung weiterer Koordinatenformate. Andernfalls würde ein Klick auf einen Vorschlag die bestätigten Koordinaten stillschweigend überschreiben. Entfernst du sie über das Kreuz, arbeitet die Suche ab dem nächsten Tastenanschlag wieder wie gewohnt.

Alternativ zur Adresse erkennt das Feld beim Tippen auch vier weitere Formate — die Umwandlung erfolgt lokal im Browser, es wird dabei keine Anfrage an einen externen Server gestellt. Wie bei einer Adresse erscheint dann ein Eintrag in der Vorschlagsliste (z. B. „Koordinaten übernehmen (Dezimalgrad): 47.72610, 10.31700") — und zwar allein: Wer Zahlen tippt, sucht keine Adresse. Erst mit seiner Auswahl werden Koordinaten und Pin übernommen. Das Textfeld wird dabei geleert — es gehört ab dann der Bezeichnung, die du selbst einträgst (z. B. „Talstation Felsberg", „Wanderweg 401, Moosachtal"). Ohne diese Bezeichnung lässt sich der Einsatz nicht speichern; in den Listen stünde sonst nur eine Zahlenreihe statt eines Ortsnamens. Bei einem Adressvorschlag bleibt es beim gewohnten Verhalten: Das Label steht im Feld und gilt als Bezeichnung.

Die vier Formate:

  • Dezimalgrad, z. B. 47.7261, 10.3170
  • Grad/Dezimalminuten, z. B. 47°43.57'N 010°19.02'E
  • Grad/Minuten/Sekunden, z. B. 47°39'11.6"N 10°21'34.3"E
  • Plus Code (Open Location Code), aber nur als Vollcode, z. B. 8FWH4HJM+7Q — Kurzformen (z. B. 4HJM+7Q Hochkreuth) werden erkannt, aber nicht als Vorschlag angeboten; die Statuszeile weist dann darauf hin, den Vollcode einzugeben (in der Karten-App ohne Ortsangabe kopieren). Werte außerhalb des gültigen Bereichs (z. B. eine Breite über 90°) werden ebenso als ungültig gemeldet statt als Vorschlag angeboten.

Direkt darunter steht Beschreibung Einsatzort (Zufahrt, Besonderheiten, Lage vor Ort). Das Feld gehört seit Web 3.3.0 zum verschlüsselten Block: Bei gesperrter Verschlüsselung ist es deaktiviert und bleibt beim Speichern unverändert, und die Suche findet seinen Inhalt erst nach dem Entsperren. Ausfüllen ist freiwillig.

Abfahrtort. Unmittelbar unter dem Einsatzort steht, von wo aus ausgerückt wurde — aber nur, wenn dieser Einsatz keine GPS-Aufzeichnung hat (seit Web 7.0.0). Liegt ein Track vor, zeichnet die Karte den tatsächlich zurückgelegten Weg; die Auswahl bliebe dann folgenlos und steht deshalb gar nicht erst da. Eine früher gespeicherte Regel bleibt in den Daten erhalten.

Gespeichert wird dabei nicht die Koordinate, sondern die Regel:

Auswahl Woher die Koordinate kommt
Standort Koordinaten des Standorts dieses Diensttags
Letzter Einsatzort Einsatzort des vorherigen Einsatzes desselben Diensttags
Letzte Zielklinik Zielklinik des vorherigen Einsatzes desselben Diensttags
Manueller Ort eigene Adresssuche, wie beim Einsatzort
(nichts gewählt) keine Linie

Die beiden Vorgänger-Auswahlen bilden zwei verschiedene Abläufe ab: Nach einem Transport steht das Rettungsmittel an der Zielklinik des Vorgängers, ohne Transport noch an dessen Einsatzort. Fehlt die jeweilige Koordinate, entsteht schlicht keine Linie — es wird nicht stillschweigend auf eine andere Quelle ausgewichen, weil eine falsche Linie schlechter wäre als keine.

Liegt kein aufgezeichneter Track vor und sind Abfahrtort und Einsatzort bekannt, zeichnet die Karte eine gestrichelte Luftlinie zwischen beiden, bei belegter Zielklinik mit Koordinaten über drei Punkte. Ihre Länge steht an der Linie und ist ausdrücklich als Luftlinie benannt. Ein echter Track hat immer Vorrang; trifft er später ein, bleibt die Abfahrtortangabe gespeichert und wird nur nicht mehr gezeichnet. In keine Kachel und keinen Filter fließt die Luftlinienlänge ein — eine Luftlinie und eine gefahrene Strecke sind nicht dieselbe Größe.

Transport. Die Transportart (Luft, Boden, Ambulant) — bis Web 6.3.0 schlicht „Transport" — wählst du seit Web 24.8.0 mit drei Tasten statt einer Auswahlliste; ein zweiter Klick auf die gewählte Taste nimmt die Wahl zurück (dann ist die Transportart offen, wie früher „–"). Sie steuert, was darunter erscheint: Bei Luft und Boden die NA-Begleitung, die Zielklinik samt Koordinaten und den Schockraum; bei „Ambulant" — die PatientIn wurde nicht transportiert — entfallen alle drei. Die Zielklinik ist seit Web 22.1.0 verschlüsselt (Schloss): Sie steht erst nach dem Entsperren im Feld, ihr Pin erscheint auf den Karten erst nach dem Entsperren, und die Suche findet einen Einsatz über die Zielklinik nur entsperrt. Die Vorschlagsliste der Zielkliniken aus den Stammdaten bleibt, wie sie ist. Ein zuvor eingetragenes Transportziel wird dabei geleert, und die Änderung ist sichtbar: Ein Transportziel an einem Einsatz ohne Transport wäre ein Widerspruch in den Daten.

Dazu die weiteren Zusatzfelder: Fehleinsatz / Storno / Abbruch (ein Haken, ohne Unterauswahl), Windeneinsatz (Haken öffnet Cycles, Cycles mit PatientIn, Luftverladung), Bergwacht (Haken öffnet Bereitschaft aus den Stammdaten plus Namen/Infos), Sekundärtransport, weitere NotärztIn, Weitere Rettungsmittel (Abschnitt 9.2) und Notizen.

Winde und Bergwacht erscheinen nur, wenn das Rettungsmittel des Diensttags sie führt (Abschnitt 9.1a) — unabhängig davon, ob der Tag luft- oder bodengebunden ist. Wird ein Haken dort später abgewählt, verlieren bereits dokumentierte Einsätze nichts: Ihr Diensttag hat die Fähigkeit beim Anlegen eingefroren. Das gilt hier im Formular. In der Tages- und der Zeitraumübersicht erscheinen die beiden Spalten seit Web 20.35.0 nur an einem luftgebundenen Dienst (Abschnitte 4.1 und 4.4); erfassen lässt sich beides trotzdem.

Abweichende Besatzung. Normalerweise gilt für jeden Einsatz die Besatzung des Diensttags — sie wird einmal am Tag eingetragen und muss am Einsatz nicht wiederholt werden. Wechselt jedoch während des Dienstes jemand (typisch: ein Pilotenwechsel oder Fahrerwechsel am Nachmittag), setzt du am betroffenen Einsatz den Haken „Abweichende Besatzung". Darunter erscheint je Rolle des Diensttags ein Textfeld mit Vorschlagsliste: Sobald du zu tippen beginnst, schlägt das Feld unter der Überschrift „Vorlagen des Standorts" deine Besatzungs-Vorbelegungen der jeweiligen Rolle vor (Abschnitt 9.1) — bedient wie oben in Abschnitt 4.3 beschrieben.

Seit Web 5.5.0 ist jeder Name eintragbar, auch einer, der nicht in den Stammdaten steht. Das ist der eigentliche Anlass für dieses Feld: Wer aushilft, ist oft niemand, der regelmäßig auf diesem Rettungsmittel arbeitet. Die Vorschläge bleiben die bequeme Abkürzung, sie sind nur keine Schranke mehr.

Gezeigt werden nur die Rollen, die der Diensttag führt — dieselben, die auch oben in den Diensttag-Daten stehen. Ein NEF zeigt Fahrer, Praktikant und Sonstige, ein Hubschrauber mit Pilot 1 und HEMS-TC nur diese beiden. Ein Diensttag ohne Rettungsmittel zeigt keine. Steht in einer eigentlich nicht vorgesehenen Rolle bereits ein Eintrag — etwa weil der Diensttag nachträglich auf ein anderes Rettungsmittel umgestellt wurde —, bleibt sie sichtbar, damit du sie weiterhin ändern kannst.

Es müssen nur die tatsächlich abweichenden Rollen ausgefüllt werden. Alle übrigen bleiben leer und werden weiterhin vom Diensttag übernommen — so steht dieselbe Person nie doppelt in der Datenbank. Entfernst du den Haken wieder, werden die Felder geleert und der Einsatz erbt vollständig die Tagescrew. In der Einsatzansicht (Abschnitt 4.2) zeigt der Block „Besatzung" immer das Ergebnis beider Ebenen.

Ist eine früher eingetragene Person inzwischen aus den Stammdaten entfernt worden, bleibt ihr Name im Feld trotzdem stehen und geht beim nächsten Speichern nicht verloren.

Reanimation. Ganz unten im Formular steht der Abschnitt Reanimation — seit Web 5.5.0, vorher konnten diese Zeiten nur von der Uhr kommen. „+ Reanimation hinzufügen" legt einen Block an: oben der Reanimationsbeginn, darunter „+ Ereignis hinzufügen" für jedes weitere Ereignis, jeweils Art (Zugang, Adrenalingabe, Rhythmuskontrolle, Defibrillation, Intubation, Amiodaron, Sonographie, ROSC, Tod) und Uhrzeit. Das Kreuz am Beginn entfernt die ganze Reanimation, das Kreuz an einer Ereigniszeile nur diese.

Die Reanimation ist seit Web 22.1.0 verschlüsselt (Schloss am Titel): Ihre Zeilen erscheinen erst nach dem Entsperren und werden nur verschlüsselt gespeichert.

Gab es an einem Einsatz mehrere Reanimationen, legst du einfach mehrere Blöcke an. Eine Zeile ohne Uhrzeit wird nicht gespeichert — du musst eine versehentlich hinzugefügte Zeile also nicht erst wieder entfernen. Zeiten nach Mitternacht werden wie bei den Phasen automatisch dem Folgetag zugerechnet. In der Einsatzansicht erscheinen die Einträge in derselben Tabelle wie die von der Uhr gelieferten; ein Unterschied ist dort nicht zu sehen und auch keiner vorhanden.

Abbrechen. Unter dem Speichern-Knopf steht Abbrechen — beim Bearbeiten führt es zurück zum Einsatz, beim Nachtragen zur Tagesansicht. Hast du im Formular etwas eingetragen, fragt es vorher nach; ein unverändertes Formular verlässt du ohne Rückfrage. Dasselbe gilt beim Anlegen eines Diensttags.

Beim Bearbeiten eines Uhr-Einsatzes gilt: Nach dem Speichern überschreibt die Uhr ihn nicht mehr (nur der GPS-Track wird weiter ergänzt), und die Einsatzansicht zeigt zusätzlich zum Herkunftskennzeichen „Uhr" das Bearbeitungskennzeichen „editiert" (Details siehe Abschnitt 4.2). Das Formular weist vorher darauf hin. Das betrifft auch die Reanimationszeiten: Trägst du sie im Formular ein, bleiben sie so stehen — eine später nachliefernde Uhr ersetzt sie nicht mehr.

Nach dem Neuanlegen eines Einsatzes zeigt die Einsatzansicht den Button „Weiteren Einsatz nachtragen" — er öffnet die Neuanlage direkt für denselben Diensttag. Beim Bearbeiten eines bestehenden Einsatzes erscheint er nicht.

Schloss und Klartext

Bis Web 21.4.0 stand das in der zugeklappten Karte „Was hier gilt" am Ende des Formulars; seither trägt das Formular einen Satz mit Verweis hierher (R4-20).

Zwei Zeichen sagen dir, wer mitliest. Ein Schloss neben der Beschriftung heißt: Dieses Feld ver- und entschlüsselt dein Browser, der Server sieht nur Chiffretext. Es steht an Name, Geburtsdatum, Alter, Diagnose, Einsatznummer, Einsatzort samt Beschreibung, am manuellen Abfahrtort, seit Web 19 an den Notizen des Einsatzes — und seit Web 22 an der Zielklinik und an der Karte Reanimation, in der Einsatzansicht dazu an der Höhe des Einsatzorts. Die Kleinzeile „Klartext — keine Patientendaten" heißt das Gegenteil: Dieses Feld wird unverschlüsselt gespeichert. Sie steht an den Bergwacht-Angaben, an der weiteren NotärztIn, an den Besatzungsnamen — und am Notizfeld des Diensttags, das weiterhin Klartext ist.

Bei den Notizen des Einsatzes steht das Schloss am Kartentitel und nicht am Feld: Die Karte enthält genau dieses eine Feld, und seine Beschriftung heißt wie die Karte — sie würde sonst zweimal dastehen.

Die Notizen des Einsatzes und die des Diensttags heißen gleich und werden verschieden behandelt. Genau deshalb tragen sie verschiedene Zeichen: Wer Patientenbezogenes notieren will, gehört in das Feld mit dem Schloss.

Der Server sieht das eine nie und das andere immer. Er kann die verschlüsselten Felder weder anzeigen noch durchsuchen — deshalb findet die Suche sie erst, wenn du entsperrt hast. Seit Web 22 gehört dazu auch, was den Ort eines Einsatzes verrät und kein eigenes Feld hat: die GPS-Daten und die Koordinaten der Phasen. Uhr und Handy verschlüsseln sie, bevor sie senden, und die Karten zeichnen sie erst nach dem Entsperren. Lesbar bleiben unter anderem die Zeiten und Nummern der Phasen, die Besatzung, Häkchen und Auswahlen wie Transportart oder Fehleinsatz und alles mit der Kleinzeile „Klartext". Welche Angaben genau verschlüsselt sind und warum, steht in Abschnitt 5.

4.4 Diensttage-Leiste, Jahres- und Monatsübersicht

Die Leiste ist nach Jahr → Monat → Tage gruppiert. Es ist immer nur ein Jahr geöffnet und darin ein Monat (standardmäßig der jüngste); ein anderes Jahr anzuklicken schließt das vorherige automatisch. Springst du auf einen Tag in einem anderen Zeitraum, klappt die Leiste automatisch dorthin auf. Auf schmalen Geräten liegt sie in der Schublade (Abschnitt 3).

Höchstens 500 Diensttage. Die Leiste zeigt die 500 jüngsten. Hat dein Konto mehr, steht darunter „Die Leiste zeigt die 500 jüngsten Diensttage; ältere findest du über die Suche." — die Suche geht über den ganzen Bestand. Bei einem Dienst je Woche sind 500 Tage fast zehn Jahre. Bis Web 21.4.0 fehlte der Hinweis, und die älteren Tage fehlten still.

Die ganze Zeile klappt auf und zu — Jahreszahl wie Monatsname. Der Weg in die Übersicht des Zeitraums ist das kleine Balkensymbol am rechten Rand derselben Zeile. Bis Web 8.0.1 war es umgekehrt: Der Text war der Link, und nur das kleine Dreieck davor klappte auf; mit dem Finger war beides nicht auseinanderzuhalten.

Jeder Tag trägt vorn ein Zeichen für seine Art — Hubschrauber für luftgebunden, Rettungswagen für bodengebunden, ein gestrichelter Kreis für einen Diensttag ohne Rettungsmittel. Rechts daneben steht der Name des Rettungsmittels — sein Kurzname, wenn einer hinterlegt ist; ist er zu lang, wird er abgekürzt, und der volle Name erscheint, wenn der Mauszeiger darauf steht.

Auf mittelbreiten Bildschirmen wird die Leiste schmal, und dort steht nur noch, was auch hineinpasst: ein Kurzname bleibt sichtbar, ein voller Name entfällt — von ihm bliebe ohnehin nur eine Abkürzung mit Auslassungspunkten. Auf dem Handy liegt die Leiste als Schublade über der Seite und ist wieder breit genug; dort steht der Name wie am großen Bildschirm.

Ein Klick auf das Balkensymbol neben Jahreszahl oder Monatsname öffnet eine Übersicht dieses Zeitraums. Unter dem Titel steht, wie viele Diensttage er hat und über welche Spanne er läuft; darunter die Statistik-Kacheln, dann eine Karte und schließlich die Einsätze — am Schreibtisch als Tabelle mit Datum statt Tagesnummer, auf schmalen Geräten als Kacheln. Die Durchschnittswerte rechnen mit allen angelegten Diensttagen des Zeitraums, auch mit einsatzfreien. Solange du in einer Übersicht stehst, ist der betreffende Monat bzw. das Jahr in der Leiste markiert.

Auf der Karte steht das Standort-Haus jedes Diensttags, sobald für ihn Koordinaten hinterlegt sind — dafür brauchst du die Verschlüsselung nicht zu entsperren, denn der Standort ist keine geschützte Angabe. Die Einsatzorte kommen als Punkte dazu, sobald du entsperrt hast.

Getrennt nach Art. Liegen im Zeitraum luft- und bodengebundene Diensttage, steht neben dem Titel eine Wahl mit drei Schaltern: Gemischt (voreingestellt), Luft und Boden; auf dem Handy stehen sie vollbreit darunter. Die Wahl gilt für alles zugleich — Kacheln, Einsatzliste und Karte. Liegt nur eine Art vor, gibt es keine Wahl; dann bestimmt diese Art allein die Beschriftung.

Ansicht Kacheln
Luft Einsätze, Flugtage, Ø Einsätze/Flugtag, Sekundärtransporte, Flugkilometer gesamt, längste Flugstrecke, längste Einsatzdauer, höchster Einsatzort — dazu Anzahl und Ø Winden-Cycles, sofern im Zeitraum ein luftgebundener Diensttag die Windenfähigkeit führt (nicht erst, wenn tatsächlich gewindet wurde: „null Windeneinsätze" ist etwas anderes als „Winde nicht eingerichtet")
Boden Einsätze, Diensttage, Ø Einsätze/Diensttag, Sekundärtransporte, Fehleinsätze, Einsatzkilometer gesamt, längste Einsatzstrecke, längste Einsatzdauer
Gemischt Einsätze, Diensttage, Ø Einsätze/Diensttag, Sekundärtransporte

Die Luftansicht behält die gewohnte Flugterminologie; für eine rein luftgebundene Nutzung sieht die Auswertung aus wie immer.

Warum „Gemischt" nur vier Kacheln hat (seit Web 9.6.0): Kilometer, Dauern und Fehleinsätze standen dort bis dahin mit — als Summe über beide Arten. Eine Flugstrecke von 61 km und eine Fahrstrecke von 12 km stehen aber für ganz verschiedene Einsätze, und ihre Summe beantwortet keine Frage, die jemand stellt. Was über beide Arten trägt, sind Anzahl, Diensttage, ihr Verhältnis und die Sekundärtransporte. Die übrigen Zahlen findest du unverändert in den beiden Artenansichten. Höchster Einsatzort und Windenzahlen standen aus demselben Grund nie in „Gemischt".

Auf dem Handy sind von jedem Satz vier Kacheln sichtbar; der Rest steht hinter „Weitere Statistik (n)". In der Luftansicht sind es Einsätze, Flugtage, Flugkilometer und Winden-Cycles, in der Bodenansicht Einsätze, Diensttage, Einsatzkilometer und die längste Einsatzdauer — „Gemischt" hat ohnehin nur vier und braucht den Knopf nicht.

Diensttage ohne Zuordnung zählen in „Gemischt" mit — die Summe der beiden Artenansichten ist dann kleiner. Genau deshalb weist „Gemischt" ihre Anzahl aus und verlinkt auf das Nachtragen; ohne den Hinweis wäre die Abweichung nicht erklärbar.

Die gewählte Ansicht steht im Adressteil hinter dem # und bleibt beim Teilen eines Links erhalten.

Wie in der Suche werden nach dem Entsperren zuerst die gezeigten Zeilen lesbar, dann der übrige Zeitraum; solange steht über der Tabelle „Weitere geschützte Angaben werden geöffnet …", und die Punkte der Karte und die Kacheln aus verschlüsselten Angaben (zum Beispiel der höchste Einsatzort) kommen danach (seit Web 23.6.0).

Höchstens 200 Einsätze auf einmal (seit Web 21.4.0), wie in der Suche. Hat der Zeitraum mehr, stehen unter der Tabelle „Weitere 200 anzeigen" und „Alle N anzeigen", und hinter der Einsatzzahl über der Tabelle steht „200 angezeigt". Begrenzt ist nur die Liste: Die Einsatzzahl, die Kilometersumme, die Kacheln und die Karte gelten weiter für den ganzen Zeitraum — die Karte zeigt also auch die Punkte der Einsätze, die in der Tabelle noch nicht stehen. Bis dahin stand jede Zeile da, und ein Jahr mit einigen tausend Einsätzen brauchte über eine Minute, bis die Seite fertig war.

Erst die Liste, dann die Karte (seit Web 21.6.1). Bei einem großen Zeitraum steht zuerst die Tabelle da; Ort, Alter und Diagnose kommen hinzu, sobald sie entschlüsselt sind, und die Punkte der Karte einen Augenblick danach. Die Seite lässt sich dabei schon bedienen — rollen, sortieren, die Ansicht wechseln.

Die Kacheln „Längste Einsatzstrecke" (in der Luftansicht: „Längste Flugstrecke") und „Längste Einsatzdauer" sind bedienbar, in der Luftansicht zusätzlich „Höchster Einsatzort". Sie tragen einen kleinen Punkt oben rechts und nennen in der Beschriftung den Tag des betreffenden Einsatzes („Längste Flugstrecke · 14.08.") — oft ist die Frage damit schon beantwortet. Zeigt man auf die Kachel, leuchten der zugehörige Karten-Punkt und die zugehörige Zeile auf; ein Klick hält die Hervorhebung fest und springt zur Zeile — steht sie noch nicht in der Tabelle, lädt die Liste so weit nach, dass sie dabei ist. Ein zweiter Klick auf dieselbe Kachel oder ein Klick auf eine freie Stelle der Seite löst sie wieder.

Die Hervorhebung ist seit Web 9.6.0 orange statt rot. Rot bedeutet in dieser Oberfläche „Achtung" — Fehler, Löschen; ein Höchstwert ist aber kein Fehler, sondern nur eine Auskunft.

Jede Zeile der Einsatztabelle führt zum Einsatz; ein Klick auf das Dreieck davor klappt dagegen nur die Unterpunkte auf oder zu.

Statistik rechnet nach Diensttag, die Suche nach Einsatzdatum

Das ist der wichtigste Unterschied zwischen den beiden Seiten, und er fällt nur bei Diensten über Mitternacht auf.

Ein Einsatz um 01:30 Uhr, der zu einem am Vortag begonnenen Dienst gehört, zählt in der Statistik zum Vortag — dorthin, wo der Dienst begann. Die Einsatzsuche findet denselben Einsatz unter seinem echten Datum, also dem des Folgetags.

Beides ist beabsichtigt. Eine Dienststatistik, die einen Nachtdienst auf zwei Kalendertage aufteilt, wäre unbrauchbar; eine Suche, die einen Einsatz nicht unter dem Tag findet, an dem er stattfand, ebenso. Wer beide Zahlen nebeneinanderlegt und einen Unterschied sieht, hat also keinen Fehler gefunden.

Zeitraum-Übersicht oder Suche? Die beiden Seiten zeigen dieselbe Einsatztabelle, beantworten aber verschiedene Fragen. Die Zeitraum-Übersicht ist auf einen Monat oder ein Jahr festgelegt und liefert dafür Karte und Kennzahlen — sie beantwortet „wie war dieser Zeitraum?". Die Suche (Abschnitt 4.6) geht über den gesamten Bestand, kennt rund 30 Filter bis hin zu Diagnose, Besatzung und Alter, hat dafür aber weder Karte noch Kennzahlen — sie beantwortet „wo war nochmal der eine Einsatz mit …?". Ein Zeitraum lässt sich in der Suche über „Datum von / bis" nachbilden; Kennzahlen dazu gibt es aber nur in der Zeitraum-Übersicht.

4.5 Diensttag von Hand anlegen

Lief die Uhr an einem Tag nicht, legst du den Diensttag über + Diensttag anlegen unten in der Diensttage-Leiste an. Neben dem Datum gehören dort Standort und Rettungsmittel hin; daraus ergeben sich Art, Rollen und die sichtbaren Einsatzfelder. Beides ist freiwillig — ohne sie bleibt der Diensttag neutral und funktioniert trotzdem —, aber mit ihnen entsteht alles sofort statt später beim Nachtragen.

Weil mehrere Dienste an einem Kalendertag möglich sind, gehört zu jedem eine Uhrzeit des Dienstbeginns; ohne Angabe gilt 00:00. Nur an ihr lassen sich zwei Diensttage desselben Datums in der Leiste auseinanderhalten.

4.5a Zwei Diensttage zusammenführen

Wurde die App während eines Dienstes versehentlich mehrfach gestartet, sind aus einem tatsächlichen Dienst mehrere Diensttage geworden. Sie lassen sich wieder zu einem machen.

Der Einstieg liegt im Zieltag: Öffne den Diensttag, der bleiben soll, und wähle Aktionen → „Anderen Diensttag aufnehmen". Damit ist die Richtung eindeutig — wichtig, weil der Vorgang nicht umkehrbar ist.

Danach in zwei Schritten:

  1. Aus der Liste der zeitlich benachbarten Diensttage (drei Tage vor und nach diesem) den auszuwählen, der aufgenommen werden soll. Zu jedem stehen Rettungsmittel, Standort und die Zahl der Einsätze, Ruhesegmente und Uhr-Kennungen — daran lassen sich zwei Bruchstücke desselben Dienstes auseinanderhalten. Liegt der gesuchte Tag weiter entfernt, korrigiere zuerst sein Datum (Abschnitt 4.2a).
  2. Vorschau bestätigen. Sie zeigt den entstehenden Zeitraum, die Art, den Typ des Rettungsmittels und was alles wandert. Widersprechen sich die beiden Tage bei Rettungsmittel, Standort oder Besatzung, wählst du hier, was gelten soll; vorbelegt ist immer der Tag, der bleibt. Bei den beiden Rettungsmitteln stehen Typ und Kurzname mit dabei — der Typ des zusammengeführten Tages folgt dem, das du wählst. Zwei Tage mit verschiedenem Typ lassen sich zusammenführen; nur verschiedene Arten (luft- und bodengebunden) gehen nicht.

Danach hängen Einsätze, Ruhesegmente und Uhr-Kennungen am Zieltag, sein Zeitraum umschließt beide, und Notizen sind aneinandergehängt — nichts wird überschrieben. Ein späterer Upload der Uhr mit einer Kennung des aufgenommenen Tages landet von selbst richtig.

Was nicht geht, und warum:

  • Luftgebunden und bodengebunden lassen sich nicht zusammenführen. Ein Einsatz mit Windendokumentation verlöre an einem bodengebundenen Diensttag seine Felder. Ein Diensttag ohne Zuordnung passt dagegen zu beidem und übernimmt die Art des anderen.
  • Es gibt keinen Weg zurück und keinen Papierkorb. Dort läge ein leerer Tag, dessen Wiederherstellung die Einsätze nicht zurückholen könnte — sie hängen dann am aufnehmenden Tag.
  • Aufteilen gibt es nicht. Ein versehentlich zusammengeführter Tag lässt sich nur von Hand wieder trennen, indem einzelne Einsätze verschoben werden (Abschnitt 4.2a).

Eine Rolle, die der gewählte Besatzungssatz nicht besetzt, der andere aber schon, wird von dort übernommen: Ein eingetragener Name geht nicht verloren.

4.5b Wenn zwei Diensttage sich zeitlich überschneiden

Seit Web 13.3.0. Überschneiden sich zwei deiner Diensttage zeitlich um mehr als eine Viertelstunde, steht in der Tagesübersicht ein Hinweis mit einem Knopf „Diensttage zusammenführen". Er nennt den anderen Tag mit Beginn, Überschneidungsdauer und der Zahl der Einsätze und Ruhesegmente — und verlinkt ihn, damit du ihn ansehen kannst, bevor du entscheidest.

Wie das entsteht. Zeichnen zwei Geräte denselben Dienst auf — die Uhr am Handgelenk und das Handy in der Tasche —, legt jedes einen eigenen Diensttag an. Die Geräte wissen nichts voneinander; jedes bekommt seine eigene Dienstkennung, und der Server ordnet danach zu. Es geht dabei nichts verloren und nichts wird überschrieben: Es steht alles doppelt. Derselbe Einsatz zweimal, dieselben GPS-Daten zweimal — und in der Jahresübersicht zählt der Dienst doppelt.

Der häufigste Fall ist die Uhr, die im Spind noch mitläuft, während du längst mit dem Handy im Dienst bist.

Was du tun kannst. Der Hinweis entscheidet nichts von selbst, und das ist Absicht: Beide Tage sind vollständige Aufzeichnungen, und welche gelten soll, weiß nur, wer dabei war. Drei Wege stehen offen:

  • Zusammenführen (Abschnitt 4.5a) — beide werden zu einem. Die Doppelung steht danach in einem Tag statt in zweien; die doppelten Einsätze räumst du von Hand weg.
  • Einen löschen, wenn er nichts enthält, was der andere nicht auch hat.
  • Stehen lassen, wenn es tatsächlich zwei Dienste waren.

Der Hinweis lässt sich nicht wegklicken, anders als der über neue Geräte. Er beschreibt keinen Vorgang, den man zur Kenntnis nimmt, sondern einen Zustand, der weiterbesteht — und er verschwindet von selbst, sobald die Tage zusammengeführt sind oder einer im Papierkorb liegt.

Eine Viertelstunde ist die Schwelle, nicht eine Minute: Wer den neuen Dienst beginnt, bevor er den alten beendet hat, erzeugt eine Überschneidung von wenigen Minuten — die ist kein Fehler, sondern die Reihenfolge zweier Handgriffe. Ein Hinweis, der dabei jedes Mal erschiene, würde überlesen.

4.6 Suche

Über Suche in der Kopfleiste durchsuchst du deinen gesamten Bestand — nicht nur einen Tag oder einen Zeitraum. Die Trefferliste hat dieselben Spalten wie die Zeitraum-Übersicht, lässt sich genauso über die Spaltenköpfe sortieren, und ein Klick auf eine Zeile öffnet den Einsatz. Die Zeile hebt sich dabei hervor, sobald der Zeiger darüber steht. Ohne Maus geht es auch: Mit der Tabulatortaste springst du von Zeile zu Zeile, Enter oder Leertaste öffnen den Einsatz. Ganz links trägt jede Zeile einen Farbstreifen — es ist die Farbe, in der die Aufzeichnung dieses Einsatzes auf der Karte seines Diensttags gezeichnet ist.

Auf schmalen Geräten (unter 720 px) wird aus jeder Zeile eine Kachel, wie auf der Tagesübersicht: oben Artzeichen und Datum, darunter Ort und Diagnose, unten die Kennzeichen. Sortiert wird dann über den Knopf Sortieren im Kopf der Trefferkarte — er zeigt an, wonach gerade geordnet ist, und öffnet dieselbe Spaltenliste, die am Schreibtisch der Tabellenkopf ist.

Suchbegriff. Das obere Feld durchsucht Einsatznummer, Name, Geburtsdatum, Diagnose, Einsatzort, Transportziel, Beschreibung des Einsatzorts, Bergwacht-Bereitschaft und -Infos, weitere NotärztIn, weitere Rettungsmittel, Standort, Rettungsmittel, Besatzung und Notizen. Groß- und Kleinschreibung spielt keine Rolle, Wortteile genügen. Gibst du mehrere Wörter ein, müssen alle vorkommen — aber nicht im selben Feld. „müller auwiesen" findet also auch einen Einsatz, bei dem Müller die Besatzung und Auwiesen das Transportziel ist. Das Geburtsdatum findest du in beiden Schreibweisen, „12.03.1985" ebenso wie „1985-03-12".

Nach dem Öffnen der Seite stehen die Treffer zuerst ohne die verschlüsselten Angaben da, dann werden die gezeigten Zeilen lesbar (seit Web 23.6.0). Solange danach der übrige Bestand entschlüsselt wird, steht oben in der Trefferkarte „Weitere geschützte Angaben werden geöffnet …". Erst wenn das verschwindet, ist die Trefferliste vollständig: Treffer, die nur in Diagnose, Ort, Notizen oder einem anderen verschlüsselten Feld stehen, und der Altersfilter kommen erst dann dazu. Bei einigen hundert Einsätzen merkst du davon nichts; bei mehreren tausend auf einem langsamen Gerät ein bis zwei Sekunden. Sortierst du nach Einsatzort, Alter oder Diagnose, wird alles auf einmal entschlüsselt — welche Zeilen dann oben stehen, steht vorher nicht fest.

Und / Oder / Nicht. Seit Web 7.0.0 lassen sich Begriffe verknüpfen. Wer das nicht braucht, merkt nichts davon — ohne Operator verhält sich die Suche exakt wie bisher.

Eingabe Bedeutung
sturz fraktur beide Begriffe — das Leerzeichen heißt UND
sturz ODER fraktur mindestens einer (OR und <code>|</code> ebenso)
bergwacht -winde der erste ja, der zweite nicht (NICHT, NOT, ! ebenso)
"zwei wörter" genau diese Folge, Leerzeichen eingeschlossen
(sturz ODER fraktur) sonnenau Klammern binden zusammen

Ohne Klammern bindet UND stärker als ODER: a b ODER c heißt (a UND b) ODER c — die Lesart, die man aus Suchmasken kennt. Ein Minus zählt nur dann als Ausschluss, wenn es frei vor einem Begriff steht; „St.-Anna" bleibt ein Wort. Eine halbfertige Eingabe wird nicht bemängelt — die Trefferliste rechnet bei jedem Tastendruck neu, und (sturz ist auf dem Weg zu (sturz ODER fraktur) unvermeidlich; sie wird gedeutet, so gut es geht. Die Erklärung steht seit Web 9.5.0 hinter Und / Oder / Nicht verknüpfen unter dem Suchfeld — sie ist für den zweiten Besuch da, nicht für jeden.

Treffer sind hervorgehoben. Steht dein Suchwort in Einsatzort oder Diagnose, ist es dort gelb hinterlegt. Eine Zeile ohne Markierung ist trotzdem richtig: Gesucht wird auch in Notizen, Besatzung und Rettungsmitteln, und die stehen nicht in der Liste — wo der Treffer sitzt, zeigt dann der Einsatz selbst. Verneinte Begriffe (-winde) werden nicht markiert; sie bezeichnen nichts, was dastehen soll.

Weitere Filter. In der linken Leiste — dort, wo auf den anderen Seiten die Diensttage stehen. Auf der Suchseite gibt es die nicht, weil es hier gerade um den Gesamtbestand geht. Seit Web 9.5.0 ist es dieselbe Leiste wie überall: Am Schreibtisch steht sie links, auf Tablet und Handy (unter 1024 px) liegt sie als Schublade hinter dem Knopf Filter neben dem Suchfeld. Vorher hatte die Suche als einzige Seite eine eigene Filterspalte — auf dem Handy stand die komplett vor dem Ergebnis.

Die Filter liegen seit Web 7.0.0 in fünf Blöcken, die danach schneiden, worüber gefiltert wird:

Block Enthält
Einsatz Datum, Alarmzeit, Wochentag, Strecke, Einsatzdauer, Fehleinsatz
PatientIn Alter von / bis
Transport Transportart, NA-Begleitung, Transportziel, Sekundärtransport, Schockraum
Beteiligte Standort, Rettungsmittel, Art, Besatzung je Rolle, weiteres Rettungsmittel
Bergrettung Bergwacht, Bereitschaft, Winde samt Cycles und Luftverladung

Vorher waren es sechs, darunter ein Block „Werte" mit Alter, Strecke und Dauer — das war nie ein Gegenstand, sondern eine Datenart. Alter gehört zur PatientIn, Strecke und Dauer zum Einsatz. Die Kurznamen in geteilten Links sind unverändert geblieben, alte Links funktionieren also weiter.

Jeder Block klappt einzeln auf und zu; beim Öffnen der Seite sind alle zugeklappt, damit die Leiste ruhig bleibt. Öffnest du einen geteilten Link, gehen genau die Blöcke auf, in denen etwas gesetzt ist. Alle gesetzten Filter gelten gleichzeitig (UND); leere Felder schränken nichts ein. Die Auswahllisten für Standort, Rettungsmittel, Besatzung, Bergwacht-Bereitschaft, weitere Rettungsmittel und Zielklinik enthalten nur, was in deinem Bestand tatsächlich vorkommt.

Ein Filter erscheint nur, wenn im Bestand etwas dahintersteht (seit Web 12.4.0 für alle Filter, vorher nur für den Block Bergrettung und das Feld Fehleinsatz). Wer keinen Transport dokumentiert, hat die Transportfelder gar nicht erst in der Leiste. Sie könnten dort nur Filter setzen, die garantiert null Treffer ergeben. Ein Block verschwindet, sobald alle seine Felder verschwunden sind.

Winde und Bergwacht sind davon ausgenommen (seit Web 20.36.0): Sie erscheinen, sobald irgendein Diensttag die Fähigkeit führt — luft- wie bodengebunden —, auch wenn noch niemand gewindet hat. Der Grund ist der Fall, für den man einen Filter gerade braucht: In einem Bestand mit eingerichteter, aber nie benutzter Winde wäre sonst auch „Winde: nein" nicht zu suchen gewesen, weil der ganze Block „Bergrettung" fehlte.

Immer da bleibt, was immer sinnvoll ist: Zeitraum, Uhrzeit, Wochentag, Strecke, Dauer, Alter, Standort, Rettungsmittel, Art, Besatzung und weitere Rettungsmittel. Auf einem frisch angelegten Konto stehen genau diese in der Leiste.

Maßgeblich ist der gesamte Bestand, nicht die aktuelle Trefferliste: Die Leiste verändert sich also nicht, während du filterst. Öffnest du einen geteilten Link, der einen ausgeblendeten Filter setzt, erscheint er — sonst wäre ein Filter gesetzt, den du nicht finden und nicht zurücknehmen könntest.

Eine Besonderheit:

  • Alarmzeit darf über Mitternacht gehen. „von 22:00 bis 06:00" findet die Nachteinsätze. Eingabe wie überall als HH:MM; Ziffern genügen.

Entfallene Filter (ab Web 5.3.0). Herkunft, Reanimation, Reanimations-Ereignis sowie Höhe Einsatzort von/bis gibt es in der Suche nicht mehr. Die Angaben selbst bleiben vollständig erhalten — sie stehen weiterhin in der Einsatzansicht und im Export. Ältere geteilte Links funktionieren weiter; der entfallene Teil wird dabei stillschweigend übergangen.

Am zugeklappten Blockkopf steht eine blaue Zahl, wenn darin etwas gesetzt ist — so versteckt sich kein vergessener Filter hinter einem geschlossenen Deckel. Dieselbe Zahl steht am Knopf Filter, solange die Leiste als Schublade liegt.

Unten in der Leiste steht Filter zurücksetzen. In der Schublade steht darunter „n Treffer zeigen" — die Zahl rechnet mit, während du filterst, und der Knopf schließt die Schublade: Du weißt also vorher, worauf du hinausläufst. Über der Trefferliste stehen die gesetzten Filter noch einmal als blaue Plaketten mit einem Kreuz; ein Druck darauf nimmt genau diesen Filter zurück. Daneben steht, wie viele Einsätze angezeigt werden (bei gesetztem Filter „n von m") und wie viele Kilometer sie zusammen sind.

Wie viele Zeilen auf einmal? Die Liste zeigt 200 Treffer; darunter liegen dann die Schaltflächen „Weitere 200 anzeigen" und „Alle N anzeigen". Sie erscheinen nur, wenn tatsächlich etwas fehlt. Bis Web 5.9.0 gab es keine Grenze — beim Öffnen stand der gesamte Bestand als Tabelle da, und jeder Tastendruck im Suchfeld baute ihn neu auf; bei einigen tausend Einsätzen war das eine spürbare Pause. Begrenzt ist allein die Anzeige: Gesucht, gefiltert, sortiert und gezählt wird weiterhin über deinen gesamten Bestand. Die Zeile über der Tabelle nennt deshalb unverändert die wahre Trefferzahl und dazu, wie viele davon gerade stehen. Welche 200 das sind, entscheidet die Sortierung — voreingestellt sind die neuesten zuerst. Sortierst du um, bleibt eine erweiterte Ansicht erweitert; änderst du einen Filter, fängt die Liste wieder bei den ersten 200 an. Die Zeitraum-Übersicht zeigt seit Web 21.4.0 ebenso 200 Zeilen auf einmal (Abschnitt 4.4).

Gesperrte Verschlüsselung. Sind die geschützten Angaben gesperrt (Abschnitt 5), werden Einsatznummer, Name, Geburtsdatum, Diagnose, Einsatzort, dessen Beschreibung und die Notizen des Einsatzes nicht durchsucht, der Altersfilter ist abgeschaltet und die entsprechenden Spalten bleiben leer. Alle übrigen Filter arbeiten normal weiter. Über Entsperren im Hinweis oben nimmst du die Sperre auf, danach sucht die Seite sofort mit den vollständigen Daten weiter — ohne Neuladen.

Suche teilen oder aufheben. Der komplette Filterzustand steht in der Adresszeile hinter dem #. Du kannst die Adresse als Lesezeichen speichern oder weitergeben; beim Öffnen sind dieselben Filter wieder gesetzt. Weil alles hinter dem # steht, wird der Suchbegriff nicht an den Server übertragen und taucht in keinem Server-Protokoll auf. Beim Weitergeben lohnt trotzdem ein Blick: Ein Suchbegriff wie ein Nachname ist selbst ein Patientendatum, und die empfangende Person sieht ihn in ihrer Adresszeile — die Treffer allerdings nur, soweit sie ohnehin Zugriff auf die eigenen Daten hat. Fremde Einsätze werden nie angezeigt.

Wo gesucht wird. Die Suche läuft vollständig in deinem Browser. Beim ersten Öffnen holt die Seite deinen Bestand einmal vom Server; danach kostet kein Tastendruck mehr eine Anfrage. Das ist keine Spielerei, sondern Bedingung: Die geschützten Angaben liegen Ende-zu-Ende-verschlüsselt auf dem Server, er könnte gar nicht darin suchen.


5. Verschlüsselung der Patientendaten (Pflicht)

Nachname, Vorname, Geburtsdatum, Alter, Diagnose, Adresse und Koordinate des Einsatzorts, die Beschreibung des Einsatzortes, der manuelle Abfahrtort, die Einsatznummer und die Notizen des Einsatzes sind Ende-zu-Ende-verschlüsselt: Der Browser ver- und entschlüsselt mit einem Schlüssel aus deinem Login-Passwort; der Server speichert nur Chiffretext. Seit Web 22 ebenso die GPS-Daten, die Koordinate jeder Einsatzphase, der Verlauf einer Reanimation, das Transportziel samt Koordinate und die Höhe des Einsatzorts: GPS-Daten, Phasenorte und Reanimation verschlüsseln Uhr und Handy, bevor sie senden (siehe „Der Schlüssel für Uhr und Handy" weiter unten), Transportziel und Ortshöhe dein Browser wie die übrigen Felder. Es gibt kein zweites Passwort und keinen Schalter — die Verschlüsselung ist Pflicht.

Eine Ausnahme, und nur diese eine: Im Demo-Konto (Abschnitt 3.2) liegt das Schlüsselmaterial auf dem Server. Anders ließe sich das Konto nicht selbsttätig zurücksetzen, ohne dass die verschlüsselten Angaben danach unlesbar wären. Dort stehen ausschließlich erfundene Daten — und deshalb gehören dort auch keine echten hinein.

Ersteinrichtung: Sie passiert direkt beim Festlegen des Passworts. Wenn du über den Einladungslink dein Passwort vergibst, erzeugt der Browser im selben Schritt deinen Wiederherstellungsschlüssel und zeigt ihn nur dieses eine Mal an — ausdrucken und sicher ablegen, dann per Haken bestätigen. Erst danach wird gespeichert. Eine getrennte Einrichtungsseite nach dem ersten Anmelden gibt es nicht mehr.

Das Notfallblatt (seit Web 20.24.0). Neben dem Schlüssel steht ein Knopf „Notfallblatt drucken". Er öffnet eine Druckseite — genau eine A4-Seite — mit deinem Schlüssel in fünf nummerierten Vierergruppen, deiner Kontoadresse, der Adresse dieser Installation und Datum und Uhrzeit; dazu, wofür er da ist, was ohne ihn verloren ist, wie du ihn benutzt und wo er hingehört: dort, wo du ihn in fünf Jahren noch findest und niemand sonst (Dokumentenordner zu Hause, Bankschließfach, Passwortmanager). Auf einer Anlage mit Etikett — etwa Staging — trägt das Blatt eine rot umrandete Zeile, dass es nur für diese Anlage gilt. Seit Web 21.1.0 sieht es aus wie das Schlüsselblatt der BetreiberIn und das Codeblatt des Zweitfaktors (3.1f).

Dieses Blatt lässt sich später nicht erneut drucken. Der Schlüssel entsteht in deinem Browser und wird nirgends gespeichert — auch nicht bei der BetreiberIn. Seit Web 24.11.0 verlässt er den Browser auch zum Drucken nicht: Das Blatt öffnet sich in einem neuen Fenster und bekommt den Schlüssel von der Seite, die ihn gerade zeigt. Blockiert dein Browser das Fenster, steht das unter dem Knopf — erlaube Pop-ups für diese Seite und drück noch einmal. Es gibt den Schlüssel nur in dem Moment, in dem er angezeigt wird. Wer sein Blatt verliert, erzeugt einen neuen Schlüssel (siehe unten); das alte Blatt wird damit ungültig.

Unbedingt wissen:

  • Normales Passwort-Ändern (mit altem Passwort) ist völlig unkritisch — die Daten bleiben ohne Zutun lesbar.
  • Bei „Passwort vergessen“ verlangt die Seite mit dem neuen Passwort zugleich den Wiederherstellungsschlüssel. Damit übernimmt der Browser die verschlüsselten Angaben auf das neue Passwort, sodass nach dem Zurücksetzen sofort alles lesbar ist. Passt der Schlüssel nicht, wird nichts geändert — das alte Passwort gilt weiter. Ohne den Schlüssel sind die Angaben unwiederbringlich verloren, auch Admins können nicht helfen (deshalb gibt es keine Admin-Passwortvergabe).
  • Die Anmeldung kann nach einem Update eine Zeitlang länger dauern. Wenn die Einstellungen der Verschlüsselung angehoben werden, rechnet der Browser eine Übergangszeit lang zweimal — er weiß noch nicht, welche Einstellung für dein Konto gilt, und der Server darf es ihm vor der Anmeldung nicht verraten. Sobald alle Konten nachgezogen sind, ist es wieder wie vorher. Es ist nichts kaputt.
  • Beim Abtippen hilft die Seite mit. Unter dem Eingabefeld steht sofort, wenn etwas nicht stimmt: ein Zeichen, das im Schlüssel gar nicht vorkommt, oder eine unvollständige Länge. Die Zeichen 0, 1, I, L, O und U werden nicht verwendet — genau weil sie beim Ablesen zu leicht zu verwechseln sind. Bindestriche sind eine Lesehilfe und dürfen weggelassen werden, Groß- und Kleinschreibung spielt keine Rolle. Ist der Schlüssel vollständig und passt trotzdem nicht, sagt die Meldung das ausdrücklich: Dann liegt kein Tippfehler vor, sondern es ist der Schlüssel eines anderen Kontos oder aus einer früheren Einrichtung.
  • Verschlüsselte Felder sind serverseitig nicht durchsuchbar; der Schutz wirkt gegen Datenbank-Diebstahl und Mitleser, prinzipbedingt nicht gegen einen vollständig übernommenen Server.
  • Seit dem Sicherheitsschritt kommt ein zweites Stück dazu, und du merkst nichts davon. Der Schlüssel entsteht nicht mehr allein aus deinem Passwort: Ein zweiter Wert, der Server-Anteil, liegt in einer Einstellungsdatei auf dem Server und geht mit ein. Der Server kann damit weiterhin nichts öffnen — ihm fehlt der Teil, der aus deinem Passwort kommt. Was es ändert: Wer nur die Datenbank stiehlt, hat jetzt nicht mehr alles, was er zum Durchprobieren deines Passworts bräuchte. Deine Anmeldung bleibt, wie sie war; beim ersten Mal nach dem Update stellt der Browser deine Schlüsselhülle still um, ohne dass du etwas tust.
  • Wenn eine Meldung vom „Server-Anteil" spricht, ist nicht dein Passwort schuld. Steht beim Entsperren „Der Server-Anteil der Verschlüsselung fehlt oder ist nicht der, mit dem die Hüllen gebaut wurden", dann fehlt auf dem Server eine Einstellung — bitte die Administration verständigen und nicht das Passwort zurücksetzen. Es sind keine Daten verloren, und es betrifft alle gleichzeitig. Heißt die Meldung dagegen „Der Server-Anteil wurde erneuert", hilft der Wiederherstellungsschlüssel: Damit setzt du dein Passwort neu, und alles ist wieder da.
  • Verschlüsselt sind nicht alle Daten, sondern diese: Name, Geburtsdatum, Alter, Diagnose, Einsatznummer, Adresse, Koordinate und Beschreibung des Einsatzorts, der manuelle Abfahrtort und die Notizen des Einsatzes — und seit Web 22 die GPS-Daten, die Koordinate jeder Einsatzphase, der Verlauf einer Reanimation, das Transportziel samt Koordinate und die Höhe des Einsatzorts. Für den Server lesbar bleiben unter anderem: die Notizen des Diensttags, die Zeiten und Nummern der Phasen, Strecke und Anstieg, Rettungsmittel und Standort, Einsatzmerkmale wie Transportart oder Fehleinsatz, weitere beteiligte Kräfte, Zeitraum und Punktzahl einer GPS-Aufzeichnung und die Namen der Besatzung — damit sortiert, zählt und rechnet er. Wer weiß, wann ein Einsatz war, findet ihn darüber; Ort, GPS-Daten, Klinik und Reanimation findet er nicht. Grenzen gehören dazu: Uhr und Handy halten eine Aufzeichnung unverschlüsselt im Gerätespeicher, bis der Server sie angenommen hat (was bei einem verlorenen Gerät zu tun ist, steht in Kapitel 10); den Schlüssel, mit dem sie verschlüsseln, bekommen sie ohne zweiten Kanal vom Server; und Adresssuche und Karte fragen fremde Dienste, die dabei sehen, wonach du suchst und welchen Ausschnitt du ansiehst (zur Adresssuche 3.1a). Das sind keine Lücken, sondern die Grenzen dieser Bauform, und sie stehen hier, damit niemand mehr erwartet, als sie hält. Wer eine Installation betreibt, behandelt den Datenbankzugang entsprechend.
  • Zeigt eine Seite „gesperrt“, lässt sich das direkt dort beheben — siehe „Gesperrt: entsperren statt neu anmelden“ weiter unten.

„Hast du dein Notfallblatt noch?" (seit Web 20.24.0). NAdoku fragt nach 30 Tagen, nach 6 Monaten und danach jährlich beim Anmelden nach. Drei Antworten:

  • Ja, liegt sicher — die Frage kommt zur nächsten Runde wieder.
  • Nein — neuen Schlüssel erzeugen — du gibst dein Passwort ein, der Browser erzeugt einen neuen Wiederherstellungsschlüssel, zeigt ihn an und bietet das Notfallblatt zum Drucken an. Dein altes Blatt wird damit ungültig; deine Daten bleiben unverändert und lesbar. Der Dialog lässt sich erst schließen, wenn du bestätigt hast, dass du den Schlüssel notiert oder gedruckt hast — was dort steht, kann danach niemand wiederherstellen.
  • Später — sieben Tage, höchstens dreimal je Runde. Danach steht die Frage bei jedem Anmelden wieder da, bis du sie beantwortest.

Einen neuen Schlüssel kannst du jederzeit erzeugen, ohne auf die Frage zu warten: Einstellungen → Profil, Karte Wiederherstellungsschlüssel, Knopf Neuen Schlüssel erzeugen. Derselbe Ablauf, dasselbe Ergebnis. Nutze ihn, wenn du dein Blatt verlegt hast, nach einem Umzug oder wenn jemand anders es gesehen haben könnte.

Warum dabei das Passwort verlangt wird, obwohl du angemeldet bist: damit niemand, der an deinen geöffneten Rechner kommt, dir den Rückweg nehmen kann. Er käme an keine Daten — aber dein Notfallblatt öffnete plötzlich nichts mehr, und du erführest es erst, wenn du es brauchst.

Gesperrt: entsperren statt neu anmelden. Die Anmeldung und der Schlüssel für die geschützten Angaben haben getrennte Lebensdauern. Seit Web 23.4.0 gilt der Schlüssel für alle Tabs dieses Browsers: Öffnest du einen Link in einem neuen Tab oder stellt der Browser nach einem Neustart deine Tabs wieder her, sind die geschützten Angaben sofort lesbar — solange du in der letzten halben Stunde gearbeitet hast. Gesperrt bist du trotz Anmeldung nur noch in wenigen Fällen: nach einem Zurücksetzen des Passworts ohne Wiederherstellungsschlüssel, nach einer Anmeldung mit Passkey, oder in einem Browser, der keinen Speicher für den Schlüssel erlaubt (manche privaten Fenster) — dort fragt jede Seite.

Bis Web 23.3.x hieß es „Ein Tab, ein Schlüssel“, und jeder neue Tab fragte nach dem Passwort. Das ist vorbei: Der Schlüssel liegt jetzt so im Browser, dass ihn auch ein eingeschleustes Skript nicht herauslesen kann, und diese Ablage teilen sich alle Tabs. Die Kehrseite: Schließt du den Browser, ohne dich abzumelden, bleibt der Schlüssel auf diesem Gerät liegen, bis du dich das nächste Mal anmeldest oder abmeldest oder bis eine Seite der Anwendung nach Ablauf der halben Stunde geladen wird. Auf einem fremden oder geteilten Rechner meldest du dich deshalb immer ab.

Beide Fristen zählen gleich (seit Web 12.9.0). Solange du arbeitest, bleibt beides gültig; lässt du die Anwendung eine halbe Stunde liegen, wirst du abgemeldet, und der Schlüssel ist fort.

In diesem Fall erscheint ein Fenster „Geschützte Angaben entsperren“, das nach deinem Kontopasswort fragt. Nach der Eingabe sind Einsatznummer, Name, Geburtsdatum, Alter, Diagnose, Einsatzort, dessen Beschreibung und die Notizen des Einsatzes sofort wieder sichtbar — ohne die Seite neu zu laden und ohne Ab- und Neuanmelden. Das Passwort wird dabei nur in deinem Browser verwendet; es wird nicht an den Server geschickt. Die Prüfung dauert je nach Gerät eine knappe Sekunde, solange steht „Schlüssel wird abgeleitet …“.

Brichst du das Fenster ab, bleibt die Seite normal bedienbar — nur die geschützten Angaben bleiben verborgen, und ein Hinweis sagt das. Der Knopf „Entsperren“ in diesem Hinweis öffnet das Fenster jederzeit erneut.

Zwei Dinge sind dabei wichtig:

  • Im Einsatzformular werden vorhandene verschlüsselte Angaben beim Speichern nicht angetastet, solange gesperrt ist. Du kannst also einen Einsatz auch im gesperrten Zustand bearbeiten, ohne Patientendaten zu verlieren.
  • Import und Export der Patientendaten brauchen den Schlüssel. Ohne ihn ist der Import gesperrt und der Export nur ohne personenbezogene Angaben möglich.

Der Schlüssel für Uhr und Handy (seit Web 22.0.0). Beim ersten Entsperren nach einer Anmeldung legt die Anwendung still ein zweites Schlüsselpaar für dein Konto an. Uhr und Handy bekommen davon den öffentlichen Teil beim Koppeln; damit verschlüsseln sie GPS-Daten, Ortsangaben der Phasen und Reanimation, bevor sie etwas senden (die Uhr-App seit Fassung 4.0.0, die Android-App seit 0.18.0) — öffnen kann es nur dein Browser. Du musst dafür nichts tun. Steht oben auf einer Seite „Der Schlüssel, mit dem Uhr und Handy für dieses Konto verschlüsseln, passt nicht zu deinem privaten Schlüssel", koppel bitte kein neues Gerät und gib der BetreiberIn Bescheid: Dann hat jemand den Schlüssel verändert, oder es ist ein Fehler aufgetreten. Die Meldung ist bereits an sie gegangen.

Alter aus Geburtsdatum: Das Alter berechnet die Anwendung aus dem Geburtsdatum, bezogen auf den Einsatztag, nicht auf heute — ein Einsatz von vor Jahren zeigt weiterhin das damalige Alter. Bei gesetztem Geburtsdatum ist das Feld gesperrt und mit „aus Geburtsdatum" gekennzeichnet. Ist kein Geburtsdatum bekannt (bei unbekannten Personen der Regelfall), bleibt das Alter von Hand eintragbar. Name, Geburtsdatum und Einsatznummer erscheinen bewusst nur in der Einsatzansicht bzw. im Formular, nie in den Übersichten.

In den Exporten schlägt sich das unterschiedlich nieder: Excel (Standard) zeigt in der Spalte „Alter" immer den Wert, den auch die Einsatzansicht anzeigt — gerechnet oder von Hand eingetragen. Das CSV führt daneben die Spalte pat_alter, die nur das von Hand eingetragene Alter enthält und bei einem Einsatz mit Geburtsdatum leer bleibt. So steht jede Angabe genau einmal in der Datei und kann nicht auseinanderlaufen.


6. Backup

Drei Dinge heißen „Backup", und sie sind nicht dasselbe. Wer das eine sucht und das andere findet, hält am Ende eine Datei in der Hand, die nicht enthält, was er braucht:

wer macht es was drin ist wo
Backup du selbst deine Einsätze, Diensttage, Stammdaten Einstellungen → Backup (dieses Kapitel)
Konto-Backup die Verwaltung, je Konto die Daten einer NutzerIn, verschlüsselt mit deren Schlüssel Verwaltung → Konto-Backups (Regeln, 11.4) und die Kontoseite (Pakete, 11.1); was es für dich bedeutet: 6.1
Komplett-Backup die BetreiberIn, einmal für alles alle Konten, Stammdaten, Geräte, GPS-Daten — jede Tabelle Betrieb → Komplett-Backup (12.6)

Dazu kommen die Backup-Ziele (12.7): eine Gegenstelle, auf die die Konto-Backups zusätzlich geschoben werden. Sie sind kein viertes Backup, sondern ein zweiter Ablageort für das zweite.

Unter Einstellungen → „Backup" (Zahnrad in der Kopfleiste) lädst du alle deine Daten als eine verschlüsselte Datei (.edbak) herunter — Passwort frei wählbar, mindestens 12 Zeichen, wird nirgends gespeichert. In dieser Datei stehen alle geschützten Angaben im Klartext; zwischen ihnen und jedem, der die Datei in die Hand bekommt, steht nur dieses Passwort.

Seit Web 11.0.0 ist die Datei innen mehrteilig. An der Bedienung ändert das nichts — eine Datei, ein Passwort, ein Knopf. Innen liegen jetzt aber ein Verzeichnis, ein Kopf, die Einträge in Fenstern und die GPS-Daten in eigenen, einzeln verschlüsselten Teilen. Der Grund ist die Menge: Bei ein paar tausend Einsätzen sind die GPS-Punkte der weitaus größte Teil, und in einem Stück brachten sie ältere Telefone an ihre Grenze. Sie sind jetzt außerdem gepackt statt ausgeschrieben — gemessen am Beispielbestand 218 KB statt 739 KB, also 70 % weniger.

Was du davon merkst: Die Statuszeile zählt beim Sichern und beim Einspielen die Teile mit („Einträge werden übertragen (Teil 2 von 5) …"), und die Abschlussmeldung nennt Einträge, Aufzeichnungen und Punkte.

Die Abschlussmeldung nennt außerdem den Dateinamen (seit Web 12.2.1) — etwa einsatzdoku-backup-2026-09-01.edbak. Das Herunterladen läuft ohne Rückfrage und ohne Ton durch; wer nicht gerade auf die Download-Leiste des Browsers sieht, bekommt davon nichts mit. Wo die Datei landet, sagt die Meldung nicht: Das entscheidet die Einstellung deines Browsers — meist der Download-Ordner, bei entsprechender Einstellung fragt er nach. Dasselbe gilt für den Datenexport unter Einstellungen → „Export".

Welche Backups sich einspielen lassen: seit Web 23 nur noch eines ab Web 22.5.0 (siehe unten, „Orte, Reanimation und GPS-Daten"). Umgekehrt lässt sich eine neuere Datei in einer älteren Installation nicht öffnen — sie sagt das aber deutlich, statt „Passwort falsch" zu melden. Wählst du versehentlich ein einzelnes Teil aus (etwa weil du die Datei entpackt hast), sagt die Anwendung auch das.

Woran du siehst, wie es ausgegangen ist: Die Rückmeldungen tragen seit Web 9.7.2 ihre Farbe. Ein Fehlschlag ist rot mit Warnsymbol, ein Ergebnis grün mit Haken (bis Web 23.9.0 blau), und was gerade läuft („Daten werden geladen …") steht schlicht in Grau — es ist kein Ergebnis, und ein Haken daneben behauptete eines. Ein Backup, bei dem sich einzelne Angaben nicht entschlüsseln ließen, meldet sich orange: Die Datei ist vollständig, aber dieser Teil öffnet sich nur wieder in diesem Konto.

Die Warnfarbe heißt auch: Etwas wurde verworfen. Jede Angabe aus der Datei läuft beim Einspielen durch dieselbe Prüfung wie alles, was die Anwendung annimmt. Was sie nicht passiert, wird nicht übernommen, und die Abschlussmeldung sagt es seit Web 23.0.2 mit Feld und Anzahl — etwa „ACHTUNG: Verworfen hat die Prüfung 1 Wert — ort_huelle: … (1×). Diese Angaben fehlen jetzt im Konto." Bei ort_huelle sind das die Orte und die Reanimation eines Einsatzes. Eine Datei, die die Anwendung selbst geschrieben hat, löst das nicht aus; es braucht eine beschädigte oder fremde Datei. Bis Web 23.0.1 blieb die Meldung in diesem Fall blau.

Ver- und Entschlüsselung passieren in deinem Browser; der Server sieht die Inhalte nie. Deshalb lässt sich ein Backup auch in ein anderes Konto einspielen: Beim Import werden die geschützten Angaben automatisch mit dem Schlüssel des Zielkontos neu verschlüsselt.

Orte, Reanimation und GPS-Daten gehören seit Web 22.5.0 dazu. Sie liegen im Konto verschlüsselt, und das Backup holt sie beim Sichern im Browser heraus: Die Datei enthält die Orte der Phasen, den Reanimationsverlauf, das Transportziel und die GPS-Daten jedes Einsatzes — geschützt wie alles andere nur durch das Backup-Passwort. Bis Web 22.4.0 fehlten sie bei allen Einsätzen, die seit Web 22.0.1 von Uhr oder Handy kamen. Wer in dieser Zeit ein Backup angelegt hat, legt am besten ein neues an. Beim Einspielen verschlüsselt dein Browser sie wieder für das Zielkonto, bevor er sie sendet. Deshalb muss die Seite dafür entsperrt sein, wie beim Sichern. Seit Web 23 lässt sich nur noch ein Backup ab Web 22.5.0 einspielen — ältere trugen die Ortsdaten unverschlüsselt; die Seite sagt das, statt etwas einzuspielen, und es wird nichts geändert. Lässt sich bei einem Einsatz die Verschlüsselung von Orten und Reanimation beim Sichern nicht öffnen, sagt die Abschlussmeldung das in Orange. Solche Einsätze liegen dann verschlüsselt in der Datei und gehen nur im selben Konto wieder auf.

Die Datei wird dadurch größer: Die GPS-Daten stehen jetzt als Liste von Punkten in ihr und nicht mehr gepackt, wie der Server sie früher ablegte — gemessen am Beispielbestand 880 KB statt 280 KB.

Eine Rückfrage vor dem Einspielen — aber nur, wenn es etwas zu fragen gibt. Enthält ein Backup Einsätze, deren geschützte Angaben schon beim Erstellen nicht zu entschlüsseln waren, kommen sie hier ebenfalls unlesbar an; davor warnt die Anwendung und fragt nach. Bis Web 11.1.0 kam die Frage bei jeder Datei aus einem anderen Konto — also fast immer, und meistens ohne Anlass, weil die Angaben ganz normal mitkommen. Jetzt steht die Zahl in der Datei, und gefragt wird nur, wenn sie größer als null ist.

Der Import ergänzt nur, was fehlt — Vorhandenes bleibt unangetastet, und mehrfaches Einspielen derselben Datei ist gefahrlos. Während Export und Import zeigt eine Statuszeile den Fortschritt und am Ende die Zahl der übernommenen Einsätze, Ruhesegmente und Diensttage.

Der Papierkorb ist Teil des Backups. Was du gelöscht hast und was noch in der 90-Tage-Frist liegt, steht in der Datei und kommt beim Einspielen wieder als Papierkorb zurück — nicht als aktiver Bestand. Es gibt dafür keinen Haken zum Abwählen: Ein Backup ist ein Abbild, und der Papierkorb ist kein Abfall, sondern ein Zustand, aus dem sich zurückholen lässt. Vorher war das anders, und das war der schlechtere Weg: Wer am Tag nach einem versehentlichen Löschen sicherte und die Datei später zurückspielte, verlor genau das, was er retten wollte.

Eines ändert sich beim Einspielen: Die 90 Tage beginnen neu. Übernommen wird, dass etwas gelöscht war, nicht wann. Sonst könnte ein älteres Backup Einträge mitbringen, deren Frist längst abgelaufen ist — der nächste Aufräumlauf entfernte sie endgültig, ohne dass du sie je zu sehen bekommen hättest.

Wer das Backup in eine Installation vor dieser Fassung einspielt, sollte wissen: Die nimmt die Datei zwar an, kennt den Papierkorb darin aber nicht und legt seine Einträge als aktive Einsätze und Diensttage an. Dort also anschließend nachsehen.

Das Backup-Passwort. Mindestens zwölf Zeichen, und die Seite sagt während der Eingabe, wie stark das Gewählte ist. Wer mag, setzt stattdessen das Häkchen „Mein Kontopasswort verwenden“ und tippt sein Anmeldepasswort ein — dann gibt es ein Passwort weniger zu verwahren, und die Datei ist genauso geschützt wie die Daten in der Datenbank. Ob das Passwort stimmt, prüft der Browser selbst; der Server bekommt es nicht zu sehen. Ist das Häkchen gesetzt, meldet sich auch der Passwortverwalter und bietet das gespeicherte Anmeldepasswort an: Seit Web 23.4.0 steht dafür ein eigenes Feld bereit, das er von Anfang an als Anmeldepasswort dieses Kontos erkennt. Vorher teilten sich Backup- und Kontopasswort ein Feld, und Bitwarden schlug dort ein neues Passwort vor statt des gespeicherten.

Nicht geeignet ist das Kontopasswort, wenn die Datei an jemand anderen gehen soll — dann bekommt der Empfänger das Anmeldepasswort mit.

Ein geändertes Passwort macht ein Backup nicht unlesbar. In der Datei steht seit 5.0.0 vermerkt, mit welchen Einstellungen sie verschlüsselt wurde; das Passwort, mit dem du sie gesichert hast, öffnet sie weiter. Einspielen lässt sich seit Web 23 aber nur ein Backup ab Web 22.5.0 (siehe oben). Kommt eine Datei aus einer neueren Fassung des Programms, sagt die Meldung genau das — und nicht „Passwort falsch".

Der Hinweis auf ein neu verbundenes Gerät lässt sich bestätigen. Auf der Tagesübersicht erscheint nach dem Koppeln einer Uhr ein Hinweis mit Name und Zeitpunkt. Mit „Verstanden, das war ich" verschwindet er. Wird danach ein weiteres Gerät verbunden, erscheint er erneut.

Woher die Datei stammt, steht dabei. Sobald das Backup geöffnet ist — also nach Eingabe des Backup-Passworts —, nennt eine Zeile das Konto und den Zeitpunkt, zu dem sie erstellt wurde. Stammt sie aus einem anderen Konto als dem angemeldeten, steht das ausdrücklich da. Ein Abbruch ist das nicht: Ein Backup in ein anderes Konto einzuspielen ist vorgesehen. Die Angabe ist dafür da, die richtige Datei von einer ähnlich benannten zu unterscheiden.

Öffnet sich ein Backup nicht und die Meldung nennt den Browser, liegt es weder an der Datei noch am Passwort: Sehr alte Browser können gepackte Backups nicht entpacken. Ein aktueller Browser öffnet dieselbe Datei ohne Weiteres. (Bis Web 4.5.1 stand in diesem Fall „Passwort falsch oder Datei beschädigt" — was beides nicht stimmte.)

Der Aufbau der Datei ist in docs/Backup-Format.md vollständig beschrieben — sie lässt sich damit auch ohne dieses Programm entschlüsseln.

GPS-Daten verdichten

Seit Web 22.6.0.

Uhr und Handy schicken ihre Aufzeichnungen verschlüsselt und ungepackt. Der Server kann sie nicht lesen und deshalb auch nicht zusammenfassen — das macht dein Browser: Er fasst eine Aufzeichnung zusammen, sobald der Einsatz oder das Ruhesegment abgeschlossen ist, und dünnt sie 31 Tage nach dem Ende aus (Abschnitt 12.4 sagt, was dabei geschieht). Zu tun hast du dafür nichts:

  • Auf der Startseite erledigt er bei jedem Aufruf still bis zu zwanzig Aufzeichnungen — sobald die geschützten Angaben entsperrt sind. Nach dem Passwort fragt er dafür nie.
  • Hier, unter Backup, steht die Karte „GPS-Daten verdichten" — seit Web 24.5.0 nur, wenn nach der Startseite noch etwas fällig ist; sonst steht im Profil unter „Was dein Konto hält" die Zeile „GPS-Daten verdichten: erledigt". Die Karte nennt, was fällig ist („42 Aufzeichnungen aus 11 Diensttagen"), und arbeitet es ab, solange die Seite offen ist: Ring, Zahl und Balken zeigen, wie weit er ist; am Ende steht das Ergebnis. Fehlt bei einem Einsatz die Höhe des Einsatzorts, trägt er sie dabei nach.

Lässt sich eine Aufzeichnung nicht öffnen, bleibt sie, wie sie ist; die Karte sagt es rot, und die Betreuung sieht es im Reiter System. Kommt während des Laufs Neues von einem Gerät an, wartet er damit bis zum nächsten Mal — es geht nichts verloren. Aufzeichnungen aus der Zeit vor der Verschlüsselung gibt es seit Web 23 nicht mehr; bis dahin fasste er sie nicht an.

6.1 Konto-Backups durch die Verwaltung

Seit Web 5.9.0 kann die Verwaltung zusätzlich Konto-Backups anlegen — je Konto ein Paket, das auf dem Server liegt. Das ist eine Rückfallebene für den Fall, dass in einem Konto etwas schiefgeht; sie ersetzt dein eigenes Backup nicht.

Drei Backups, drei Namen (seit Web 15.2.0). Backup ist die Datei, die du dir selbst herunterlädst (Abschnitt 6). Konto-Backup ist das Paket, das die Verwaltung je Konto anlegt — dieser Abschnitt. Komplett-Backup ist der Stand der ganzen Installation (Abschnitt 12.6). Vorher hieß alles drei „Backup", und das Konto-Backup zusätzlich „Admin-Backup".

Die Verwaltung sieht dabei keine Inhalte. Im Backup stecken die geschützten Angaben genau so verschlüsselt wie in der Datenbank; lesbar werden sie erst in einem Browser, der den Schlüssel hat. Die Übersicht in der Verwaltung zeigt Zeitpunkt, Anzahl der Einsätze, Diensttage und Ruhezeiten, davon die Anzahl im Papierkorb, und die Dateigröße — mehr nicht.

Wenn dein Konto weiterbesteht, spielt die Verwaltung ein solches Paket unmittelbar ein; du musst nichts tun. Eingespielt wird immer ergänzend: Was schon da ist, bleibt unverändert.

Wenn dein Konto neu aufgesetzt wurde, geht das nicht — und zwar aus einem Grund, der sich nicht umgehen lässt: Die geschützten Angaben des alten Backups hängen am alten Inhaltsschlüssel, und den öffnet allein dein Wiederherstellungsschlüssel. Die Verwaltung gibt das Paket dann für dein Konto frei. Unter Einstellungen → „Backup" erscheint danach ein Abschnitt Für dich freigegebenes Backup: Dort gibst du deinen Wiederherstellungsschlüssel ein, dein Browser schlüsselt die Angaben auf deinen neuen Schlüssel um und spielt sie ein. Seit Web 22.5.0 gilt das auch für Orte, Reanimation und GPS-Daten: Sie hängen am Schlüsselpaar des alten Kontos, und dein Browser öffnet sie mit dessen privatem Teil aus dem Paket — wieder nur mit deinem Wiederherstellungsschlüssel — und verschlüsselt sie für dein neues Konto. Solange du eine Freigabe nicht eingelöst hast, kann die Verwaltung sie zurücknehmen — auf deiner Kontoseite steht seit Web 15.2.0 sichtbar, dass eine Freigabe läuft, für wen und seit wann. Bricht die Verbindung genau nach dem Einspielen ab, sagt die Seite „Fertig" in Orange und dazu, dass unklar ist, ob die Freigabe noch offen ist (seit Web 21.1.7): Deine Daten sind dann eingespielt, ein zweites Einspielen ist nicht nötig.

Grenzen des Verfahrens — sie gehören genannt, bevor man sich darauf verlässt:

  • Es ist eine Rückfallebene gegen selbstverschuldete Probleme im Konto, kein Schutz gegen Kontoverlust. Ohne Wiederherstellungsschlüssel ist ein neu aufgesetztes Konto nicht wiederherstellbar — auch die Verwaltung kann daran nichts ändern, weil der Schlüssel nirgends sonst existiert.
  • Die einzige Voraussetzung ist deshalb nichttechnisch: Verwahre deinen Wiederherstellungsschlüssel. Er wird bei der Ersteinrichtung einmalig angezeigt und danach nie wieder (Abschnitt 5).
  • Es wird nicht automatisch gesichert. Wann ein Konto-Backup entsteht, entscheidet die Verwaltung von Hand; es gibt nur eine Erinnerung. Der Grund ist derselbe wie oben: Ein nächtlicher Lauf hätte nichts, womit er die geschützten Angaben lesen könnte.
  • Je Konto liegen höchstens zwei Pakete (die Verwaltung kann die Zahl unter „Konto-Backups" ändern; bis Web 11.2.0 waren es drei). Das älteste wird beim nächsten Sichern verdrängt — nach Alter wird dagegen nie etwas entfernt. Das jüngste und ein freigegebenes bleiben immer.
  • Wird dein Konto gelöscht, entscheidet die Verwaltung dabei ausdrücklich, ob die Pakete mitgehen. Die Vorgabe ist: mitlöschen.
  • Die Pakete können zusätzlich auf einen anderen Server geschoben werden (Abschnitt 12.7). Ob das eingerichtet ist, weiss die Verwaltung.

7. Import und Export

Unter Einstellungen → Import / Export lässt sich eine vorhandene Einsatzliste (Excel oder CSV) übernehmen — etwa eine über Jahre gepflegte Jahresliste — oder die eigene als Datei ausgeben. Oben wählst du zwischen „Liste übernehmen" und „Liste ausgeben" (seit Web 24.5.0); darunter steht nur das Formular, das dazu gehört.

Die übrigen Wege

Der Name ist weiter gefasst als die Seite, und seit Web 19.3.0 sagt sie das selbst. Hier läuft die Einsatzliste als Ganzes in beide Richtungen — mehr nicht. Die übrigen Wege für Daten hinein und hinaus liegen dort, wohin sie gehören; die Unterzeile der Seite verweist auf das Backup und hierher:

Weg wo Abschnitt
Vollständiges Backup erstellen und einspielen Einstellungen → Backup 6
GPX-Datei einlesen Tagesübersicht, „Aktionen → GPX importieren“ 4.1c
GPS-Daten eines Diensttags als GPX Tagesübersicht, „Aktionen → GPS-Daten als GPX“ 4.1a
GPS-Daten eines Einsatzes als GPX Seite des Einsatzes, „Aktionen → GPS-Daten als GPX“ 4.2

Bis Web 19.3.0 stand auf der Seite kein einziger Verweis auf einen dieser Wege. Wer den GPX-Import dort suchte, fand ihn nicht — und erfuhr auch nicht, wo er stattdessen steht. Bis Web 21.4.0 nannte die Seite sie in der zugeklappten Karte „Was hier gilt" an ihrem Ende; seither steht das hier (R4-20).

Ein Export ist kein Backup. Die Datei dieser Seite ist zum Weiterverarbeiten in anderen Programmen gedacht: Sie trägt die Einsatzliste, aber keine GPS-Daten, keine Stammdaten und keine Einstellungen. Ein vollständiges Backup deines Kontos — alles in einer verschlüsselten .edbak-Datei — gibt es unter Einstellungen → Backup. Ein Backup einspielen geht ebenfalls dort und nicht hier. Der Unterschied zählt: Diese Seite ergänzt Einsätze aus einer fremden Liste, ein Backup stellt deinen eigenen Stand wieder her.

Der GPX-Import liegt am Diensttag, mit Absicht. Eine Aufzeichnung gehört immer zu einem Diensttag, und welcher das ist, weiß nur die Tagesübersicht. Solange das Konto noch keinen Diensttag hat, steht das Menü „Aktionen" dort nicht zur Verfügung — und damit auch kein GPX-Import.

Der Weg einer Einsatzliste

Der Weg hat drei Schritte, und jeder ist eine eigene Karte: 1. Datei wählen, 2. Prüfen und korrigieren, 3. Übernehmen. Die Schritte 2 und 3 erscheinen erst, wenn der vorige getan ist. In Schritt 2 lässt sich die Tabelle einschränken auf Alle Zeilen, Nur Probleme oder Nur Dubletten — die gewählte Fläche ist hellblau hinterlegt.

Die Datei wird nicht hochgeladen. Sie wird in deinem Browser gelesen, geprüft und dort verschlüsselt; der Server bekommt Name, Geburtsdatum, Alter, Diagnose, Einsatzort samt Beschreibung, Abfahrtort, Einsatznummer und die Notizen des Einsatzes nur als Chiffretext zu sehen. Das ist keine Bequemlichkeit, sondern die einzige Möglichkeit, die die Ende-zu-Ende-Verschlüsselung (Abschnitt 5) offen lässt. Aus demselben Grund ist der Import gesperrt, solange die Verschlüsselung nicht bereitsteht — dann hilft der Knopf „Entsperren“ im Hinweis über dem Importbereich (siehe Abschnitt 5).

1. Datei wählen. Das passende Format wird an den Spaltenüberschriften selbst erkannt. Angaben, die in der Datei fehlen, werden darüber abgefragt — bei der Christoph-17-Jahresliste ist das die Jahreszahl, weil die Datumsspalte nur „14.3." enthält. Vorgeschlagen wird das Jahr aus der Titelzeile; du kannst es überschreiben. Außerdem wählst du Rettungsmittel und Standort für Diensttage, die neu angelegt werden — bestehende Tage bleiben davon unberührt, und beides lässt sich später je Tag in der Tagesübersicht ändern.

2. Prüfen und korrigieren. Die Tabelle zeigt jede Zeile der Datei, nach Diensttagen gruppiert. Gelb ist ein Hinweis (die Zeile geht durch, sieh sie dir aber an), Rot ein Fehler. Jede Zelle ist direkt änderbar; nach jeder Änderung wird sofort neu geprüft. Fehlerhafte Zeilen blockieren nur sich selbst: Entweder du korrigierst sie oder du hakst „überspringen" an. Solange eine Fehlerzeile weder korrigiert noch übersprungen ist, bleibt der Import gesperrt.

Zwei Sonderfälle werden dabei erkannt:

  • Dubletten. Ein Einsatz, dessen Einsatznummer schon vergeben ist oder für den es an diesem Tag bereits einen Einsatz zur selben Alarmzeit gibt. Der Abgleich über die Einsatznummer erkennt seit Web 2.9.0 nur noch Dubletten innerhalb der Diensttage, die in der Importdatei vorkommen — die Nummer liegt verschlüsselt vor und wird dafür lokal in deinem Browser mit den vorhandenen Einsätzen abgeglichen. Tag und Alarmzeit bleiben unabhängig davon wirksam. Du wählst je Zeile: überspringen (Voreinstellung), überschreiben oder trotzdem anlegen. Gelöschte Einsätze im Papierkorb zählen bewusst nicht als vorhanden.

    Ein gelöschter Diensttag sperrt sein Datum nicht mehr (seit Web 23.3.1). Liegt an einem Datum ein Diensttag im Papierkorb und daneben ein aktiver, landen die Einsätze der Datei beim aktiven. Bis dahin übersprang der Import das ganze Datum, solange der Papierkorb-Tag dort lag. Abgelehnt wird ein Datum nur noch, wenn es ausschließlich im Papierkorb liegt.

    „Überschreiben" löscht nichts, was die Datei nicht kennt (seit Web 5.8.0). Liefert die Datei zu einem Feld nichts, bleibt der gespeicherte Wert stehen. Das betrifft die Besatzung, Bergwacht-Infos, die weitere NotärztIn, die Notizen, die Höhe des Einsatzortes, die Patientendaten und die Koordinaten der Phasen — also genau die Angaben, die ein Export ohne personenbezogene Angaben leer lässt. Vorher hätte ein solcher Rückimport sie im Bestand gelöscht. Die Kehrseite: Ein Feld lässt sich per Import nicht mehr gezielt leeren; das geht im Einsatzformular.

    Seit Web 22.4.0 gilt das auch innerhalb der geschützten Angaben: Liefert die Datei nur einen Teil davon (etwa das Transportziel aus einem Export ohne Haken), bleibt der Rest — Name, Diagnose, Einsatzort — stehen. Ebenso bleibt eine Reanimation, wenn die Datei keine nennt.

  • Abweichende Besatzung. Als Besatzung des Diensttags gilt die des ersten Einsatzes des Tages. Steht bei einem späteren Einsatz jemand anderes — der klassische Pilotenwechsel oder Fahrerwechsel im laufenden Dienst —, trägt dieser Einsatz automatisch eine abweichende Besatzung (Abschnitt 4.3). Gibt es den Diensttag schon mit einer anderen Besatzung, entscheidest du je Tag, ob die gespeicherte gilt oder die aus der Datei.

3. Übernehmen. Der Import läuft als Ganzes: Entweder alle Zeilen werden übernommen oder — falls unterwegs etwas schiefgeht — keine einzige.

Die Ortsdaten verschlüsselt dein Browser (seit Web 22.4.0), bevor etwas an den Server geht: Phasenorte und Reanimation in denselben verschlossenen Block, den die Uhr schickt, Transportziel und Höhe des Einsatzorts zu den übrigen geschützten Angaben. Überschreibst du einen Einsatz, öffnet der Browser dazu dessen Orte und Reanimation; lässt sich das Vorhandene nicht öffnen, sagt der Import es vor dem Übernehmen und nennt den Einsatz — dann diese Zeile überspringen. (Bis Web 22.7.0 zogen dabei ältere Einsätze mit offen gespeicherten Orten mit um; seit Web 23 gibt es keine mehr.) Am Ende steht, wie viele Einsätze angelegt, überschrieben und übersprungen wurden, mit einem Link auf den ersten importierten Tag.

Importierte Einsätze verhalten sich wie von Hand nachgetragene: Sie lassen sich normal öffnen und bearbeiten, und die Uhr überschreibt sie nicht. Da eine Liste in aller Regel nur die Alarmzeit kennt, tragen sie genau eine Phase (Alarmierung); Track und die übrigen Phasenzeiten fehlen naturgemäß. Der Rückimport der eigenen Exportformate ist da genauer — siehe „Zurücklesen" unten.

7.1 Export

Auf derselben Seite, unterhalb des Importbereichs, steht der Export. Er ist zum Weiterverarbeiten in anderen Programmen gedacht — nicht als Backup. Für ein vollständiges Backup gibt es Abschnitt 6. Dieser Satz stand lange nur hier im Handbuch; seit Web 19.3.0 steht er auch auf der Seite selbst, seit Web 23.4.0 in der Einleitung der Exportkarte mit einem Verweis auf das Backup, und die Backup-Seite verweist umgekehrt hierher.

Wie beim Import passiert alles im Browser: Der Server liefert nur Rohdaten, die geschützten Angaben werden erst auf deinem Rechner entschlüsselt. Ohne den Haken „Personenbezogene Angaben einschließen" schickt der Server sie gar nicht erst mit.

Zu wählen sind Zeitraum (Von–Bis oder Alles) und Format.

Ein Zeitraum braucht beide Grenzen. Wer nur „Von" ausfüllt und „Bis" leer lässt, bekommt seit 4.5.1 eine Rückfrage. Vorher wurde die halbe Angabe stillschweigend übergangen und der gesamte Bestand ausgeleitet — ohne Hinweis, nur mit einer größeren Datei als erwartet. Beide Felder leer heißt weiterhin „alles"; das ist eine bewusste Angabe.

  • CSV (Standard): ein Archiv mit allen Feldern, die das System kennt, dazu Diensttage, Ruhezeiten, eine Feldbeschreibung und auf Wunsch die GPX-Tracks. Das ist das Format für Auswertungen und für den Rückweg. Es führt je Einsatz auch die Herkunft (uhr, handy, wear, manuell, import, schnitt) und den Bearbeitungsstatus mit — dieselben beiden Angaben, die in der Einsatzansicht als Kennzeichen stehen (Abschnitt 4.2). Seit Web 14.1.0 stehen dort außerdem Art und Modell des Geräts, mit dem aufgezeichnet wurde — je Einsatz und je Ruhezeit, als letzte zwei Spalten. Leer heißt „nicht bekannt": Nur ein gekoppeltes Gerät meldet, was es ist. Die beiden Exceltabellen führen nichts davon.
  • Excel (Standard): eine Zeile je Einsatz, deutsche Spaltenbeschriftungen, alle Zeiten in Ortszeit. Zum Ansehen, Sortieren und Filtern. Ein Diensttag ohne Einsatz erscheint als eine Zeile mit Datum und lauter Bindestrichen.
  • Excel (GuteSeele): das Listenlayout der Christoph-17-Jahresliste — für EmpfängerInnen, die genau diese Liste erwarten. Bei mehreren Jahren entsteht je Jahr ein Blatt.

Die Namen sind dieselben wie im Auswahlfeld des Imports — was hier herausgeschrieben wird, lässt sich dort unter demselben Namen wieder einlesen.

Personenbezogene Angaben einschließen ist standardmäßig aus. Der Haken hieß bis Web 5.7.0 „Patientendaten einschließen" und schaltete auch nur diese ab. Seit Web 5.8.0 deckt er alles ab, was auf einen Menschen zeigt:

  • die Patientendaten — Einsatznummer, Name, Geburtsdatum, Alter, Diagnose, Einsatzort mit Adresse und Koordinaten,
  • die Besatzung — die des Diensttags und die tatsächliche des Einsatzes, auch im Blatt Diensttage,
  • Bergwacht: Namen / Infos und die weitere NotärztIn,
  • die Notizen von Einsatz und Diensttag,
  • die Koordinaten der Phasen (Phase 4 ist „Ankunft Einsatzort", Phase 5 „Ankunft PatientIn" — das ist der Einsatzort), die Höhe des Einsatzortes und die GPX-Tracks,
  • seit Web 22.4.0 das Transportziel samt Koordinate und der Verlauf einer Reanimation (bis Web 22.7.0 nur bei Einsätzen, deren Ortsdaten schon verschlüsselt lagen; seit Web 23 bei allen).

Der letzte Punkt war der Anlass für die Erweiterung: Bis Web 5.7.0 nannte ein Export „ohne Patientendaten" den Einsatzort trotzdem, nur in einer anderen Spalte. Wer eine solche Datei weitergab, gab mehr weiter, als der Name der Option versprach.

Was ausdrücklich drin bleibt — damit es nicht als Versehen gelesen wird:

  • Die Bergwacht-Einheit — eine Einrichtung, keine Person. Bis Web 22.3.0 stand hier auch das Transportziel; seit es verschlüsselt gespeichert wird, gehört es zu den geschützten Angaben und steht nur noch mit Haken in der Datei.
  • Weitere Rettungsmittel („RTW Talwang") — Organisationskennungen.
  • Der Verlauf einer Reanimation stand hier bis Web 22.3.x. Seit Web 22.4.0 liegt er verschlüsselt und steht nur noch mit Haken in der Datei; er geht nur mit deinem Passwort auf, und ein Export ohne Haken fragt nicht danach. Seit Web 23 liegt jede Reanimation verschlüsselt.
  • Die Zeitpunkte der Phasen. Sie tragen Alarmzeit, Endzeit und Dauer.
  • Der Haken abweichende Besatzung. Er sagt nur, dass sie abwich — sonst wäre nicht mehr zu erkennen, dass die leeren Namensspalten leer gemacht wurden.

Wird der Haken gesetzt, kommt vorher ein Hinweis: Ab dem Speichern schützt die Verschlüsselung dieser Anwendung die Daten nicht mehr, sie stehen lesbar in der Datei. Ist die Verschlüsselung gerade gesperrt (nach einem Neustart des Browsers), lässt sich der Haken nicht setzen; ein Export ohne personenbezogene Angaben bleibt möglich. Über „Entsperren“ im Hinweis daneben lässt sich die Sperre aufheben (siehe Abschnitt 5).

Der Spaltensatz bleibt gleich. Beim CSV bleiben die betroffenen Spalten stehen und leer — ein Programm, das die Datei einliest, muss deshalb nicht zwei Fälle unterscheiden; felder.csv sagt je Feld, ob es unter die Schranke fällt. Bei Excel (Standard) entfallen die Spalten dagegen ganz: Dort liest ein Mensch, und eine dauerhaft leere Spalte wäre nur Ballast. Bei Excel (GuteSeele) bleiben sie leer stehen, weil das Layout mit dem Empfänger vereinbart ist.

Wenn sich Angaben nicht entschlüsseln lassen, fragt der Export nach. Passt der Schlüssel für einzelne Einsätze nicht, blieben ihre Patientenspalten in der Datei einfach leer — die Datei sähe vollständig aus, wäre es aber nicht. Deshalb kommt in diesem Fall eine Rückfrage mit der Zahl der betroffenen Einsätze. Sie ist ein Grund zum Innehalten: Vor einem Export gehört geklärt, warum der Schlüssel nicht passt (Abschnitt 5).

Formeln in CSV-Dateien. Beginnt ein Textwert mit =, +, - oder @, steht im CSV-Export ein Apostroph davor. Er gehört nicht zum Wert; er verhindert, dass Excel oder LibreOffice die Zelle als Formel ausführen. Zahlen sind ausgenommen, negative Werte bleiben also Zahlen. Die beiden Excel-Formate brauchen das nicht — dort entstehen echte Textzellen.

Mit Passwort schützen ist seit Web 5.7.0 vorbelegt — der Schutz ist der Normalfall, nicht die Ausnahme. Abwählen bleibt jederzeit möglich; nur muss man es jetzt bewusst tun statt es zu vergessen. Verschlüsselt wird mit AES-256, mindestens zwölf Zeichen, dieselbe Prüfung wie beim Anmeldepasswort. Anders als beim Backup wird hier nicht angeboten, das Kontopasswort zu verwenden: Eine Exportdatei ist zum Weitergeben gedacht.

Exportierst du ohne personenbezogene Angaben, erscheint unter dem Kästchen ein Hinweis. Bis Web 5.7.0 sagte er, die Datei sei trotzdem personenbezogen — das stimmte damals und stimmt seit Web 5.8.0 nicht mehr. Was bleibt, sind Betriebsangaben: Einsatzzeiten, Phasen und weitere Rettungsmittel — Transportziele und Reanimation gehören seit Web 22 zu den geschützten Angaben und fehlen ohne Haken. Kein Personenbezug, aber auch nichts, was ohne Weiteres in fremde Hände gehört. Der Schutz schaltet sich deshalb nicht von selbst ab; die Entscheidung bleibt bei dir. Zum Öffnen wird ein Zusatzprogramm gebraucht: 7-Zip unter Windows, Keka oder The Unarchiver unter macOS — der Windows-Explorer und das macOS-Archivprogramm können solche Archive nicht öffnen. Beide Programme sind kostenlos.

Das Passwort wird nirgends gespeichert und lässt sich nicht zurücksetzen. Geht es verloren, lässt sich die Datei nicht mehr öffnen — die Daten darin sind dann endgültig nicht mehr lesbar. Es gibt keinen Weg daran vorbei, auch nicht über die Anwendung.

Eine Rückfrage, nur mit Patientendaten (seit Web 23.4.0). Gehen personenbezogene Angaben mit, fragt der Export einmal nach, bevor die Datei entsteht: was in ihr lesbar steht, und — je nachdem — dass das Passwort nicht wiederherstellbar ist und womit sich die Datei öffnen lässt, oder dass jeder sie öffnen kann, wenn du kein Passwort setzt. Ohne Patientendaten fragt er nicht. Bis Web 23.3.x kamen bis zu drei Rückfragen hintereinander, die dritte mit „Dies ist kein Backup“; das steht jetzt in der Einleitung der Exportkarte.

Der Dateiname sagt, was drin ist. Er ist so aufgebaut:

einsatzdokumentation_export_06-08-2026_standard_mit-pers_verschl_philipp-mueller.zip

Der Reihe nach: der Tag der Erstellung, das gewählte Format (standard, guteseele oder csv), ob personenbezogene Angaben enthalten sind (mit-pers oder ohne-pers), ob die Datei verschlüsselt ist (verschl oder unverschl) und zuletzt das Konto, aus dem der Export stammt — der Name aus den Einstellungen, und wenn dort keiner steht, die E-Mail-Adresse. So ist auch Wochen später und in einem Ordner voller Exporte zu sehen, welche Datei vorsichtig zu behandeln ist, ohne dass man sie öffnen muss.

Zwei Feinheiten:

  • Die Angabe zur Verschlüsselung gilt immer für genau diese Datei. Ein passwortgeschütztes Excel steckt in einem Archiv …_verschl.zip, die Tabelle darin heißt …_unverschl.xlsx — denn sobald sie entpackt ist, liegt sie offen.
  • Ältere Dateien tragen mit-pat bzw. ohne-pat. Sie behalten ihren Namen, und er ist für sie auch richtig: Sie stammen aus einer Zeit, in der der Haken nur die Patientendaten abschaltete. Eine alte Datei ohne-pat enthält also Besatzungsnamen und Einsatzkoordinaten, eine neue ohne-pers nicht. Genau dafür wurde der Marker umbenannt.
  • Enthält der Name Umlaute oder Leerzeichen, werden sie umgeschrieben (Philipp Müller → philipp-mueller), weil nicht jedes Betriebssystem und nicht jedes Programm damit zurechtkommt. Bei einer E-Mail-Adresse entfallen @ und Punkte ebenso (max@example.invalid → max-example-invalid).

Bedenke beim Weitergeben: Die Kontokennung steht damit auch im Dateinamen.

Beim CSV nennt die Abschlussmeldung unter dem Knopf auch, wie viele GPX-Tracks im Archiv liegen — „keine Tracks vorhanden" ist etwas anderes als „Tracks vergessen", und das war vorher erst nach dem Entpacken zu sehen.

7.2 Zurücklesen

Beide Exceltabellen und das CSV-Archiv lassen sich wieder importieren — auch in ein anderes Konto. Ein .zip kann direkt gewählt werden, die Tabelle darin wird von selbst gefunden; bei einem geschützten Archiv wird nach dem Passwort gefragt.

  • Das CSV (Standard) liest alles zurück: alle Phasen samt Koordinaten, die Reanimationsdokumentation und sämtliche Einsatzfelder — sofern die Datei mit „Personenbezogene Angaben einschließen" entstand; ohne den Haken fehlen Orte, Transportziel und bei neueren Einsätzen die Reanimation darin, und der Import lässt das Vorhandene dann stehen. Nicht übernommen werden die internen Nummern der Einsätze (sie werden neu vergeben) und die GPX-Tracks — Tracks stammen von der Uhr, der Weg dafür ist das Backup.
  • Beim Excel (Standard) steht vor dem Import, welche Felder danach leer bleiben: die Phasen Ausrücken bis Übergabezeit, alle Koordinaten, die Reanimationsdokumentation, der Track samt Kilometern und ein von Hand eingetragenes Alter ohne Geburtsdatum. Diese Angaben stehen in der Datei nie drin — sie gehen nicht verloren, sie werden nur nicht befüllt. (Beim Alter ist es etwas anderes: Es steht in der Tabelle, lässt sich beim Einlesen aber nicht sicher von einem aus dem Geburtsdatum gerechneten Wert unterscheiden. Für den Rückweg ist auch hier das CSV zuständig.)

Für eine echte Wiederherstellung ist und bleibt das Backup der richtige Weg.

Die genaue Feldliste jedes Formats steht in docs/Export-Format.md.


8. Löschen und Papierkorb

Einsätze und ganze Diensttage landen beim Löschen zunächst im Papierkorb und bleiben dort 90 Tage wiederherstellbar; danach räumt das System sie automatisch endgültig weg.

  • Einsatz löschen: in der Einsatzansicht über „Löschen". Es erscheint eine Seite, die vorher zeigt, was mitgeht (Phasen, Reanimationen, Trackpunkte).
  • Diensttag löschen: unten auf der Tagesübersicht. Achtung — das entfernt den kompletten Tag: alle Einsätze, Ruhesegmente, Tracks, Reanimationen und die Diensttag-Angaben. Beim Wiederherstellen kehrt alles gemeinsam zurück.
  • Papierkorb: eigene Seite, erreichbar über das Papierkorb-Symbol unten in der Diensttage-Leiste (gedämpft, solange nichts darin liegt) — je eine Karte für gelöschte Diensttage und einzeln gelöschte Einsätze. Ein gelöschter Diensttag trägt vor dem Datum das Zeichen seines Rettungsmittels, wie in der Diensttage-Leiste. Zu jedem Eintrag stehen „Wiederherstellen" (Zeichen: kreisender Pfeil) und „Endgültig löschen" bereit; auf schmalen Geräten hinter dem ⋯ am rechten Rand der Zeile. Endgültiges Löschen führt auf eine Seite, die den Umfang beziffert, und ist unwiderruflich.

Solange etwas im Papierkorb liegt, nimmt der Server Nachlieferungen der Uhr für diese Einsätze zwar entgegen, verwirft sie aber — gelöschte Einsätze wachsen also nicht wieder an. Beim endgültigen Löschen kommt die Referenz auf eine Sperrliste, sodass die Uhr sie nicht neu anlegt.

Einen einzeln gelöschten Einsatz holst du erst zurück, wenn sein Diensttag wieder da ist. Hast du zuerst einen Einsatz gelöscht und danach seinen ganzen Diensttag, steht der Einsatz weiterhin als eigene Zeile im Papierkorb — sein „Wiederherstellen" wird aber abgelehnt, mit einem Hinweis. Stelle zuerst den Diensttag wieder her; danach geht es. Der Grund: Ein Einsatz ohne Diensttag wäre halb sichtbar — in der Suche zu finden, in der Tagesübersicht und im Zeitraum nicht, und öffnen ließe er sich auch nicht mehr.

„Endgültig löschen" bei einem Diensttag nimmt wirklich alles mit. Falls am gelöschten Tag noch etwas Aktives hängt — das kann aus einer älteren Fassung stammen —, steht es in einer eigenen Karte „Aktives an diesem Diensttag" mit Datum und Uhrzeit, und zu jedem Eintrag gibt es „Ansehen" und „Verschieben". Wer einen davon behalten will, verschiebt ihn vorher an einen anderen Diensttag; sonst geht er mit.

Die Uhr legt einen neuen Diensttag an, wenn der alte im Papierkorb liegt. Liefert die Uhr für einen Dienst nach, den du im Web inzwischen gelöscht hast, landet die Nachlieferung nicht im Papierkorb-Tag, sondern in einem neuen. Das ist Absicht: Die Uhr sendet ein Paket nur, bis der Server es bestätigt — verwerfen hieße, die Aufzeichnung zu verlieren. Ein zusätzlicher Tag lässt sich dagegen jederzeit über Diensttage zusammenführen wieder mit einem anderen vereinen.

Ein Diensttag im Papierkorb nimmt keine Änderungen an. Trägst du Rettungsmittel, Standort oder Besatzung für einen gelöschten Tag ein, wird das abgelehnt und du bekommst einen Hinweis — die Angaben werden nicht gespeichert. Dasselbe gilt für Import und das Einspielen eines Backups: Beide überspringen solche Tage und sagen es. Der Grund: Das Löschen war eine bewusste Handlung, und sie nebenbei rückgängig zu machen wäre eine Überraschung. Stelle den Tag zuerst wieder her.

Genau zu lesen ist dabei, wessen Papierkorb gemeint ist: Übersprungen wird ein Tag, der hier im Papierkorb liegt. Was in der Backup-Datei gelöscht ist, wird nicht übersprungen — es kommt zurück, und zwar wieder als Papierkorbeintrag (Abschnitt 6). Die Rückmeldung nach dem Einspielen nennt beides getrennt: wie viel in den Papierkorb übernommen wurde und wie viel aus welchem Grund übersprungen.

Ein Einsatz, der in der Datei mit seinem Tag gelöscht war, dessen Tag es hier aber noch aktiv gibt, kommt einzeln gelöscht zurück — er steht dann als eigene Zeile im Papierkorb. Das ist gewollt: Ein Eintrag, der an einem Tag hängt, den es im Papierkorb gar nicht gibt, wäre dort unsichtbar und ließe sich nicht mehr zurückholen.

Die Sperrliste hält 90 Tage, danach räumt das System sie ebenfalls weg. Das ist in der Praxis reichlich — eine Uhr, die 90 Tage lang keine Verbindung hatte, gibt es im Betrieb nicht. Wer eine lange abgeschaltete Uhr wieder in Dienst nimmt, sollte aber wissen, dass gepufferte Einsätze von damals wieder auftauchen können, und nach dem ersten Abgleich kurz in die Tagesliste sehen.

Alle Rückfragen erscheinen als Fenster innerhalb der Seite, nicht als Browser-Dialog. Das ist Absicht: Bei Browser-Dialogen lässt sich „keine weiteren Dialoge dieser Seite anzeigen" ankreuzen — danach würden Löschungen kommentarlos durchlaufen. Seiteneigene Fenster kann der Browser nicht abschalten.

Stammdaten (Standorte, Rettungsmittel, Besatzung, weitere Rettungsmittel, Bergwacht, Transportziele) und Geräte werden direkt nach einer kurzen Rückfrage gelöscht — sie sind schnell wieder angelegt. Bereits dokumentierte Diensttage bleiben davon unberührt: Besatzungsnamen und Bergwacht-Angaben stehen ohnehin als Text im Diensttag, und beim Löschen eines Rettungsmittels oder eines Standorts wird dessen Name vorher in die betroffenen Diensttage übernommen. Ein Nutzerkonto zu löschen verlangt zusätzlich das Abtippen der E-Mail-Adresse und geht nicht über den Papierkorb.

8.1 „Zuordnung offen" in der Leiste

Steht unten in der Diensttage-Leiste ein oranger Eintrag „Zuordnung offen" mit einer Zahl, gibt es Diensttage oder Stammdatensätze, denen der Umbau auf Diensttage keinen Standort und kein Rettungsmittel zuordnen konnte. Der Eintrag erscheint nur, solange etwas offen ist — auf einer neu eingerichteten Installation gibt es ihn nie.

Nichts davon ist dringend. Ein Diensttag ohne Zuordnung funktioniert: Zeiten, Phasen, Track und Reanimation sind vollständig erfasst. Es fehlen die Art (luftgebunden/bodengebunden), die Besatzungsrollen und die Felder, die von der Art abhängen.

Auf der Seite steht je offenem Eintrag ein kleiner Block:

  • Diensttage — Datum und Dienstbeginn als Überschrift, darunter Zeitraum, Zahl der Einsätze und die bisherigen Bezeichnungen. Wähle Standort und Rettungsmittel; die Wahl eines Rettungsmittels setzt seinen Standort gleich mit. Mit dem Speichern werden Art, Rollensatz, Fähigkeiten und Bezeichnungen eingefroren — spätere Änderungen an deinen Stammdaten wirken darauf nicht mehr.
  • Eigene Einträge ohne Standort — je Eintrag Name, Art des Stammdatensatzes und die Wahl eines Standorts.

Ganz unten steht „Standortbezug verbindlich machen". Diesen letzten Schritt führt eine AdministratorIn aus: Er ändert das Datenbankschema und gilt für alle Konten — er geht deshalb erst, wenn in keinem Konto mehr etwas offen ist. Danach verschwindet die Seite von selbst.


9. Stammdaten (Standorte und Rettungsmittel)

Deine Vorbelegungen liegen seit Web 16.2.0 hinter einem Menüpunkt: Einstellungen → Standorte. Von Web 7.0.0 bis 16.1.1 waren es zwei („Standorte" und „Rettungsmittel"), geschnitten nach Tätigkeit — anlegen dort, ausstatten hier. Der Schnitt hat sich nicht bewährt: Beide zeigten denselben Bestand, und wer einen Standort einrichtete, ging zwischen ihnen hin und her.

Wo Was
Einstellungen → Standorte (die Liste) Eigene Standorte anlegen und bearbeiten — und die Karte „Ohne Standort" für Rettungsmittel, die keinen brauchen.
Die Seite eines Standorts (ein Klick auf seine Zeile) Alles, was an diesem Standort hängt: Lage, Rettungsmittel samt Rollen und Fähigkeiten, Besatzungs-Vorbelegungen, Zielkliniken, weitere Rettungsmittel, Bergwacht-Bereitschaften.

Bis Web 6.3.0 hieß beides zusammen „Standortdaten" — der Name passte auf keinen der beiden Teile. Zwei alte Links führen weiterhin auf die Liste: ?t=stammdaten (der Name bis Web 6.3.0) und ?t=rettungsmittel (der Reiter bis Web 16.1.1).

Die ganze Zeile der Liste ist der Verweis — nicht der Name darin. Sie nennt in der Kleinzeile drei Zahlen: Rettungsmittel, Besatzung, Zielkliniken. Löschen und „Als Vorbelegung" stehen nicht mehr hier, sondern im Aktionsmenü der Standortseite: Wer einen Standort löscht, sieht vorher, was daran hängt.

Auf der Standortseite steht je Datenart eine eigene Karte — Standort, Rettungsmittel, Besatzung, Zielkliniken, weitere Rettungsmittel und (nur bei einem Rettungsmittel, das die Fähigkeit führen darf) Bergwacht. Drei Kennzahlen am Kopf springen in die drei größten; am Ende jeder Karte führt „Zum Anfang" zurück. Am Schreibtisch stehen dieselben Karten als Unterpunkte in der Leiste links. Nach dem Speichern kehrt die Seite an die Stelle zurück, an der du getippt hast.

Wird eine Liste lang, bekommt sie ab sechs Einträgen ein Hilfsmittel (seit Web 16.3.0):

  • Über den Rettungsmitteln steht dann eine Reihe runder Marken, je eine mit dem Zeichen und dem Namen. Ein Tipp darauf springt zu der Zeile, und die Zeile ist kurz hellblau hinterlegt, damit du sie unter den anderen wiederfindest.
  • Über den übrigen Listen steht ein Filterfeld mit einer Lupe. Tippe ein paar Buchstaben, und es bleibt stehen, was dazu passt — sofort, ohne Warten. Die Rollenüberschriften der Besatzung verschwinden mit, solange darunter niemand mehr steht. „Anlegen" bleibt dabei erreichbar: Es steht im Kartenkopf, also über dem Filter. Der Filter verschwindet beim Neuladen — er steht nicht in der Adresse und lässt sich nicht weitergeben.

Angelegt und bearbeitet wird seit Web 17.0.0 in einem Dialog. „Anlegen" steht rechts im Kartenkopf, „Bearbeiten" im Menü der Zeile; beide öffnen dasselbe Fenster über der Seite, und unter dem Titel steht, zu welchem Standort es gehört. Vorher stand unter jeder Liste ein Formular — wer den zwölften Eintrag anlegen wollte, rollte an elf vorbei, und „Bearbeiten" lud die Seite neu und änderte die Werte eines Formulars weiter unten, was auf einem Handy nicht zu sehen war.

Für einen einzigen Dienst brauchst du keinen Stammdatensatz. Wer einmal auf einem fremden Fahrzeug aushilft, wählt in der Tagesübersicht unter Diensttag-Daten → Rettungsmittel den letzten Eintrag „Anderes Rettungsmittel …" und trägt Bezeichnung, Typ und Standort dort ein (Abschnitt 4.1, seit Web 18.1.0). Das bleibt an diesem Diensttag und erscheint hier nicht. Erst was du öfter brauchst, gehört auf diese Seite.

Zwei Dinge daran sind bewusst so:

  • Geht etwas schief, bleibt der Dialog offen — mit deiner Eingabe und der Meldung darin. Du berichtigst, was zu berichtigen ist, und drückst noch einmal.
  • Geht es gut, gibt es keine Erfolgsmeldung. Die Seite springt zu der Zeile, die du gerade geschrieben hast, und die Zeile ist kurz orange hinterlegt. Das ist die Bestätigung, und sie steht dort, wo du hinsiehst. Ein neuer Standort führt aus demselben Grund gleich auf seine eigene Seite: Dort ist als Nächstes etwas zu tun.

Ein Rettungsmittel zeigt in seiner Zeile sein Artzeichen links vom Namen — es sagt Art und Typ zugleich, dasselbe Zeichen wie in der Diensttage-Leiste (Abschnitt 3). Fahre mit der Maus darüber oder lass es dir vorlesen: Die Textalternative nennt beides ausgeschrieben.

9.1 Standorte, Rettungsmittel, Besatzung, Bergwacht

Der Standort ist der Anker — mit einer Ausnahme seit Web 16.0.0. An ihm hängen Rettungsmittel, Zielkliniken, weitere Rettungsmittel, Bergwacht-Bereitschaften und Besatzungs-Vorbelegungen — jeder Eintrag gehört genau einem Standort. Eine Zielklinik, die von zwei Standorten angefahren wird, ist deshalb zweimal anzulegen. Das ist der Preis dafür, dass in den Auswahllisten genau die Einträge des Standorts stehen, der am Diensttag hinterlegt ist, und sonst nichts. Rettungsmittel dürfen seit Web 16.0.0 ohne Standort bestehen, wenn ihr Typ es zulässt — siehe unten.

Einen Standort löschen nimmt seine Stammdaten mit — mit einer Ausnahme seit Web 17.1.0. Rettungsmittel der Typen Bergwacht, Veranstaltung und Sonstiges brauchen keinen Standort; dann darf das Löschen eines Standorts sie auch nicht kosten. Sie behalten Bezeichnung, Kurznamen, Betriebsart und Fähigkeiten und stehen danach in der Karte „Ohne Standort" auf der Standortliste. Was sie verlieren, sind die Vorschlagslisten des Standorts — die hingen an ihm, nicht an ihnen.

Die Rückfrage sagt das vorher und nennt sie mit Namen: „5 eigene Stammdatensätze … werden mitgelöscht. 1 Rettungsmittel ohne Standortpflicht — Bergwacht Hochkreuth — bleibt bestehen und steht danach unter ‚Ohne Standort'." Nach dem Löschen führt die Seite gleich dorthin, mit der Zeile hellblau hinterlegt. Bereits dokumentierte Diensttage bleiben in jedem Fall unverändert — sie haben ihre Angaben beim Anlegen eingefroren.

9.1a Vier Typen von Rettungsmitteln

Seit Web 16.0.0 hat ein Rettungsmittel zwei Angaben, nicht eine:

  • die Art (luftgebunden oder bodengebunden) — sie entscheidet wie bisher über Besatzungsrollen, Fähigkeiten und die Felder im Einsatzformular;
  • den Typ — worum es bei diesem Dienst geht.
Typ Art Rollen-Vorlagen Fähigkeiten Standort
Standard wählbar ja nur luftgebunden Pflicht
Bergwacht wählbar keine in beiden Arten freiwillig
Veranstaltung fest bodengebunden keine keine freiwillig
Sonstiges wählbar keine nur luftgebunden freiwillig

Die beiden Angaben sind unabhängig: Eine Bergwacht fliegt oder fährt, und beides ist ein Bergwacht-Dienst. Wählst du „Veranstaltung", setzt die Anwendung die Art auf bodengebunden — auch wenn im Formular etwas anderes stand.

Warum der Typ Bergwacht bei den Fähigkeiten aus der Reihe fällt (seit Web 20.3.0): Ein Bergwachtnotarzt fährt zum Einsatz und wird von dort geflogen. Er braucht die Winde, und seine Art ist bodengebunden. Bei allen anderen Typen gilt weiter: Winde und Bergwacht gibt es nur luftgebunden. Im Formular siehst du das an der Kleinzeile neben „Fähigkeiten" — sie sagt „nur luftgebunden" oder „bei diesem Typ auch bodengebunden".

Erfassen und auswerten sind zweierlei (seit Web 20.35.0). Ein bodengebundener Bergwacht-Diensttag zeigt die Windenfelder im Einsatzformular genauso wie ein luftgebundener — dort entscheidet die Fähigkeit allein. Ausgewertet werden sie in Tages- und Zeitraumübersicht nicht: Dort erscheinen die Spalten „Winde" und „Bergwacht" und die beiden Windenkacheln nur an einem luftgebundenen Dienst mit der Fähigkeit. Die Haken bleiben eintragbar, sie stehen im Einsatz und auf seiner Kachel — nur in den beiden Tabellen sind sie nicht zu sehen.

Die Suche macht es anders, und das ist gewollt: Sie zeigt die beiden Spalten, sobald irgendein Diensttag die Fähigkeit führt — luft- wie bodengebunden. Sie durchsucht den ganzen Bestand und nicht einen Dienst.

„Keine Rollen-Vorlagen" heißt: Ein Diensttag mit einem solchen Rettungsmittel bekommt keine Besatzungsfelder angeboten. Das ist keine Einschränkung der Dokumentation, sondern der Vorlage.

Ohne Standort hat ein Rettungsmittel keine Vorschlagslisten — die hängen am Standort. Es steht seit Web 16.2.2 auf der Standortliste in einer eigenen, zugeklappten Karte „Ohne Standort" — dort, wo die Standorte stehen und keiner von ihnen gemeint ist; auf der Seite eines Standorts hat es nichts zu suchen. Löschen kannst du es in dieser Karte, „Bearbeiten" öffnet das Formular auf der Seite des ersten Standorts (mit gesetztem Haken). Angelegt wird es über denselben Haken „Ohne Standort" im Rettungsmittel-Formular eines beliebigen Standorts.

Der Kurzname (bis 16 Zeichen, freiwillig) steht dort, wo der Platz knapp ist: in der Diensttage-Leiste, und dort in jeder Bildschirmbreite — auch in der schmalen, in der ein voller Name entfällt —, und in der Kleinzeile des Papierkorbs. Formulare, Export und Backup zeigen weiter die volle Bezeichnung — wer eine Exportdatei auswertet, kennt eure Abkürzungen nicht. Suchen kannst du nach beidem.

Zu einem Standort lassen sich Koordinaten hinterlegen — freiwillig. Sie sind die Quelle des Abfahrtorts „Standort" (Abschnitt 4.3). Erfasst werden sie im Feld „Lage (optional)" unter dem Namen: Adresse suchen, Koordinatenpaar oder Plus Code eintippen, der Vorschlag darunter übernimmt sie. Der Name bleibt dabei unberührt — „Standort Hochkreuth" ist keine Adresse, und die Suche schreibt nur die Koordinaten. Seit Web 15.8.0 steht neben dem Feld auch der Pin-Knopf mit „Meine Position übernehmen" und dem Kartendialog (4.3) — bis dahin gab es ihn nur im Einsatzformular, und eine Lage ließ sich hier nur tippen, nicht zeigen. Eine Aufzeichnung liegt im Dialog nicht: Zu einem Standort gehört kein Einsatz, also gibt es nichts aufzuzeichnen.

Die Zeilenaktionen stehen am Schreibtisch als Knöpfe rechts in der Zeile: „Als Vorbelegung" (setzt den Stern), „Bearbeiten" (füllt das Formular darunter) und „Löschen". Auf dem Handy steht dort ein „⋯", das dieselben Handlungen als Blatt von unten öffnet. Das Löschen fragt zurück, nennt den Namen und beziffert, wie viele eigene Stammdatensätze mitgehen. „Als Vorbelegung" gibt es nur dort, wo es eine gibt — bei Standorten und Rettungsmitteln.

Dasselbe gilt für alle übrigen Listen: Ein Standort ist unter Rettungsmittel eine zugeklappte Karte; aufgeklappt stehen darin die fünf Abschnitte Rettungsmittel, Besatzung, Zielkliniken, weitere Rettungsmittel und Bergwacht — der letzte nur, wenn an diesem Standort ein Rettungsmittel steht, das die Fähigkeit Bergwacht führen darf: ein luftgebundenes oder eines vom Typ Bergwacht.

Ein Rettungsmittel ist entweder luftgebunden oder bodengebunden. Diese Wahl entscheidet über alles Weitere:

Art Wählbare Rollen Fähigkeiten
Luftgebunden Pilot 1, Pilot 2, HEMS-TC, Flugretter, Sonstige Winde, Bergwacht — zwei getrennte Häkchen
Bodengebunden Fahrer, Praktikant, Sonstige keine — außer beim Typ Bergwacht (9.1a)

Die Art ist Pflicht und nicht vorbelegt (seit Web 7.0.0). Vorher stand „luftgebunden" von selbst da — an einem Standort mit NEF war das die falsche Vorgabe, die niemand bemerkt, und sie fiel erst auf, wenn im Einsatzformular Windenfelder erschienen. Ohne Auswahl wird die Eingabe abgewiesen. Die Rollen darunter erscheinen erst, wenn die Art feststeht, und bleiben freiwillig: Ein Rettungsmittel ohne angehakte Rolle lässt sich anlegen.

Angehakt werden die Rollen, die tatsächlich besetzt werden. Die NotärztIn selbst ist keine Rolle — sie ist die NutzerIn. Winde und Bergwacht sind zwei getrennte Häkchen, weil ein Hubschrauber eine Winde führen kann, ohne in einer Bergwachtkooperation zu stehen, und umgekehrt.

Die Besatzungspflege zeigt nur die Rollen, die es am Standort gibt. Eine Rolle erscheint dort, sobald mindestens ein Rettungsmittel dieses Standorts sie führt. Vorher standen an einem reinen NEF-Standort vier leere Luftrollen mit vier Eingabezeilen. Hast du zu einer Rolle bereits Einträge und löschst später das zugehörige Rettungsmittel, bleibt sie sichtbar — sonst kämst du an deine eigenen Einträge nicht mehr heran.

Änderungen an den Stammdaten wirken nur in die Zukunft. Beim Anlegen eines Diensttags werden Art, Rollensatz, Fähigkeiten, Bezeichnungen und Standortkoordinaten eingefroren. Wird ein Rettungsmittel später umbenannt, umgebaut oder gelöscht, ändert sich an bereits dokumentierten Diensttagen nichts — auch nicht bei einem Tippfehler im Namen. Ein Diensttag ist ein abgeschlossener Dienstnachweis, kein Blick auf den heutigen Stammdatenbestand; wer eine alte Bezeichnung korrigieren will, tut das am Diensttag selbst.

Das mit einem Stern als Vorbelegung markierte Rettungsmittel und der so markierte Standort werden bei neuen Diensttagen vorbelegt.

9.2 Andere Rettungsmittel

Hier legst du weitere Rettungsmittel als Vorbelegung an (RTW, NEF, RTH …). Im Einsatzformular tippst du im Feld Weitere Rettungsmittel mindestens zwei Zeichen — dann erscheint die Vorschlagsliste mit den passenden Einträgen (Bedienung wie in Abschnitt 4.3). Jeder übernommene Eintrag steht als eigenes Element mit kleinem Kreuz zum Entfernen; mehrere sind möglich, doppelte werden abgewiesen. Steht etwas nicht in der Vorbelegung, lässt es sich trotzdem übernehmen — die letzte Zeile der Liste bietet den getippten Text in Orange an („… übernehmen"); es gilt dann nur für diesen Einsatz. Die Rücktaste im leeren Feld nimmt den zuletzt übernommenen Eintrag wieder zurück.

Löschst du später ein Rettungsmittel aus der Vorbelegung, behalten bereits dokumentierte Einsätze ihren Eintrag: Die Zuordnung wird je Einsatz gespeichert und hängt nicht an der Liste.

9.3 Transportziele (Zielkliniken)

Vorbelegung für das Feld Transportziel im Einsatz. Anders als bei den Rettungsmitteln bleibt das Feld dort ein einfaches Textfeld mit Vorschlagsliste (Bedienung wie in Abschnitt 4.3) — Freitext ist weiterhin uneingeschränkt möglich.

Zwei Gruppen in einer Liste (seit Web 15.7.0): Ganz oben stehen unter „Zielkliniken" höchstens zwei Treffer aus deinen Stammdaten — sie erscheinen, sobald der getippte Text irgendwo im Namen vorkommt, und ein Treffer setzt Name und Koordinate. Darunter stehen unter „Adressen" die Vorschläge der Adresssuche; ein Treffer von dort setzt nur die Koordinate und lässt den eingetragenen Namen stehen. Bis Web 15.5.2 waren das zwei getrennte Listen übereinander, und auf dem Handy blieben die Stammdaten unsichtbar.

Zu jeder Zielklinik lassen sich Koordinaten hinterlegen, auf denselben Wegen wie beim Einsatzort — Adresssuche, Koordinatenpaar, Plus Code und seit Web 15.8.0 auch über den Pin-Knopf mit „Meine Position übernehmen" und dem Kartendialog (4.3) — und auf zwei Ebenen: hier im eigenen Konto und einmalig am einzelnen Einsatz. Wird ein Vorschlag mit hinterlegten Koordinaten übernommen, sind sie vorbelegt und lassen sich am Einsatz überschreiben.

Koordinaten sind freiwillig. Ohne sie bleibt die Zielklinik ein gültiger Eintrag; es entstehen lediglich kein Pin und keine Luftlinie. Eine spätere Korrektur wirkt nur auf neue Einsätze — am Einsatz ist die Koordinate eingefroren.


10. Geräte

Unter Einstellungen → „Geräte" verwaltet jede/r die eigenen Geräte — die Uhr, seit Web 12.8.0 auch das Handy mit der Android-App.

Die Geräte stehen nach Typ in zwei Karten (seit Web 24.5.0): „Garmin-Uhr" und „Android-Handy und Wear-OS-Uhr" — eine Wear-OS-Uhr steht nicht selbst darin, sie sendet über das Handy. Unter jeder Karte öffnet „Weitere Uhr koppeln" bzw. „Weiteres Gerät koppeln" einen Dialog mit drei Schritten: App installieren (Connect IQ Store bzw. Play Store, dazu das APK von Hand), Kopplung am Gerät starten, Code eingeben. Darunter steht, wie viele der Plätze belegt sind; sind alle belegt, fehlt der Knopf, und eine Meldung sagt es.

Das Koppeln hat drei Zustände (seit Web 13.1.0). Es führt den Weg, den Abschnitt 2.2 von der Uhr aus beschreibt:

  1. Ein Feld „Code vom Gerät" im Dialog. Du startest die Kopplung am Gerät; es zeigt sechs Zeichen, die du hier eintippst. Groß- und Kleinschreibung und ein Leerzeichen in der Mitte sind egal. Ist der Code falsch, geht der Dialog mit der Meldung wieder auf.
  2. Eine Rückfrage. Sie zeigt, welches Gerät sich meldet: die Art („Uhr" oder „Handy") und das Modell, das es selbst gemeldet hat, dazu den Code in zwei Dreiergruppen und die gekürzte Gerätekennung. Erst „Verbinden" ordnet die Sitzung deinem Konto zu; daneben steht leise „Abbrechen".
  3. Ein Wartezustand. Jetzt ist das Gerät am Zug: Es fragt zurück, ob es zu deinem Konto gehören soll, und erst dieses Ja legt es an. Die Seite lädt von selbst nach, sobald es soweit ist — du musst nichts neu laden. Bis dahin läuft die Restzeit mit, und du kannst den Vorgang hier abbrechen.

Fehlt der Schlüssel für Uhr und Handy, steht ganz oben eine Karte dazu (seit Web 23.7.0). Uhr und Handy verschließen GPS-Daten und Ortsangaben mit dem Schlüsselpaar deines Kontos. Es entsteht still nach der Anmeldung; klappt das einmal nicht, tippst du auf „Schlüsselpaar einrichten“, gibst dein Passwort ein, und dein Browser legt es an. Danach verschwindet die Karte. Steht sie nicht da, ist alles in Ordnung.

Die Seite steht in der Reihenfolge, in der man sie braucht (seit Web 15.4.1): koppeln, die Geräte ansehen, die App holen. Ein Gerät entsteht nur über die Kopplung (seit Web 23.3.0): Die zugeklappte Ausnahme „Gerät ohne Code anlegen", die Geräte-ID und API-Schlüssel zum Abtippen herausgab, ist entfallen — die Uhr-App nimmt solche Zugangsdaten seit Uhr 4.1.0 nicht mehr an, und die Android-App hat sie nie gebraucht.

Alle Handlungen an einem Gerät stehen in seinem Menü — dem Knopf mit den drei Punkten am rechten Rand der Zeile, in jeder Bildschirmbreite. Darin: Bezeichnung ändern, Deaktivieren beziehungsweise Aktivieren und Entkoppeln. Deaktivieren sperrt den Upload sofort (etwa bei Verlust); alle bereits hochgeladenen Daten bleiben erhalten, und Aktivieren schaltet dasselbe Gerät wieder frei. Hat sich das Gerät seit mehr als einem Tag nicht gemeldet, sagt die Rückfrage vor dem Entkoppeln, wann zuletzt (seit Web 23.7.3): Was es danach aufgezeichnet hat, liegt noch auf dem Gerät und kommt erst nach einer neuen Kopplung an. Ist es verloren, ist Deaktivieren der bessere Griff.

Eine orange Plakette „abgewiesen" (seit Web 20.11.0) sagt, dass dieses Gerät am Hochladen gescheitert ist — fast immer, weil sein Schlüssel veraltet ist. In der Kleinzeile steht daneben, wie oft und seit wann. Die Abhilfe ist neu koppeln; das Gerät verliert dabei nichts, es behält seine Warteschlange. Plakette und Zahl verschwinden von selbst, sobald wieder ein Upload durchkommt. Mehr dazu in Abschnitt 11.4a.

Uhr verloren? Sofort trennen. Auf der Garmin-Uhr liegt der Zugangsschlüssel im Klartext — die Plattform bietet nichts Besseres. Vom Server lesen kann ein Finder damit nichts: Er kommt an keinen einzigen Datensatz. Er kann aber hochladen, solange das Gerät gekoppelt ist. Deaktivieren oder Entkoppeln beendet das augenblicklich; die hochgeladenen Daten bleiben in beiden Fällen erhalten. Was die Uhr noch nicht zugestellt hat, liegt auf ihr unverschlüsselt (Abschnitt 5), und Trennen löscht auf der Uhr nicht sofort — wer sie findet und auslesen kann, sieht diese Einsätze. Seit Uhr 4.1.0 erfährt die Uhr beim nächsten Sendeversuch, dass sie getrennt ist, und verwirft ihre ungesendeten Pakete 30 Tage danach. Erreicht sie nie wieder ein Telefon, erfährt sie es nicht, und die Daten bleiben liegen. Seit Android 0.21.0 tut das Handy dasselbe: 30 Tage nach der ersten Abweisung durch den Server sind seine ungesendeten Pakete fort, und die Startseite der App sagt vorher „Ungesendete Pakete bleiben bis TT.MM. auf dem Telefon“. Ein laufender Dienst bleibt.

Bis dahin gilt seit Web 15.6.0 eine Grenze: Ein Gerät darf einen bestehenden Einsatz oder eine bestehende Ruhezeit nur noch 72 Stunden lang verändern, gerechnet ab dem Augenblick, in dem das erste Paket dazu beim Server ankam — nicht ab der Uhr des Geräts, die nach- oder vorgehen kann. Danach nimmt der Server das Paket zwar an — die Uhr soll nicht in eine Fehlerschleife laufen —, ändert aber nichts mehr daran. Die 72 Stunden decken das Wochenende ab: Ein Freitagsdienst, der erst am Montag synchronisiert, kommt noch nach.

Neue Einsätze legt ein Gerät weiterhin jederzeit an. Sie sind sichtbar und löschbar und überschreiben nichts — auch Beginn und Ende eines älteren Diensttags nicht — aber sie stehen dann in deinem Bestand. Auch deshalb: trennen, nicht abwarten.

Meldet ein Gerät Zeiten, die nicht zu ihrem Tag gehören — ein Einsatz, der als Tag den 9. August nennt und als Beginn das Jahr 2001 —, kommt der Einsatz trotzdem an und ist sichtbar und löschbar; nur Beginn und Ende deines Dienstes werden daraus nicht berechnet. Eine Uhr mit falsch gestellter Zeit sperrt sich damit nicht selbst aus. Ein Dienst, der verspätet hochgeladen wird — die Uhr war eine Woche ohne Netz —, kommt vollständig an und bekommt seinen Diensttag mit Beginn und Ende wie immer.

Die Wear-OS-Uhr ist von alledem nicht betroffen. Sie kennt weder Serveradresse noch Schlüssel; sie schickt ihre Ereignisse ans Handy, und das Handy sendet.

„Entkoppeln" hieß bis Web 15.4.1 „Löschen". Der neue Name sagt, was geschieht: Der Zugangsschlüssel wird ungültig, das Gerät kann nichts mehr hochladen — und die Daten bleiben. „Löschen" las sich, als gingen sie mit.

Höchstens fünf Geräte je Konto. Der erste Satz der Seite nennt den Zählstand („3 von 5 Plätzen belegt"). Deaktivierte Geräte zählen mit — ihre Zugangsdaten bestehen weiter und lassen sich mit einem Klick wieder freischalten. Erst Entkoppeln gibt einen Platz frei. Ist die Grenze erreicht, lässt sich weder ein Gerät anlegen noch ein Code entgegennehmen; die Karte sagt es dann statt des Feldes, und das Gerät selbst meldet „Zu viele Geräte / Erst eines im Web löschen".

Ist ein Gerät neu, steht in seiner Zeile sieben Tage lang eine orange Plakette „neu"; ist es deaktiviert, eine neutrale „deaktiviert". Das Datum der Kopplung steht in der Kleinzeile darunter, zusammen mit Art, Modell und dem letzten Kontakt.

Du wirst benachrichtigt, wenn ein Gerät hinzukommt. Nach jeder erfolgreichen Kopplung geht eine E-Mail an deine Adresse — mit Gerätekennung, Zeitpunkt und dem Weg, das Gerät wieder zu entfernen. Zusätzlich steht auf der Übersicht und im Geräte-Reiter ein Hinweis auf alles, was in den letzten sieben Tagen dazukam.

Kommt dir ein Gerät unbekannt vor, entkopple es. Ab diesem Moment kann es nichts mehr hochladen. Bereits hochgeladene Daten bleiben erhalten, damit du sie in Ruhe ansehen kannst.

In der Liste steht, was für ein Gerät es ist (seit Web 12.9.0): erst die Art — Uhr oder Handy —, dann das Modell, dann das Kopplungsdatum und der letzte Kontakt; bei einem Handy also etwa „Handy · Google Pixel 8 · gekoppelt 14.06.2026 · zuletzt gemeldet 04.09.2026". Wer mehrere Geräte gekoppelt hat, unterscheidet sie sonst nur an einer selbst vergebenen Bezeichnung — und die fehlt beim frisch gekoppelten Gerät gerade.

Drei Dinge dazu, damit die Anzeige nicht mehr verspricht, als sie hält:

  • Die Angabe stammt vom Gerät selbst. Sie ist eine Herkunftsauskunft, keine geprüfte Wahrheit — der Server glaubt, was ihm gesagt wird, und schneidet es nur zu.
  • Sie entsteht nur beim Koppeln. Bei einem Gerät, das vorher gekoppelt wurde oder das du von Hand angelegt hast, steht „Gerät unbekannt". Das lässt sich nicht nachtragen; es hilft nur, das Gerät neu zu koppeln.
  • Steht statt eines Modellnamens eine Nummer („Uhr · 006-B4261-00"), ist das Gerät neuer als die Modelltabelle des Servers. Es funktioniert vollständig; nur der Klarname fehlt, und er lässt sich später nachtragen.

Seit Web 14.0.0 wird die Angabe an jedem Einsatz und jeder Ruhezeit festgehalten — als Momentaufnahme in dem Augenblick, in dem der Datensatz entsteht. Das ist wichtiger, als es klingt: Wer eine Uhr im Team teilt, trennt sie regelmäßig wieder, und mit dem Gerät verschwand bis dahin auch die Auskunft, womit aufgezeichnet wurde. Jetzt bleibt sie am Einsatz stehen.

Sie wird nicht nachgezogen. Koppelt dasselbe Gerät später neu oder wird sein Modellname nachträglich aufgelöst, ändert das an bestehenden Einsätzen nichts — dort steht weiter, was beim Anlegen galt. Sichtbar ist die Angabe im CSV-Export (Abschnitt 7.1), nicht in der Einsatzansicht.

Ausgewertet wird die Gerätekennung unter Betrieb → Statistik (Abschnitt 12.2): welche Modelle koppeln und aus welcher Quelle ein Einsatz stammt. Die Momentaufnahme am einzelnen Einsatz wird dort nicht ausgewertet; sie steht im Export. Die Datenschutzerklärung soll die Erhebung benennen — dieser Text steht noch aus (Backlog Nr. 80).

10.1 Die App installieren

Seit Web 15.4.1. Unter der Geräteliste steht die Karte „App installieren" mit zwei Zeilen — der Weg zur App ist je Gerät ein anderer:

  • Garmin-Uhr: im Connect-IQ-Store auf dem Handy nach NAdoku suchen und auf die Uhr laden. Danach auf der Sync-Seite der Uhr „Gerät koppeln" starten.
  • Android-Handy oder Wear-OS-Uhr: über den Play Store.

Solange eine Adresse fehlt, steht die Zeile ohne Knopf da — mit dem Weg als Text. Das ist der derzeitige Stand: Der Beitrittslink des internen Play-Tests und die Adresse der Uhr-App im Store liegen noch nicht vor. Ein Knopf, der ins Leere führte, wäre schlechter als keiner.

Ohne Play Store: das APK von Hand. Darunter klappt ein Fach auf, in dem die App-Dateien liegen, sofern die BetreiberIn eine Fassung ausgeliefert hat — „NAdoku für Android-Handy“ zuerst, darunter „NAdoku für Wear-OS-Uhr“ (seit Web 23.7.3; bis dahin hießen beide „NAdoku“ mit der Fassung, und die Uhr-App stand oft oben), je nur die neueste: Fassung, Größe, Stand und die SHA-256-Prüfsumme mit einem Knopf „Kopieren" — wer der Seite nicht traut, rechnet sie an der heruntergeladenen Datei nach. Beim ersten Öffnen fragt Android nach, ob Installationen aus dieser Quelle erlaubt sind; das ist bei einer Verteilung ohne Store der vorgesehene Weg. Updates kommen dann nicht von selbst — das ist der Grund, warum der Store der bessere Weg ist.

Ist das Fach nicht da, liegt auf dieser Installation keine App-Datei. Frag die Verwaltung.

10.2 Was die App über die Aufzeichnung sagt

Seit Android 0.8.0.

Im Dienst steht neben dem roten Aufnahmepunkt eine Zeile, und sie sagt nicht immer dasselbe:

Zeile Bedeutung
„Aufzeichnung läuft seit 07:02 · GPS empfängt" Es kommen brauchbare Positionen. Nur hier entstehen GPS-Daten.
„Dienst läuft seit 07:02 · GPS sucht …" Der Empfänger fängt sich noch ein. Nach einem Kaltstart im Freien dauert das eine halbe bis eine Minute.
„Dienst läuft seit 07:02 · kein GPS-Signal seit 3 min · keine Aufzeichnung" Es kommt nichts an — Tiefgarage, Metallkoffer, Handy tief in der Tasche.
„Dienst läuft seit 07:02 · GPS zu ungenau · keine Aufzeichnung" Es kommen Positionen, aber mit über 100 m Streuung. Das ist kein GPS mehr, sondern aus Funkzelle oder WLAN geschätzt.
„Dienst läuft seit 07:02 · Standort aus · keine Aufzeichnung" Der Standort des Telefons ist ausgeschaltet.
„Dienst läuft seit 07:02 · Ortung nicht freigegeben · keine Aufzeichnung" Die App darf nicht orten.

„Aufzeichnung läuft" steht nur in der ersten Zeile. In allen anderen heißt es „Dienst läuft", weil das wahr ist und das andere nicht — der Dienst läuft, die Zeiten und Phasen werden dokumentiert, aber es entstehen keine GPS-Daten. Der rote Punkt bleibt trotzdem stehen: Er zeigt den Dienst, nicht das Signal.

Das Telefon vibriert, wenn nichts aufgezeichnet wird, und wiederholt es alle zehn Minuten, solange es so bleibt — ohne Ton. Die Meldung steht in der Benachrichtigungsleiste und sagt, was hilft; bei ausgeschaltetem Standort führt ein Tippen darauf direkt in die Einstellung. Sobald wieder aufgezeichnet wird, verschwindet sie von selbst.

Wenn nichts vibriert: „Nicht stören" kann die Vibration unterdrücken. Die Meldung in der Leiste und die rote Zeile in der App bleiben davon unberührt. Die Einstellung dazu steht unter Einstellungen → Apps → NAdoku → Benachrichtigungen → Warnungen.

Ein Dienst beginnt nicht bei ausgeschaltetem Standort. Statt „Dienst beginnen" steht dann ein Hinweis mit dem Knopf „Standort einschalten"; er führt in die Systemeinstellung. Nach der Rückkehr verschwindet der Hinweis von selbst, und der Knopf ist wieder da. Dasselbe gilt, wenn die Ortungsfreigabe fehlt.

An der Wear-OS-Uhr ist das anders: Dort wird ein Dienst auch bei ausgeschaltetem Standort begonnen — am Handgelenk kann die App niemanden fragen, und ein wortloses „geht nicht" hülfe nicht weiter. Stattdessen vibriert das Telefon, und die Uhr zeigt „keine Ortung · keine Aufzeichnung".

10.2a Was die App über den Akku sagt

Seit Android 0.12.0. Die Aufzeichnung braucht durchgehend GPS und ist damit über einen langen Dienst der größte Stromverbraucher des Geräts. Die App sagt das an drei Stellen — und schaltet nichts davon selbst ab.

Einmal beim Einrichten. Der Dialog zur Akku-Freistellung nennt es im zweiten Absatz; wer ihn nicht sieht, weil die Freistellung schon stand, bekommt beim ersten Dienstbeginn einen Hinweis. Beide einmal je Installation.

Und dann während des Dienstes, wenn es knapp wird:

Ladestand Was kommt
25 % Hinweis: nachladen, solange es geht
15 % Hinweis und ein Knopf „Dienst beenden"
10 % dasselbe, dringlicher

Je Stufe einmal. Zwischen 24 % und 16 % kommt nichts Neues — sonst stünde zwölf Stunden lang dieselbe Meldung, und die bei 10 % ginge darin unter. Hängst du das Gerät ans Kabel, verschwindet die Warnung; fällt der Stand später wieder, warnt dieselbe Schwelle erneut.

„Dienst beenden" in der Warnung beendet den Dienst ganz — wie der Knopf in der App. Bis Android 0.18.0 tat er das nicht: Er hielt nur die Aufzeichnung an, der Dienst blieb offen, und im Web stand der Diensttag ohne Ende. Hast du den Knopf mit einer älteren Fassung gedrückt, schließe diesen Diensttag im Web von Hand. Dasselbe gilt für die Erinnerung „Dienst läuft seit N Stunden".

Die App beendet den Dienst nicht von selbst. Das ist Absicht: Eine Abschaltung bei einem festen Ladestand beendete die Aufzeichnung still, mitten im Dienst, genau dann, wenn niemand aufs Handy sieht — und was in der Dokumentation fehlt, lässt sich hinterher nicht nachtragen. Du entscheidest; die App sagt dir nur rechtzeitig Bescheid.

Was hilft: im Fahrzeug oder an der Wache nachladen. Ein Zwölfstundendienst ohne Zwischenladung ist für die meisten Geräte zu viel.

10.2b Datenschutzerklärung und Impressum in der App

Seit Android 0.13.0.

Unter Einstellungen (Knopf unter der Dienstkarte) steht unten die Karte „Rechtliches" mit zwei Knöpfen: Datenschutzerklärung und Impressum. Beide öffnen die entsprechende Seite im Browser — dieselbe, die auch in der Weboberfläche steht, denn beide Texte stammen von der BetreiberIn des Servers, mit dem die App spricht. Eine Anmeldung ist dafür nicht nötig.

Die App zeigt die Seiten bewusst nicht in sich selbst: Sie hat keinen eingebauten Betrachter, und sie soll auch keinen bekommen. Ist gar kein Browser installiert, sagt sie das, statt sich zu beenden.

10.3 Die Phasenliste im Einsatz

Seit Android 0.10.1.

Während eines Einsatzes zeigt die Liste unter dem großen Knopf die bereits gesetzten Phasen und die nächste — nicht alle acht. Ein Tippen auf eine gesetzte Phase setzt sie erneut; das ist die Korrektur, und beide Zeiten bleiben stehen.

Wer eine Phase überspringen oder eine weiter hinten direkt setzen will, tippt „Alle Phasen zeigen". Danach steht die vollständige Liste da, bis der Einsatz abgeschlossen ist.

Warum nicht immer alle acht: Mit voller Liste rutschte „Einsatz abschließen" auf vielen Telefonen unter den unteren Bildrand und war nur nach dem Schieben erreichbar — mit Handschuhen ein Griff zu viel an der Stelle, an der es schnell gehen soll.

10.4 Was beim Dienstende geschieht

Seit Android 0.9.0.

Nach „Dienst beenden" steht in der Benachrichtigungsleiste kurz „Dienst beendet · sende …". Solange sie da ist, arbeitet die App noch — sie darf in dieser Zeit weggelegt, aber nicht abgewürgt werden. Danach gibt es vier Möglichkeiten:

Was zu sehen ist Was es heißt
keine Meldung mehr Alles ist beim Server angekommen. Nichts zu tun.
„Dienst beendet · 2 Pakete warten auf Netz" Es fehlte Netz. Die App holt es nach, sobald wieder eines da ist — auch wenn das Telefon zwischendurch neu startet. Die Meldung verschwindet dann von selbst.
„Dienst beendet · Schlüssel abgewiesen – Gerät neu koppeln" Der Server hat das Gerät nicht mehr akzeptiert. Hier hilft Warten nicht: Das Gerät muss in den Einstellungen neu gekoppelt werden.
„Dienst beendet · Senden angehalten – Gerät oder Konto im Web gesperrt" (seit Android 0.19.0) Das Gerät ist in der Weboberfläche deaktiviert, oder das Konto ist gesperrt oder noch nicht freigegeben. Neu koppeln hilft hier nicht: Im Web das Gerät wieder aktivieren (Einstellungen → Geräte) oder das Konto freigeben lassen. Verloren ist nichts; danach geht der Rückstand beim nächsten Senden hinaus.

Die mittlere Meldung lässt sich wegwischen — der Nachsendevorgang läuft davon unberührt weiter.

Nach einem Neustart des Telefons wartet die Nachlieferung, bis das Gerät das erste Mal entsperrt wurde. Das ist Absicht: Vorher kommt die App an ihre eigenen Zugangsdaten nicht heran.

Auf der Startseite steht, was noch aussteht:

Zeile Bedeutung
„Alles gesendet" Der Server hat alles.
„Rückstand 2 Pakete" Zwei abgeschlossene Pakete sind noch nicht bestätigt. Darunter steht der Knopf „Jetzt senden", falls es schneller gehen soll.
„1 Paket vom Server abgewiesen" (rot) Der Server hat den Inhalt abgelehnt. Es wird nicht wiederholt — bitte melden, solange die Zeile steht: Die Daten liegen noch 30 Tage auf dem Telefon, danach räumt die App sie weg (seit Android 0.14.0); auch das Trennen des Geräts löscht sie. Darunter steht ein blauer Kasten, der das sagt, und der Knopf „Abgewiesene verwerfen …" (seit Android 0.17.0). Nachreichen lässt sich ein abgewiesenes Paket nicht.

Nach jedem Sendeversuch steht darunter kurz das Ergebnis: „Gesendet · 12:41", „Keine Verbindung · wird nachgeholt" oder „Schlüssel abgewiesen · Gerät neu koppeln". Seit Android 0.19.0 kommen dazu:

Ergebniszeile Was es heißt
„Gesendet · 12:41 · nicht alles übernommen" Angekommen, aber der Server hat einzelne Werte verworfen oder ein spätes Paket nur zum Teil übernommen (etwa ein Abschluss lange nach Dienstende). Im Web nachsehen.
„Gerät im Web deaktiviert · dort wieder aktivieren" Einstellungen → Geräte in der Weboberfläche.
„Konto gesperrt", „Konto wartet auf Freigabe", „E-Mail-Adresse nicht bestätigt" — je „· Senden angehalten" Das Konto darf gerade nicht senden. Das Telefon behält alles.
„Server bremst · nächster Versuch 13:05" Der Server hat um eine Pause gebeten. Bis zur genannten Zeit versucht es das Telefon nicht erneut, auch nicht mit „Jetzt senden".
„Konto voll · im Web aufräumen" Die Mengengrenze des Kontos ist erreicht. In der Weboberfläche Altes löschen oder die Grenze heben lassen; das Telefon versucht es nach einer Stunde wieder.

„Konto noch ohne Schlüssel · einmal im Web anmelden" (seit Android 0.18.0): Das Telefon verschließt GPS-Daten und Phasenorte mit dem Schlüssel deines Kontos, bevor es sendet — und dein Konto hat noch keinen. Er entsteht, sobald du dich einmal in der Weboberfläche anmeldest. Danach holt das Telefon ihn beim nächsten Senden von selbst; neu koppeln musst du nicht. Bis dahin sendet es nichts und behält alles.

Abgewiesene verwerfen (seit Android 0.17.0). Wer nicht 30 Tage warten will, tippt auf „Abgewiesene verwerfen …". Die App fragt nach — „3 abgewiesene Pakete verwerfen?" — und sagt, was dann geschieht: Die Aufzeichnungen darin sind weg, der Server hat sie ohnehin nie angenommen. „Verwerfen" löscht sie, „Behalten" oder ein Tipp neben die Frage lässt alles, wie es ist. Danach steht dort, wie viele verworfen sind („3 Pakete verworfen"), bis die App geschlossen wird. Ein Paket, das während eines laufenden Dienstes abgewiesen wurde, wird noch beschrieben; der Knopf erscheint dafür erst nach dem Dienstende, die rote Zeile schon vorher.

Gerät im Web gelöscht oder gesperrt, und es liegt noch etwas auf dem Telefon (seit Android 0.20.0). Solange Pakete zum Senden anstehen, sperrt die App das Trennen — sie gehören dem bisherigen Konto. Hat der Server das Telefon aber schon abgewiesen („Schlüssel abgewiesen" oder eine der Sperrzeilen oben), kann es sie ohnehin nicht mehr senden. Dann lässt sich das Gerät in den Einstellungen trotzdem trennen; die Rückfrage sagt, was mit den Paketen geschieht: Sie bleiben auf dem Telefon und gehen erst hinaus, wenn es wieder an dasselbe Konto gekoppelt ist. Koppelst du es an ein anderes Konto, gehen sie dort nicht hin — die Dienstansicht zeigt dann rot „2 Pakete gehören dem bisherigen Konto" und den Knopf „Pakete des bisherigen Kontos verwerfen …" (mit Rückfrage). Was nach der neuen Kopplung aufgezeichnet wird, geht ganz normal an das neue Konto. Während eines laufenden Dienstes lässt sich nicht trennen; erst den Dienst beenden.


11. Verwaltung (Admin)

Was andere Konten und die Anlage nach außen betrifft. Der Block Verwaltung unter dem Zahnrad hat fünf Punkte (bis Web 24.6.0 sechs: das Demo-Konto ist seither eine Karte unter Installation), und dieses Kapitel folgt ihnen:

Menüpunkt Abschnitt wozu
NutzerInnen 11.2, 11.3 Konten sehen, anlegen, ändern, löschen; je Konto die Kontoseite (11.1)
Konto-Backups 11.4 die Regeln, die für alle Konten gelten
Installation 11.5, 11.6 Name, Adressen, Logo, Demo-Konto
Rechtstexte 11.5a Impressum, Datenschutzerklärung, Nutzungsbedingungen, AVV — mit Vorschau beim Tippen
Protokoll 11.7 nachlesen, wer wann was im Betrieb getan hat; für die BetreiberIn dazu das Archiv

Angelegt wird in der Liste, gelöscht auf der Kontoseite — dort gehört die Entscheidung dazu, was mit den Konto-Backups geschieht.

Nach einer Handlung lädt die Seite neu, und Neuladen wiederholt nichts (seit Web 21.1.9). Wer speichert, sichert, einspielt oder löscht, landet wieder auf derselben Seite — mit der Meldung dort, wo geklickt wurde, und bei einem Ergebnis, das mehr ist als ein Satz (etwa dem Einspielbericht), mit dem ganzen Ergebnis. F5 fragt danach nicht mehr, ob das Formular noch einmal gesendet werden soll, und die Meldung steht nur einmal da. Zwei Fälle bleiben bewusst stehen: Ein abgewiesener Eintrag (ungültige Adresse, falsche Zahl) — sonst wäre das Getippte fort —, und das Anlegen eines Kontos, wenn die Einladung nicht hinausging: Der Setz-Link steht dann einmal auf der Seite und wird nirgends zwischengespeichert. Dasselbe gilt für die Seiten unter Betrieb (Kapitel 12), außer den Servereinstellungen.

Alles in diesem Kapitel können Admin und BetreiberIn — beim Protokoll sieht der Admin vier der sieben Reiter (11.7). Der Support (seit Web 20.41.0) sieht davon die NutzerInnen und das Protokoll, und dort nur einen schmalen Ausschnitt. Was nur eine BetreiberIn kann — der Server selbst —, steht in Kapitel 12. Seit Web 20.41.0 gibt es vier Rollen; welche was darf, steht in 11.3 unter „Vier Rollen".

11.1 Die Kontoseite

Seit Web 9.8.0 liegt alles zu einem Konto auf dessen Seite. Der Titel ist der Name, darunter Adresse, Rolle, seit wann es das Konto gibt und wann sich die Person zuletzt angemeldet hat. Oben rechts stehen „Jetzt sichern" und ein Aktionsmenü (Freigeben, Setz-Link senden, Konto löschen; bei einer unbestätigten Registrierung dazu „Bestätigung erneut senden").

Darunter:

Karte Was dort steht
Konto Name, Rolle und E-Mail-Adresse in einem Formular mit einem Speichern. Vorher waren es drei Formulare mit drei Knöpfen. Wird die Adresse geändert, geht seit Web 15.6.0 eine Nachricht an die alte — sie ist die einzige, die im Missbrauchsfall noch der Besitzerin gehört (3.1a). Im Kartenkopf führt „Im Protokoll“ in den Reiter Verwaltung, eingegrenzt auf dieses Konto — als Handelnde oder als Betroffene (11.7); was andere Reiter über das Konto führen, etwa ein eingespieltes Konto-Backup im Reiter Sicherung, zeigt dieser Filter nicht.
Zweitfaktor Seit Web 20.42.0, nach „Status": an oder aus, seit wann, wie viele Wiederherstellungscodes noch offen sind, seit Web 21.10.0 dazu die Zahl der Passkeys (nur die Zahl, auch die einer früheren Adresse — welche es sind und wie sie heißen, sieht nur die Person selbst). „Zurücksetzen …" (mit Rückfrage) nimmt Geheimnis und Codes weg — seit Web 21.8.0 auch die gemerkten Geräte, seit Web 21.10.0 die Passkeys (3.1f); die Person meldet sich danach nur mit dem Passwort an und richtet ihn neu ein — bei Pflichtrollen gleich beim nächsten Seitenaufruf. Sie bekommt eine Mail, der Schritt steht im Protokoll. Wer darf: die BetreiberIn für alle Rollen, ein Admin nur für NutzerInnen; das eigene Konto nicht — das setzt eine BetreiberIn zurück, bei der BetreiberIn eine andere. Der Support sieht die Karte nicht. Seit Web 20.45.0 kann die Person es mit ihrem Notfallblatt auch selbst, am Code-Schritt der Anmeldung (3.1f); die Verwaltung bleibt der Weg, wenn auch das Blatt fehlt.
Geräte Die gekoppelten Geräte — Uhren wie Handys — mit Kennung, Art und Modell (seit Web 12.9.0), Kopplungsdatum und letztem Kontakt. „Deaktivieren" schaltet ein Gerät still, „Entkoppeln" entfernt es — die hochgeladenen Daten bleiben in beiden Fällen erhalten.
Konto-Backups Die Pakete dieses Kontos mit Zeitpunkt, Umfang und Größe; im Kartenkopf der Zustand als Plakette und „Jetzt sichern". Läuft eine Freigabe, steht sie als blaue Zeile darüber.
Konto löschen Die Gefahrenzone, rot abgesetzt, ganz unten.

Rolle wechseln, Zweitfaktor zurücksetzen und Konto löschen verlangen seit Web 21.9.0 einen frischen Code (höchstens 15 Minuten alt, 3.1f), seit Web 23.2.0 auch Adresse ändern, Setz-Link senden und Freigeben. Ist er älter — etwa nach einer Anmeldung über ein gemerktes Gerät —, führt der Knopf zuerst auf „Code bestätigen"; danach steht die Kontoseite wieder da, mit dem Hinweis, die Handlung noch einmal auszulösen. Nur den Namen speichern fragt nicht.

Das Konto einer BetreiberIn ändert nur eine BetreiberIn (seit Web 23.2.0). Als Admin siehst du die Kontoseite einer BetreiberIn, mit gesperrten Feldern und ohne Knöpfe; jede Handlung daran — sperren, löschen, Adresse, Setz-Link, Backups, Geräte — antwortet mit „Kein Zugriff". Bis dahin ließ sich eine zweite BetreiberIn von einem Admin sperren, löschen oder auf eine andere Adresse umschreiben.

Ändert die Verwaltung die Anmeldeadresse, ist sie sieben Tage unbestätigt (seit Web 23.2.0). Die neue Adresse gilt sofort für die Anmeldung, aber bis die alte Adresse zustimmt oder sieben Tage ohne Widerspruch vergehen, geht kein Setz-Link hinaus — „Setz-Link senden" sagt dann, bis wann, und „Passwort vergessen" verschickt nichts. Unter dem Adressfeld steht „unbestätigt bis …". An die alte Adresse geht eine Mail mit einem Link: Dort kann die Person den Wechsel bestätigen oder ihm widersprechen — dann gilt die alte Adresse wieder, alle Sitzungen des Kontos enden, und jede BetreiberIn bekommt eine Mail. Warum: Mit einer übernommenen Verwaltungssitzung war „Adresse ändern, dann Setz-Link" der kürzeste Weg, ein fremdes Konto zu übernehmen. Der Preis: Wer seine alte Adresse verloren hat, wartet sieben Tage auf den Setz-Link; eine Abkürzung gibt es nicht, auch nicht für die BetreiberIn.

Die Karte „Abonnement · ab P5" gibt es seit Web 15.2.0 nicht mehr. Sie war ein reservierter Platz und hat auf jeder Kontoseite eine Zusage wiederholt, für die es keinen Termin gab. Tarif, Laufzeit und Rechnungen kommen mit den Abomodellen — dann als Karte mit Inhalt.

Am breiten Bildschirm stehen die Karten in zwei Spalten, auf dem Handy untereinander; dort öffnet ein „⋯" je Zeile dieselben Handlungen.

Ein Passwort lässt sich hier nicht setzen. Die Daten sind mit dem Passwort der Person Ende-zu-Ende-verschlüsselt — niemand außer ihr kann sie öffnen. „Setz-Link senden" im Aktionsmenü (bis Web 20.40.0 hieß der Eintrag „Passwort zurücksetzen" — gesetzt wird aber kein Passwort, sondern ein Link verschickt) schickt denselben Link wie „Passwort vergessen" auf der Anmeldeseite; die Person setzt ihr Passwort selbst und entsperrt danach mit ihrem Wiederherstellungsschlüssel. Ein zuvor verschickter Link wird dabei ungültig — es gilt immer nur der zuletzt verschickte. Kommt die E-Mail nicht weg, zeigt die Seite den Link an; er ist eine Stunde gültig und darf nur an die Person selbst weitergegeben werden. Dem Support zeigt sie ihn nie — auch dann nicht; er bekommt den Hinweis, sich an einen Admin oder die BetreiberIn zu wenden. Wer den Link sähe, könnte das Konto übernehmen.

„Bestätigung erneut senden" (seit Web 20.41.0) steht nur bei einem Konto im Status unbestätigt — jemand hat sich registriert, und die Mail mit dem Bestätigungslink ist nicht angekommen oder verlegt. Der neue Link geht nur per Mail hinaus, macht einen früheren ungültig und gilt nicht länger als die Registrierung selbst: Ist deren Frist fast um, sagt die Seite, dass sich die Person neu registrieren muss. Beides — Setz-Link und Bestätigung — steht im Protokoll (11.7), ohne den Link.

Die Konto-Backups dieses Kontos. Im Kartenkopf steht der Zustand als Plakette — aktuell, überfällig · n Tage oder nie gesichert — und rechts „Jetzt sichern". Jede Zeile nennt Zeitpunkt, Umfang (wie viele Diensttage, Einsätze und Ruhezeiten, wie viel davon im Papierkorb liegt) und Größe. Eine Plakette bekommt nur, was etwas zu sagen hat: freigegeben, oder nicht lesbar. Seit Web 15.2.0 steht dort kein lesbar mehr an jeder Zeile — ein Wort, das immer dasselbe sagt, sagt nichts.

  • Einspielen bringt ein Paket zurück in dieses Konto. Zur Bestätigung ist die E-Mail-Adresse des Kontos abzutippen. Eingespielt wird ergänzend: Vorhandenes bleibt stehen, es wird nichts überschrieben.
  • Paket löschen steht im „⋯" der Zeile — es ist endgültig, und endgültige Handlungen liegen eine Ebene tiefer. Ist es das letzte Paket des Kontos, ist zusätzlich die E-Mail-Adresse abzutippen.
  • Für Zielkonto freigeben unten in der Karte gibt ein Paket an ein anderes Konto weiter — der Weg für ein neu aufgesetztes Konto. Die NutzerIn sieht es danach in ihrem eigenen Backup-Bereich und spielt es dort mit ihrem Wiederherstellungsschlüssel ein. Die Verwaltung bekommt zu keinem Zeitpunkt Klartext zu sehen. Seit Web 23.2.0 nur an ein Konto mit derselben E-Mail-Adresse wie das Backup — der Knopf steht nur da, wenn es eines gibt. Meist ist der Weg deshalb der verwaiste Ordner unter „Backups ohne Konto" (11.4). Jede Freigabe steht im Protokoll, und an die Adresse geht eine Mail.

Läuft eine Freigabe, sagt die Karte es (seit Web 15.2.0). Eine blaue Zeile über den Paketen nennt, für wen freigegeben ist, seit wann und welches Paket — dazu, was die andere Seite noch tun muss, und einen Knopf „Widerrufen". Vorher war das nur an einer Plakette und im Aktionsmenü zu erkennen: Ein Paket dieses Kontos stand für jemand anderen offen, und wer nicht danach suchte, sah es nicht. Gibt es das Zielkonto nicht mehr, steht auch das dort — die Freigabe läuft dann ins Leere und kann widerrufen werden.

Aufbewahrung. Je Konto bleiben die letzten n Pakete stehen (Vorgabe: zwei seit Web 12.0.0, vorher drei — einstellbar unter „Konto-Backups"); ältere verschwinden beim nächsten Sichern. Zwei bleiben immer: das jüngste und eines, das gerade freigegeben ist. Nach Alter wird nie etwas entfernt.

Konto löschen entfernt Konto, Diensttage, Einsätze, Tracks, Reanimationen und Geräte endgültig — ohne Papierkorb. Vorher ist zu entscheiden, was mit den Konto-Backups geschieht: Werden sie mitgelöscht (Vorgabe), bleibt nichts zurück. Bleiben sie erhalten, überleben sie die Löschung und erscheinen unter Konto-Backups als „Backup ohne Konto". Zur Bestätigung ist die E-Mail-Adresse abzutippen. Im Protokoll (Reiter Verwaltung) steht danach „Konto gelöscht"; aufgeklappt nennt der Eintrag die Wahl über die Backups und den Weg — verwaltung für diese Seite, loeschantrag für eine Selbstlöschung nach der Frist, verfall für ein Konto, das nie bestätigt oder nie freigeschaltet wurde, demo für das Demo-Konto.

Mengen und Grenzen je Konto (seit Web 20.21.0)

Die Karte zeigt, wie voll das Konto ist, und lässt beide Grenzen für dieses eine Konto setzen — dazu, wie viele Konto-Backups von ihm aufgehoben werden.

Leer heißt: die Vorgabe der Installation gilt (Betrieb → Servereinstellungen → Konten). Trägt hier eine Zahl, gilt sie statt der Vorgabe — auch wenn du die Vorgabe später anhebst. Das ist der Grund, warum leer nicht dasselbe ist wie „dieselbe Zahl noch einmal eintragen".

Änderst du eine Grenze, wird die 80-%-Meldung zurückgesetzt. Eine höhere Grenze macht aus denselben Daten einen anderen Prozentsatz; was bei der alten gemeldet war, ist bei der neuen eine andere Aussage.

Die Backup-Zahl ist für den Fall gedacht, dass ein Konto besonders wertvoll oder besonders bewegt ist und mehr Stände vorgehalten werden sollen, ohne die Zahl für alle anzuheben. Sie kennt keine 0 — die hieße „kein Backup aufheben", und die Verdrängung ließe beim nächsten Lauf nichts übrig.

Einsätze verschwinden nicht von selbst. Es gibt keine Aufbewahrungsfrist für Einsatzdaten, und das ist Absicht: Was jemand dokumentiert hat, löscht er selbst oder niemand.

Status: sperren, entsperren, freischalten (seit Web 20.17.0)

Ein Konto hat vier Zustände, und die Karte „Status" auf der Kontoseite zeigt und ändert sie.

Zustand heißt
aktiv Der Normalfall. Alle Konten, die es vor Web 20.17.0 gab, sind das
unbestätigt Registriert, Adresse noch nicht bestätigt. Verfällt nach 48 Stunden
wartet auf Freischaltung Adresse bestätigt, wartet auf dich. Hier steht dann ein Knopf „Freischalten"
gesperrt Von dir gesperrt — oder die Person hat ihr Konto selbst zur Löschung angemeldet

Was eine Sperre bewirkt, und was sie nicht bewirkt. Laufende Sitzungen enden beim nächsten Seitenaufruf. Die Person kann sich nicht mehr anmelden und bekommt den Hinweis, sich an die Verwaltung zu wenden — den Grund, den du einträgst, sieht sie nicht; der steht im Protokoll.

Geräte verlieren nichts. Uhr und Handy bekommen eine Absage, behalten ihre Warteschlange und senden nach dem Entsperren alles nach. Auf der Uhr steht in dieser Zeit „Konto gesperrt" (seit Uhr 4.2.0; davor ungenau „abgemeldet"), auf dem Handy „Konto gesperrt · Senden angehalten" (seit Android 0.19.0). Nach dem Entsperren sendet die Uhr, sobald jemand ihre Sync-Seite öffnet oder einen Dienst beendet.

Der Bestand bleibt unberührt. Eine Sperre löscht nichts. Wer ein Konto loswerden will, löscht es — das ist die Karte ganz unten und etwas anderes.

Zwei Konten lassen sich nicht sperren: das eigene (die Sperre ließe sich danach nur von einem anderen Konto aus lösen) und das letzte mit der Rolle BetreiberIn (die Installation stünde ohne Zugang zu ihrem eigenen Betriebsbereich da). Dieselben Schranken wie beim Löschen.

Beim Entsperren verschwindet auch ein beantragter Löschtermin. Hat jemand sein Konto zur Löschung angemeldet und du entsperrst es, bleibt es bestehen — der Termin ist damit vom Tisch.

11.2 Die Liste der NutzerInnen

Oben stehen vier Zahlen: Konten, Admins, Konto-Backup überfällig, nie Konto-Backup. Sie zählen den ganzen Bestand, und jede ist ein Weg: Ein Klick öffnet die Liste, die sie meint. Seit Web 15.2.0 heißen Zahl, Filter und Spalte gleich — vorher gab es vier Namen für zwei Filter, und wer den einen suchte, fand den anderen nicht.

Zwei der vier Zahlen messen Backups, und zwar nur eine Sorte. „Konto-Backup überfällig" und „nie Konto-Backup" — und ebenso die beiden Filter darunter, die Spalte Konto-Backup je Zeile und die Erinnerungsmail — sehen ausschließlich auf die Konto-Backups der Verwaltung: auf das jüngste Paket im Kontoordner, also die zweite der drei Bedeutungen von „Backup" aus Kapitel 6. „Konten" und „Admins" zählen den Bestand und haben mit Backups nichts zu tun.

Ob eine NutzerIn selbst je ein Backup gezogen hat, weiß die Anwendung nicht. Dieses Backup — das erste aus der Tabelle in Kapitel 6, unter Einstellungen → „Backup" — entsteht im Browser; der Server bekommt die Datei nie zu sehen und hält deshalb auch keinen Zeitpunkt dazu. Das ist Absicht und nicht eine Lücke, die noch zu schließen wäre: Ein Vermerk „hat am … gesichert" wäre eine neue Aufzeichnung über das Verhalten einer NutzerIn, und bei einer Anwendung, deren Zusage die Ende-zu-Ende-Verschlüsselung ist, wird so etwas nicht als Nebenprodukt erhoben. Ein Konto, das seit Jahren zuverlässig eigene Backups zieht, steht in dieser Liste also genauso unter „nie Konto-Backup" wie eines, das nichts tut. Wer wissen will, ob jemand eigene Backups macht, fragt die Person.

Darunter die Liste selbst.

  • Die Filter liegen hinter dem Knopf „Filter" rechts neben dem Suchfeld (seit Web 24.4.0). Ist einer gesetzt, steht er unter der Suche als Pille mit Kreuz, daneben wie viele Konten passen („4 von 12").
  • Suchen nach Name oder E-Mail-Adresse. Das Feld steht seit Web 15.4.1 in einer eigenen Zeile über den Filtern — vorher standen beide nebeneinander, und bei üblicher Schreibtischbreite fiel der letzte Filter allein in eine zweite Zeile. Gesucht wird über alle Konten, nicht nur über die angezeigte Seite.
  • Filtern über die Plaketten darunter: Alle, Admins, Konto-Backup überfällig, nie Konto-Backup, Ohne Gerät. Die Zahl an einer Plakette sagt, was der Filter bei der laufenden Suche ergäbe — deshalb ändert sie sich, wenn im Suchfeld etwas steht, während die Zahlen oben stehen bleiben.
  • Sortieren durch Klick auf einen Spaltenkopf; ein zweiter Klick dreht die Richtung um. Sortiert wird über alle Konten, nicht nur über die Seite.
  • Blättern: 50 Konten je Seite. Unten links steht, welche gerade zu sehen sind („Konten 1–50 von 304"), unten rechts die Seitenzahlen.
  • Ein Klick auf eine Zeile öffnet die Kontoseite (11.1).

Die Spalte Konto-Backup sagt je Konto eines von fünf Worten: aktuell, überfällig · n Tage, nie gesichert, ohne Kennung (ein Konto aus der Zeit vor den Konto-Backups — es lässt sich erst sichern, wenn der Migrationslauf unter Betrieb → Updates durch ist) oder Stand unbekannt (die Begleitdatei des Kontos ist nicht lesbar; die Kontoseite sagt dann, was wirklich da ist).

Mehrere Konten auf einmal sichern. Vor jeder Zeile steht ein Kästchen. Sobald eines gesetzt ist, erscheint unten eine Leiste: „n ausgewählt · Auswahl sichern". Die Auswahl gilt über Seiten hinweg — man kann auf Seite 1 ankreuzen, weiterblättern, auf Seite 3 weiter ankreuzen und dann alles zusammen sichern. Nach dem Sichern ist die Auswahl leer, damit derselbe Klick nicht versehentlich zweimal wirkt. Die Auswahl endet außerdem mit dem Browser-Tab.

Anlegen über „+ Anlegen" rechts im Kartenkopf. Der Dialog fragt nach E-Mail-Adresse, Name und Rolle; das Konto entsteht ohne Passwort, und die Person bekommt einen Link, mit dem sie es selbst setzt (24 Stunden gültig).

Löschen steht nicht in der Liste, sondern auf der Kontoseite (11.1): Dort gehört die Entscheidung dazu, was mit den Konto-Backups des Kontos geschehen soll.

11.3 Anlegen und Rollen

Beim Anlegen gibt es drei mögliche Antworten, und die Seite sagt, welche zutrifft:

  • Konto angelegt — Setz-Link per E-Mail verschickt. Alles in Ordnung.
  • Es gibt bereits ein Konto mit dieser E-Mail-Adresse. Es wurde nichts angelegt.
  • Konto angelegt — die E-Mail konnte NICHT verschickt werden. Das Konto steht, nur der Versand scheiterte. Die Seite zeigt dann den Einladungslink an; er ist 24 Stunden gültig und muss auf einem anderen Weg weitergegeben werden. Nur an die Person selbst — wer den Link hat, kann das Passwort des Kontos setzen. Die Ursache des Fehlschlags findet die BetreiberIn im Protokoll unter System (11.7).

Rollenwechsel und Löschen wirken sofort, auch bei jemandem, der gerade angemeldet ist: Beim nächsten Klick gelten die neuen Rechte, ein gelöschtes Konto wird abgemeldet. Ein Ab- und Anmelden ist nicht nötig. Beides steht im Protokoll (11.7) — ein Rollenwechsel seit Web 20.39.0 mit alter und neuer Rolle.

Vier Rollen

Seit Web 15.0.0 gab es drei Rollen, seit Web 20.41.0 sind es vier. Sie stehen nicht nebeneinander, sondern ineinander: Wer betreibt, kann alles, was ein Admin kann, und wer verwaltet, alles, was eine NutzerIn kann. Der Support ist dabei keine eigene Stufe mit eigenen Rechten, sondern ein schmaler Ausschnitt der Verwaltung — alles, was er kann, kann auch ein Admin.

Rolle Was sie kann
NutzerIn die eigenen Diensttage und Einsätze dokumentieren, eigene Stammdaten, Geräte, Backup, Import und Export — alles unter dem Zahnrad, was mit „ich" zu tun hat
Support zusätzlich, und nur für Konten der Rolle NutzerIn: die Liste und die Kontoseite ansehen, einen Setz-Link senden (ohne ihn zu sehen), eine Bestätigung erneut senden, ein Gerät deaktivieren — nicht wieder einschalten, nicht entkoppeln; dazu im Protokoll die Reiter Verwaltung und E-Mail
Admin zusätzlich: Konten anlegen, ändern und löschen, den Zweitfaktor von NutzerInnen zurücksetzen, Konto-Backups, Installation, Rechtstexte, Demo-Konto, das Protokoll mit vier Reitern
BetreiberIn zusätzlich: alles, was die Anlage betrifft — Status, Statistik, Wartungsmodus, Migrationen, Hintergrundjobs, Speichergrenze, Komplett-Backup und Backup-Ziele (Kapitel 12), dazu alle Reiter des Protokolls und sein Archiv

Seit Web 20.39.0 halten auch die Seiten selbst einen Admin draußen. Bis dahin zeigte das Menü Komplett-Backup und Backup-Ziele nur der BetreiberIn, aber wer die Adresse kannte, kam als Admin hinein (Backlog Nr. 286). Jetzt antworten beide Seiten und jede ihrer Handlungen einem Admin mit „Kein Zugriff".

Was der Support nicht sieht. Konten mit eigenen Rechten — Support, Admin, BetreiberIn — stehen nicht in seiner Liste, und ihre Kontoseite antwortet ihm mit „Kein Zugriff". Mit einem Setz-Link ließe sich ein frisch angelegtes Konto übernehmen, auch eines mit Rechten; deshalb betreut der Support nur NutzerInnen. In der Liste fehlen ihm die Kachel und der Filter „Admins", das Anlegen und die Sammelaktionen; den Stand der Konto-Backups sieht er. Die Kontoseite steht bei ihm einspaltig: Konto (die Felder gesperrt, ohne „Speichern"), Status, Mengen und Grenzen (ohne das Formular der Grenzen) und Geräte — Konto-Backups und „Konto löschen" gibt es für ihn nicht. Was er nicht tun darf, steht nicht als grauer Knopf da, sondern gar nicht. Ein deaktiviertes Gerät schaltet nur die Verwaltung wieder ein — der Support stellt ein verlorenes Gerät still, die Entscheidung, ihm wieder zu trauen, trifft jemand anderes.

Wer den Support vergibt: jeder Admin und jede BetreiberIn — er hat weniger Rechte als ein Admin.

Für Support, Admin und BetreiberIn ist der Zweitfaktor Pflicht (seit Web 20.42.0, 3.1f). Wer eine dieser Rollen bekommt und noch keinen hat, richtet ihn beim nächsten Seitenaufruf ein — vorher geht keine andere Seite auf.

Warum die BetreiberIn eine eigene Rolle ist: Eine Fehlbedienung in der Verwaltung trifft ein Konto, eine im Betrieb die ganze Installation. Wer den Wartungsmodus einschaltet, schließt alle aus; wer eine Migration ausführt, ändert das Datenmodell. Das ist eine andere Art von Verantwortung als „ein Konto anlegen", und sie hat deshalb eine eigene Rolle.

Wer welche Rolle vergibt. Die Rolle „BetreiberIn" vergibt und entzieht nur eine BetreiberIn. Ein Admin sieht die Option im Auswahlfeld gar nicht — sonst könnte er sich selbst hochstufen. Alles andere (NutzerIn, Support, Admin) darf jede Person mit Verwaltungsrechten.

Was geschützt ist. Das letzte Konto mit der Rolle BetreiberIn lässt sich weder zurückstufen noch löschen. Beide Stellen sagen es, bevor man es versucht: Das Rollenfeld ist abgeschaltet und trägt den Grund als Kleintext, und statt des Löschformulars steht ein Absatz. Wer dieses Konto wirklich loswerden will, legt zuerst eine zweite BetreiberIn an.

Außerdem lässt sich niemand die eigenen Verwaltungsrechte entziehen — man sähe die Seite, auf der man gerade steht, nach dem Absenden nicht mehr.

Bei einer bestehenden Installation sind mit dem Update auf Web 15.0.0 alle bisherigen Admins zu BetreiberInnen geworden. Niemand hat dabei Zugriff verloren. Wer zurückstufen will, tut es danach von Hand. Bei einer neuen Installation ist das erste Konto — das aus der Ersteinrichtung — die BetreiberIn.

Die eigene Rolle steht im Profil (3.1a). Sie erklärt, warum zwei Konten unter dem Zahnrad verschieden viel sehen.

11.4 Konto-Backups

Unter „Konto-Backups" stehen seit Web 9.10.0 nur noch die Dinge, die für alle Konten gelten. Der Untertitel sagt seit Web 15.2.0, welches der drei Backups gemeint ist: Pakete, die die Verwaltung je Konto anlegt — nicht die Backups, die NutzerInnen selbst herunterladen. Wer ein bestimmtes Paket sucht, ist hier falsch:

Was du willst Wo es steht
Welche Regeln gelten für alle Konten? Konto-Backups
Welche Konten sind überfällig? Mehrere auf einmal sichern NutzerInnen (Kachel „Konto-Backup überfällig" bzw. „nie Konto-Backup")
Die Pakete eines Kontos einspielen, freigeben, löschen Die Kontoseite dieses Kontos (11.1)
Wie viel Platz belegt ist, und wo die Ablage liegt Betrieb → Servereinstellungen

Oben vier Zahlen: Pakete samt Größe, Konten, Konto-Backup überfällig, nie Konto-Backup. Die letzten beiden sind anklickbar und öffnen die NutzerInnen-Liste mit genau diesem Filter — und heißen dort wortgleich.

Regeln. Drei Einstellungen, ein Speichern:

  • Erinnerung nach — nach wie vielen Tagen ein Konto als überfällig gilt (Vorgabe 30).

  • Aufbewahrung je Konto — wie viele Pakete je Konto liegen bleiben (Vorgabe 2 seit Web 12.0.0, vorher 3). Ältere werden beim nächsten Sichern gelöscht; das jüngste und ein freigegebenes nie. Bis Web 9.9.0 war das eine feste Zahl im Programm.

    Wer die Zahl nie angefasst hat, verliert beim nächsten Sichern je Konto den ältesten von drei Ständen. Das steht hier und nicht im Kleingedruckten: Die Rückmeldung des Laufs nennt jede verdrängte Datei, und wer drei behalten will, trägt drei ein.

  • Erinnerung an Admins per E-Mail — aus Vorsicht standardmäßig aus.

Speichergrenze und Warnschwellen stehen seit Web 15.1.0 nicht mehr hier, sondern unter Betrieb → Servereinstellungen. Sie gelten für Konto-Backups und Komplett-Backups zusammen und sind damit eine Einstellung der Installation, keine der Konten — dass sie unter „Backups" standen und die Komplett-Seite mit einem Satz auf sie verwies, war einer der Gründe für die Neuordnung. Ist die Grenze erreicht, wird nicht mehr gesichert; es wird nichts gelöscht und nichts überschrieben. Ein Backup, das ein anderes wegräumt, um selbst zu passen, wäre das Gegenteil einer Rückfallebene.

Die Erinnerungsmail nennt die überfälligen und die nie gesicherten Konten mit Adresse und Alter des letzten Backups — keine Namen und keine Zahlen aus den Konten, denn eine Mail liegt unverschlüsselt im Postfach. Sie geht an alle Admins mit gesetztem Passwort.

Sie hängt an einem Zeitgeber. Die Erinnerung fährt auf dem täglichen Aufräumjob mit (Betrieb → „Hintergrundjobs"). Ist dort ein Zeitplan eingerichtet, kommt sie zuverlässig — höchstens einmal je Woche und nur, wenn es etwas zu melden gibt. Ohne Zeitplan hängt sie an der Benutzung: Der Job startet dann bei der ersten Anfrage des Tages, und wird die Anwendung zwei Wochen nicht angefasst, kommt die Mail zwei Wochen später.

„Alle sichern" oben rechts sichert alle Konten mit Kontokennung. Sind es sehr viele, hört die Reihe nach etwa 20 Sekunden auf und sagt, wie viele geschafft und wie viele übrig sind. Ein zweiter Klick macht genau dort weiter, und der Wartungsjob arbeitet den Rest ohnehin in Schüben ab; solange ein Auftrag läuft, steht sein Stand oben auf der Seite.

Bis Web 11.1.1 gab es keinen Merkzettel. Die Konten wurden nach dem Alter ihres letzten Backups sortiert, und der zweite Klick sollte deshalb von selbst weitermachen. Das trug nur, solange sich die Konten um mindestens einen ganzen Tag unterschieden — wer heute alle sicherte, hatte danach lauter Nullen, und die letzten Konten kamen unter Umständen nie dran. Jetzt merkt sich der Auftrag, wie weit er ist: jedes Konto genau einmal, und ein Abbruch verliert höchstens das laufende.

Automatisch entsteht kein Backup. Nächtliche Backups je Konto sind bewusst nicht vorgesehen: Sie bräuchten den Inhaltsschlüssel, und den hat der Server nicht.

Die Karte „Ablage" gibt es seit Web 15.2.0 nicht mehr. Pfad, Zustand, Belegung und Reste stehen unter Betrieb → Servereinstellungen — dort, wo auch die Grenze steht, gegen die sie gemessen werden. Ist die Ablage nicht beschreibbar, sagt das eine Meldung oben auf der Seite; ohne beschreibbare Ablage entsteht kein Konto-Backup.

Backups ohne Konto und die Freigabe

Die Karte steht zugeklappt am Rand: Ordner, zu deren Konto es keine Zeile mehr gibt — der Fall „Konto gelöscht und neu aufgesetzt". Sie überleben die Löschung mit Absicht; genau dafür sind sie da. Seit Web 15.2.0 steht dort eine Zeile je Ordner statt je Paket, mit der Kontokennung als Titel und der Herkunft darunter. Daneben zwei leise Knöpfe — Einspielen und Freigeben —, und im „⋯" die beiden endgültigen Wege: Einzelnes Paket löschen und Ganzen Ordner löschen. Welches Paket gemeint ist, wird im Dialog gewählt; jüngstes zuerst. An den Rückfragen ändert sich nichts: Vor dem Einspielen ist weiterhin die E-Mail-Adresse des Zielkontos abzutippen. Danach sagt die Meldung, was übernommen wurde. Hat die Prüfung dabei Werte verworfen, ist sie seit Web 23.0.2 orange und nennt Feld und Anzahl — hier und auf der Kontoseite, wie beim eigenen Backup (Abschnitt 6).

Die Freigabe ist der Weg, wenn die Kontokennung nicht passt. Unmittelbar einspielen lässt sich ein Paket nur in ein bestehendes Konto mit derselben Kennung; weicht sie ab und enthält das Paket geschützte Angaben, ist das gesperrt — nach „Konto gelöscht und neu aufgesetzt" ist das der Regelfall, denn das neue Konto hat eine andere Kennung. Dann gibt die Verwaltung ein Paket für ein Konto frei, und einspielen kann es nur die NutzerIn selbst, in ihrem Backup-Bereich, mit ihrem Wiederherstellungsschlüssel. Der liegt ausschließlich bei ihr — auch die Verwaltung hat ihn nicht, und ohne ihn öffnen sich die geschützten Angaben des Pakets nicht.

Freigeben lässt sich ein Paket seit Web 23.2.0 nur an ein Konto mit derselben E-Mail-Adresse, wie sie zum Backup gehört — oder an das Konto, von dem es stammt. Der Knopf „Freigeben" steht nur an Ordnern, für die es ein solches Konto gibt, und die Auswahl im Dialog nennt nur diese. Warum: Beim Einspielen bekommt das Zielkonto alles, was nicht verschlüsselt ist — Zeiten, Besatzung, Notizen der Diensttage. Bis dahin ging das an jedes Konto, auch an das eigene der Verwaltung, still und ohne Spur. Jetzt steht jede Freigabe im Protokoll (Reiter Sicherung), an die Adresse geht eine Mail, und vorher fragt die Seite nach einem frischen Code. Eine ältere Freigabe an ein Konto mit anderer Adresse wird nicht mehr angeboten. Hat sich die Person mit einer neuen Adresse neu registriert, ändere zuerst die Adresse ihres neuen Kontos auf die alte — die Frist von sieben Tagen (11.1) gilt auch dann.

Seit Web 22.5.0 zählen Orte, Reanimation und GPS-Daten mit. Sie liegen im Paket so verschlüsselt, wie sie im Konto lagen, gebunden an dessen Schlüsselpaar. Ein Paket mit solchen Daten geht deshalb nie unmittelbar in ein Konto mit anderer Kennung, sondern über die Freigabe. Dort öffnet der Browser der NutzerIn sie und verschlüsselt sie neu. Beim unmittelbaren Einspielen gehen Hüllen und Stücke zurück, wie sie im Konto lagen; der Server verschlüsselt dabei nichts und sieht nichts davon offen. Ein einteiliges Paket aus der Zeit vor Web 11 lässt sich seit Web 23 nicht mehr einspielen — die Anwendung sagt es, und es wird nichts geändert. (Bis Web 22.7.0 trug ein solches Paket Orte und GPS-Daten offen; der Server verschlüsselte sie beim Einspielen selbst, dafür brauchte das Zielkonto ein Schlüsselpaar, und Transportziel und Ortshöhe blieben im alten Feld, bis der Einsatz das nächste Mal gespeichert wurde.)

Drei Backups, drei Namen

Bis Web 21.0.0 stand das in der zugeklappten Karte „Was hier gilt" am Ende der Seite (P5c/AP9).

Ein Konto-Backup legt die Verwaltung an; es liegt auf dem Server, adressiert über die Kontokennung. Ein Backup lädt eine NutzerIn sich im eigenen Bereich selbst herunter — es zählt hier nicht. Das Komplett-Backup der Installation ist ein Drittes und liegt unter Betrieb → Komplett-Backup (12.6).

Was angestoßen ist, arbeitet der Aufräumjob in Schüben ab; die Warteschlange überlebt einen Abbruch. Wie oft er läuft, hängt vom eingerichteten Auslöser ab (12.4).

Wohin die Pakete von hier aus gehen, steht in der Karte „Backup-Ziele" unter Betrieb → Servereinstellungen (12.7) — FTPS- oder SFTP-Gegenstellen. Ohne ein solches Ziel liegen die Backups auf demselben Server, dessen Ausfall der Grund für ein Backup wäre. Die Ablage selbst ist über den Browser nicht erreichbar: Eine .htaccess sperrt sie, und der Ordnername je Konto ist nicht zu erraten.

11.4a Ratenschutz — was jemanden aufhält, der es von außen versucht

Unter Betrieb → Servereinstellungen, Karte „Ratenschutz" (seit Web 20.10.0).

Eine Sperre dauert beim zweiten Mal länger. Wer sich zu oft vertippt, ist eine Viertelstunde draußen; wer es am selben Tag noch einmal tut, länger:

Stufe Sperre
1 15 Minuten
2 20 Minuten
3 30 Minuten
4 60 Minuten

Die vierte Stufe gilt für jede weitere Sperre. Nach 24 Stunden ohne Fehlversuch fängt die Leiter wieder von vorn an. Alle vier Dauern lassen sich ändern — aber nicht unter 15 setzen, ohne es zu wollen: Bis Web 20.9.1 sperrte die Anmeldung fest 15 Minuten, eine kürzere erste Sprosse macht den ersten Verstoß milder als vorher.

Gezählt wird am eingetippten Namen, nicht am Konto. Deshalb verrät eine Sperre nicht, ob es das Konto gibt: Ein Name, den niemand trägt, wird genauso gesperrt wie einer, den es gibt.

Zwei Zahlen, und die zweite ist die größere. Zehn Fehlversuche je Konto, fünfzig je Anschluss. Hinter einem Klinik-Anschluss teilen sich viele eine Adresse; läge die zweite Zahl auch auf zehn, sperrte die zehnte Vertipperin die übrigen neunzehn aus. Eine gelungene Anmeldung setzt beide Zähler zurück.

Verlangsamung statt globaler Sperre. Zählt die ganze Installation zu viele Fehlversuche, antwortet jede fehlgeschlagene Anmeldung langsamer — 1, 2, 4 oder 8 Sekunden. Wer das richtige Passwort hat, kommt ohne Verzögerung durch. Eine globale Sperre gibt es bewusst nicht: Sie wäre ein Schalter, den jeder von außen umlegt.

Was die Anmeldeseite dabei sagt. Läuft die Verlangsamung, steht dort ruhig: „Die Anmeldung antwortet derzeit verzögert, etwa 2 Sekunden. Das ist eine Schutzmaßnahme; dein Passwort wird ganz normal geprüft." Ist ein Name oder ein Anschluss gesperrt, steht bis wann — und darunter läuft ein Countdown. „Passwort vergessen?" bleibt anklickbar, und wer sein Passwort neu setzt, ist danach nicht mehr gesperrt.

Meldung bei der höchsten Stufe. Erreicht eine Sperre die letzte Sprosse oder die Verlangsamung ihre vierte Stufe, geht eine Sammelmeldung an die Betreiberadresse (11.5) — höchstens eine je Stunde. Sie sagt nicht, dass jemand hereingekommen ist, sondern dass es jemand versucht. Abschaltbar.

Auch Geräte werden gebremst (seit Web 20.11.0). Bis dahin war der Upload-Weg der Uhren und Handys der einzige Zugang ohne Zähler. Jetzt gilt: 30 fehlgeschlagene Geräteanmeldungen je Viertelstunde, danach dieselbe Leiter wie oben. Gezählt werden ausschließlich Fehlversuche — ein gelungener Upload geht nie auf das Kontingent, und eine Uhr, die einen ganzen Dienst nachliefert, sendet beliebig viele Stücke.

Was das im Alltag heißt. Der einzige Fall, in dem es ein echtes Gerät trifft, ist ein veralteter Schlüssel — etwa nach einer Wiederherstellung. Das Gerät verliert dabei nichts: Es behält seine Warteschlange und sendet später. Die Abhilfe ist neu koppeln (Abschnitt 10), und danach geht es sofort wieder, denn eine Neukopplung vergibt eine neue Gerätekennung.

Woran du es siehst: In Einstellungen → Geräte trägt die Zeile des Geräts eine orange Plakette „abgewiesen" und in der Kleinzeile die Zahl mit Zeitpunkt — „30 abgewiesen seit 16.09.2026, 11:01". Beides verschwindet von selbst, sobald wieder ein Upload durchkommt.

Auf Betrieb → Status stehen dazu bis zu drei Zeilen, sobald es etwas zu sagen gibt: „Verlangsamung" (orange), „Gesperrt" und „Abgewiesene Geräte" (orange). Jede führt auf die Unterseite Sicherheit (11.4b), und dort steht auch der Knopf zum Aufheben.

11.4b Sicherheit — wer ausgesperrt ist, und wie man ihn wieder hereinlässt

Unter Betrieb → Status, Knopf „Sicherheit" neben dem Titel (seit Web 20.12.0). Sechs Karten:

Karte Was dort steht
Aktive Sperren Wer gerade draußen ist — Kontokennung oder Anschluss, Topf, Stufe, bis wann, Restzeit. Je Zeile ein Knopf „Aufheben"
Verlangsamung Ob die Bremse gerade läuft, und jeder Anstieg der Stufe in den letzten 30 Tagen
Mengenbremse der Geräte Geräte mit abgewiesenen Anmeldungen, dazu gesperrte Gerätekennungen und Anschlüsse
Ereignisse der letzten 30 Tage Alles zusammen, das Jüngste zuerst
Löschungen auf Sicherungszielen Was die Aufbewahrungsregel auf einem Backup-Ziel entfernt hat, mit Datei, Größe und Zeitpunkt (seit Web 20.14.0)
Meldung per Mail Ob die Sammelmeldung eingeschaltet ist, wann zuletzt eine hinausging, an wen

Der Knopf „Aufheben" ist für den Anruf gedacht, nicht als Regelweg: Eine Sperre läuft von selbst ab, und wer sein Passwort neu setzt, ist danach ohnehin nicht mehr gesperrt. Es kommt eine Rückfrage, und der Vorgang wird mit deinem Namen vermerkt — er steht danach in den Ereignissen.

Nicht jede Sperre steht in den Ereignissen. Vermerkt werden die acht Töpfe mit Sperrleiter: Anmeldung, Anschluss, Schlüsselableitung, die beiden der Mengenbremse, das Prüfen des Schlüsselblatts, der Code des Zweitfaktors und — seit Web 21.13.0 — der Notzugang der einzigen BetreiberIn. Kopplung, Passwort-Reset, Demo-Konto, Testmail und CSP-Berichte sperren ebenfalls, schreiben aber keine Zeile — dort eskaliert nichts, und ein Protokoll jedes Tippfehlers würde die Liste zudecken.

Hier stehen IP-Adressen und E-Mail-Adressen im Klartext. Ohne sie wäre die Liste „irgendwo war irgendwer gesperrt" und damit wertlos — man kann eine Sperre nicht aufheben, ohne zu wissen, welche. Alles verfällt nach 30 Tagen, und das ist keine Einstellung. In die Komplettsicherung gehen sie seit Web 20.39.0 nicht mit — die Tabelle fährt dort ohne Zeilen mit; bis dahin stand sie darin, solange die Sicherung aufbewahrt wurde. Die Datenschutzerklärung deiner Installation nennt das am besten — einen Baustein zum Übernehmen findest du unter Verwaltung → Rechtstexte, Reiter Datenschutzerklärung (11.5a).

Die Seite ist auch im Wartungsmodus erreichbar. Das ist Absicht: Wer jemanden wieder hereinlassen muss, während die Anwendung zu ist, braucht genau sie.

Sicherheit: Schwellen, Aufräumen, Mailregel

Bis Web 21.0.0 stand das als Absätze in den Karten und in der zugeklappten Karte „Was hier gilt" (P5c/AP9).

Eine einzige Handlung ändert etwas: „Aufheben". Alles andere auf der Seite wird nur gelesen. Die Zahlen selbst — Grenzen, Sprossen, Schwellen — stellst du unter Betrieb → Servereinstellungen, Karte „Ratenschutz", ein.

Verlangsamung. Die Bremse greift erst ab 200 Fehlversuchen je 15 Minuten über die ganze Installation — ein Wert, den ein gewöhnlicher Dienstbetrieb nicht erreicht. Während sie läuft, wartet jede fehlgeschlagene Anmeldung; wer das richtige Passwort hat, kommt ohne Verzögerung durch. Vermerkt wird jeder Anstieg der Stufe, nicht jeder Fehlversuch — sonst stünde nach einer Stunde Angriff ein Eintrag je Versuch. Ein Ende hat kein eigenes Ereignis; die Bremse fällt von selbst, sobald das 15-Minuten-Fenster leerläuft.

Mengenbremse der Geräte. 30 fehlgeschlagene Geräteanmeldungen je Viertelstunde, danach dieselbe Leiter wie bei der Anmeldung. Der einzige Fall, in dem es ein echtes Gerät trifft, ist ein veralteter Schlüssel — es verliert dabei nichts und sendet später; die Abhilfe ist neu koppeln (Abschnitt 10).

Löschungen auf Sicherungszielen. Der Versand ergänzt sonst nur: Der Zweck eines auswärtigen Ziels ist, den Ausfall dieses Servers zu überleben — samt eines Fehlers, der hier zu viel löscht. Wo die Aufbewahrungsregel an ist, entfernt sie nur, was dem Namensmuster einer Sicherung entspricht und im Versandprotokoll dieser Installation steht; fremde Dateien bleiben.

Meldung per Mail. Erreicht eine Sperre die letzte Sprosse oder die Verlangsamung ihre vierte Stufe, geht eine Sammelmeldung hinaus — höchstens eine je Stunde. Sie sagt nicht, dass jemand hereingekommen ist, sondern dass es jemand versucht.

Aufräumen. Der Aufräumjob löscht jede Nacht, was älter als 30 Tage ist — Ereignisse, Gerätevermerke, CSP-Berichte, erledigte Warteschlangenzeilen und den Job-Verlauf. Die Frist gilt in der laufenden Datenbank, nicht im versiegelten Abzug eines Komplett-Backups.

11.5 Installation

Unter „Installation" steht, wie diese Anlage nach außen auftritt: der Name, die Adressen, das Logo und das Demo-Konto (11.6), untereinander in einer Spalte. Die vier Rechtstexte stehen seit Web 21.1.0 auf einer eigenen Seite (11.5a); bis dahin standen sie hier in der rechten Spalte.

Der Name (seit Web 20.8.0) steht zuoberst und gilt für alles: Browsertab, Kopfleiste, Anmeldeseite, Wartungsseite, Schlüsselblatt — und jede E-Mail, die diese Anlage verschickt. Zwei Felder:

  • Name — der lange. Er steht im Betreff jeder Mail und unter der Grußformel. Vorgabe: Gen-EM Einsatzdokumentation Notarzt.
  • Kurzname — der kurze. Er steht dort, wo wenig Platz ist: im Browsertab, oben in der Kopfleiste neben dem Zeichen und auf der Anmeldeseite. Vorgabe: Gen-EM NAdoku.

Wer nichts einträgt, ändert nichts — dann gelten die Vorgaben, und alles sieht aus wie bisher. Leer lassen setzt auch wieder darauf zurück.

Warum es das gibt: Bis Web 20.7.0 stand der Name an 38 Stellen fest im Programm, in drei verschiedenen Schreibweisen — eine davon hatte das „Gen-EM" verloren, ohne dass es jemandem auffiel. Und wer diese Anwendung für eine andere Organisation aufsetzt, verschickte Post, die mit einem fremden Namen unterschrieben ist.

Höchstens 80 Zeichen, keine Zeilenumbrüche — der Name geht in Mailbetreffs, und dort wäre ein Zeilenumbruch ein Einfallstor.

Eine Stelle bleibt fest: Die Fußzeile „© Gen-EM · Open Source". Das ist nicht der Name deiner Anlage, sondern die Angabe, wer die Software geschrieben hat — die darf eine Installation nicht überschreiben.

Die Adressen (seit Web 20.9.0) stehen in der Karte darunter. Zwei Felder, beide dürfen leer bleiben:

  • Kontaktadresse — sie steht als Zeile „Bei Fragen wende dich an …" in jeder E-Mail an NutzerInnen und, seit Web 20.40.0, auf der Fehlerseite: „Melde diese Kennung an …" (11.7, Reiter System). Bleibt sie leer, fällt die Zeile weg; die Fehlerseite sagt dann nur, dass man die Kennung nennen soll. Das ist Absicht: Eine Mail, die im Fehlerfall auf ein Postfach verweist, das niemand liest, ist schlimmer als eine ohne Verweis.
  • Betreiberadresse — dorthin gehen die Betriebsmeldungen: Speicherplatz wird knapp, Konto-Backups sind überfällig. Bleibt sie leer, gehen sie weiterhin an alle Konten mit Verwaltungsrecht, wie bisher.

Die Kontaktadresse ist nicht der Absender. Von welcher Adresse die Post kommt, steht in der config.php und ist auf einer gut eingerichteten Anlage ein noreply@. Die Kontaktadresse ist die, an die man antworten soll.

Warum es das gibt: Bis Web 20.8.0 stand in sieben Mailtexten dieselbe fest eingebaute Adresse — die der EntwicklerIn. Wer diese Anwendung für eine andere Organisation aufsetzt, verwies seine NutzerInnen an jemanden, den sie nicht kennen.

Das Logo darunter wählt zwischen Hubschrauber (RTH), Fahrzeug (NEF) und wechselnd. Es ist der Standard dieser Installation — er gilt für die Anmeldeseite und für jedes Konto, das im Profil keine eigene Wahl getroffen hat; eine getroffene Wahl bleibt unberührt. Die Änderung wirkt sofort, auch für bereits angemeldete Konten. Wechselnd würfelt je Anmeldung neu; innerhalb einer Sitzung bleibt das Logo stehen, damit es beim Blättern nicht springt. Die Kachel daneben zeigt, was gerade gilt. Das Logo hat einen eigenen Knopf — es soll nicht auf eine halbfertige Adresse warten.

11.5a Rechtstexte

Die vier Texte, die diese Anlage nach außen zeigt: Impressum, Datenschutzerklärung, Nutzungsbedingungen und die Vereinbarung zur Auftragsverarbeitung (AVV). Seit Web 21.1.0 haben sie eine eigene Seite unter Verwaltung → Rechtstexte; von Web 15.1.0 bis 21.0.0 standen sie auf der Seite „Installation" (11.5). Wer die alte Adresse admin_rechtstexte.php als Lesezeichen hat, landet wieder hier.

Oben steht je Text ein Reiter. Ein Klick öffnet den Text; hast du im offenen etwas geändert und nicht gespeichert, fragt die Seite vorher nach. Unter 720 px rollt die Reihe der Reiter seitwärts.

Links steht das Feld, rechts die Vorschau — ab 1200 px Fensterbreite nebeneinander, darunter untereinander. Die Karte des Felds trägt im Kopf das Standdatum und „Ansehen": Der Link öffnet die öffentliche Seite. Unter dem Feld sagt eine Plakette, ob die öffentliche Seite gerade etwas zeigt („öffentlich") oder nur ihren Leertext („leer"). Alle vier Seiten sind ohne Anmeldung erreichbar; Impressum und Datenschutz sind in jeder Fußzeile verlinkt.

Die Vorschau läuft beim Tippen mit (seit Web 21.1.0). Einen Augenblick nach dem letzten Tastendruck steht dort, was du getippt hast — gerendert auf dem Server, mit demselben Renderer wie die öffentliche Seite, also genau so, wie es dort erscheinen wird. Gespeichert wird dabei nichts. Die Plakette im Kopf der Vorschau sagt, was dasteht:

Plakette heißt
„gespeicherter Stand" nichts getippt — die Vorschau zeigt, was gespeichert ist
„wird aktualisiert …" du hast getippt, die Vorschau kommt gleich
„ungespeichert" die Vorschau zeigt das Getippte; gespeichert ist es erst mit dem Knopf
„nicht aktuell" die Vorschau ließ sich gerade nicht holen; darüber steht, warum

Rollst du im Feld, rollt die Vorschau an ungefähr dieselbe Stelle mit. Kommt die Vorschau nicht (keine Verbindung, zu viele Abrufe in kurzer Zeit), bleibt die letzte stehen, und der Text im Feld ist davon nicht betroffen. Ohne JavaScript zeigt die Vorschau den gespeicherten Stand.

Gespeichert wird der Text des offenen Reiters, mit dem Knopf in der Leiste unten. Jede Änderung steht im Protokoll (Verwaltung → Protokoll, Reiter Verwaltung). Die Seite erreichen Admin und BetreiberIn; der Support nicht.

Die Anwendung liefert keinen Text mit. Was in Impressum und Datenschutzerklärung steht, ist Sache der BetreiberIn — eine mitgelieferte Datenschutzerklärung wäre eine Rechtsauskunft, die dieses Projekt nicht geben kann. Solange nichts hinterlegt ist, zeigen die Seiten: „Die BetreiberIn dieser Installation hat noch kein Impressum hinterlegt." Als Verwaltung siehst du dort zusätzlich den Weg hierher.

Ein vollständiger Entwurf liegt seit dem 19.10.2026 im Repositorium: docs/rechtstexte/Datenschutzerklaerung.md — geschrieben für den Stand nach S11, nicht anwaltlich geprüft, mit Platzhaltern in eckigen Klammern und Prüfhinweisen am Ende. Er nimmt die drei Absätze unten auf; wer ihn übernimmt, braucht sie nicht zusätzlich.

Ein Absatz, der in keiner Datenschutzerklärung dieser Anwendung fehlen darf (Backlog Nr. 138). Die Anwendung liefert weiterhin keinen Text mit — dieser eine Absatz ist keine Rechtsauskunft, sondern eine technische Tatsache über diese Software, die nur wir kennen können. Seit Web 22 (S11) gilt diese Fassung; bis dahin lagen GPS-Spur, Phasenorte, Transportziel, Ortshöhe und Reanimationsverlauf im Klartext, und wer die alte Fassung übernommen hat, ersetzt sie. Zum Übernehmen:

## Welche Daten verschlüsselt gespeichert werden — und welche nicht

Name, Geburtsdatum, Alter, Diagnose, Einsatznummer, Adresse, Koordinate
und Beschreibung des Einsatzorts, ein von Hand eingetragener Abfahrtort,
die Notizen eines Einsatzes, das Transportziel samt Koordinate, die Höhe
des Einsatzorts, die GPS-Spur, die Orte der Einsatzphasen und der Verlauf
einer Reanimation werden auf Uhr, Handy oder im Browser verschlüsselt.
Der Server speichert sie ausschließlich verschlüsselt und kann sie nicht
lesen; öffnen kann sie nur der Browser des Kontos.

Nicht verschlüsselt gespeichert werden: alle Zeiten, die Nummern der
Einsatzphasen, Strecke und Anstieg, Rettungsmittel und Standort, die Namen
der Besatzung und die Notizen eines Diensttags.

Daraus folgt: Wer weiß, wann ein Einsatz stattfand, kann ihn über die
Zeiten finden; Ort, Spur, Klinik und Reanimation sieht er nicht. Bis zum
Senden liegen Aufzeichnungen unverschlüsselt auf Uhr und Handy.

Wer die Zeilen ändert, sollte den letzten Absatz stehen lassen: Er ist der Grund, warum die anderen beiden dastehen.

Ein zweiter Absatz, seit Web 21.8.0: die Cookies (Schritt 18, SR-01 und SR-02). Auch er ist eine technische Tatsache und keine Rechtsauskunft; ob ein Hinweis darauf in die Datenschutzerklärung gehört, entscheidet die BetreiberIn. Zum Übernehmen:

## Welche Cookies diese Anwendung setzt

Die Anwendung setzt nur Cookies, die für die Anmeldung nötig sind, und
keine zur Analyse oder Werbung. Das Sitzungscookie hält die Anmeldung,
ein zweites bindet sie an diesen Browser; beide enden, wenn der Browser
geschlossen oder man abgemeldet wird. Wer beim Zweitfaktor „Dieses Gerät
merken" wählt, bekommt ein drittes Cookie, das so viele Tage gilt, wie die
BetreiberIn eingestellt hat; auf dem Server liegt davon nur ein Prüfwert,
kein Gerätename und kein Browsertyp. Beim Setzen eines Passworts kommt für
diesen einen Vorgang ein eigenes Sitzungscookie dazu. Steht die
Registrierung offen, setzt auch die Registrierungsseite das Sitzungscookie:
Es hält die kleine Rechenaufgabe, die der Browser gegen Massenanmeldungen
löst, bis das Formular abgeschickt ist.

Der letzte Satz kam mit Web 21.14.0 dazu (Schritt 18, SR-08, E-SR-92).

Ein dritter Absatz, seit Web 21.10.0: Passkeys (Schritt 18, SR-09). Ebenso eine technische Tatsache; ob sie in die Datenschutzerklärung gehört, entscheidet die BetreiberIn. Zum Übernehmen:

## Passkeys

Wer beim Zweitfaktor einen Passkey hinzufügt, hinterlegt auf dem Server
dessen öffentlichen Schlüssel, eine vom Gerät vergebene Kennung, die
Adresse des Dienstes, für die er gilt, eine selbst gewählte Bezeichnung
und die Zeitpunkte des Anlegens und der letzten Benutzung. Der geheime Teil des Schlüssels verlässt das Gerät
nicht. Gerätename, Hersteller und Modell werden nicht erhoben. Die
Angaben werden gelöscht, wenn der Passkey entfernt, der Zweitfaktor
ausgeschaltet oder das Konto gelöscht wird. Das Gerät oder ein
Schlüsselbund (etwa bei Apple oder Google) kann dazu die Adresse des
Dienstes, die E-Mail-Adresse als Namen und die Kontonummer als
Nutzerkennung speichern; darauf hat der Dienst keinen Zugriff.

Geschrieben wird in eingeschränktem Markdown. Erlaubt sind vier Dinge:

Schreibweise Ergebnis
## Überschrift eine Überschrift (### für eine kleinere)
Leerzeile dazwischen ein neuer Absatz. Zeilen ohne Leerzeile bleiben ein Absatz mit Umbrüchen — so setzt man eine Anschrift untereinander
- Punkt oder 1. Punkt eine Aufzählung bzw. Nummerierung
[Text](https://…) ein Link. Auch mailto: und eigene Seiten wie datenschutz.php

HTML wird nicht ausgeführt, sondern angezeigt. Wer <b>fett</b> schreibt, sieht <b>fett</b> auf der Seite stehen. Das ist Absicht: Diese vier Seiten sind die einzigen, auf denen fremder Text zu Struktur wird, und die einzige sichere Regel dafür ist, gar kein HTML durchzulassen. Aus demselben Grund gibt es keine Bilder — sie würden von einem fremden Server geladen, und die Anwendung lädt zur Laufzeit nichts von außen.

Das Standdatum setzt du selbst. Es erscheint als „Stand: …" am Ende der Seite; leer lassen heißt: kein Datum. Es wird nicht automatisch gesetzt — bei einem Rechtstext ist das Datum eine Aussage darüber, auf welchem Stand der Text inhaltlich ist, und eine Tippfehlerkorrektur soll ihn nicht neu datieren.

Textbausteine

Unter der Datenschutzerklärung steht eine zugeklappte Karte „Textbausteine" mit fertigen Abschnitten zum Kopieren. Weil die Anwendung keinen Rechtstext mitliefert, setzt sie diese Absätze nicht selbst ein — sie legt sie bereit, mit den Angaben, die auf dieser Anlage tatsächlich gelten. Einfügen und an die eigene Erklärung anpassen musst du sie selbst.

  • „Adresssuche" (seit Web 15.8.0) nennt den eingetragenen Dienst (12.5), was übertragen wird — der getippte Text und die Koordinate — und was nicht. Er erscheint nur, solange die Adresssuche eingeschaltet ist: Ein Absatz über eine Übertragung, die nicht stattfindet, wäre falsch.
  • „Schutz vor unbefugten Anmeldeversuchen" beschreibt den Ratenschutz (11.4a): was gespeichert wird, wozu, und dass es nach 30 Tagen gelöscht wird. Er steht immer, weil es den Ratenschutz in jeder Installation gibt. Sein letzter Satz lautet seit Web 21.1.0 „Sicherungskopien der Datenbank enthalten diese Angaben nicht." — bis dahin hieß es, sie könnten sie enthalten, und das stimmt seit Web 20.39.0 nicht mehr: Das Komplett-Backup nimmt die Sicherheitsereignisse ohne Zeilen mit. Wer den alten Satz übernommen hat, ersetzt ihn.

Nutzungsbedingungen und Auftragsverarbeitung (seit Web 20.19.0)

Zwei Texte, die deine NutzerInnen annehmen müssen — anders als Impressum und Datenschutzerklärung.

Der Unterschied ist kein Rang, sondern die Rechtsnatur. Ein Vertrag kommt durch Annahme zustande; ohne sie darf er nicht weiterlaufen. Deshalb:

Dokument Häkchen Was eine neue Fassung bewirkt
Nutzungsbedingungen „angenommen" Sperrt den nächsten Login, bis angenommen
Auftragsverarbeitung „angenommen" Sperrt den nächsten Login, bis angenommen
Datenschutzerklärung „zur Kenntnis genommen" Hinweis auf jeder Seite, sperrt nichts
Impressum keines —

Was du wissen musst, bevor du ein Standdatum setzt: Ein neues Standdatum bei Nutzungsbedingungen oder AVV stellt alle Konten beim nächsten Anmelden vor das Häkchen. Das ist gewollt und steht so im Protokoll (Verwaltung → Protokoll, Reiter Verwaltung).

Solange kein Standdatum gesetzt ist, verlangt der Text nichts. Du kannst also in Ruhe einen Entwurf hinterlegen, ihn ansehen, ihn ändern — erst das Datum setzt ihn in Kraft.

Wer nicht zustimmt, kommt trotzdem an seine Daten. Am Tor bleiben drei Wege offen: abmelden, Daten ausleiten, Konto löschen. Ein Tor, das auch den Ausgang versperrt, wäre Nötigung — und das soll diese Anwendung nicht sein.

Uhr und Handy sind nicht betroffen. Sie laden weiter hoch; ein Gerät hat keinen Bildschirm für ein Häkchen, und eine laufende Aufzeichnung soll nicht ins Leere laufen.

Die Anwendung liefert keinen Text mit (wie beim Impressum). Entwürfe für beide Dokumente und für die Datenschutzerklärung liegen im Repositorium unter docs/rechtstexte/ — sie sind ausdrücklich nicht anwaltlich geprüft und als Vorlage gedacht, nicht als fertiger Text.

11.6 Demo-Konto

In der Karte Demo-Konto unter Verwaltung → Installation wird das Demo-Konto angelegt, auf Standard zurückgesetzt (Kopfaktion) oder entfernt (Zeile „Konto“), und dort steht der Schalter „Demo-Anmeldung zulassen“. Bis Web 24.5 war das eine eigene Seite und der Schalter stand in den Servereinstellungen. Was es ist, wann es sich selbst zurücksetzt und was darin nicht geht, steht in Abschnitt 3.2 — dort aus Sicht dessen, der es benutzt. Entfernen löscht es wie jedes andere Konto (seit Web 21.1.8): samt Konto-Backups und mit einem Eintrag im Protokoll.

Zwei Dinge, die nur die Verwaltung betreffen: Auf der Kontoseite des Demo-Kontos sind Ändern, Sichern, Einspielen, Freigeben und Löschen abgeschaltet, und in jeder Zahl der Statistik (12.2) bleibt es außen vor.

Die Karte zeigt Konto, letzten und nächsten Reset; nach einem Anlegen oder Zurücksetzen steht darunter der Bericht des letzten Laufs, zugeklappt. Die Warnung zum Schlüsselmaterial steht nur, solange die Anmeldung zugelassen ist. Die Kontrollzahlen — Bestand und die drei Papierkorbzahlen — stehen seit Web 24.7.0 auf der Statusseite in der Karte „Konten" (12.1); die frühere Seite admin_demo.php leitet dorthin. Die Papierkorbzahlen sind die Kontrolle des Resets: Der Papierkorb kommt aus der Fixture zurück, nicht aus einem Nachlauf. Stehen sie auf null, ist beim Einspielen etwas übersprungen worden. Ausgelöst wird der Reset von der nächsten Anfrage des Demo-Kontos, sobald er fällig ist — 30 Minuten nach der ersten Änderung, ohne Änderung einen Tag nach dem letzten —, nicht von einem Zeitdienst. Als Änderung zählt jedes Absenden im Demo-Konto und jeder angenommene Upload eines seiner Geräte; Änderungen aus der Verwaltung zählen nicht, und bloßes Ansehen auch nicht mehr — das Verdichten der Spuren im Hintergrund lässt das Demo-Konto aus. Nach einem Deploy mit neuer Fixture zeigt das Demo-Konto deshalb bis zu einem Tag lang den alten Bestand — „Zurücksetzen" holt den neuen sofort.

Demo-Anmeldung zulassen. Ist sie aus, wird die Demo-Adresse bei der Anmeldung wie eine unbekannte Adresse behandelt — dieselbe Meldung, dieselbe Antwortdauer, auch beim richtigen Passwort. Die Seite verrät damit nicht, ob diese Installation ein Demo-Konto hat. Der Bestand bleibt liegen: Abgeschaltet ist die Anmeldung, nicht das Konto. Der Reset ruht, weil ihn nur Anfragen des Demo-Kontos auslösen — es sei denn, ein gekoppeltes Demo-Gerät lädt weiter hoch. Wenn die Registrierung auf „nur auf Einladung“ wechselt, bieten die Servereinstellungen an, die Demo-Anmeldung mit abzuschalten (12.5, Karte „Konten“).

Was der Reset umfasst

Bis Web 21.0.0 stand das in der zugeklappten Karte „Was hier gilt" der Seite (P5c/AP9).

  • Diensttage, Einsätze, Ruhesegmente, GPS-Daten, Stammdaten — vollständig ersetzt.
  • Geräte, offene Kopplungssitzungen, Papierkorb und Sperrliste — auch das, was Besucher angelegt haben.
  • Konto- und Schlüsselmaterial: E-Mail, Passwort, Salz und beide Schlüsselhüllen werden aus der Fixture überschrieben. Selbst eine unerwartet gelungene Änderung der Konto-Identität bliebe damit folgenlos.
  • Der Papierkorb kommt aus der Fixture zurück — als Papierkorb, mit frischer 90-Tage-Frist. Der Reset ist damit ein Vorgang in einer Transaktion: Entweder er gelingt ganz, oder er ändert nichts.

11.7 Protokoll

Unter Verwaltung → Protokoll steht, was im Betrieb geschehen ist: Konten angelegt, freigeschaltet, gesperrt, gelöscht; Rollen und Adressen geändert; Setz-Links ausgestellt; Bestätigungen erneut gesendet; Zweitfaktor eingeschaltet, ausgeschaltet, zurückgesetzt, Codes erneuert und Anmeldungen mit einem Wiederherstellungscode; der Rückweg mit dem Wiederherstellungsschlüssel eingerichtet oder erneuert; Geräte umgeschaltet oder entkoppelt; Wartung gefahren; Migrationen ausgeführt; Backups erzeugt, geladen, eingespielt; Post versandt; Jobs gelaufen.

Wer welchen Einsatz angesehen hat, steht nicht darin — und soll nicht darin stehen. Wenn dich jemand fragt, ob du nachsehen kannst, wer einen bestimmten Einsatz geöffnet hat: Du kannst es nicht, und zwar mit Absicht.

Die Reiter

Reiter Was darin steht Support Admin BetreiberIn
Verwaltung das Audit: wer wann was an Konten und Anlage getan hat ja ja ja
Sicherheit Sperren, Verlangsamungen, aufgehobene Sperren, blockierte Inhalte (CSP) — mit IP-Adressen — — ja
E-Mail jede Nachricht mit Vorlage und Zustand (wartet, zugestellt, unzustellbar, verfallen, ersetzt); seit Web 23.6.4 auch „nicht eingereiht“ für eine Adresse unter .invalid, .test, .example oder .localhost, die nie Post annimmt — nie Empfänger, Betreff oder Inhalt ja ja ja
Jobs jeder Lauf eines Hintergrundjobs, Fehler rot — ja ja
Sicherung Komplett-Backup erzeugt, geladen, eingespielt, gelöscht; Konto-Backup eingespielt; seit Web 21.12.0 der Wechsel des Serverschlüssels — gewechselt (orange), umgehüllt (blau, mit Zahlen), bisherigen entfernt — ja ja
Ziele was auf ein Backup-Ziel ging und was dort gelöscht wurde — — ja
System Fehler und Störungen der Anwendung, je mit Kennung — — ja
Archiv (rechts abgesetzt) die versiegelten Archive, siehe unten — — ja

Was du nicht sehen darfst, zeigt die Seite nicht — es gibt keinen ausgegrauten Reiter.

Der Reiter System sammelt, was bis Web 20.39.0 nur im Fehlerprotokoll des Webspace stand. Jeder Eintrag trägt eine Kennung, dieselbe, die die Fehlerseite der NutzerIn zeigt, und fünf Arten gibt es:

  • Unerwarteter Fehler (rot) — ein Fehler, den die Anwendung nicht abgefangen hat; die NutzerIn sah eine Fehlerseite mit dieser Kennung.
  • Abbruch (rot) — PHP hat die Anfrage beendet, etwa weil der Speicher nicht reichte.
  • Störung (orange) — eine Stelle hat bemerkt, dass etwas nicht ging, und ist weitergelaufen: eine Mail, die nicht hinausging, ein Vermerk, der sich nicht schreiben ließ.
  • PHP-Warnung (orange) und PHP-Hinweis (grau) — Meldungen von PHP selbst. Dieselbe Stelle steht je Aufruf nur einmal da, und höchstens 20 Stück je Aufruf.

Was nicht darin steht: was die NutzerIn geschickt hat, ihre Sitzung, ihre IP-Adresse. Werte in Anführungszeichen, E-Mail- und IP-Adressen sind in den Meldungen durch „…" bzw. „[Adresse]" und „[IP]" ersetzt. Wer den Fehler ausgelöst hat, steht wie bei jedem Eintrag dabei. Antwortet die Datenbank nicht, kann auch kein Eintrag entstehen; dann steht die Meldung mit derselben Kennung im Fehlerprotokoll des Webspace.

Eine Zeile lesen

Die Plakette sagt die Art des Ereignisses, ihre Farbe das Gewicht: grau ein gewöhnlicher Vorgang, grün etwas Erledigtes (bis Web 23.9.0 blau), orange ein Eingriff oder eine Sperre, rot ein Fehler. Darunter stehen Zeit, wer gehandelt hat („Kommandozeile" oder „job", wenn es kein Mensch war) und wen es betraf. Eine Zeile mit Winkel lässt sich aufklappen — darunter stehen die Angaben, die nicht in den Satz passen.

Suchen und eingrenzen

  • Ein Suchfeld für Text, Konto (E-Mail-Adresse oder Name) und die Art („Rolle" findet alle Rollenwechsel). Als BetreiberIn findest du dort auch eine achtstellige Fehlerkennung; die Seite springt dann in den Reiter System.
  • Zeitraum: 24 h, 7 Tage, 30 Tage — im Reiter Verwaltung zusätzlich 365 Tage. Ohne Auswahl siehst du alles, was noch da ist.
  • Art: ein Auswahlfeld, das sofort filtert.
  • Ein zweiter Klick auf die aktive Pille nimmt den Zeitraum zurück.
  • Zeitraum und Art liegen hinter dem Knopf „Filter" rechts neben dem Suchfeld (seit Web 24.4.0); seine Zahl sagt, wie viele Filter gesetzt sind. Die gesetzten stehen unter der Suche als Pillen mit Kreuz — das Kreuz nimmt den Filter zurück, ohne dass du den Knopf öffnen musst.
  • 50 Einträge je Seite; darunter die Seitenwahl.
  • Ein Wechsel des Reiters beginnt neu: Suche, Zeitraum, Art und Kontofilter gelten nur im Reiter, in dem sie gesetzt wurden.
  • Im Reiter Sicherheit führt „Aktive Sperren" im Kartenkopf zu Betrieb → Status → Sicherheit, wo sich eine Sperre aufheben lässt.
  • „Unvollständig." über der Liste heißt: Eine Quelle dieses Reiters ließ sich nicht lesen — meist steht ein Update aus (Betrieb → Updates).
  • Von der Kontoseite (11.1) führt „Im Protokoll" in den Reiter Verwaltung, eingegrenzt auf dieses Konto — als Handelnde oder als Betroffene. Der Filter steht als Pille mit Kreuz über der Liste; das Kreuz nimmt ihn weg.

Wie lange etwas darin steht

Löschen kann niemand, auch die BetreiberIn nicht. Es gibt nur Fristen: Der Reiter Verwaltung hält 365 Tage (einstellbar zwischen 90 und 1095), alle übrigen 30 Tage, fest. Die Frist stellt die BetreiberIn unter Betrieb → Servereinstellungen → Protokoll ein (12.5); jede Änderung steht selbst im Protokoll.

Das Archiv (nur BetreiberIn)

Was: Alle 7 Tage (einstellbar) legt ein Hintergrundjob die Einträge des abgelaufenen Zeitraums versiegelt als Datei ab — mit dem Serverschlüssel, so dass sie ohne config.php niemand lesen kann. Die Archive liegen 365 Tage (einstellbar) auf dem Server und gehen mit dem Versand auf das Backup-Ziel (12.7), wo sie liegen bleiben. Das erste Archiv beginnt beim ältesten Eintrag, den es gibt; der Job holt dann Woche für Woche nach.

Was nicht hineingeht: IP-Adressen und die Adressen aus gescheiterten Anmeldungen. Aus dem Reiter Sicherheit gehen nur Art, Topf, Stufe und Zeit ins Archiv, aus dem Reiter E-Mail nur Vorlage, Zustand und Zeit. Die übrigen Reiter gehen so hinein, wie sie dastehen — samt der E-Mail-Adressen im Text, damit das Archiv nach einer Kontolöschung noch sagt, wer es war.

Jede Zeile im Reiter Archiv ist ein Zeitraum, mit einer Plakette:

Plakette heißt
auf dem Ziel liegt auch auf einem Backup-Ziel
nur lokal liegt nur hier — der Versand ist aus, oder er ist noch nicht gelaufen
bisheriger Schlüssel nur während eines Wechsels des Serverschlüssels (12.5): liegt noch unter dem bisherigen, bis der Job es umgehüllt hat — dann bekommt es einen neuen Namen und geht noch einmal auf das Ziel. Bis dahin kein Knopf „Herunterladen"; ohne eingerichteten Auslöser treibt es nur Jetzt weiterarbeiten voran (seit Web 21.12.1)
anderer Schlüssel wurde mit einem früheren Serverschlüssel versiegelt; öffnen lässt es sich nur mit dem Schlüssel von damals (Wiederanlaufpaket, Schlüsselblatt mit der genannten Kennung)

Unter jeder Zeile stehen die Kennung des Schlüssels (acht Zeichen am Stück, so wie auf dem Schlüsselblatt — leg es zum Vergleichen daneben), die Zahl der Einträge und die Größe. Trägt ein Archiv einen anderen Schlüssel, steht über der Liste eine Warnung mit der Kennung, und die Zeile hat keinen Knopf „Herunterladen" — hier ließe sich nichts öffnen. Liegt es während eines Wechsels noch unter dem bisherigen, steht dort statt der Warnung ein Hinweis: Der Job hüllt es um, danach lässt es sich wieder herunterladen. Ein Archiv fasst höchstens 32 MB Text; was darüber hinausginge — praktisch nur bei einem Angriff, der Zehntausende Sperren schreibt —, wird nicht archiviert. Das steht dann in der Übersicht im ZIP, nicht auf der Seite. Der Hintergrundjob heißt „Protokoll archivieren" (12.4).

Herunterladen entsiegelt das Archiv und gibt ein gewöhnliches ZIP heraus: je Reiter eine Datei mit einer Zeile je Eintrag, dazu eine Übersicht. Das Herunterladen steht selbst im Protokoll. Die Datei ist danach Klartext — lege sie nicht dorthin, wo andere mitlesen.

Das Komplett-Backup (12.6) enthält die Sperren nicht. Die Tabellen mit IP-Adressen gehen nur leer hinein; nach einem Wiederanlauf beginnt der Ratenschutz von vorn.


12. Betrieb (BetreiberIn)

Der Server selbst. Dieser Block erscheint nur für die Rolle BetreiberIn (11.3) und hat sechs Punkte (bis Web 24.7.0 sieben: die Backup-Ziele sind seither eine Karte, 12.7) — dieses Kapitel folgt ihnen:

Menüpunkt Abschnitt wozu
Status 12.1 eine Seite ansehen und wissen, ob etwas zu tun ist
Statistik 12.2 was diese Installation trägt: Konten, Geräte, Einsätze
Updates 12.3 Wartungsmodus und ausstehende Datenbank-Updates
Hintergrundjobs 12.4 ob die regelmäßige Arbeit läuft, und die drei Auslöser
Servereinstellungen 12.5 Speichergrenze, Warnschwellen, Kontingente, Belegung, Ablage, Adresssuche, Sicherheitskopfzeilen
Komplett-Backup 12.6, 12.7 die ganze Installation in eine Datei; die Karte „Backup-Ziele“ (auch in den Servereinstellungen): wohin die Konto-Backups zusätzlich geschoben werden

Der Unterschied zu Kapitel 11 in einem Satz: Die Verwaltung kümmert sich um Konten, der Betrieb um die Anlage. Wer den Betrieb sieht, sieht auch die Verwaltung.

Wo früher „Wartung" stand

Bis Web 15.0.0 trug sie neun Blöcke auf einer Fläche: Serverbetrieb, Logo, Umgebung, Schlüsselableitung, Hintergrundjobs, Auslöser, Einsätze ohne Diensttag und das Datenbank-Update. Seit Web 15.1.0 ist sie aufgelöst, und jede Seite trägt ein Anliegen. Was wohin gegangen ist:

Was du suchst Wo es jetzt steht
Wartungsmodus, ausstehende Updates, Fassung Betrieb → Updates
Zustand der Hintergrundjobs, die drei Auslöser, das Job-Token, das Kettentoken und seit Web 23.5.0 das Health-Token Betrieb → Hintergrundjobs
Speichergrenze, Warnschwellen, Kontingente, Belegung, Ablage Betrieb → Servereinstellungen
CSP scharf schalten, HSTS-Dauer Betrieb → Servereinstellungen
Name und Logo der Installation Verwaltung → Installation
Schlüsselableitung, Umgebung (PHP, Zeitzone), Plattformprofil Betrieb → Status
Einsätze ohne Diensttag entfallen — jede NutzerIn sieht ihre eigenen als „Zuordnung offen" in der Diensttage-Leiste (8.1) und ordnet sie selbst zu

Die alte Adresse führt weiter zum Ziel; ein Lesezeichen bleibt gültig.

12.1 Status

Eine Seite, die man ansieht und dann weiß, ob etwas zu tun ist. Bis Web 15.2.0 lag diese Auskunft verstreut: Der Serverschlüssel meldete sich bei den Backup-Zielen, die Schlüsselableitung auf der alten Seite „Wartung", der Speicherstand unter den Backups, ein Job-Fehler als Plakette in einer Liste. Wer wissen wollte, ob die Installation in Ordnung ist, musste sechs Seiten aufrufen.

Probleme zuerst (seit Web 24.7.0). Oben steht der Abschnitt „Braucht Aufmerksamkeit" mit genau den Zeilen, die nicht grün sind — rote vor orangen, je mit ihrem Bereich davor („E-Mail · …"). Steht nichts an, steht dort „Alles läuft.". Darunter jeder Bereich als zugeklappter Abschnitt mit der Zahl seiner Prüfungen und einer Plakette (in Ordnung, N Hinweise, N Fehler): Server, Konten, E-Mail, Hintergrundjobs, Backups, Plattform und Konfiguration (die Werte der config.php, nur lesend). Bis Web 24.6 standen dort vier offene Karten mit rund siebzig Zeilen; die wenigen, die etwas brauchten, musste man suchen.

Was nicht mehr dasteht, weil es nie etwas verlangte (seit Web 24.7.0): die Zeilen „Datenbank" (Größe — steht in der Plattform und unter Servereinstellungen → Speicher), „Gerätemodelle" (heilt beim nächsten Joblauf; der Job steht unter Hintergrundjobs), „PHP und Zeitzone", „Gesperrt" (läuft von selbst ab; die Liste steht unter Sicherheit), „SMTP" (misst die Plattform), „Ablage" (misst die Plattform) und die Karte „Betriebsprotokoll" (die Zahlen stehen an den Reitern des Protokolls, 11.7). Die Hintergrundjobs stehen nur einzeln da, wenn sie nicht grün sind; den Rest zählt die Zeile „Übrige Jobs".

Neben dem Titel steht seit Web 20.12.0 ein zweiter Knopf: „Sicherheit". Er führt auf die Unterseite, auf der steht, wer gerade ausgesperrt ist — und auf der sich eine Sperre aufheben lässt. Beschrieben in Abschnitt 11.4b. Dorthin führen auch die Zeilen „Verlangsamung" und „Abgewiesene Geräte" des Bereichs Server.

Die Plakettenfarbe bedeutet auf dieser Seite überall dasselbe:

Farbe heißt
grün Es ist in Ordnung. (Bis Web 23.9.0 war das blau; blau heißt seither eine Eigenschaft, etwa „Produktiv".)
orange Es braucht Aufmerksamkeit, arbeitet aber.
rot Es arbeitet nicht — oder es geht dabei etwas verloren.
grau Nicht eingerichtet, oder eine reine Zahl ohne Wertung.

Die Zeile „Schlüsselableitung" sagt, ob alle Konten mit einer Rundenzahl rechnen, die diese Fassung anbietet, und wie viele noch unter dem Zielwert stehen („Übergang läuft" — die ziehen beim nächsten Anmelden still nach; solange, rechnet jede Anmeldung zweimal). Das Demo-Konto zählt dort nicht mit: Es bleibt auf der Rundenzahl seiner Fixture, und der Altwert bleibt deshalb in der Liste, bis der Referenzbestand neu gebaut ist.

Die Zeile „Ortsdaten" stand in Web 22.7 in der Karte Server und zählte, was noch im Klartext auf dem Server lag. Mit Web 23 ist sie gegangen, zusammen mit den alten Spalten: Die Aktualisierung auf Web 23 (Betrieb → Updates) hält an, solange noch ein Konto Klartext hat, nennt die Konten mit ihren Einsätzen und läuft nur nach ausdrücklicher Freigabe — wer freigibt, verliert diese Ortsdaten.

Die Zeile „Umgebung" (seit Web 20.38.0) steht seit Web 24.7.0 nur noch, wenn sich die config.php widerspricht — welche Anlage es ist, zeigt die Kopfleiste ohnehin. Sie ist dann orange, in zwei Fällen: Die Mails tragen den Betreff-Präfix „[Staging]", die Oberfläche aber kein Etikett — dann fehlt app.umgebung in der config.php. Oder das Etikett nennt eine Farbe, die die Anwendung nicht kennt; die Kopfleiste steht dann trotzdem rot. Einstellen lässt sich beides nur in der config.php (docs/Technik.md, Runbook).

Die Zeile „Adresse der Anlage" (seit Web 23.5.0) steht darunter. Sie vergleicht die Adresse aus app.base_url in der config.php mit der, unter der du die Seite gerade aufgerufen hast — verglichen wird nur der Name des Servers, nicht der Pfad. Aus base_url bauen sich die Links in Mails, die Passkeys, die gedruckten Blätter und die Adresse unter Betrieb → Hintergrundjobs. Steht dort eine alte Adresse, laufen sie alle ins Leere, ohne dass es sonst jemand meldet. Orange heißt: Die beiden weichen ab, oder base_url fehlt. Stimmt die Adresse in der Datei und rufst du die Seite nur ausnahmsweise unter einem anderen Namen auf, ist nichts zu tun; sonst die Zeile in der config.php berichtigen (per FTP — hier lässt sie sich nicht ändern). Wer base_url umstellt, muss Passkeys neu anlegen; sie gehören zur alten Adresse.

Der Bereich „Konfiguration" (seit Web 23.5.0, bis Web 24.6 „Einstellungen aus der config.php") zeigt, was in der Datei steht — eine Zeile je Einstellung. Passwörter und Schlüssel (Datenbank, Mailserver, Serverschlüssel, Server-Anteil) stehen nur als „gesetzt" oder „leer" da, nie der Wert. Ändern lässt sich hier nichts: Die Datei ist während des Betriebs bewusst nicht beschreibbar, damit auch eine übernommene Sitzung sie nicht ändern kann. Die Karte zählt nicht in der Meldung oben mit.

Der Bereich „Konten" (seit Web 24.7.0) hält die Zeilen „Verwaltungskonten" und „Konto-Backups" (bis dahin unter Server und Backups) und, wenn es ein Demo-Konto gibt, dessen Kontrollzahlen (bis dahin auf einer eigenen Seite): „Demo-Konto · Bestand" (Diensttage, Einsätze, Ruhesegmente, Geräte) und „Demo-Konto · Papierkorb". Die Papierkorbzahlen sind die Kontrolle des Resets — der Papierkorb kommt aus der Fixture zurück; steht eine auf null, ist die Zeile orange, denn dann hat das Einspielen etwas übersprungen.

Die Zeile „Verwaltungskonten" (seit Web 20.42.0) sagt, ob die Anlage vertreten ist. Gezählt werden handlungsfähige Konten mit Rolle Admin oder BetreiberIn: aktiv und mit eingerichtetem Zweitfaktor (3.1f) — ein Konto ohne ihn kann nach der Anmeldung nichts, bevor er steht. Sie ist orange, solange weniger als zwei BetreiberInnen handlungsfähig sind, und der Satz sagt, woran es liegt: nur ein Konto überhaupt („Fällt es aus, kommt niemand mehr an Verwaltung und Betrieb"), ein Admin als Vertretung der Verwaltung, aber nicht des Betriebs, eine zweite BetreiberIn ohne Zweitfaktor — oder „keine BetreiberIn": Keine ist handlungsfähig. Das siehst du nach einem Update, solange du deinen eigenen Zweitfaktor noch nicht eingerichtet hast. Grün „vertreten" ab zwei handlungsfähigen BetreiberInnen. Orange und nicht rot, weil jede neue Anlage mit genau einer BetreiberIn beginnt — es arbeitet ja. Der Zähler am Menüpunkt „Status" zählt die Zeile mit und steht deshalb auf einer Anlage mit einer BetreiberIn dauerhaft auf mindestens 1; das ist gewollt, bis eine Vertretung da ist. Verliert die einzige BetreiberIn den Zweitfaktor samt Codes und Notfallblatt, hilft seit Web 21.13.0 der Notzugang (unten) — er ersetzt die Vertretung nicht, die Zeile bleibt deshalb orange.

Die Zeile „Rückweg-Prüfung" (seit Web 20.43.0) sagt, ob diese Anlage den Rückweg beim Zweitfaktor prüfen kann — den Weg, auf dem jemand mit dem Wiederherstellungsschlüssel vom Notfallblatt den eigenen Zweitfaktor zurücksetzt, wenn Handy und Codes fehlen. Grün „prüft" mit Weg und Dauer: „openssl" ist der schnelle, „reines PHP" der langsamere, beide tragen. Orange „abgeschaltet": Der Selbsttest ist gescheitert, der Rückweg wird bei der Anmeldung nicht angeboten; Codes und das Zurücksetzen durch die Verwaltung gehen weiter. Was dann zu tun ist, steht im Runbook (docs/Technik.md 13).

Eine Testmail an dich selbst. Im Bereich E-Mail steht seit Web 19.3.0 der Knopf „Testmail an mich" (seit Web 24.7.0 unter den Zeilen, bis dahin im Kartenkopf). Er schickt eine kurze Nachricht über den regulären Versandweg an die Adresse, mit der du angemeldet bist — und beantwortet damit die Frage, die die Einrichtung allein nicht beantworten kann: Eingerichtet heißt nicht funktioniert. Ein falsches Passwort im SMTP-Zugang fiel bis dahin erst auf, wenn jemand einen Einladungslink vermisste.

Nach dem Klick sagt die Meldung in der Karte E-Mail, was passiert ist — seit Web 23.7.6 vier Antworten (seit Web 20.9.0 waren es drei):

Meldung heißt
hinausgegangen Der Mailserver hat sie angenommen.
Der erste Versuch ist gescheitert Sie steht in der Warteschlange und wird innerhalb der nächsten Stunde erneut versucht. Nicht verloren.
endgültig abgelehnt Der Mailserver hat die Adresse abgewiesen; es wird nicht erneut versucht. Der Grund steht in der Warteschlange.
nicht eingereiht Es wurde nichts versucht — die eigene Adresse ist unbrauchbar oder die Warteschlange war nicht erreichbar.

Ob sie ankommt, sagt erst das Postfach — angenommen ist nicht zugestellt. Steht kein SMTP in der config.php, wird gar nichts erst versucht; die Meldung sagt das, statt einen Fehlschlag zu erfinden. Höchstens drei Testmails je Stunde: Der Versand läuft in der Seitenanfrage mit, und öfter zu prüfen bringt keine andere Antwort.

Die Zeile „Warteschlange" (seit Web 20.9.0) beantwortet die Frage, die „Letzter Versand" nicht beantworten kann: Jene sagt etwas über den letzten Versuch — eine Einladung, die vorgestern scheiterte, war danach unsichtbar.

Zeile heißt was zu tun ist
grün leer Nichts liegt an. nichts
orange N wartet Der Mailserver war kurz gestört. Die Anwendung versucht es über 24 Stunden bis zu fünfmal. abwarten
rot N unzustellbar Fünf Versuche, alle gescheitert — oder, seit Web 23.6.4, der Mailserver hat den Empfänger gleich beim ersten Versuch endgültig abgelehnt (etwa „Postfach gibt es nicht“). Die Zeile nennt die Adressen und den letzten Grund. Grund lesen, Adresse prüfen, Vorgang von Hand wiederholen

Die Zeilen verfallen nach 30 Tagen. Bei einer zugestellten Nachricht bleibt nur „eine Nachricht dieser Art ging zu dieser Zeit hinaus" — Adresse, Betreff und Text werden gelöscht. Bei einer unzustellbaren bleibt die Adresse stehen, sonst wäre die Meldung wertlos; der Text fällt trotzdem, weil ein Einladungs- oder Reset-Link darin steht.

Die Karte „Plattform" (seit Web 20.5.0) beantwortet eine andere Frage als die vier darüber: nicht was meldet die Anwendung, sondern was bietet der Server unter ihr. Es ist dieselbe Liste, die install.php vor der Einrichtung prüft — PHP-Fassung, Erweiterungen, Weblimits, Schreibrechte, Datenbank, Verbindungsgrenze, Kontingent, SMTP.

Sie hat zwei Stufen, und der Unterschied ist wichtig:

Stufe heißt
Muss Fehlt es, läuft die Anwendung nicht. Die Zeile steht rot und zählt oben mit.
Empfohlen Die Anwendung läuft vollständig — nur langsamer oder mit einem Handgriff mehr. Die Zeile steht als Hinweis und färbt die Ampel nicht.

Erfüllte Empfehlungen stehen nicht einzeln da; ihre Zahl steht im Kopf des Bereichs („7/8 empfohlen"). Seit Web 24.7.0 gehört „Antwort und Versand" dazu (bis dahin eine orange Zeile unter E-Mail): Kennt die PHP-Anbindung weder fastcgi_finish_request noch litespeed_finish_request, kann im ungünstigen Fall die Dauer von „Passwort vergessen" verraten, ob es zu einer Adresse ein Konto gibt. Ändern kann das nur der Hoster; deshalb färbt es die Ampel nicht. Und wo die Anwendung etwas nicht messen kann, sagt sie das, statt zu raten: Der freie Plattenplatz ist auf geteiltem Webspace die Zahl des ganzen Hosts und nicht dein Kontingent — die Zeile schreibt es dazu.

Die Seite ändert nichts am Bestand. Jede Zeile führt auf die Seite, auf der sich etwas ändern lässt — ein fehlender Serverschlüssel etwa auf die Karte „Schlüssel des Servers" unter Servereinstellungen. Eine Ausnahme führt nicht weg, sondern prüft an Ort und Stelle: die Testmail. Für SMTP gibt es überhaupt keine zuständige Seite: Der Zugang steht allein in der config.php. Bis Web 21.1.0 stand hier, auch der Serverschlüssel lasse sich an Ort und Stelle per Knopf anlegen — die Zeile verweist seit Web 20.0.0 auf die Servereinstellungen.

Die Zahlen sind nicht alle gleich alt. Wartungsmodus, Migrationen, Jobs, Konto-Backups und die Ablage werden bei jedem Aufruf gelesen. Die Größe von Datenbank und Dateien kommt aus der täglichen Messung im Aufräumjob; wann sie entstanden ist, sagt die Karte „Speicher" der Servereinstellungen.

Wenn die einzige BetreiberIn den Zweitfaktor verliert (seit Web 21.13.0)

Gerät weg, Wiederherstellungscodes weg, Notfallblatt weg — und es gibt keine zweite BetreiberIn, die auf der Kontoseite zurücksetzen könnte. Dafür gibt es die Seite zweitfaktor_notweg.php deiner Anlage (ohne Anmeldung erreichbar, auch im Wartungsmodus). Sie verlangt drei Dinge, die nur du hast:

  1. Eine Datei im Anwendungsverzeichnis. Die Seite nennt einen Namen wie zweitfaktor-notweg-3f9c….txt. Lege mit deinem FTP-Programm oder dem Dateimanager des Hosters eine Datei mit genau diesem Namen in das Verzeichnis, in dem auch config.php liegt. Was darin steht, spielt keine Rolle; eine leere Datei genügt. Der Name gehört zu diesem Browserfenster — schließt du den Browser oder bleibt die Seite lange liegen, zeigt sie danach einen anderen Namen, und du benennst die Datei um.
  2. Den Wert aus der Datenbank. Im Datenbankwerkzeug deines Hosters (meist phpMyAdmin) die Abfrage SELECT v FROM app_state WHERE k = 'notzugang_geheim'; ausführen und die 64 Zeichen abschreiben oder hineinkopieren. Leerzeichen und Bindestriche zählen nicht. Der Wert steht nirgends in der Anwendung, auch nicht auf dem Schlüsselblatt.
  3. Deine Adresse und dein Passwort.

Dann „Zweitfaktor zurücksetzen". Danach ist der Zweitfaktor aus, die Datei ist gelöscht, der Wert ist neu gewürfelt (der alte gilt nicht mehr), eine Mail geht an deine Adresse, und der Schritt steht im Protokoll. Du landest auf der Anmeldung, meldest dich mit dem Passwort an und richtest den Zweitfaktor sofort neu ein.

Die Seite sagt nicht, was nicht stimmte. Ob die Datei fehlt, der Wert falsch ist, das Passwort nicht passt oder es eine zweite BetreiberIn gibt — die Antwort ist immer derselbe Satz: „Der Notzugang steht für dieses Konto nicht bereit." Sonst könnte jeder, der die Adresse kennt, ausprobieren, wie deine Anlage aussieht. Nach fünf Versuchen in einer Stunde ist die Adresse gesperrt; die Seite sagt, bis wann.

Was er schützt und was nicht. Wer nur Dateien deines Webspace lesen kann — etwa aus einer Sicherung des Hosters —, kommt ohne den Wert aus der Datenbank nicht hinein; wer nur die Datenbank hat, nicht ohne die Datei. Wer auf deinem Webspace schreiben kann, kann dort aber auch ein eigenes Programm ablegen und hat damit alles — dagegen hilft keine Seite der Anwendung. Halte deshalb die Zugänge beim Hoster so sicher wie dein Passwort. Und: Hast du auch den Zugang zur Datenbank verloren, hilft der Notzugang nicht — dann führt der Weg über den Hoster und das Wiederanlaufpaket. Das Runbook in docs/Technik.md 13 nennt alle vier Wege in ihrer Reihenfolge, als letzten das SQL von Hand.

Die Zeile „Verbindungen" (seit Web 20.13.0)

Im Bereich Server. Sie beantwortet eine Frage, die sonst niemand stellt: Wie oft hat die Datenbank in der letzten Zeit keine Verbindung mehr angenommen?

Jeder Webspace begrenzt, wie viele Anfragen gleichzeitig mit der Datenbank sprechen dürfen — häufig zehn bis dreißig. Wird die Zahl erreicht, bekommt die nächste Anfrage eine Absage. Für den Menschen davor sieht das aus wie eine Seite, die nicht lädt; die Uhr und das Handy merken es gar nicht, sie liefern später von selbst nach. Es fällt also niemandem auf — bis es auffällt.

Die Zeile zeigt, wie oft es in der laufenden Stunde eng war, die größte je gemessene Stunde, die Gesamtzahl und wann es zuletzt vorkam. Sie wird orange, wenn es in der laufenden Stunde zehnmal oder öfter eng war — oder wenn die Spitze diese Schwelle erreicht hat und der letzte Vorfall keine 24 Stunden her ist. Dann steht auch dabei, was zu tun ist: max_user_connections beim Hoster anheben lassen.

„Keine abgewiesene Verbindung" und „Nicht gezählt" sind zwei verschiedene Auskünfte. Der Zähler liegt in einer Datei neben der Anwendung — er muss auch dann schreiben können, wenn die Datenbank gerade nicht antwortet. Lässt sich diese Datei nicht anlegen, sagt die Zeile das ausdrücklich, statt eine beruhigende Null zu zeigen.

Was die Anwendung selbst dabei tut: Sie antwortet mit einer eigenen Seite — „Der Server ist gerade ausgelastet — bitte in einer Minute noch einmal" — statt mit einer Fehlermeldung. Wer gerade ein Formular abgeschickt hat, geht im Browser zurück, findet die Eingaben noch im Formular und schickt es gleich noch einmal ab. Uhr und Handy behalten ihre Daten und liefern von selbst nach.

Wenn das Betriebsprotokoll nicht schreibt

Steht im Bereich Server eine rote Zeile „Betriebsprotokoll — n nicht geschrieben", sieh hin. Die Handlungen selbst sind gelungen — das Protokoll lässt nie eine Handlung scheitern, nur weil es selbst nicht schreiben kann. Aber es hat sie nicht festgehalten, und der Grund steht im Serverprotokoll deines Hosters unter der Kennung protokoll:. Der häufigste Grund: Ein Update ist eingespielt, aber update.php ist noch nicht gelaufen. Was das Protokoll festhält und wie lange, steht in 11.7. (Bis Web 24.6 stand das in einer eigenen Karte „Betriebsprotokoll" mit den Zahlen je Reiter, und die Zeile „Gerätemodelle" hatte hier einen Abschnitt.)

Die Ampel der Statusseite

Bis Web 21.0.0 stand das in der zugeklappten Karte „Was hier gilt" am Ende der Seite (P5c/AP9). Die Ampel hat vier Töne, und sie bedeuten auf der ganzen Seite dasselbe: Grün — es ist in Ordnung (bis Web 23.9.0 Blau). Orange — es braucht Aufmerksamkeit, arbeitet aber. Rot — es arbeitet nicht, oder es geht dabei etwas verloren. Neutral — nicht eingerichtet, oder eine reine Zahl ohne Wertung. Der Abschnitt „Braucht Aufmerksamkeit" hält die roten und orangen Zeilen.

Einen Zwischenspeicher über die ganze Seite gibt es bewusst nicht: Eine Statusseite, die einen Zustand zeigt, den es nicht mehr gibt, ist schlechter als keine. Die Testmail geht höchstens dreimal je Stunde hinaus; danach sagt die Zeile „Letzter Versand", ob sie angenommen wurde.

12.2 Statistik

Was diese Installation trägt — Konten, Geräte, Einsätze. Rein lesend und ohne Ampel: Der Status bewertet, die Statistik zählt. Eine Farbe gibt es trotzdem: Deaktiviert unter Geräte steht orange, sobald ein Gerät gesperrt ist.

Ohne Demo-Konto, und zwar in jeder Zahl. Sein Bestand ist erfunden und wird nach jeder Änderung neu aus einer Vorlage hergestellt; ihn mitzuzählen hieße, erfundene Einsätze als Nutzung auszugeben. „Von 11" meint elf echte Konten — in jedem Zustand: Unbestätigte, wartende und gesperrte zählen mit.

Nur echte Geräte, auf der ganzen Seite. Was im Browser entsteht — Formular, Import, eingelesene GPX-Datei —, läuft über ein unsichtbares Gerät je Konto; es zählt in keiner Gerätezahl.

Oben stehen vier Kennzahlen — Konten, Geräte, Einsätze gesamt, Einsätze in 30 Tagen —, jede führt in ihren Reiter. Darunter die Zeitraumwahl (seit Web 21.5.0, siehe unten) und drei Reiter (seit Web 20.47.0); jeder hat dieselbe Form: links die Tabelle „… je Zeitraum", rechts eine Karte mit dem, was es gibt.

  • NutzerInnen: Konten je Zeitraum über 24 Stunden, 7 Tage, 30 Tage und 6 Monate — Aktiv, Angemeldet, Neu angelegt. Aktiv heißt: angemeldet oder eines der Geräte des Kontos hat sich gemeldet. Wer nur mit der Uhr arbeitet und sich nie im Browser anmeldet, ist aktiv, aber nicht angemeldet. Rechts die Konten nach Rolle und wie viele ohne Gerät sind: Wer ausschließlich von Hand dokumentiert, zählt dazu, auch wenn er schon eine GPX-Datei eingelesen hat.
  • Einsätze: Einsätze je Zeitraum über 24 Stunden, 7 Tage, 30 Tage, 6 Monate und 1 Jahr — die Zahl, wie viele NutzerInnen einen Einsatz hatten, und der Durchschnitt je NutzerIn mit Einsatz. Rechts die Herkunft der Einsätze im gewählten Zeitraum: Garmin-Uhr, Android-Handy, Wear-OS-Uhr (an der Uhr begonnen, vom Handy gesendet), Formular, Import und Schnitt — alle sechs, auch mit 0; dazu Andere, wenn ein Wert dasteht, den diese Fassung nicht kennt.
  • Geräte: Geräte je Zeitraum — zuletzt gemeldet, gekoppelt — über 7 Tage, 30 Tage und 6 Monate; rechts die Geräte nach Art (Garmin-Uhren, Android-Handys; Sonstige und ohne Angabe, wenn es welche gibt; deaktiviert). Darunter die Gerätemodelle als Tabelle: Gerät, Hersteller, Art, die Zahl der Geräte und ihr Anteil an allen Geräten, die Zahl der NutzerInnen mit diesem Modell und ihr Anteil an allen Konten. Ein Klick auf einen Spaltenkopf sortiert und bleibt im Reiter; „Als CSV" im Kartenkopf lädt dieselben Spalten als Datei herunter, für Excel gemacht (Semikolon, Umlaute richtig).

Die Prozentzahl unter einer Zeile bezieht sich auf ihre Karte: bei den Konten auf alle Konten, bei den Geräten auf alle Geräte, bei der Herkunft auf die Einsätze des gewählten Zeitraums.

Der Zeitraum (seit Web 21.5.0). Über den Reitern stehen vier Pillen — 7 Tage, 30 Tage (die Vorgabe), 6 Monate, 1 Jahr — und daneben zwei Datumsfelder Von und Bis.

  • Eine Pille bestimmt die vierte Kennzahl („Einsätze in 6 Monaten") und die Herkunft der Einsätze. Die Tabellen zeigen weiter alle Fenster nebeneinander.
  • Von und Bis geben einen eigenen Zeitraum, etwa einen Monat. Er gilt vom Beginn des ersten bis zum Ende des letzten Tages, in der Ortszeit der Installation. Abgeschickt wird er, sobald beide Felder gefüllt sind und du sie verlässt; ohne JavaScript mit „Anwenden". Er steht dann als orange Pille mit Kreuz da, und ein Klick darauf nimmt ihn wieder weg. Ein Bis nach heute wird auf heute gekürzt; ein Von nach heute oder nach dem Bis weist die Seite mit einer Meldung ab und zeigt die 30 Tage.
  • Mit eigenem Zeitraum hat jede Tabelle eine Spalte „im Zeitraum". Unter Einsätze stehen daneben der Schnitt je Woche und je Tag, damit sich verschieden lange Zeiträume vergleichen lassen. Unter NutzerInnen kommt die Zeile NutzerInnen mit Einsatz dazu.
  • „Aktiv", „Angemeldet" und „Zuletzt gemeldet" stehen nur, wenn der Zeitraum bis heute reicht, sonst steht dort „—". Die Anwendung merkt sich je Konto nur die letzte Anmeldung und je Gerät nur die letzte Meldung. Für März lässt sich deshalb nicht sagen, wer im März angemeldet war: Wer sich im März und wieder im September angemeldet hat, fiele heraus, und die Zahl sänke, je weiter der Zeitraum zurückliegt. Neu angelegt und gekoppelt stehen immer, weil ein Konto und ein Gerät ihr Anlagedatum behalten.
  • Ein Wechsel des Reiters behält den Zeitraum.

Die Diagramme (seit Web 21.6.0). Über jeder Tabelle steht der gewählte Zeitraum als Säulen: unter Einsätze die Einsätze, unter Geräte die gekoppelten Geräte, unter NutzerInnen zwei kleine Diagramme — Mit Einsatz (Konten, die dort mindestens einen Einsatz begonnen haben) und Neu angelegt. Bis 31 Tage steht eine Säule je Tag, bis ein Jahr je Woche (ab Montag), darüber je Monat; der Satz unter dem Diagramm sagt, welche Einteilung gilt. Die höchste Säule ist dunkelorange und trägt ihre Zahl; jede andere zeigt ihre Zahl, wenn der Mauszeiger darauf steht. Am Handy gibt es kein Überfahren — dort steht jede Zahl in der Tabelle darunter, und die Tabelle bleibt auch am Schreibtisch die genaue Auskunft. Die Herkunft der Einsätze steht als Balken: je Herkunft der Anteil und die Zahl. „Aktiv" und „angemeldet" gibt es nicht als Diagramm — aus demselben Grund, aus dem sie für einen vergangenen Zeitraum fehlen.

Wie die Einsätze gezählt werden. Ab dem Beginn des Einsatzes — ohne Demo-Konto, ohne Papierkorb. Jedes Fenster und jeder Zeitraum reicht höchstens bis jetzt: Ein Einsatz mit einem Beginn in der Zukunft (vorausgeplant, oder eine Uhr mit falscher Zeit) steht nur unter „gesamt". „6 Monate" sind 180 Tage, „1 Jahr" 365. Bis Web 20.46.0 zählte diese Seite nach Diensttag. Die Zahlen hier können deshalb um einzelne Einsätze von der Summe der eigenen Statistiken abweichen: Dort zählt der Diensttag, und ein Einsatz, der nach Mitternacht beginnt, gehört zum Dienst des Vortags — hier zum Tag seines Beginns.

Wear-OS-Uhren erscheinen unter Geräte nicht, und das ist kein Fehler: Die Uhr-App kennt weder Serveradresse noch Schlüssel. Sie schickt ihre Ereignisse an das Handy, und das Handy sendet — gekoppelt ist also das Handy. Eine verlorene Uhr gibt keinen Zugang preis; das ist der Zweck dieser Bauform. Unter Herkunft der Einsätze steht die Wear-OS-Uhr sehr wohl: Dort geht es darum, wo ein Einsatz begonnen wurde, nicht darum, welches Gerät gekoppelt ist.

Der Hersteller steht nirgends gespeichert, er wird abgeleitet: Eine Uhr, die koppelt, ist eine Garmin-Uhr; bei einem Handy gilt das erste Wort des Modellnamens, weil der Name aus Hersteller und Modell zusammengezogen ist. Eine Faustregel, keine Zusage.

12.3 Updates

Ein Vorgang, zwei Karten dafür. Oben der Wartungsmodus mit einem Satz — der Ablauf steht unten unter „Der Wartungsmodus" —, darunter die ausstehenden Updates.

Das bloße Öffnen der Seite ändert nichts — sie zeigt erst an, was anstünde, und wartet auf den Knopf „Ausstehende ausführen".

Wann du hier hin musst: nach jedem Code-Update, das die Datenbank ändert. Ohne diesen Aufruf bleibt die Anwendung auf dem alten Datenbankstand stehen — sie sagt es auf dieser Seite und im Status (12.1), aber sie tut es nicht von selbst. Auf der Kommandozeile geht es auch: php update.php läuft ohne Sitzung, für den Fall, dass die Anmeldung selbst von einer Migration abhängt.

Gezeigt wird nur, was aussteht. Bis Web 15.0.0 standen alle 43 Migrationen da, davon 41 mit „Bereits angewendet" — man musste scrollen, um die zwei Zeilen zu finden, um die es ging. Die ausgeführten liegen jetzt zugeklappt in der Karte „Ausgeführt" darunter. Diese Tabelle steht auf dem Kopf: neueste Einträge oben, mit einer Spalte „Web", die die Fassung nennt, mit der das Update ausgeliefert wurde. Ausgeführt werden die Updates weiterhin in ihrer ursprünglichen Reihenfolge — sie bauen aufeinander auf; gedreht ist allein die Anzeige.

Jede Zeile trägt ihren Stand als Plakette: steht aus (orange), nicht nötig (grau), blockiert (rot) oder Fehler (rot). Eine blockierte Migration hat einen von zwei Gründen, und die Zeile nennt ihn. Entweder würde sie eine Spalte löschen, in der noch Daten stehen; dann läuft sie nur, wenn du das Kästchen vor ihrer Zeile setzt — und dieses Kästchen heißt: Die Daten sind gesichert. Oder ihr fehlt eine Vorbedingung (seit Web 21.0.0, etwa ein Backup-Ziel, das noch auf FTP steht); dann gibt es kein Kästchen: Du stellst her, was die Zeile verlangt, und führst danach erneut aus.

„nicht nötig" heißt: Am Datenbankstand ist nichts zu tun, es fehlt nur der Vermerk. Seit Web 15.5.2. Das kommt vor, wenn eine Änderung auf anderem Weg schon eingespielt wurde — etwa von Hand über das Datenbankwerkzeug des Hosters, weil der Weg über diese Seite versperrt war (siehe unten). Die Anwendung sieht dann ein Schema, das schon stimmt, und ein Buch, in dem der Eintrag fehlt. Der Knopf „Ausstehende ausführen" trägt ihn nach; ausgeführt wird dabei nichts, und die Zeile wandert danach in die Karte „Ausgeführt".

Bis dahin zählt diese Zeile mit: Die Seite, die Zeile „Updates" im Status (12.1) und die Zahl am Menüpunkt nennen dieselbe Zahl. Vor Web 15.5.2 taten sie das nicht — Status und Menü zählten die Zeile, die Seite legte sie unter „Ausgeführt" und meldete „Alles aktuell", und dann gab es hier keinen Knopf, mit dem sich der Vermerk hätte nachholen lassen.

Der Zähler am Menüpunkt hängt bis zu einer Minute nach. Er wird zwischengespeichert, damit nicht jeder Seitenaufruf die volle Erhebung bezahlt. Steht nach dem Knopfdruck noch eine Zahl dort, ist das kein Fehlschlag — lade die Seite eine Minute später noch einmal.

Scheitert eine Migration, hält die Kette an. Was dahinter stand, bleibt unangetastet und steht als „NICHT MEHR VERSUCHT" da — der nächste Lauf nimmt es sich vor, sobald die Ursache behoben ist.

Über der Liste nennt eine Meldung das jüngste Komplett-Backup mit Alter. Gibt es keines, ist die Meldung eine Warnung: Migrationen können Spalten und Daten unwiderruflich entfernen, und dagegen schützt nur das Komplett-Backup der Installation — nicht das Backup eines einzelnen Kontos.

Jede ausgeführte Migration steht außerdem im Protokoll (11.7), Reiter Verwaltung, als „Migration" — mit wem und wann; die Karte „Ausgeführt" nennt dazu die Fassung.

Die Karte „Fassung" nennt zuunterst Web-Version, Datenbankstand und den Stand der Apps. Für die Uhr-App gibt es keinen Mindeststand: Der Server nimmt jede Fassung an, weil der Datenvertrag abwärtskompatibel gehalten ist.

Der Wartungsmodus

Ganz oben unter Betrieb → Updates steht die Karte „Wartungsmodus" mit einem Schalter. Sie steht dort und nicht auf einer eigenen Seite, weil sie zum selben Vorgang gehört wie die Migrationen darunter: Man schaltet vor dem Deploy ein und nach der Migration aus. Er schließt die Anwendung vorübergehend für alle; offen bleiben nur die Seiten unter Betrieb. Die Karte selbst trägt seit Web 21.1.0 nur noch einen Satz — der Ablauf eines Updates steht hier und nicht mehr als Liste in der Karte.

Wofür. Während eines Updates werden die Dateien auf dem Server nach und nach ersetzt, und danach muss noch die Datenbank angepasst werden. Wer in dieses Fenster gerät, sieht eine Fehlerseite — und eine Uhr, die genau dann sendet, bekommt einen Fehler, mit dem sie nichts anfangen kann. Mit dem Wartungsmodus bekommen alle stattdessen eine Wartungsseite, und die Geräte bekommen eine Antwort, die sie kennen: später noch einmal. Sie behalten ihre Daten und liefern von selbst nach, sobald du wieder ausschaltest. Es geht nichts verloren. Technisch entscheidet die Seite, nicht die Rolle: Offen bleiben die Anmeldung, die Seiten unter Betrieb — seit Web 21.1.0 einschließlich Komplett-Backup und Backup-Ziele — und das Schlüsselblatt; jede andere Anfrage bekommt 503 mit Retry-After: 300, auch jede Seite unter Verwaltung. Anmelden kann sich nur, wer verwaltet (Admin und BetreiberIn); alle anderen werden sofort wieder abgemeldet und sehen die Wartungsseite. Die Seiten unter Betrieb erreicht nur die BetreiberIn. Bis Web 21.1.0 stand hier und in der Karte „außer Verwaltung und Betrieb" — das Tor hat aber nie nach Rollen gefragt.

So läuft ein Update mit Wartungsmodus:

  1. Vorher das Komplett-Backup machen — nicht danach. Betrieb → Komplett-Backup, „Jetzt sichern". Die Seite Updates nennt darüber das jüngste Paket mit Alter; ist es alt, ist jetzt der Zeitpunkt. Warum vorher: Das Backup soll den Stand vor dem Update festhalten. Seit Web 21.1.0 ist die Seite Komplett-Backup auch im Wartungsmodus erreichbar — schließt der Torwächter, bevor du gesichert hast, geht es trotzdem; bis dahin stand sie hinter der Sperre (HTTP 503).
  2. „Wartungsmodus einschalten" klicken.
  3. Das Update einspielen lassen (das macht die Entwicklung).
  4. Die Seite „Updates" neu laden und die anstehenden Migrationen ausführen.
  5. In einem zweiten Reiter die Startseite aufrufen. Es muss die Wartungsseite kommen — kommt die normale Seite, ist der Wartungsmodus nicht an.
  6. „Wartungsmodus ausschalten" klicken. Startseite erneut aufrufen: Sie antwortet, und unten in der Fußzeile steht die neue Fassung.
  7. Uhr und Handy melden sich beim nächsten Mal von selbst. Nichts zu tun.

Seit Web 20.6.0 schaltet ihn auch die Anwendung selbst — der Torwächter. Ist eine neue Fassung eingespielt worden und steht noch eine Migration aus, schließt die Installation bei der nächsten Anmeldung von selbst. Die Wartungsseite sagt dann ausdrücklich, dass sie selbst geschlossen hat und warum; auf Betrieb → Updates steht dieselbe Auskunft als Meldung, und nach „Ausstehende ausführen" erscheint dort ein zweiter Knopf „Wartung beenden" — genau da, wo du gerade geklickt hast.

Aus geht der Wartungsmodus nie von selbst, auch nicht der des Torwächters. Das ist Absicht: Wer eine halb migrierte Installation wieder öffnet, tut das mit einem Klick und nicht aus Versehen. Im Balken oben steht bei einer automatisch geschalteten Wartung „automatisch geschaltet" statt eines Namens, dazu der Grund.

Ein Fenster bleibt, und es ist klein. Uhr und Handy sprechen nicht über die Anmeldung, sondern direkt mit ingest.php — bis zur ersten Anmeldung nach einem Update bekommen sie deshalb noch die alte Fehlermeldung statt des freundlichen 503. Verloren geht dabei nichts: Beides ist ein Serverfehler, und beide Geräte puffern und liefern nach. Wer über die Auslieferungskette ausliefert, hat das Fenster gar nicht — die schaltet vorher.

Was währenddessen weiter geht. Alle Seiten unter Betrieb — Status, Sicherheit, Statistik, Updates, Hintergrundjobs, Servereinstellungen und seit Web 21.1.0 auch Komplett-Backup und Backup-Ziele —, das Schlüsselblatt, die Anmeldung, das Abmelden und der Abruf der Hintergrundjobs. Sonst nichts — auch keine Seite unter Verwaltung. Das ist Absicht: Wer umbaut, soll den Zustand der Anlage sehen und sichern können und sonst nichts anfassen. Nachgemessen wird das mit jeder Auslieferung (tools/proben/wartung/).

Warum Komplett-Backup und Backup-Ziele dazugekommen sind: Schließt der Torwächter, weil eine Migration aussteht, sagt die Seite Updates „vorher sichern" — und bis Web 21.0.0 führte ihr Knopf zum Komplett-Backup in die Sperre. Ebenso schickte die Vorbedingung einer Migration auf die Backup-Ziele, die gesperrt waren.

Ein laufendes Komplett-Backup läuft weiter. Es arbeitet in Portionen über den Abruf der Hintergrundjobs, und der bleibt offen. Genau dann ist sein Stand sogar am saubersten — weil sonst niemand schreibt.

Wer sich anmeldet, aber nicht verwaltet, wird gleich wieder abgemeldet und sieht die Wartungsseite. Auch das ist Absicht — während umgebaut wird, soll niemand mitten in einer Eingabe stehen.

Der Wartungsmodus schaltet sich nicht von selbst ab. Es gibt keine Zeitsteuerung. Solange er steht, trägt jede Seite unter Betrieb und die Anmeldeseite oben einen orangen Balken mit Zeitpunkt und Konto — das sind die einzigen Seiten, auf denen er überhaupt zu sehen ist (seit Web 21.1.0 neun; das Schlüsselblatt trägt ihn nicht, es wird gedruckt). Alle anderen zeigen die Wartungsseite, und die sagt nicht, seit wann. (Bis Web 15.5.1 fehlte er auf der Statistik: die eine Betriebsseite, auf der man länger liest als anderswo.)

Wenn die Seite selbst gesperrt ist, weil eine Migration erst die Rolle vergibt. Diesen Fall gibt es, und er ist am 06.09.2026 eingetreten: Betrieb → Updates verlangt die Rolle BetreiberIn, und wenn ausgerechnet die ausstehende Migration diese Rolle einführt, kommt niemand auf die Seite, die sie ausführen müsste. Der Weg heraus führt über das Datenbankwerkzeug des Hosters (phpMyAdmin oder gleichwertig) — er steht mit den genauen Schritten im Runbook (Technik.md, Abschnitt 13). Danach steht die Migration hier als „nicht nötig", und ein Druck auf „Ausstehende ausführen" trägt den Vermerk nach.

Wenn du dich selbst aussperrst. Es gibt zwei Wege zurück. Der erste: Die Anmeldeseite funktioniert weiter. Melde dich mit einem BetreiberIn-Konto an — die Anmeldung führt danach auf die Startseite, und die zeigt im Wartungsmodus die Wartungsseite. Dort steht der Knopf „Zur Verwaltung", und der bringt dich zum Schalter zurück. Der zweite Weg: Wer Zugang zum Webspace hat, löscht die Datei wartung.lock im Verzeichnis .zustand/ neben den übrigen Serverdateien (seit Web 23.3.1; vorher lag sie direkt dort — eine Datei am alten Ort gilt noch, also beide löschen). Mehr als diese Datei ist der Schalter nicht.

Beides hat bis September 2026 nicht funktioniert, und zwar nacheinander: Bis Web 19.1.2 ließ sich das Anmeldeformular gar nicht abschicken, und bis Web 19.3.0 führte von der Wartungsseite kein Knopf weiter — man musste die Adresse betrieb_updates.php von Hand eintippen. Der Satz oben beschreibt seither einen Weg, den es auch gibt.

12.4 Hintergrundjobs

Unter Betrieb → Hintergrundjobs steht in der Karte „Zustand", ob die regelmäßige Arbeit noch läuft: je Job wann er zuletzt lief, wer ihn angestoßen hat, wie viel noch aussteht und woran der letzte Lauf scheiterte. Steht dort „Fehler", wird unter anderem der Papierkorb nicht mehr geleert; die Ursache steht in derselben Karte im Klartext.

Was mit alten GPS-Daten geschieht. Die Anwendung legt GPS-Daten in drei Stufen ab. Frisch von Uhr oder Handy kommen sie in kleinen Stücken; sobald ein Einsatz abgeschlossen ist, werden sie zu einem kompakten Paket zusammengefasst — daran ändert sich nichts, was man sieht. 31 Tage nach dem Einsatz werden sie ausgedünnt: Es bleiben die Punkte, die den Weg beschreiben, und die zu den Einsatzphasen gehören; dazwischenliegende, die auf der Linie liegen, fallen weg. Auf der Karte sieht der Weg danach genauso aus. Die Punktzahl in Export und GPX ist danach kleiner — das ist kein Verlust der Aufzeichnung, sondern ihre Verdichtung, und es lässt sich nicht rückgängig machen. Seit Web 22.6.0 tut das nicht mehr ein Job hier, sondern der Browser jedes Kontos (Abschnitt 6, „GPS-Daten verdichten"): Der Server kann die verschlüsselten Aufzeichnungen nicht lesen. Bis dahin standen in dieser Liste die Jobs „GPS-Daten verdichten" und „GPS-Daten ausdünnen", mit einer Frist von zwei Wochen und sechs Monaten und einer Liste dessen, was liegenblieb. Aufzeichnungen aus der Zeit vor der Verschlüsselung gibt es seit Web 23 nicht mehr.

Zwei Dinge, die man dazu wissen sollte: Ändert man bei einem älteren, bereits ausgedünnten Einsatz eine Phasenzeit, wird die Höhe des Einsatzorts nicht neu bestimmt — die Anwendung behält den bisherigen Wert, statt ihn kommentarlos zu verlieren. Und die Uhr kann zu einem ausgedünnten Einsatz keine Punkte mehr nachliefern; sie bekommt eine Bestätigung, damit sie ihren Speicher leert, die Punkte werden aber nicht mehr aufgenommen.

Die Jobs pausieren. Ganz oben steht die Karte „Jobs vorübergehend pausieren" (seit Web 24.7.0; bis dahin hieß der Knopf „Jobs anhalten" und stand am Ende der Karte „Zustand") mit einer Dauerwahl: 15 Min., 30 Min., 1 Std. oder 2 Std., und dem Knopf „Pausieren". Das ist für den Fall gedacht, dass etwas schiefläuft oder ein großes Backup einzuspielen ist. Während der Pause geschieht gar nichts — nichts wird aufgeräumt, gesichert oder versendet, auch das geplante Komplett-Backup nicht. Das Verdichten der GPS-Daten im Browser hält sie nicht an; es gehört nicht zu diesen Jobs. Die Rückfrage sagt genau das.

Die Pause läuft von selbst ab; länger als zwei Stunden am Stück geht nicht, damit eine vergessene Pause die Installation nicht dauerhaft anhält. Solange sie läuft, trägt die Karte die Plakette „pausiert bis …", und statt „Pausieren" steht dort „Pause aufheben". Auch Betrieb → Status zeigt die Pause als eigene Zeile.

Der Zustand je Job ist eine Zeile mit einem Satz und zwei Plaketten: wann er zuletzt lief („heute 23:24", „gestern 07:10", sonst das Datum) und wodurch („Anfrage", „Kommandozeile", „Adresse"); Rückstand und Fehler kommen dazu, wenn es sie gibt. Auslöser, Auslieferungskette und Monitoring sind zugeklappte Karten mit ihrem Stand im Kopf.

Seit Web 19.3.0. Vorher ging das nur auf der Kommandozeile (php jobs.php --pause <Sekunden>, 0 hebt auf) — und die gibt es auf geteiltem Hosting meist nicht. Der Befehl funktioniert weiterhin; beide Wege schreiben denselben Wert.

Daneben, in der Karte „Auslöser", stehen die drei Wege, auf denen diese Arbeit angestoßen werden kann — mit fertigem Befehl bzw. fertiger Adresse und seit Web 15.1.0 einem Knopf „Kopieren" daneben. Eingerichtet werden muss keiner: Ohne Einrichtung läuft die Arbeit in kleinen Portionen auf den Anfragen mit. Wer viele Daten hat, richtet besser einen Zeitplan ein, weil der Rückstand sonst wächst; welcher der beiden geht, sagt der Hoster. Die Adresse enthält ein Geheimnis — sie gehört nicht in eine Mail und nicht in ein Ticket. „Neues Token erzeugen" macht die alte Adresse ungültig; ein bestehender Zeitplan-Eintrag läuft danach ins Leere.

Die drei Auslöser, Budget und Reihenfolge

Bis Web 21.0.0 stand das auf der Seite selbst, als Absätze in der Karte „Auslöser" und in einer zugeklappten Karte „Was hier gilt" (P5c/AP9).

1. Kommandozeile (empfohlen) — ein Eintrag im Cron des Webspace. Jede Minute ist unbedenklich: Ein Lauf ohne Arbeit kostet zwei Abfragen. 2. Abruf über die Adresse — wo es keinen Cron auf der Kommandozeile gibt, aber einen zeitgesteuerten Abruf („Cronjob per URL"). 3. Huckepack auf einer Anfrage — der Rückfall, immer eingeschaltet. Er trägt höchstens 3 Sekunden je Anfrage und wiederholt sich frühestens nach 5 Minuten: genug, damit eine Installation ohne jede Einrichtung nicht stillsteht, zu wenig für einen großen Rückstand. Wer 1. oder 2. eingerichtet hat, merkt ihn nicht.

Budget. Ein Lauf arbeitet, bis seine Zeit um ist, und hört dann auf — er bricht nichts ab, sondern merkt sich, wo er war. Die Kommandozeile bekommt 300 Sekunden, der Abruf über die Adresse 20, die Anfrage 3.

Reihenfolge. Die Jobs laufen in der Reihenfolge der Liste in der Karte „Zustand", und was ins Restbudget nicht mehr passt, kommt beim nächsten Mal. Deshalb steht die eigentliche Arbeit vorn und das Sicherheitsnetz („Verwaiste GPS-Daten") hinten.

Ein Rückstand ist kein Fehler. Er zählt auch mit, was einfach noch nicht dran ist — etwa ein Papierkorb, dessen Frist noch läuft.

Zwei Tokens, seit Web 23.1.0. Das Token in der Adresse unter 2. — das Job-Token — startet nur noch den Job-Lauf. Eine Adresse steht im Zugriffsprotokoll des Hosters, und mehr als „die Jobs laufen lassen" soll damit niemand können. Die Auslieferung über GitHub braucht mehr: Sie stößt das Komplett-Backup an und schaltet die Wartung ein und aus. Dafür steht in der Karte „Auslieferungskette" ein zweites Token, das Kettentoken. Es gehört als Geheimnis JOBS_TOKEN in die GitHub-Umgebung, die zu dieser Anlage ausliefert, und reist nie in einer Adresse.

„Neues Token erzeugen" macht jeweils das bisherige ungültig: beim Job-Token läuft ein Zeitplan-Eintrag beim Hoster danach ins Leere, beim Kettentoken scheitert die nächste Auslieferung, bis der neue Wert in GitHub steht. Seit Web 23.5.0 fragt der Knopf nach einem frischen Code des Zweitfaktors, wenn der letzte älter als eine Viertelstunde ist (3.1f) — wer ein Token erneuert, legt Zeitplan, Kette oder Monitoring still, und das soll eine fremde Sitzung nicht können. Nach dem Code steht die Seite wieder da; den Knopf dann noch einmal drücken.

Das dritte Token, seit Web 23.5.0: Monitoring. In der Karte „Monitoring" steht das Health-Token für ein eigenes Monitoring (Abschnitt 12.9) — erzeugen, kopieren, erneuern oder die Abfrage ganz abschalten. Bis dahin stand es nur in der config.php. Einmal nach dem Update auf Web 23.1.0 sollten beide erneuert werden, weil das alte, gemeinsame Token in den Zugriffsprotokollen steht; die Schrittfolge steht im Runbook (Technik.md 13).

12.5 Servereinstellungen

Jede Karte ist zugeklappt (seit Web 24.7.0): Im Kopf stehen der eingestellte Stand in einer Zeile („5000 Einsätze · 250 MB je Konto") und eine Plakette; ein Klick klappt das Formular auf. So ist die Seite eine Übersicht, und wer eine Sache ändern will, öffnet nur ihre Karte. Ganz unten steht seit derselben Fassung die Karte „Backup-Ziele" (12.7).

Nach dem Speichern steht die Meldung in der Karte, in der du geklickt hast, die Karte ist offen, und die Seite springt dorthin (seit Web 21.8.0). „Neu laden" schickt danach nichts noch einmal ab — bis dahin wiederholte es die Handlung, etwa eine Rundmail. Hat die Seite eine Eingabe abgewiesen, bleibt sie mit dem Getippten stehen, und die Meldung steht oben.

Karte „Ankündigung" (seit Web 20.38.0)

Ganz oben: Hier setzt du den Streifen, der über jeder Seite steht, und verschickst ihn auf Wunsch als Rundmail. Beschrieben in Abschnitt 12.8.

Karte „Schlüssel des Servers" (seit Web 20.1.0)

Gleich unter der Ankündigung, und das ist Absicht. Bis Web 20.37.3 stand sie zuoberst; die Ankündigung ist darüber gerückt, weil sie die Karte ist, für die man diese Seite am häufigsten aufschlägt, und weil sie kurz ist. Eine rote Lage der Schlüssel steht zusätzlich auf der Statusseite und am Menüzähler. Diese Installation hat zwei Geheimnisse, und beide stehen in config.php — nicht in der Datenbank:

  • der Serverschlüssel versiegelt, was der Server ohne Browser lesen können muss: die Zugangsdaten der Backup-Ziele, das Komplett-Backup, die Konto-Backups, die Archive des Protokolls und die Geheimnisse des Zweitfaktors (die letzten fehlten hier bis Web 21.12.0);
  • der Server-Anteil geht in den Datenschlüssel jedes Kontos ein. Der Server kann damit trotzdem nichts öffnen — aber ein Datenbankabzug allein reicht nicht mehr, um ein Passwort durchzuprobieren.

Die Karte zeigt die Werte nicht. Sie nennt zu jedem eine Kennung aus acht Zeichen. Damit lässt sich vergleichen, ohne vorzulesen: Stimmt die Kennung auf dem Ausdruck in der Betriebsakte mit der auf dem Bildschirm überein, ist es derselbe Wert. Ein Wert, der vollständig auf dem Bildschirm steht, landet früher oder später in einem Screenshot. Die einzige Seite, die den Wert zeigt, ist das Schlüsselblatt.

Jeder Griff an den Schlüsseln und das Schlüsselblatt verlangen einen frischen Code (seit Web 21.9.0) — einen, der höchstens 15 Minuten alt ist (3.1f). Ist er älter, führt der Knopf auf „Code bestätigen"; nach dem Code steht das Blatt da, bei einem Griff die Karte mit dem Hinweis, ihn noch einmal auszulösen. „Abbrechen" führt ohne Code in die Karte zurück. Die Bestätigung ist auch im Wartungsmodus erreichbar.

Drucke das Schlüsselblatt, sobald du einen Wert angelegt oder gewechselt hast. Der Knopf steht auf der Karte. Nach jedem Wechsel — des Anteils wie des Serverschlüssels — fragt die Anlage seit Web 21.12.0 sofort nach dem Blatt, bei der nächsten Anmeldung jeder BetreiberIn, und sagt voran: „Ein Wert hat gewechselt — drucke das Blatt neu" (unten, „Die Rückfrage"). Bis dahin kam die Frage erst im nächsten Quartal. Was darauf steht und wohin es gehört, sagt das Blatt selbst; das Wichtigste in einem Satz: zwei Ausdrucke, zwei getrennte Orte — Betriebsakte und Passwortmanager der BetreiberIn. Nicht in den Serverordner, nicht in dasselbe Backup. Das Blatt soll genau das überleben, was config.php nicht überlebt.

Was die Karte anbietet, hängt an der Lage:

Lage Was sie sagt Was zu tun ist
nicht eingerichtet „nicht eingerichtet" anlegen — bis dahin läuft alles wie vor Web 20.0.0
bereit Kennung nichts; das Blatt drucken, falls noch nicht geschehen
Rotation läuft (Anteil) neue und alte Kennung, dazu wie viele Konten noch auf dem alten stehen warten, bis die Zahl auf null steht — jedes Konto stellt beim nächsten Anmelden von selbst um —, dann „Alten Anteil entfernen"
Wechsel (Serverschlüssel, seit Web 21.12.0) neue und bisherige Kennung, „Umhüllung: noch n von m" (ganz am Anfang auch „wird gezählt"), „Bevor der bisherige gehen darf: k von 3" den drei Punkten folgen (unten), dann „Alten Schlüssel entfernen"
abweichend vorhandene und erwartete Kennung den richtigen Wert Nachtragen vom Blatt; nur wenn er unwiederbringlich weg ist: Neuanfang

Nachtragen vom Blatt ist sicher. Der Server rechnet die Kennung des eingegebenen Werts und schreibt nur bei Übereinstimmung; passt sie nicht, wird nichts geändert und die Meldung nennt beide Kennungen. Leerzeichen, Bindestriche und Groß- oder Kleinschreibung dürfen drinbleiben — tippe den Wert ruhig in den Vierergruppen ab, in denen er auf dem Blatt steht.

„Server-Anteil wechseln" legt einen neuen an und lässt den alten stehen, bis kein Konto mehr auf ihm steht. Danach ein neues Blatt drucken und das alte vernichten: Ein altes Blatt ist nicht nur überflüssig, es ist irreführend — es zeigt einen Wert, der nichts mehr öffnet. Während eines Wechsels des Serverschlüssels fehlt der Knopf: Beide Rotationen laufen nacheinander, sonst trüge das Blatt vier Werte und zwei Seiten.

„Serverschlüssel wechseln" (seit Web 21.12.0) — für den Verdacht, dass das Blatt oder config.php in falsche Hände kam. Der Vorgang in fünf Sätzen: Du setzt den Haken, dass die Kopien auf dem Backup-Ziel unter dem bisherigen bleiben, und bestätigst; ab da versiegelt die Anlage mit einem neuen, und der bisherige bleibt als zweiter Wert in config.php stehen. Dann druckst du sofort das Blatt neu — es trägt jetzt beide. Die Anlage hüllt in Häppchen um, was sie erreicht (Zugänge der Ziele, Zweitfaktor-Geheimnisse, Konto-Backups, Archive), und weist jedes Stück mit dem neuen nach; Jetzt weiterarbeiten treibt es an — und ist ohne eingerichteten Auslöser der einzige Weg für Konto-Backups und Archive. Danach merkt sie selbst ein Komplett-Backup vor (ohne eingerichteten Auslöser: Jetzt sichern), und du beantwortest die Rückfrage zum Blatt. Erst wenn alle drei stehen, erscheint Alten Schlüssel entfernen. Jede BetreiberIn bekommt beim Beginn und beim Abschluss eine Mail. Zum Schluss gehört eine frische config.php ins Wiederanlaufpaket (12.6).

Seit Web 21.12.1 beginnt der Nachweis erst zehn Minuten nach dem Wechsel — so lange kann ein Vorgang, der vorher begann, noch mit dem bisherigen Schlüssel versiegeln, und der Nachweis soll ihn sehen. Bis dahin zeigt die Karte „Nachweis ab HH:MM". Ein Stück, das sich nicht umhüllen lässt, steht mit Grund in der Zeile „Ließen sich nicht umhüllen" (die ersten zwanzig mit Namen, dahinter „und n weitere"); es liegt noch unter dem bisherigen, die Anlage versucht es immer wieder, und der bisherige bleibt, bis es umgehüllt oder fort ist. Ein kaputtes Konto-Backup darfst du löschen und neu erzeugen. Steht ein Wechsel von Hand in config.php — jemand hat den Wert dort eingetragen, ohne diese Karte —, behandelt die Anlage ihn wie einen über die Karte: Eintrag im Protokoll, Mail an jede BetreiberIn, die Rückfrage zum Blatt. Die Mail sagt dann: von Hand eingetragen — oder der Beginn über die Karte ist gescheitert; im zweiten Fall steht es im Reiter System.

„Der Job Schlüsselwechsel arbeitet gerade …" heißt: Ein anderer Griff an die Schlüssel oder ein Häppchen des Jobs hält die Sperre. Meist ist sie nach Sekunden frei. Ist ein Häppchen an der Zeitgrenze des Hosters gestorben, bleibt sie bis zu einer Stunde stehen — die Meldung nennt, seit wann, und wann sie spätestens frei ist. Bis dahin lässt sich an den Schlüsseln nichts ändern, auch nicht nachtragen.

Die Blatt-Regel ist hier umgekehrt: Das bisherige Blatt NICHT vernichten. Beim Anteil öffnet ein altes Blatt nichts mehr. Beim Serverschlüssel öffnet es alles, was vor dem Wechsel versiegelt wurde und nicht umgehüllt werden kann — die Komplett-Stände von vorher und alles, was schon auf dem Backup-Ziel liegt. Es gehört in die Betriebsakte, solange dort etwas liegt, das nur es öffnet; die Listen zeigen solche Stücke mit „anderer Schlüssel". Was sich mit keinem der beiden öffnen lässt, nennt die Karte — es war vorher schon stumm und hält den Wechsel nicht auf.

„Server-Anteil neu erzeugen" ist die letzte Tür. Sie steht nur offen, wenn der Anteil ohnehin schon abweicht. Danach muss jede NutzerIn ihr Passwort über ihren Wiederherstellungsschlüssel neu setzen. Das ist kein Datenverlust — die Daten selbst bleiben unversehrt —, aber ein Vorgang für alle, und wer seinen Wiederherstellungsschlüssel nicht hat, kommt nicht mehr an seine geschützten Angaben.

Speicher

Hier steht, wie viel Platz belegt ist — als zwei Balken:

  • Backups gegen die Speichergrenze: Konto-Backups und Komplett-Backups zusammen. Ist die Grenze erreicht, wird nicht mehr gesichert; gelöscht wird nichts.
  • Installation gesamt gegen den Webspace laut Hosting: Datenbank, Dateien und beide Backup-Arten.

Bis Web 21.0.0 stand ein Teil des Folgenden in der zugeklappten Karte „Was hier gilt" am Ende der Seite (P5c/AP9).

Die Grenze gilt nur für Backups. Die Datenbank wächst mit jedem Einsatz und wird nie angehalten — eine Grenze darauf hieße, die Anwendung anzuhalten.

Der Webspace ist eine Angabe, keine Messung. Er steht in deinem Hosting-Tarif und lässt sich von der Anwendung aus nicht ermitteln — was ein Server über den freien Platz meldet, ist auf geteiltem Hosting der Datenträger des Hosts und nicht dein Kontingent. Ohne die Angabe zeigt der zweite Balken nur die Zusammensetzung, ohne Füllstand.

Was gezählt wird. Die Datenbank mit Daten und Indizes, wie sie selbst es meldet; die Dateien über das ganze Anwendungsverzeichnis — Code, Symbole, Logos, APK —, aber ohne die Ablage der Backups, die im ersten Balken stehen. Pakete, die auf ein Backup-Ziel versendet sind, zählen nirgends mit: Sie liegen außerhalb dieses Webspace.

Gemessen wird einmal täglich im Aufräumjob; der Stand steht im Kartenkopf. Die Backups werden dagegen bei jedem Aufruf gewogen — ihr Verzeichnis ist klein genug dafür, und ihre Zahl entscheidet, ob noch gesichert werden darf. Darunter Speichergrenze, Warnschwellen, die beiden Kontingente, Ablage und Reste abgebrochener Läufe.

Warnschwellen melden einmal je Schwelle, für beide Balken; mit eingerichtetem SMTP geht die Meldung zusätzlich an alle mit Verwaltungsrecht. Wer Grenze oder Schwellen ändert, setzt die Meldungen zurück: Dieselben Bytes sind bei einer anderen Grenze eine andere Aussage.

Zwei Kontingente, zwei Vorgaben (seit Web 20.5.0). Neben Webspace laut Hosting steht jetzt Kontingent der Datenbank. Beides sind Angaben aus deinem Tarif — auch die Datenbankgrenze macht kein Hoster abfragbar. Der Unterschied ist die Vorgabe:

  • der Webspace hat keine. Ohne Angabe zeigt der Balken nur die Summe; ein geratener Wert wäre schlimmer als keiner.
  • die Datenbank hat 10 GB. Das ist die Größe, die diese Anwendung tragen muss (500 Konten × 600 Einsätze) — eine Zusage des Projekts und keine Vermutung über deinen Hoster. Wer mehr hat, trägt mehr ein; leer setzt zurück.

Gewarnt wird per Mail, an alle mit Verwaltungsrecht, mit denselben Warnschwellen wie die Speichergrenze (Vorgabe 70 und 90 %) — je Schwelle einmal. Wer aufräumt und wieder darunter fällt, wird beim nächsten Überschreiten erneut gewarnt.

Karte „Adresssuche" (seit Web 15.8.0)

Beim Tippen in einem Ortsfeld und nach jeder Wahl auf der Karte fragt die Anwendung einen Adressdienst — vorwärts nach Vorschlägen zum getippten Text, rückwärts nach der Adresse zu einer Koordinate. Der getippte Text und die Koordinate verlassen dabei das Gerät; alles Übrige bleibt hier — Koordinaten, Plus Codes, „Meine Position" und die Karte selbst brauchen den Dienst nicht. Zwei Einstellungen:

  • Adresssuche im Internet — der Schalter für die ganze Installation. Aus heißt: keine Vorschläge, keine Umkehrsuche, kein Suchfeld im Kartendialog, kein Hinweis unter dem Ortsfeld — für alle Konten. Der Schalter im Profil (3.1a) kann danach nur noch einschränken, nicht wieder öffnen; er steht dann ausgegraut da und nennt den Grund.
  • Dienst — die Adresse eines Photon-Dienstes, mit https://. Vorgabe ist der frei betriebene Gemeinschaftsdienst https://photon.komoot.io. Wer einen eigenen betreibt, trägt ihn hier ein — dann verlassen die Anfragen mit dem Einsatzort das eigene Haus nicht. Das braucht keine neue Auslieferung und keine Änderung am Code.

Die Karte hat ihr eigenes „Speichern": Ein Tippfehler in der Speichergrenze soll die Dienstadresse nicht mit abweisen und umgekehrt. Welcher Dienst eingetragen ist, erscheint anschließend im Hinweis unter dem Ortsfeld, in der Karte „Datenschutz" jedes Profils und im Textbaustein für die Datenschutzerklärung (11.5a). Wer den Dienst wechselt, übernimmt den Baustein neu in die Datenschutzerklärung — die einmal eingefügte Fassung nennt den alten Dienst, bis jemand sie ersetzt.

Karte „Sicherheitskopfzeilen" (seit Web 20.7.0)

Zwei Einstellungen, die den Browser betreffen, nicht die Daten.

„CSP scharf schalten". Die Anwendung schickt jeder Seite eine Regel mit, welche Skripte, Bilder und Schriften geladen werden dürfen — eine Content-Security-Policy. Sie ist der Schutz für den Fall, dass trotz aller Prüfungen einmal fremder Programmcode in eine Seite gerät: Der Browser führt ihn dann gar nicht erst aus. Das ist hier mehr wert als anderswo, weil die Patientendaten im Browser entschlüsselt werden.

Die Regel läuft in zwei Stufen:

  1. Beobachten (so kommt die Installation an). Der Browser meldet, was er blockiert hätte, führt es aber trotzdem aus. Es kann also nichts kaputtgehen. Unter dem Schalter stehen die letzten 20 Meldungen mit Regel, Quelle und Seite.
  2. Scharf. Der Browser blockiert wirklich.

So gehst du vor: Lass die Installation zwei Wochen im normalen Betrieb laufen. Bleibt die Liste darunter leer, leg den Schalter um. Steht dort etwas, kläre es vorher — jede Zeile ist etwas, das nach dem Umlegen nicht mehr funktioniert, und zwar ohne Fehlermeldung: Der Knopf tut dann einfach nichts. Nach dem Umlegen einmal durchklicken, was du wirklich benutzt: Karte, Einsatzformular mit Adresssuche, Import, Export, Druckansicht. Zurückschalten geht jederzeit.

Bis Web 23.0.3 wurde die Liste nie ganz leer: Jede Sicherung hinterließ zwei Zeilen (wasm-eval, connect-src data: — harmlos), und eine Adresssuche im Einsatzformular eine Zeile zum Adressdienst. Die zweite war ernst: Wer die Regel vor 23.0.3 scharf geschaltet hat, bei dem fand die Adresssuche im Einsatzformular nichts. Nach dem Update dort einmal eine Adresse suchen.

Die Meldungen enthalten keine IP, kein Konto und keine Einsatznummer — von der Seitenadresse bleibt nur der Dateiname. Nach 30 Tagen räumt der Aufräumjob sie weg.

„HSTS". Damit sagt der Server dem Browser: Diese Seite immer über HTTPS aufrufen, auch wenn jemand einen http://-Link schickt. Das ist gut — aber der Browser merkt es sich für die eingestellte Dauer, und in dieser Zeit kommst du unter diesem Namen nicht mehr unverschlüsselt ans Ziel. Vier Stufen: aus / 1 Tag / 7 Tage / 1 Jahr.

  • Gerade erst aufgesetzt, Adresse steht noch nicht fest? 1 Tag lassen.
  • Läuft seit Jahren unter dieser Domain? 1 Jahr.

Warum klein anfangen: Ein zu lang gesetzter Wert sperrt die Domain aus, wenn das Zertifikat wegfällt — und zwar für die ganze Dauer, auch auf Klick auf einen http://-Link.

Nach dem Update auf Web 20.7.0 steht die Einstellung auf 1 Tag — auch dann, wenn deine Installation vorher über die Serverkonfiguration ein Jahr gebunden hat. Das ist kein Versehen: Die Dauer wird jetzt von der Anwendung bestimmt, damit sie an einer Stelle steht und die Anzeige nicht lügt. Wer produktiv läuft, stellt hier wieder auf 1 Jahr.

Karte „Konten" (seit Web 20.16.5)

Was diese Installation mit Konten tut: wer eines bekommt und was es halten darf.

Registrierung — drei Betriebsarten.

offen Wer die Seite findet, kann sich registrieren. Nach der Bestätigung per Mail ist das Konto sofort nutzbar
offen mit Freischaltung Dasselbe, aber danach wartet das Konto auf dich. Du bekommst eine Sammelmail, freigeschaltet wird mit einem Knopf in der Kontoverwaltung
nur auf Einladung Es gibt keine Registrierungsseite. Konten legst du selbst an

Die Vorgabe ist „nur auf Einladung", und das ist Absicht. Wer diese Seite nie aufschlägt, bekommt keine offene Registrierung durch Untätigkeit. Ein Umschalten wirkt sofort; Registrierungen, die schon laufen, laufen zu Ende.

Zwei Fristen, zwei verschiedene Dinge. Wartende Registrierungen — also bestätigte, die auf deine Freischaltung warten — verfallen nach der Zahl, die du hier einträgst (Vorgabe 30 Tage). Davon getrennt: Wer seine Adresse gar nicht erst bestätigt, verfällt nach 48 Stunden, und das ist keine Einstellung. Ein unbestätigtes Konto ist eine Adresse, die jemand eingetippt hat — möglicherweise nicht die eigene. Die einstellbare Frist steht auf der Registrierungsseite und in der Bestätigungsmail; beim Verfall geht eine letzte Nachricht heraus.

Wegwerfadressen. Die Liste bekannter Anbieter kommt mit jeder Auslieferung mit und liegt in der Anwendung; es wird nichts bei Dritten abgefragt. Abgewiesen wird mit derselben Antwort wie jede andere Registrierung — die Seite verrät nicht, welche Adressen sie kennt. Eigene Domains trägst du darunter ein. Ohne Wirkung bei „nur auf Einladung".

Was ein Konto halten darf. Zwei Grenzen, beide je Konto in der Kontoverwaltung überschreibbar: Zahl der Einsätze und Speicher in Megabyte (Einsätze samt GPS-Daten und Ruhesegmenten).

  • Ab 80 % geht einmalig eine Nachricht heraus, und die Kontoseite trägt einen Hinweis.
  • Bei 100 % nimmt der Server keine Gerätedaten mehr an, und der Import bricht mit einer Erklärung ab. Bearbeiten und Löschen bleiben frei — sonst säße jemand in der eigenen Grenze fest und käme nicht heraus.

Wie viele Konto-Backups aufgehoben werden, steht nicht hier, sondern unter Verwaltung → Konto-Backups (11.4); die Überschreibung je Konto steht auf der Kontoseite.

Schaltest du die Registrierung auf „nur auf Einladung", fragt die Seite einmal nach (der Schalter selbst steht seit Web 24.6 unter Installation → Demo-Konto, 11.6), ob die Demo-Anmeldung mit abgeschaltet werden soll — wer die Tür schließt, hat meist auch das Demo-Konto im Sinn. Ein Angebot, keine Bedingung: Eine geschlossene Installation kann gute Gründe für ein Demo-Konto zum Vorzeigen haben.

Einen Demo-Knopf auf der Anmeldeseite gibt es bewusst nicht; die Zugangsdaten stehen in diesem Handbuch und im README.

Karte „Anmeldung" (seit Web 21.8.0)

Wie lange ein Browser nach einem Code aus der App als bekannt gilt — „Gerät merken" beim Zweitfaktor (3.1f). Zwei Auswahlfelder, eines für NutzerInnen (von Haus aus 30 Tage) und eines für Support, Admin und BetreiberIn (7 Tage — wer mehr darf, soll öfter den Code zeigen). Zur Wahl stehen aus, 1, 7, 14, 30 und 90 Tage.

Kürzer stellen wirkt sofort, auch für Geräte, die schon gemerkt sind: Wer von 30 auf 7 Tage geht, meldet jedes Gerät ab, das älter als 7 Tage ist. „aus" meldet alle gemerkten Geräte der Gruppe auf einmal ab und nimmt den Haken aus dem Code-Schritt. Eine Änderung steht im Protokoll (Verwaltung, „Einstellungen").

Einen Wert je Person gibt es nicht — eine Einstellung, die kaum jemand ändert, ist die Pflege nicht wert.

Karte „Protokoll" (seit Web 20.39.0)

Wie lange Betriebsereignisse liegen — in der Datenbank und im Archiv. Bis Web 20.38.0 stand die erste Zahl in der Karte „Konten".

Feld Vorgabe Bereich was es tut
Verwaltungseinträge aufbewahren 365 Tage 90–1095 wie lange der Reiter Verwaltung in der Datenbank bleibt; alle übrigen Reiter 30 Tage, fest
Archiv alle 7 Tage 1–31 wie lang ein Zeitraum ist, den ein Archiv fasst
Archive aufbewahren 365 Tage 90–1095 wie lange ein Archiv hier liegt; auf dem Backup-Ziel bleibt es
Archive auf das Backup-Ziel schicken an an / aus ob der Versandjob die Archive mitnimmt

Jede Änderung steht selbst im Protokoll (Reiter Verwaltung, Art „Fristen") — ein kürzeres Audit ist eine Handlung, die ins Audit gehört. Die Plakette am Kartenkopf zählt die Archive, der Knopf „Protokoll lesen" neben „Speichern" führt auf die Seite. Was ins Archiv geht und was nicht: 11.7.

Das Schlüsselblatt

Die Karte „Schlüssel des Servers" druckt es mit „Schlüsselblatt drucken". Es ist die einzige Seite, die die Werte selbst zeigt, und es passt auf genau eine A4-Seite (seit Web 21.1.0 auch mit drei Werten während einer Rotation — seit Web 21.12.0 kommt während eines Wechsels des Serverschlüssels die Kachel „Serverschlüssel (bisheriger)" dazu, mit dem Satz „Dieses Blatt nach dem Wechsel NICHT vernichten": drei Kacheln, zwei auf einer Anlage ohne Server-Anteil; die beiden Rotationen laufen nur nacheinander, sonst wären es vier Kacheln und zwei Seiten). Oben stehen Bildmarke und Kurzname der Installation, rechts Adresse und Druckzeit; auf einer Anlage mit Etikett — etwa Staging — steht darunter eine rot umrandete Zeile, die auch schwarzweiß sagt, dass das Blatt nicht zur Produktivanlage gehört.

Je Wert eine Kachel: Name, Eintrag in config.php, Kennung und der Wert in sechzehn nummerierten Vierergruppen, darunter ein Satz, wozu er da ist. Die Nummern sind für die Rückfrage da (unten) — „Gruppe 11" liest man ab, statt bis elf zu zählen. Auf das Blatt gehört auch, wohin es gehört: zweimal gedruckt, in die Betriebsakte und in den Passwortmanager der BetreiberIn, nicht neben den Server und nicht in dasselbe Backup.

Die Rückfrage. Alle drei Monate fragt die Anwendung eine BetreiberIn beim Anmelden nach vier zufällig gewählten Gruppen vom Blatt. Stimmen sie, ist die Frage für alle BetreiberInnen der Installation für drei Monate beantwortet. „Später" schiebt sie bis zur nächsten Anmeldung — nur für diese Sitzung, damit eine andere BetreiberIn sie nicht mit weggeschoben bekommt. Nach drei falschen Antworten ist der Weg für eine Weile gesperrt (die erste Sprosse der Sperrleiter, 11.4a). Ist das Blatt verlegt, druckt man es neu — das ändert keinen Schlüssel. Nach jeder Rotation kommt die Frage sofort (seit Web 21.12.0), mit dem Satz voran „Ein Wert hat gewechselt — drucke das Blatt neu" und während eines Wechsels mit der Kennung des bisherigen; gefragt wird nach den heutigen Werten.

12.6 Komplett-Backup

Seit Web 12.2.0 gibt es unter Betrieb → Komplett-Backup einen zweiten, grösseren Knopf. Seit Web 24.7.0 steht oben die offene Karte „Stand" (jüngster Stand, belegter Speicher, nächster Lauf), „Jetzt sichern" ist die eine orange Hauptaktion der Seite, und „Regeln", „Stände" und „Backup-Ziele" (12.7) sind zugeklappte Karten mit ihrem Stand im Kopf. Der Unterschied zu allem darüber ist der Zweck:

Backup eines Kontos Komplett-Backup
enthält die Daten einer NutzerIn alle Konten, Stammdaten, Geräte, GPS-Daten — jede Tabelle
hilft gegen „jemand hat sich vertan" „der Server ist weg"
wo Verwaltung → Konto-Backups (Regeln) und die Kontoseite (Pakete) Betrieb → Komplett-Backup
wer Admin und BetreiberIn nur BetreiberIn

Was zu tun ist. Einen Zeitplan setzen (täglich, wöchentlich oder monatlich) — mehr braucht es im Regelfall nicht. Der Lauf arbeitet in kleinen Portionen im Hintergrund weiter; wie oft er drankommt, hängt am eingerichteten Auslöser (Betrieb → Hintergrundjobs). Wer sofort einen Stand will, drückt Jetzt sichern.

Wie viele aufbewahrt werden, steht daneben; Vorgabe sind zwei. Ältere werden nach einem erfolgreichen Lauf gelöscht — hier, nicht auf dem Backup-Ziel.

Zwei Wege heraus:

  • Herunterladen gibt die Datei unverschlüsselt als .sql.gz. Das ist die Fassung, die mysql oder phpMyAdmin einspielen kann.
  • Versiegelt herunterladen verlangt eine Passphrase und gibt die Datei unter dieser Passphrase verschlossen heraus. Das ist die Fassung zum Weitergeben oder für einen USB-Stick. Die Passphrase wird nirgends gespeichert — wer sie verliert, hat die Datei verloren.

Was von selbst auf ein Backup-Ziel geschoben wird, ist immer die verschlossene Fassung.

Zwei Tabellen gehen nur leer hinein (seit Web 20.39.0): die Sperrereignisse und die Zähler des Ratenschutzes. Beide führen IP-Adressen und verfallen hier nach 30 Tagen — ein Backup, das länger liegt und außer Haus geht, soll sie nicht aufheben. Nach einem Wiederanlauf beginnt der Ratenschutz deshalb von vorn, und eine laufende Sperre ist aufgehoben.

Das Wichtigste steht nicht in der Datei. Das Komplett-Backup enthält absichtlich nicht die Datei config.php des Servers. In ihr stehen die Schlüssel — beides zusammen aufzubewahren wäre, als klebte der Schlüssel am Schloss. Sie gehört an einen anderen Ort, zusammen mit dem Zugang zum Backup-Ziel. Das alles zusammen heisst Wiederanlaufpaket, und ohne es nützt das beste Backup nichts.

Seit Web 19.7.0 hat es vier Stücke, nicht drei — der Server-Anteil ist dazugekommen (12.5). Nach einem Wechsel des Serverschlüssels gehört eine frische config.php hinein; die alte trägt den bisherigen Schlüssel und wird als „bisherig" gekennzeichnet. Die vier:

  1. die Datei config.php selbst,
  2. der Serverschlüssel darin — er öffnet das Komplett-Backup,
  3. der Server-Anteil darin — er gehört zum Passwort jeder NutzerIn,
  4. der Zugang zum Backup-Ziel (Rechner, Nutzername, Passwort oder Schlüssel).

Der Unterschied zwischen 2 und 3 ist wichtig: Ohne den Serverschlüssel lässt sich ein Komplett-Backup nicht mehr öffnen — das ist endgültig. Ohne den Server-Anteil kommt zunächst niemand mehr an die verschlüsselten Angaben, aber verloren ist nichts: Jede NutzerIn kommt über ihren Wiederherstellungsschlüssel wieder herein und vergibt dabei ein neues Passwort. Lästig für alle, aber kein Datenverlust.

Beide stehen auf dem Schlüsselblatt (12.5) — drucken, sobald ein Anteil angelegt oder gewechselt wurde oder der Serverschlüssel gewechselt hat, zweimal und an zwei Orten.

Der Schnappschuss ist nicht scharf. Der Dump entsteht über mehrere Läufe hinweg; eine Zeile, die währenddessen entsteht, kann enthalten sein oder nicht. Übersprungen wird nichts, was schon dastand. Wer es genauer braucht, lässt nachts sichern. (Bis Web 21.0.0 stand das mit den beiden Wegen heraus und dem Wiederanlaufpaket in der zugeklappten Karte „Was hier gilt" der Seite; P5c/AP9.)

Der Weg zurück heisst wiederherstellen.php und wird genau einmal gebraucht: wenn alles weg ist. Er arbeitet nur auf einer leeren Datenbank und verlangt einen Nachweis, dass man Zugriff auf das Verzeichnis der Anwendung hat. Die Schritte stehen im Runbook (docs/Technik.md, Abschnitt 13); die Seite selbst führt durch sie hindurch.

Einmal im Halbjahr ausprobieren. Ein Backup, das nie zurückgespielt wurde, ist eine Vermutung.

Der Wiederanlauf

Bis Web 21.4.0 stand das in der zugeklappten Karte „Was hier gilt" auf wiederherstellen.php; seither verweist die Unterzeile der Seite hierher (R4-20). Die Seite erreicht das Handbuch auch mit leerer Datenbank.

Die Reihenfolge: Datenbank anlegen (leer) · Anwendungsdateien hochladen · config.php aus dem Wiederanlaufpaket daneben legen · Backup-Datei nach sicherungen/eingang/ · wiederherstellen.php · anmelden · Betrieb → Updates · Aufräumen. Ausführlich steht es im Runbook, docs/Technik.md, Abschnitt 13.

Aufräumen nimmt die Backup-Datei mit (seit Web 23.3.2). Der Knopf am Ende löscht den ausgepackten Klartext, die Nachweisdatei und die Datei in sicherungen/eingang/, aus der eingespielt wurde — die Vorlage liegt ja am Backup-Ziel. Am besten legen Sie dort die versiegelte .edk ab; ein unverschlüsselter Dump vom Hoster (.sql.gz) geht auch, ist aber der Notweg. Den Ordner sperrt die Seite beim ersten Aufruf selbst gegen Abrufe über das Netz.

Der Serverschlüssel entscheidet. Eine .edk-Datei mit dem Vermerk „mit dem Serverschlüssel" lässt sich nur mit der config.php öffnen, die beim Erzeugen galt. Ist sie verloren, hilft das Backup nicht — deshalb gehört sie ins Wiederanlaufpaket, getrennt vom Server aufbewahrt.

Nach einem Wechsel des Serverschlüssels (12.5) werden die Stände nicht umgehüllt. Die Liste zeigt einen Stand von vorher mit „bisheriger Schlüssel", solange der Wechsel läuft — er lässt sich dann weiter herunterladen und einspielen —, und danach mit „anderer Schlüssel": Öffnen lässt er sich dann nur noch mit dem Wert vom bisherigen Blatt (Runbook, docs/Technik.md 13); hier herunterladen lässt er sich dann nicht mehr, nur löschen. Neue Stände tragen seit Web 21.12.0 die Kennung ihres Schlüssels im Kopf. Wechselt der Schlüssel, während ein Stand gerade versiegelt wird, fängt die Anlage das Versiegeln mit dem neuen von vorn an (seit Web 21.12.1).

Es wird nichts zurückgenommen. Scheitert das Einspielen auf halbem Weg, steht die Datenbank halb da. Ein neuer Versuch braucht dann eine wieder geleerte Datenbank; ein Dump über einen halben Bestand zu legen ergäbe eine Mischung, die niemand mehr auseinanderbekommt.


12.7 Backup-Ziele

Seit Web 12.1.0 kann die BetreiberIn eine Gegenstelle eintragen — seit Web 24.7.0 in der Karte „Backup-Ziele", die an zwei Orten steht: als letzte Karte unter Betrieb → Servereinstellungen und unter den Ständen im Komplett-Backup (bis dahin eine eigene Seite „Backup-Ziele"). Es ist dieselbe Karte; was du an einem Ort änderst, steht am anderen auch. Zugeklappt zeigt sie, ob automatisch versendet wird, und wie viele Ziele aktiv sind; aufgeklappt den Schalter „Backups automatisch versenden", je Ziel eine Zeile mit Menü („Bearbeiten" öffnet einen Dialog), „Wartet auf den nächsten Lauf" mit „Jetzt versenden" und den Knopf „Ziel anlegen" (ebenfalls ein Dialog; wird eine Eingabe abgewiesen, geht er mit ihr und dem Grund wieder auf). Auf ein Ziel werden die Konto-Backups geschoben — per SFTP oder FTPS; dazu die Komplett-Stände und seit Web 20.39.0 die Archive des Protokolls. Der Grund ist schlicht: Ein Paket, das auf demselben Server liegt wie das Gesicherte, hilft nicht, wenn dieser Server ausfällt.

Nicht zu verwechseln mit dem Transportziel eines Einsatzes — das ist die Zielklinik und steht unter Einstellungen → Standorte.

Was dabei zu wissen ist:

  • SFTP ist die Empfehlung. Es ist das einzige der beiden Protokolle, das den Server beim nächsten Mal wiedererkennt: Beim ersten Prüfen wird der Fingerabdruck des Hostschlüssels übernommen, danach bei jeder Verbindung verglichen. Meldet sich dort plötzlich ein anderer, bricht die Verbindung ab, bevor ein Passwort hinausgeht. Nach einem Schlüsselwechsel der Gegenstelle ist Hostschlüssel vergessen im Menü der Zielzeile der Weg.
  • FTPS verschlüsselt die Leitung, prüft aber das Zertifikat nicht — die PHP-Erweiterung nimmt jedes an, auch ein selbst ausgestelltes ohne Vertrauenskette. Das schützt gegen Mitlesen, nicht gegen einen untergeschobenen Server.
  • FTP wird seit Web 20.2.0 nicht mehr angeboten. Es überträgt alles im Klartext, auch das Passwort — und seit derselben Fassung tragen die Pakete Geheimnisse, die dort nicht mitlesbar sein dürfen. Seit Web 21.0.0 nimmt auch die Datenbank kein FTP-Ziel mehr an. Stand beim Update noch eines da, blieb das Update stehen und nannte es: Dann stellst du das Ziel hier auf SFTP oder FTPS um (Protokoll, Port und Zugangsdaten neu) oder löschst es und führst das Update danach erneut aus.
  • Die Zugangsdaten liegen verschlüsselt in der Datenbank. Der Schlüssel dazu — der Serverschlüssel aus 12.5 — steht in einer Datei, die nicht mitgesichert wird: Wer den Datenbankdump hat, hat die Passwörter nicht. Ohne Serverschlüssel lässt sich kein Ziel anlegen; geht er verloren, sind die Zugangsdaten neu einzutragen.
  • Ein Wechsel des Serverschlüssels (12.5) erreicht das Ziel nicht. Die Zugangsdaten hier werden umgehüllt; was drüben liegt, bleibt unter dem bisherigen und öffnet sich nur mit dem Wert vom bisherigen Blatt. Die Archive des Protokolls gehen nach dem Umhüllen unter neuem Namen noch einmal hinaus — drüben liegt dann je eines unter beiden Schlüsseln.
  • Der Versand schickt, was am Ziel fehlt — verglichen werden Name und Größe. Eine abgebrochene Übertragung wird deshalb beim nächsten Lauf wiederholt und gilt nicht als erledigt. Wann er läuft, entscheidet der Auslöser (12.4); der Schalter Backups automatisch versenden sagt nur, ob.
  • Auf dem Ziel wird nur gelöscht, wo es ausdrücklich eingeschaltet ist (seit Web 20.14.0). Ohne diese Option ergänzt der Versand nur: Die Aufbewahrung je Konto (11.4, Vorgabe zwei) gilt für die Ablage auf dem eigenen Server, drüben sammelt sich alles an, bis dort jemand aufräumt. Das ist die Voreinstellung und der Grund dafür ist ernst — der Zweck eines auswärtigen Ziels ist, den Ausfall dieses Servers zu überleben, samt eines Fehlers, der hier zu viel löscht. Ein Versand, der drüben aufräumt, trägt diesen Fehler mit hinüber.
  • Wenn du es doch willst: Beim Bearbeiten eines Ziels steht der Haken Auf dem Ziel aufräumen und darunter zwei Zahlen — wie viele Konto-Sicherungen je Konto und wie viele Komplett-Stände dort bleiben sollen. Drei Dinge gelten dann immer:

    1. Fremde Dateien bleibt es fern. Entfernt wird nur, was dem Namensmuster einer Sicherung entspricht und im Versandprotokoll dieser Installation steht. Ein Archiv, das jemand anderes dorthin gelegt hat, wird nie angefasst — auch dann nicht, wenn es zufällig so heißt wie eine Sicherung.
    2. Nie unter deine Zahl. Und was einmal entfernt wurde, geht nicht wieder hinüber; wer die Zahl später anhebt, bekommt die alten Stände nicht zurück.
    3. Nie nach einem gescheiterten Versand. Wer nicht sicher weiß, dass der neue Stand drüben angekommen ist, räumt den alten nicht weg.

    Was dabei entfernt wurde, steht unter Betrieb → Status → Sicherheit in der Karte Löschungen auf Sicherungszielen — mit Ziel, Datei und Grund. Die Archive des Protokolls (11.7) fallen unter keine der beiden Zahlen und werden drüben nie entfernt — rund 52 kleine Dateien im Jahr.

  • Nachsehen, was dort liegt, geht auf Knopfdruck: im Menü einer Zielzeile. Es zählt, was von hier stammt, und was nicht — und es löscht nichts. Die Zahlen kommen in dem Augenblick von der Gegenstelle und werden nicht gespeichert.
  • Was am Ziel liegt, zählt nicht in die Speichergrenze — der Server kennt die Größe nicht. Wächst ein Ziel seit über einem Monat, ohne dass dort je etwas entfernt wurde, sagt es die Statusseite (Bereich Backups, Zeile Aufbewahrung am Ziel).

Für dein Konto ändert sich dadurch nichts: Der Inhalt des Backups bleibt verschlüsselt, und ohne deinen Wiederherstellungsschlüssel ist er auch dort nicht zu öffnen.

12.8 Ankündigung und Rundmail

Seit Web 20.38.0 kann die BetreiberIn unter Betrieb → Servereinstellungen, Karte Ankündigung, einen Satz über jede Seite stellen — eine Wartung, einen Umzug, eine Frist. Bis dahin erfuhr davon nur, wer fragte.

Was die Karte will:

  • Text — höchstens 190 Byte. Das Feld zählt mit. Byte und nicht Zeichen, weil der Speicher so bemessen ist: Ein „ü" sind zwei. Für einen Streifen über jeder Seite ist das die richtige Länge; was länger ist, gehört in eine Mail oder ins Handbuch. Zeilenumbrüche werden zu Leerzeichen, der Streifen ist ein Absatz. Hat der Text mehr als einen Satz, steht der erste fett — er ist der, den man beim Vorbeiscrollen liest.
  • Ton — Hinweis (blau) oder Warnung (orange).
  • Sichtbar bis — Datum und Uhrzeit (HH:MM). Danach verschwindet der Streifen von selbst; ein Ende in der Vergangenheit wird abgewiesen, weil die Ankündigung sonst nie erschiene.

Wo sie steht: über dem Inhalt jeder Seite, in der Reihe der Streifen (Abschnitt 3), und auch über der Anmeldung — wer sich gerade anmelden will, ist von einer Wartung am meisten betroffen. Die Plakette im Kopf der Karte sagt, bis wann sie sichtbar ist, oder „abgelaufen", oder „keine".

Wegklicken: Das × blendet sie aus — für diese Sitzung. Wer sich abmeldet und wieder anmeldet, sieht sie wieder, bis sie abläuft. Eine neue Ankündigung (anderer Text, anderer Ton oder anderes Ende) erscheint auch bei denen, die die alte geschlossen haben. Ruft jemand das Handbuch oder einen Rechtstext direkt auf, ohne vorher auf der Anmeldeseite gewesen zu sein, steht sie dort ohne × — es gibt dann keine Sitzung, in der das Ausblenden gemerkt werden könnte.

Entfernen nimmt sie sofort von allen Seiten.

Als Rundmail senden … schickt den Text zusätzlich per Mail — an alle erreichbaren Konten: aktiv, mit gesetztem Passwort, ohne das Demo-Konto. Ein Konto, das seine Einladung nie angenommen hat, bekommt keine Ankündigung für eine Anwendung, die es nicht benutzt. Vorher kommt eine Rückfrage mit der Zahl der Empfänger. Drei Dinge gelten:

  1. Der Knopf speichert zuerst. Was im Feld steht, geht hinaus — auch wenn du den Text eben erst geändert hast.
  2. Die Mails laufen über die Warteschlange, zehn je Durchgang der Hintergrundjobs. Auf einer Anlage ohne Cron laufen die Jobs nur, wenn jemand eine Seite aufruft; bis alle hinaus sind, können einige Minuten vergehen. Der Stand steht unter Betrieb → Status, Karte E-Mail.
  3. Höchstens eine Rundmail je Tag (Kalendertag der Anlage). Danach ist der Knopf bis Mitternacht gesperrt, und die Zeile darunter sagt es.

Im Protokoll steht ein Eintrag je Rundmail — wer sie wann an wie viele Konten geschickt hat, nicht an wen.

Rückläufer sieht die Anwendung nicht. „Zugestellt" heißt: Der Mailserver des Hosters hat die Nachricht angenommen. Kommt sie später zurück, weil es die Adresse nicht mehr gibt, landet der Rückläufer im Postfach der Absenderadresse (smtp.from in der config.php). Die sollte deshalb ein echtes Postfach sein, das die BetreiberIn liest — die Anwendung selbst liest keines (Backlog Nr. 200, nicht umgesetzt).

12.9 Health-Endpunkt für das eigene Monitoring

Seit Web 20.46.0 kann ein Überwachungsdienst — ein Uptime-Dienst, ein Nagios, ein curl im Cron — die Anlage fragen, ob sie läuft. Die Anwendung selbst meldet nichts nach draußen; sie antwortet nur, wenn sie gefragt wird.

Einrichten geht seit Web 23.5.0 über die Oberfläche: Betrieb → Hintergrundjobs, Karte Monitoring, Knopf Health-Token erzeugen. Das Monitoring fragt dann https://…/api/health.php mit der Kopfzeile X-Health-Token: <Wert>. Kann dein Monitoring keine Kopfzeile setzen, geht auch https://…/api/health.php?token=<Wert> — dann steht der Wert im Zugriffsprotokoll des Hosters (seit Web 23.1.0 ist deshalb die Kopfzeile der empfohlene Weg). In derselben Karte erzeugst du ein neues Token oder schaltest die Abfrage ab; beides fragt, wie bei den anderen beiden Tokens der Seite, noch einmal nach dem Code des Zweitfaktors.

Bis Web 23.4.x stand das Token als betrieb.health_token in config.php. Ein Wert, der dort steht, wird beim ersten Abruf nach dem Update übernommen — ein laufendes Monitoring merkt nichts. Danach liest niemand die Zeile mehr; du kannst sie aus config.php löschen. Ohne Token ist der Endpunkt aus.

Was die Antwort sagt:

  • HTTP 200 — die Anlage läuft, die Datenbank antwortet, kein Update steht aus.
  • HTTP 503 mit "db": false — die Datenbank antwortet nicht.
  • HTTP 503 mit "migration_ausstehend": true — eine neue Fassung ist eingespielt, aber update.php ist noch nicht gelaufen, oder eine Migration ist blockiert und läuft nicht von selbst (Betrieb → Updates zeigt, welche und warum).
  • HTTP 503 mit "error": "maintenance" — der Wartungsmodus ist an. Das ist kein Fehler, wenn du ihn selbst eingeschaltet hast oder gerade ausgeliefert wird.
  • HTTP 503 mit "error": "ausgelastet" — die Datenbank hat gerade keine Verbindung frei. Hält das an, siehe 12.1 zur Verbindungsgrenze.
  • HTTP 403 — Token fehlt oder ist falsch (oder keiner eingerichtet).
  • HTTP 429 — mehr als 60 Abrufe je Minute; eine Minute warten.

Dazu stehen Zahlen im Rumpf, die ein Monitoring mit Schwellen belegen kann: wie lange die Hintergrundjobs nicht mehr liefen (jobs_alter_s), wie viele Einträge der Reiter System in den letzten 24 Stunden bekam (system_24h), ob Protokolleinträge gescheitert sind (protokoll_fehler) und der höchste Speicheranteil in Prozent (speicher_pct, einmal täglich gemessen). Konten, Mengen und Angaben über den Hoster stehen nicht darin.


13. Eine neue Uhr einrichten (Kurzanleitung)

Die Schritte gelten für jede Uhr. Wo die Plattform eigene Wege hat, steht der Zusatz kursiv darunter — bei Garmin die folgenden.

Seit Uhr 3.0.0 läuft das Koppeln andersherum. Früher erzeugte das Web einen Code und du hast ihn auf der Uhr eingetippt. Jetzt zeigt die Uhr den Code, du gibst ihn im Web ein, und die Uhr fragt zum Schluss zurück, ob sie zu diesem Konto gehören soll. Auf der Uhr wird nichts mehr getippt.

  1. App auf die Uhr laden. Der Weg dahin steht auf der Geräte-Seite in der Karte „App installieren" (Abschnitt 10.1) — dort ist er je Plattform benannt. Solange die Uhr-App im Store nicht steht: aus dem Connect-IQ-Projekt gebaut und per USB übertragen; Abschnitt 5 der Technik-Doku.
  2. Server-Adresse prüfen. Seit Uhr 3.0.0 steht dort ein Vorgabewert — nadoku.gen-em.org, die öffentliche Installation. Wer eine eigene betreibt, trägt die eigene Domain ein; sonst ist hier nichts zu tun. Die Uhr-App heißt „NAdoku" — so heißt sie seit Uhr 2.0.0, und seit Web 15.3.2 heißt auch die Weboberfläche so: Gen-EM NAdoku. Wer die App in der Liste sucht, sucht also nach NAdoku. Bei Garmin: in Garmin Connect unter den App-Einstellungen.
  3. Auf der Uhr die Kopplung starten: Sync-Seite, Auswahltaste gedrückt halten. Die Uhr sagt kurz „Hole Code…" und zeigt dann den Code für das Web — sechs Zeichen, groß, darunter „Einstellungen, Geräte" und die Restzeit („noch 9 min", in der letzten Minute orange auf Sekunden). Bei Garmin heißt die Taste je nach Uhr anders — die Uhr schreibt sie selbst in ihre Hinweiszeile; die Tabelle je Modell steht in Abschnitt 2.0.
  4. Den Code im Web eingeben: Einstellungen → „Geräte", Feld „Code vom Gerät". Groß- und Kleinschreibung und ein Leerzeichen in der Mitte sind egal — die Seite räumt das auf. Sie zeigt dir dann, welches Gerät sich meldet — Art und Modell, so wie das Gerät es selbst gemeldet hat — und fragt, ob es zu deinem Konto soll.
  5. Zurück an der Uhr: bestätigen. Sie fragt „Mit ph***@… koppeln?" — mit deiner E-Mail-Adresse, gekürzt. Ja schließt die Kopplung ab (kurz „Kopple…", dann „Gekoppelt"), Nein bricht ab („Nicht gekoppelt"). Erst dieses Ja legt das Gerät an: Wer nur den Code abliest, kommt nirgendwo hinein.
  6. Danach erscheint das Gerät im Web in der Geräteliste — mit Art und Modell, die es beim Koppeln selbst gemeldet hat —, und du bekommst eine E-Mail darüber. Die Geräteseite lädt von selbst nach; du musst nichts neu laden.
  7. Alternative ohne Kopplung: Gerät im Web von Hand anlegen und Geräte-ID sowie API-Schlüssel in die Einstellungen der Uhr-App eintragen (nur nötig, wenn die Kopplung nicht möglich ist). Bei Garmin: ebenfalls in Garmin Connect.

Der Code gilt zehn Minuten und gehört genau einem Gerät. Zurück bricht jederzeit ab. Läuft die Zeit ab, sagt die Uhr „Code abgelaufen" und darunter, mit welcher Taste es einen neuen gibt.

Warum drei Schritte und nicht einer. Zwischen dem Code und dem fertigen Gerät liegen zwei Tore: Die Web-Seite sieht, wer eingibt, und die Uhr sieht, wessen Konto es wäre. Keines allein trägt. Wer dir den Code abschwatzt, hat nichts — er kann an deiner Uhr nichts auslösen. Und wer dich dazu bringt, einen fremden Code einzugeben, koppelt sein Gerät nicht an dein Konto: Das Ja fehlt ihm.

Wenn es nicht klappt, sagt die Uhr in zwei kurzen Zeilen, woran es liegt und was hilft:

Meldung auf der Uhr Was zu tun ist
„Code abgelaufen" / „‹Taste› halten: neuer Code" Zehn Minuten sind um, oder du hast im Web abgebrochen. Neuen Code holen — die Uhr nennt die Taste selbst.
„Zu viele Geräte" / „Erst eines im Web löschen" Fünf Geräte sind das Höchste je Konto. Im Web ein nicht mehr genutztes löschen (Deaktivieren gibt den Platz nicht frei).
„Zu viele Versuche" / „Später noch einmal" Der Ratenschutz hat zugemacht. Kurz warten; weitere Versuche verlängern die Sperre nur.
„Server ausgelastet" / „Später noch einmal" Gerade sind zu viele Kopplungen offen. Kurz warten, dann von vorn.
„Keine Verbindung (n)" unter dem Code Telefon in Reichweite? Bluetooth an? Der Code bleibt gültig — die Zeile ersetzt ihn nicht, und wer das Telefon zurückbringt, macht dort weiter.
„Server antwortet nicht" unter dem Code Wie oben, aber die Verbindung steht und der Server schweigt. Der Code bleibt ebenfalls gültig.
„Gerät unbekannt" Die Uhr trägt Zugangsdaten, die der Server nicht kennt — meist, weil das Gerät im Web gelöscht wurde. Einfach neu koppeln.
„Uhr-App aktualisieren" Die Uhr spricht den alten Weg (bis Uhr 2.0.0) und der Server den neuen. Die App auf 3.0.0 bringen.
„Kopplung fehlgeschlagen (n)" Alles Übrige, mit dem Zahlencode und — wenn der Server einen schickt — seinem Hinweis. Der Zahlencode gehört in die Fehlermeldung an die Betreuung.

13.1 Eine Uhr an eine andere Person übergeben

Die Uhr trennt sich zuerst ausdrücklich, bevor sie neu koppelt. Der Weg dorthin ist derselbe wie beim ersten Mal (Sync-Seite, Auswahltaste halten), aber er beginnt mit einer Rückfrage:

  1. „Kopplung trennen und neu koppeln?" — Nein lässt alles, wie es ist.
  2. Bei Ja meldet die Uhr kurz „Trenne…" und holt danach von selbst einen neuen Code. Das Gerät verschwindet aus der Geräteliste im Web und gibt seinen Platz frei; die bisherige Kontoinhaberin bekommt eine E-Mail darüber. Bereits hochgeladene Einsätze bleiben vollständig erhalten.
  3. Danach wie oben: den Code im Web eingeben und an der Uhr mit Ja bestätigen — diesmal mit der Adresse der neuen Person in der Rückfrage. Genau dort fällt auf, wenn jemand den Code des falschen Kontos eingetippt hat.

Zwei Dinge, die dabei bewusst so sind:

Offene Pakete blockieren das Trennen. Steht noch etwas zum Senden an, sagt die Uhr „Erst N Pakete senden / Sonst ans neue Konto" und trennt nicht. Die Pakete gehören der bisherigen Person; nach einer Neukopplung landeten sie im neuen Konto. Erst senden — die Sync-Seite zeigt den Rückstand. Eine Ausnahme (seit Uhr 4.3.0): Ist die Uhr im Web gelöscht oder gesperrt, kann sie ohnehin nicht mehr senden. Dann trennt sie nach Rückfrage trotzdem, und die Pakete bleiben gebunden an das bisherige Konto — sie gehen nur dorthin, nie an die neue Person (Abschnitt 1, „Steht dort etwas in Rot?").

Ohne Verbindung trennt die Uhr trotzdem und merkt sich, dass der Server es nicht mitbekommen hat: Unter dem „Gekoppelt" der nächsten Kopplung steht dann „Altes Gerät im Web löschen". Sonst bliebe eine Uhr ohne Telefon in Reichweite dauerhaft an ein Konto gebunden, das sie nicht mehr benutzen soll — und der alte Eintrag belegte weiter einen der fünf Plätze. Er ist im Web mit einem Klick zu entfernen.

Warum das nötig war: Bis Uhr 1.11.0 führte der Weg direkt in die Code-Eingabe. Schlug das Koppeln fehl, blieben die alten Zugangsdaten stehen und die Uhr dokumentierte stillschweigend weiter auf das vorherige Konto — niemand sah es ihr an.