Zum Inhalt springen

Sessions und Freigaben

Eine Session ist eine Aufgabe auf einem oder mehreren Servern: Sie schreiben, was Sie brauchen, Heinzel schlägt Befehle vor, der Code stuft jeden ein, und je nach Stufe läuft er sofort oder wartet auf Sie.

Eine Session starten

Das Formular unter Neue Session fragt fünf Dinge.

FeldWas Sie wählen
ServerEiner, voreingestellt der zuletzt benutzte. Oder mehrere: als eine Session, die alle erreicht (eine Datenbank von db auf standby umziehen), oder als dieselbe Aufgabe auf jedem, ein Rollout (siehe Rollouts). Eine Session erreicht nur die Server, mit denen sie gestartet wurde; braucht sie einen weiteren, endet sie und bietet eine neue mit der größeren Menge an.
AufgabeEin bis drei Sätze. Was Sie wissen wollen oder was erreicht sein soll, dazu, was Heinzel wissen muss: Uhrzeit, Kunde, was nicht passieren darf.
StufeWie weit Heinzel allein geht, siehe unten. Voreingestellt ist, was die Richtlinie des Mandanten sagt, nie mehr, als Sie auf dem Server dürfen.
ModellNur, wenn Ihnen mehrere offenstehen. Dazu der Aufwand (Standard, oder eine Stufe, die das Modell anbietet).
WannJetzt, voreingestellt. Oder Zu einer Uhrzeit, siehe unten.

Später starten

Unter Wann? wählt Zu einer Uhrzeit einen späteren Start: Heute 22:00, Heute Nacht 03:00, Morgen 07:00 oder Andere Zeit … mit Tag und Uhrzeit. Die Uhrzeiten gelten in der Zeitzone des Mandanten. Die Session entsteht sofort; ihr Auftrag wartet und startet zur gewählten Minute von selbst, auch nach einem Neustart von Heinzel Pro. Bis dahin steht er oben in der Session, wo Sie ihn mit Zurücknehmen wieder streichen.

Geprüft wird beim Start: mit Ihren Rechten, wie sie dann sind, und mit den Plätzen Ihres Tarifs. Sind alle belegt, wartet der Auftrag auf den nächsten freien. Mit der Stufe rw- wartet auch nachts jede Änderung auf eine Freigabe; das Formular sagt das, bevor Sie planen. Ein Rollout lässt sich genauso planen.

Drei gute Aufgaben

Eingabe: Auf web03 melden Kunden seit 14 Uhr sporadisch 502. Finde die Ursache. Nichts neu starten, bevor du mir gesagt hast, was es ist.

Eingabe: Lege auf db1 und db2 den Benutzer „monitoring“ mit Nur-Lese-Rechten auf alle Datenbanken an, Passwort aus dem Geheimnis MONITORING_DB.

Eingabe: Das Zertifikat auf mail01 läuft in 9 Tagen ab und certbot hat es dreimal nicht erneuert. Warum, und bring es in Ordnung.

Was die drei gemeinsam haben: ein Server oder zwei, ein Ziel, und die Grenze, die Heinzel kennen muss. Eine Aufgabe wie „räum mal auf“ bekommt eine Rückfrage statt eines Befehls.

Die drei Stufen

Jede Session wählt beim Start, wie weit Heinzel allein geht. Die Oberfläche schreibt die Stufen wie die Rechte einer Datei.

StufeLäuft ohne FreigabeWofür
Jeder Befehl wartetnichts, auch Lesen nichtEin Server, auf dem Sie jeden Handgriff sehen wollen, etwa beim ersten Kontakt mit einem fremden System.
rw- Fragt vor ÄnderungenBefehle, die nur lesenDer Alltag. Heinzel liest allein, findet, erklärt, und jede Änderung wartet auf Sie.
rwx Ändert alleinwas die Matrix des Mandanten sofort laufen lässt, voreingestellt alles außer IdentitätenZeitpläne in der Nacht, Rollouts, Routine auf Servern, deren Ausfall Sie tragen können.

Es zählt bei jedem Befehl das Niedrigste aus vier Grenzen:

  1. Die Obergrenze des Mandanten, von der Installation gesetzt (rw- oder rwx).
  2. Die Buchstaben der Person auf diesem Server, aus ihren Teams und Gruppen.
  3. Der Deckel des Servers, seiner Gruppen und des benutzten Zugangs.
  4. Die Wahl der Session.

