WissenStand 26. Oktober 2026
Human in the Loop für E-Mail-Agenten: die sichere Freigabe
Human in the Loop bei E-Mail-Agenten heißt: Der Agent schreibt, ein Mensch entscheidet, und gesendet wird genau die Fassung, die dieser Mensch gesehen hat. Das klingt selbstverständlich, scheitert aber oft im Detail. Eine Freigabe schützt nur, wenn das sendende System sie prüft, wenn der Agent sie sich nicht selbst erteilen kann und wenn sie an Inhalt, Empfänger und Absender gebunden ist.
01Warum E-Mail eine Freigabe braucht
OWASP beschreibt unter „Excessive Agency“ drei Ursachen, aus denen Agenten Schaden anrichten: zu viele Funktionen, zu weite Rechte und zu viel Autonomie. Zur dritten gehört ausdrücklich, dass eine Anwendung folgenreiche Aktionen nicht unabhängig prüfen und freigeben lässt[1]. Als Gegenmittel nennt OWASP Human-in-the-Loop-Kontrollen, die ein Mensch vor der Aktion bestätigt, und zwar wahlweise im nachgelagerten System statt in der Anwendung mit dem Sprachmodell[1].
Bei E-Mail ist Senden die folgenreichste Aktion. Eine gesendete Mail lässt sich nicht zurückholen, sie trägt deinen Namen, und sie ist der direkteste Weg, auf dem Daten das Postfach verlassen. Simon Willison nennt die Kombination aus privaten Daten, fremden Inhalten und einem Weg nach außen das „lethal trifecta“[4]. Ein Agent im Postfach liest private Daten und fremde Mails schon von Berufs wegen. Das Senderecht eröffnet den direktesten Ausgang. Auch ohne es können andere Werkzeuge Daten nach außen tragen, etwa Webzugriffe, geladene Bilder oder Links[4].
Eine Freigabe nimmt dem Agenten diesen Ausgang nicht vollständig, sie stellt einen Menschen davor. Wie gut das gelingt, hängt von der Bauart ab.
02Fünf Eigenschaften einer belastbaren Freigabe
Das OWASP Cheat Sheet zur Sicherheit von KI-Agenten beschreibt, wie eine Freigabe technisch aussehen soll[2]. Übertragen auf E-Mail ergeben sich fünf Eigenschaften.
- Das sendende System prüft sie. Laut OWASP muss die ausführende Komponente die Freigabe für genau diese Aktion verifizieren[3]. Ein Agent, der sich vorher „Darf ich?“ fragt, ist keine Kontrolle; der Server, der die Mail ausliefert, muss die Freigabe sehen.
- Der Agent kann sie sich nicht selbst geben. Die Freigabe muss über einen Kanal kommen, den der Agent nicht bedient. Schreibt der Agent selbst „Freigegeben“ in ein Feld, das er auch beschreiben darf, ist nichts gewonnen.
- Sie gilt für genau eine Fassung. OWASP verlangt, dass Änderungen an Ziel oder Parametern eine neue Freigabe brauchen[2]. Bei Mail heißt das: Empfänger, Kopie, Betreff, Text, Formatierung, Anhänge und Absender sind Teil der Freigabe. Eine nachträglich eingefügte Signatur oder ein ausgetauschter Anhang gehört nicht mehr dazu.
- Sie wird einmal verbraucht. Das Cheat Sheet empfiehlt, die Freigabe unmittelbar vor der Ausführung in einem einzigen atomaren Schritt zu prüfen und zu verbrauchen, damit parallele oder wiederholte Anfragen sie nicht erneut nutzen[2]. Für Mail ist der heikelste Fall ein unklarer Ausgang: Hat der Versanddienst die Nachricht angenommen oder nicht? Ein automatischer Neuversuch kann dann eine doppelte Mail erzeugen.
- Sie passt zur Lage. Eine Antwort, die vor einer neuen Nachricht im selben Verlauf geschrieben wurde, kann überholt sein. Eine gute Freigabe weist darauf hin, bevor sie erteilt wird.
03Wo Freigaben in der Praxis scheitern
Freigabe im Chat statt im System. Viele Assistenten fragen vor dem Senden zurück. Diese Rückfrage ist nützlich, aber sie ist eine Entscheidung des Modells. Eine präparierte Mail kann das Modell dazu bringen, die Frage zu überspringen oder eine Zustimmung zu unterstellen. Das OWASP Cheat Sheet zur Prompt Injection nennt Human-in-the-Loop-Kontrollen deshalb als eigene Schutzschicht neben Filtern und strukturierten Prompts und verweist für die Umsetzung auf die Prüfung im ausführenden System[3].
Ermüdung. Wer täglich dreißig Freigaben abnickt, liest irgendwann nicht mehr. OWASP warnt ausdrücklich, dass Menschen bei ständigen Rückfragen ermüden[3]. Freigaben sollten daher selten genug sein, dass jede gelesen wird: Sortieren, Archivieren und Entwürfe brauchen keine, Senden schon.
Freigabe für eine Kategorie. „Antworte auf alle Terminanfragen“ ist keine Freigabe einer Mail, sondern eine Vollmacht. Sie kann sinnvoll sein, gehört dann aber in die Kategorie „Senden ohne Freigabe“ mit den Grenzen, die dafür gelten.
Agenten mit Zugriff auf die Freigabe selbst. Ein Browser-Agent, der deine angemeldete Mail-App bedient, kann dort auch auf „Freigeben“ klicken. Die Trennung zwischen Agentenkanal und Menschenkanal gilt dann nicht mehr.
Freigabe ohne Kontext. Wer nur den Entwurf sieht, nicht aber die Mail, auf die er antwortet, kann eine Weiterleitung an eine fremde Adresse leicht übersehen. Empfänger und Anhänge gehören sichtbar in die Freigabeansicht.
04Senden ohne Freigabe: Grenzen statt Rückfrage
Nicht jede Mail verdient eine Rückfrage. Für Bestätigungen, Terminzusagen oder Standardantworten kann autonomes Senden vertretbar sein. Dann übernimmt keine Freigabe den Schutz, sondern harte Grenzen, die das System durchsetzt: eine Höchstzahl an Mails pro Tag, wenige Empfänger je Nachricht, keine Antworten an automatische Absender und Verteiler, ein eindeutiger Sendeschlüssel gegen doppelte Mails. OWASP empfiehlt, Autonomie nach Risiko der Aktion zu staffeln und Entscheidungen nachvollziehbar zu protokollieren[2].
Wichtig ist die ehrliche Rechnung: Ein getäuschter Agent bleibt innerhalb dieser Grenzen handlungsfähig. Ein Tageslimit begrenzt den Schaden, es verhindert ihn nicht.
05Wie Command Mail die Freigabe umsetzt
Command Mail ist unser Produkt. Die folgenden Aussagen haben wir gegen den ausführenden Code im App-Commit 5a48c2b geprüft.
Ein Agent mit dem Recht mail:draft speichert Entwürfe, mit mail:send-approved darf er genau die Revision senden, die ein Mensch freigegeben hat[5]. Die Freigabe-Route nimmt nur eine angemeldete App-Sitzung an; mit einem Agenten-Token antwortet der Server mit 403 „A person must approve this draft in the browser.“ Vor der Freigabe prüft der Server gültige Empfänger, Betreff und Text, ob die Absenderadresse noch dieselbe ist und ob im Verlauf inzwischen eine neuere Nachricht eingegangen ist; im letzten Fall muss die Freigabe nach Durchsicht bestätigt werden.
Jede Änderung am Entwurf erhöht die Revision und setzt ihn auf „ausstehend“ zurück. Beim Senden prüft der Server Revision und freigebende Person und setzt den Entwurf in einem Schritt von „freigegeben“ auf „wird gesendet“, sodass dieselbe Freigabe nur einmal verbraucht wird. Gesendet werden Text, Formatierung und Anhänge so, wie sie freigegeben wurden; eine aktuelle Signatur wird nicht nachträglich angefügt. Scheitert der Vorgang nachweislich vor der Übergabe an den Versanddienst, bleibt die Freigabe bestehen. Jeden Fehler ab der Übergabe behandelt Command Mail als unsicheren Ausgang: Der Entwurf wird als unsicher markiert, und dieselbe Freigabe sendet nicht erneut.
Steht das sendende Postfach auf der Autonomiestufe read, sendet kein Agent, auch keinen freigegebenen Entwurf; das erledigst du dann in der App. Senden setzt Pro voraus. Direktes Senden ohne Freigabe mit mail:send geht nur auf der Stufe auto, mit eindeutigem Sendeschlüssel, einem kontoweiten Tageslimit je UTC-Tag (standardmäßig 50, einstellbar von 0 bis 500), höchstens 20 Empfängern je Mail in An, Cc und Bcc zusammen und ohne Antworten an automatische Absender[5]. Beim Verbinden startet dieses Recht ausgeschaltet.
Die Grenze nennen wir offen: Bedient ein Agent deinen angemeldeten Browser, kann er die Freigabe selbst klicken. Gib Browser-Agenten deshalb keinen Zugriff auf die geöffnete App.
Den Ablauf vom Entwurf bis zur gesendeten Mail zeigt E-Mails mit KI beantworten, Rechte und Stufen beschreibt die Berechtigungsdokumentation, wie eine Mail einen Agenten täuscht, erklärt Prompt Injection in E-Mails.
06Prüfstand
Stand: 2026-10-26. Die OWASP- und Willison-Seiten wurden an diesem Tag abgerufen. Die Aussagen über Command Mail beruhen auf dem App-Code im Commit 5a48c2b (Freigabe- und Sende-Route für Agentenentwürfe, Revisionen, Autonomie beim Senden, Tageslimit und Empfängergrenze) und auf llms.txt. Einen eigenen Angriffstest haben wir nicht durchgeführt.
Du kannst kostenlos starten und deinen Agenten zunächst nur mit Lese- und Entwurfsrechten verbinden.
Häufige Fragen
Was heißt Human in the Loop bei einem E-Mail-Agenten?
Der Agent bereitet eine Mail vor, gesendet wird sie erst, wenn ein Mensch genau diese Fassung freigegeben hat. OWASP empfiehlt das für folgenreiche Aktionen, damit ein Agent nicht mehr Autonomie hat, als die Aufgabe braucht.
Reicht es, wenn der Agent im Chat fragt „Soll ich senden?“
Nur bedingt. Eine Rückfrage im Chat läuft über denselben Kanal, den eine präparierte Mail beeinflussen kann, und der Agent selbst entscheidet, ob er fragt. Eine belastbare Freigabe prüft das System, das tatsächlich sendet.
Was passiert, wenn der Entwurf nach der Freigabe noch geändert wird?
Eine gute Freigabe gilt nur für die geprüfte Fassung. OWASP verlangt, dass Änderungen an Ziel oder Parametern eine neue Freigabe brauchen. In Command Mail macht jede Änderung eine neue Revision, die wieder freigegeben werden muss.
Kann ein Agent in Command Mail seine Entwürfe selbst freigeben?
Nein. Die Freigabe-Route nimmt nur eine angemeldete App-Sitzung an und lehnt Agenten-Token ab. Die Grenze gilt nicht für einen Agenten, der deinen angemeldeten Browser bedient.
Wann ist Senden ohne Freigabe vertretbar?
Wenn der Schaden einer falschen Mail klein ist und harte Grenzen gelten, etwa ein Tageslimit, wenige Empfänger je Mail und keine Antworten an automatische Absender. Auch dann bleibt ein getäuschter Agent innerhalb dieser Grenzen handlungsfähig.