Beispiel: Anna hat über ihr Team rwx auf der Gruppe Web. Der Server web07 trägt den Deckel rw-, weil er vom Kunden selbst mitbetreut wird. Startet Anna dort eine Session auf „Ändert allein“, läuft trotzdem jede Änderung über eine Freigabe. Die Session sagt das beim Start.

Die Befehlskarte

Jeder Befehl, den Heinzel vorschlägt, erscheint als Karte mit vier Teilen.

Eine Befehlskarte, die auf Freigabe wartet: Einstufung Dienst, der Server, der vollständige Befehl, die Begründung von Heinzel und die Knöpfe Freigeben und Ablehnen
Einstufung, Server, der Befehl Wort für Wort, Heinzels Begründung, zwei Knöpfe.

Die Einstufung

Sie kommt aus dem Code, nicht aus dem Modell: Heinzel Pro zerlegt den Befehl in seine Teile (Pipes, &&, sudo, sh -c, Gruppen in { } und ( ), for-Schleifen über feste Wörter, docker exec mit dem Befehl im Container) und nimmt die höchste Klasse. Wer einen anderen Befehl startet (systemd-run, su -c, runuser, setsid, flock, chroot, xargs), zählt mit diesem Befehl, mindestens als schreibend. Was der Code nicht lesen kann, gilt als schreibend. Was eine Klasse dann auf rw- und auf rwx tut, stellt der Mandant in der Matrix ein (Einstellungen, Richtlinie); die rechte Spalte zeigt die Voreinstellung.

KlasseBeispielVoreingestellt auf rw-
nur lesensystemctl status nginx, df -h, tail -n 50 /var/log/syslog, curl -s https://… (GET oder HEAD, Adresse ausgeschrieben)läuft sofort
schreibendsed -i … /etc/hosts, mkdir, chmod, curl -d …, curl -o datei …wartet auf eine Person
Paketapt-get install, dnf update, pkg upgradewartet auf eine Person
Dienstsystemctl restart, service … reloadwartet auf eine Person
Firewallufw allow, nft, pfctlwartet, mit Rücknahme-Timer
Identitätuseradd, passwd, Änderungen an sudoers oder authorized_keyswartet auf zwei Personen, auf jeder Stufe; läuft nie unbeaufsichtigt
Neustartreboot, shutdown -rwartet auf eine Person
unumkehrbarrm -rf /var/lib/…, mkfs, DROP DATABASE, userdelwartet auf zwei Personen
gesperrtdd if=/dev/zero of=/dev/sda, Schreiben nach /etc/heinzel.conf, alles auf der Sperrlisteläuft nie

Freigeben oder ablehnen

Freigeben lässt genau diesen Befehl einmal auf diesem Server laufen. Ablehnen nimmt einen Grund mit, den Heinzel liest: „Nicht jetzt, der Kunde fährt bis 18 Uhr einen Lasttest“ bringt den Vorschlag, nach 18 Uhr weiterzumachen, oder einen Weg ohne Neustart. Eine Ablehnung ist endgültig; Heinzel darf denselben Befehl nicht umformuliert noch einmal vorschlagen.

Wo die Matrix zwei Personen verlangt, kommt die zweite Freigabe von einer anderen Person mit dem Recht dazu, und ihre Anmeldung darf höchstens fünf Minuten alt sein. Wer freigibt, steht am Befehl und im Audit-Protokoll.

Eine Änderung, die Heinzel aussperren könnte

Vor einer Änderung an Adresse, Route oder Firewall stellt Heinzel auf dem Server einen Timer, der nach zwei Minuten den alten Zustand zurückholt, im selben Befehl wie die Änderung. Dann meldet es sich neu an und stoppt den Timer. Gelingt der neue Login nicht, nimmt der Server die Änderung selbst zurück. Die Karte sagt das dazu.

Die Seite Freigaben

Wartende Befehle aller Sessions, die Sie entscheiden dürfen, an einem Ort, im Aufbau der Liste der Sessions: links eine Zeile je Befehl mit dem Zeichen seiner Risikoklasse, der Person, dem Befehl, der Session, aus der er kommt, dem Server und der Zeit; rechts der gewählte Befehl im Ganzen mit Freigeben und Ablehnen. Darunter beantwortet die Seite drei Fragen:

  • Woher: die Session, wer sie wann mit welchen Rechten gestartet hat, Server und Modell, und der Auftrag im Wortlaut.
  • Warum er auf Sie wartet: was Heinzel beim Vorschlag entschieden hat, etwa „Mit rw- läuft nur Lesendes allein; für Befehle der Klasse ‚Paket‘ verlangt die Richtlinie die Freigabe von 1 Person“, mit dem Weg zu den Richtlinien. Ebenso ein Wartungsfenster, ein Geheimnis im Befehl, ein geschützter Pfad oder eine andere Session, die gerade an derselben Sache arbeitet.
  • Was vorher lief: die letzten Befehle der Session mit ihrer Ausgabe.

Nach einer Entscheidung springt die Auswahl zur nächsten Zeile. J und K wechseln die Zeile, F gibt frei, A öffnet das Feld zum Ablehnen. Mit den Kästchen vorn entscheiden Sie mehrere Befehle auf einmal; wartet derselbe Befehl auf mehreren Servern oder eine Session mit mehreren Befehlen, bietet der Bereich rechts „Alle freigeben“ an. Die Reiter Läuft von selbst und Von Zeitplänen übersprungen zeigen, was nur auf eine andere Session wartet, und was nächtliche Läufe eine Woche lang zum Übernehmen in eine eigene Session ablegen. Auf dem Telefon nimmt der gewählte Befehl den Platz der Liste ein, mit dem Weg zurück.

Die Seite Freigaben: links die wartenden Befehle als Zeilen, rechts der gewählte Befehl mit Freigeben und Ablehnen, darunter Woher, Warum er auf Sie wartet und Was vorher lief
Ein wartender Befehl, im Zusammenhang entschieden.

Damit Sie nichts verpassen, ohne die Seite offen zu halten:

  • Die Navigation zählt, was Ihre Sessions brauchen; der Browser-Tab trägt die Zahl im Titel.
  • Der Tab einer Session beginnt mit „● Freigabe nötig“, „● Fehlgeschlagen“, „● Angehalten“ oder „● Antwort da“, und mit „…“, solange Heinzel arbeitet.
  • „In diesem Browser benachrichtigen“ auf der Seite Sessions: eine Benachrichtigung, auch aus einem anderen Fenster.
  • Mail oder Webhook, wenn der Mandant das Ereignis „Freigabe nötig“ unter Einstellungen, Alarme eingeschaltet hat. Eine Freigabe, die zu lange wartet, lässt sich eskalieren (Einstellungen, Richtlinie).

Pläne

Braucht eine Aufgabe drei oder mehr ändernde Befehle, legt Heinzel zuerst einen Plan vor: das Ziel, jeden Schritt mit seinem genauen Befehl, was schiefgehen kann und wie es rückgängig zu machen ist. Sie geben ihn als Ganzes frei oder lehnen ihn ab, sofern Sie auf jedem Server arbeiten, den er nennt, wie für jeden einzelnen Befehl.

Ein Plan in einer Session: drei Schritte mit ihrem Befehl und ihrer Einstufung, darunter die Knöpfe zum Freigeben und Ablehnen des Plans
Der Plan aus dem Beispiel php2shell: drei Schritte, einmal freigeben.

Ein freigegebener Schritt lässt genau diesen Befehl einmal laufen, in der Reihenfolge des Plans, der nächste erst, wenn der davor gelungen ist. Weicht ein Befehl um ein Zeichen ab, fragt er für sich. Ebenso einer, der zwei Personen braucht, ein Geheimnis nennt oder eine Datei ändert. Ein Stopp oder Ihre nächste Nachricht beendet den Plan.

Dateiänderungen

Ändert Heinzel eine Konfigurationsdatei, zeigt die Karte den Unterschied als Diff. Eine Dateiänderung fragt immer für sich; kein Plan und keine Dauerfreigabe ersetzt das. Vor dem Schreiben prüft Heinzel Pro, ob die Datei noch die ist, gegen die der Diff gezeigt wurde, und verweigert sonst. Die alte Datei bleibt als <Datei>.heinzel-<Zeit>.bak daneben liegen.

Dateien, die Ansible, Terraform oder ein anderes Werkzeug schreibt, tragen Sie unter Verwaltete Dateien ein, etwa /etc/nginx/**; eine Änderung dort wird mit dem Hinweis verweigert, wohin sie stattdessen gehört. Eine Datei, deren erste Zeilen „Ansible managed“ sagen, wird auch ohne Eintrag verweigert.

Geheimnisse

Ein Passwort oder Token, das ein Befehl braucht, legen Administratoren unter Geheimnisse ab. Heinzel benutzt es als $HEINZEL_SECRET_NAME; der Wert geht nie ans Modell, erreicht den Befehl über die Standardeingabe und wird in der Ausgabe geschwärzt. Ein Befehl, der ein Geheimnis nennt, wartet auf jeder Stufe auf einen Menschen. Lesen Sie ihn, bevor Sie freigeben: Ein Befehl kann einen Wert in anderer Gestalt weitergeben.

# So sieht Heinzels Vorschlag aus, wenn MONITORING_DB hinterlegt ist
psql -c "CREATE ROLE monitoring LOGIN PASSWORD '$HEINZEL_SECRET_MONITORING_DB'"

Mehrere Sessions nebeneinander

Starten Sie die nächste, während die erste liest. Die Liste unter Sessions und die Leiste neben einer offenen Session sagen, was jede gerade tut.

Die Liste liest sich wie ein Posteingang: eine Zeile je Session mit dem Auftrag und darunter der ersten Zeile der Zusammenfassung, dann die Spalten, die Sie gewählt haben. Hat eine Session offene Punkte, steht ihre Zahl als gelbe Marke hinter dem Auftrag. Der Umschalter neben der Suche wählt die Spalten: Kurz zeigt Server und Zeit, Betrieb dazu das Modell, Team Person, Server und Zeit, und unter Eigene haken Sie bis zu drei an, aus Server, Person, Modell, Gestartet, Schritte, Dauer, Kosten und Geändert. Schritte zählt die Befehle, Dauer ist die Zeit vom Start bis zur letzten Änderung. Jede Spalte ist so breit wie ihr breitester Eintrag. Ansicht, eigene Spalten und Sortierung merkt sich die Liste für Sie und öffnet beim nächsten Mal so, wie Sie sie verlassen haben. Wer eine Session gestartet hat, steht beim Darüberfahren über der Uhrzeit, mit Name und Mail-Adresse; das Feld neben der Suche zeigt nur die Sessions einer Person. Was neu zu lesen ist, steht fett. Oben steht die letzte Änderung, und solange sie das tut, stehen die Zeilen unter ihrem Tag, jede mit ihrer Uhrzeit; ein Klick auf einen Spaltenkopf sortiert nach dieser Spalte, ein zweiter dreht die Richtung. Die Reiter Alle, Wartet auf Sie, Neu zum Lesen, Läuft, Meine und Geschlossen zeigen je ihre Zahl, die Suche findet Auftrag, Server, Person und Modell, und oben rechts blättern Sie in Seiten zu 25. Läufe von Zeitplänen und Sessions, die ein Alarm aus dem Monitoring gestartet hat, stehen unter Alle, Läuft und Geschlossen, mit einer Uhr oder einer Glocke vor dem Server; unter Wartet auf Sie, Neu zum Lesen und Meine erscheinen sie nicht, denn niemand hat sie von Hand gestartet. Der Server steht mit dem ersten Teil seines Namens da, der ganze Name erscheint beim Darüberfahren; das Häkchen voll im Kopf zeigt alle Namen ganz und gilt für jede Tabelle mit Hostnamen. Mit den Kästchen vorn markieren Sie mehrere Sessions als gelesen oder schließen sie; eine, die arbeitet oder auf eine Entscheidung wartet, bleibt offen.

Das Zeichen vor jeder Zeile sagt, was die Session tut; unter der Liste steht, was jedes bedeutet.

ZeichenZustandBedeutung
gelbes Ausrufezeichenwartet auf Siewartet auf Ihre Entscheidung, ist fehlgeschlagen oder wurde unterbrochen
gelbes FragezeichenIhre EntscheidungHeinzel ist fertig, und seine Zusammenfassung nennt etwas, das Sie entscheiden müssen
blauer Punktneu zum LesenHeinzel hat geschrieben, was Sie noch nicht gelesen haben
drehender PfeilarbeitetHeinzel ist dran
Uhrläuft gleich weiterwartet nur, bis eine andere Session auf demselben Server fertig ist
Hakenerledigtnichts offen
Schlossgeschlossendie Session nimmt nichts mehr an

Arbeitet eine Session, steht neben ihrem Server dessen Load: die Last der letzten Minute im Verhältnis zu seinen Prozessoren, alle fünf Sekunden neu, gelb ab 70 % und rot ab 100 %. Ruht die Session, steht an derselben Stelle, was sie gekostet hat.

Ein Rollout ist eine Zeile; nur eine Session, die gerade arbeitet, steht in einer eigenen Zeile mit ihrem Server, so ist jeder belegte Platz eine Zeile. Solange keine seiner Sessions Sie braucht oder arbeitet, sagt ihr Zeichen, was aus dem Rollout wurde: geplant, durch, durch mit fehlgeschlagenen Befehlen, die übrigen warten auf Freigabe oder gestoppt. Fett ist die Zeile, solange eine seiner Sessions ungelesen ist; wer den Rollout öffnet, hat sie gelesen.

Auf dem Telefon und überall, wo die Liste schmal ist, wird jede Zeile zu einer kleinen Karte, und statt der Spaltenköpfe sortiert die Taste neben der Suche.

Die Liste der Sessions als Posteingang: die Reiter Alle, Wartet auf Sie, Neu zum Lesen, Läuft, Meine und Geschlossen, darunter Suche und Seitenzahl, daneben der Umschalter Kurz, Betrieb, Team und Eigene, dann unter jedem Tag je Session eine Zeile mit Zeichen, Auftrag, Zusammenfassung, Server und Uhrzeit
Die Liste, die letzte Änderung oben.

Lange Sessions laufen weiter: Die Seite zeigt, wie viel vom Raum des Modells eine Session verbraucht hat, und über das Budget hinaus fasst der Anbieter die früheren Nachrichten für das Modell zusammen, während die Session jede Nachricht in voller Länge behält.

Wenn die Aufgabe erledigt ist

Heinzel schreibt die Zusammenfassung oben in die Session: was Sie entscheiden müssen, Änderungen, Prüfung, offene Punkte, Weg zurück. Steht etwas zur Entscheidung an, zeigt die Liste der Sessions „Ihre Entscheidung“, sonst „erledigt“; mit Alle als gelesen markieren ist die Liste wieder ruhig. Sie ist die Darstellung des Modells und nicht gegen das geprüft, was lief; der Nachweis ist das Protokoll der Befehle. Offene Punkte landen auf dem To-do des Servers, und eine Notiz geht ins Journal des Servers und, wo der Server es erlaubt, als Übergabenotiz in dessen Systemjournal (journalctl -t heinzel).

Eine Session, deren Aufgabe erledigt ist, schließt sich nach drei ruhigen Stunden von selbst, sonst nach den Arbeitsstunden des Mandanten ohne Aktivität. Weiterarbeiten geht in einer neuen Session, die die Zusammenfassung der alten liest. Unter Mehr auf der Session-Seite:

  • Änderungsnachweis: eine Markdown-Datei mit dem, der gefragt hat, dem, der entschieden hat, dem Ausgang jedes Befehls und seiner Stelle in der Audit-Kette. Für das Ticket oder den Prüfer.
  • Vorfallsentwurf: dieselben Fakten als Zeitleiste, die Abschnitte für Menschen (Auswirkung, Ursache, was zu ändern ist) als TODO markiert. Kein Modell schreibt ihn.
  • Ganze Session als PDF, Markdown oder Text: jede Nachricht, jeder Schritt von Heinzel und jeder Befehl mit Entscheidung und Ausgabe, in Ihrer Sprache. Oben stehen „Protokoll Heinzel Pro Session vom …“ mit dem Datum, die Adresse von heinzel-pro.de und der Link auf die Session selbst. Bei einer gelesenen Regel steht nur ihr Name, nicht der ganze Text; ebenso beim Gedächtnis und den To-dos des Servers, die seine Seite zeigt. Im PDF steht unten auf jeder Seite die Heinzel-Mütze. Zum Weitergeben an Kollegen oder an einen anderen Agenten. Das PDF kennt nur westeuropäische Zeichen; ein Emoji in einer Ausgabe steht dort als ?, in Markdown und Text bleibt es.
  • Zurückrollen: legt die Rücknahme-Notizen aller Befehle, die neueste zuerst, in die Aufgabe einer neuen Session. Der Knopf selbst macht nichts rückgängig; jeder Schritt wird wie jeder andere Befehl vorgeschlagen und freigegeben.
  • Bericht und Nachrichten: wohin der Bericht dieser Session geht, siehe unten.
  • Regeln neu laden, sobald ein neueres Regelwerk gilt; eine Session behält sonst das, mit dem sie begonnen hat.

Teilen

Eine Session gehört dem, der sie gestartet hat, und ist anfangs privat: nur er und die Administratoren sehen sie. Teilen im Kopf der Session öffnet die Tafel dazu. Dort tippen Sie eine Mail-Adresse und wählen, wie weit: r-- liest Nachrichten, Befehle und Ausgaben, rw- schreibt auch, und Heinzel liest dann für diese Person nur allein, jede Änderung wartet auf eine Freigabe, rwx lässt Heinzel ändern, so weit die Session es erlaubt. Ein Mitglied des Mandanten kommt so herein; wer kein Mitglied ist, mit oder ohne Heinzel-Pro-Konto, wird Gast des Mandanten und liest diese eine Session, sonst nichts: keinen Server, keine andere Session, auch keine, die für alle im Mandanten offen ist. Wer noch kein Konto hat, bekommt eines mit dem Anmeldecode per Mail; jeder andere eine Mail mit dem Link zur Session. Mit einem Klick kommen alle im Mandanten oder ein Team herein, lesend; die Zeile jedes Beteiligten stellt danach ein, wie weit, und beendet die Freigabe mit dem Kreuz. Gäste lesen immer; unter Benutzer macht ein Administrator aus einem Gast ein Mitglied, die Freigabe bleibt.

Der Schalter Jeder mit dem Link öffnet die Session für Menschen ohne Anmeldung: Die Adresse steht darunter, solange der Schalter an ist, und wer sie hat, liest mit, ohne Namen und mit geschwärzten Geheimnissen in den Ausgaben. Ausschalten beendet das für alle, Einschalten macht einen neuen Link. Links erlaubt ein Administrator unter Einstellungen, Richtlinie; anfangs sind sie aus. Wie weit Sessions überhaupt geteilt werden dürfen, stellt der Mandant dort ein, ein Server kann für seine Sessions weniger erlauben. Mit Session abgeben wird jemand, der mit rw- oder rwx beteiligt ist, zum Besitzer, wenn der Mandant das erlaubt. Jede Freigabe steht mit Anfang, Ende und Grund im Protokoll der Tafel.

Berichte und Nachrichten

Eine Session schickt ihren Bericht an die Ziele auf ihrer Seite: Mailadressen und den Kanal des Teams (der Webhook des Mandanten, Slack, Teams, Mattermost). Er geht von selbst hinaus, wenn Heinzel eine Aufgabe erledigt und die Zusammenfassung geschrieben hat, und wenn die Session fehlschlägt. Unter Konto legt „Berichte meiner Sessions“ die Ziele fest, die jede Ihrer Sessions mitnimmt.

Oder Sie bitten in der Aufgabe darum:

Eingabe: Prüfe auf allen Webservern, ob das Zertifikat noch mindestens 20 Tage gilt, und dann schicke mir eine Mail an ops@example.com.

Heinzel schreibt nur an Ziele, die ein Mensch genannt hat: eine Adresse aus einer Nachricht der Session, die Berichtsziele, die Personen der Session, den Kanal des Teams. Eine Adresse, die es auf einem Host oder in einer Datei gelesen hat, wird abgelehnt. Höchstens zehn Nachrichten je Session und Stunde, jede von Geheimnissen befreit, jede im Audit-Protokoll.

Anhänge

Das Nachrichtenfeld nimmt Dateien über die Büroklammer, durch Ablegen oder Einfügen: Textdateien bis 300 kB, mit einem Anthropic-Modell auch Bilder und PDFs bis 3,5 MB, fünf je Nachricht. Ein Fehlerbild aus dem Monitoring, eine Konfigurationsdatei vom Laptop, der Screenshot einer Fehlermeldung. Ein Text, der sich wie Anweisungen an Heinzel liest, wird dem Modell vorenthalten, bis jemand mit Schreibrecht ihn durchlässt.

Webseiten

Ein Link in der Aufgabe wird gelesen: „Ist dieser Server von https://… betroffen?“ Heinzel Pro holt die Seite selbst, nicht Ihr Server. So kann auch eine Session, die nur liest (r--), sie lesen, und ein Server ohne Weg ins Internet braucht keinen. In der Session steht der Schritt als „Webseite gelesen“. Die meisten Seiten kommen als einfache Anfrage in unter einer Sekunde. Eine Seite, die solche Anfragen abweist oder sich erst per JavaScript aufbaut, rendert ein Headless-Browser, sofern die Installation einen hat (siehe Installation); auf heinzel-pro.de ist er eingerichtet. Was auf einer Seite steht, nimmt Heinzel als Information, nie als Anweisung.