The send guard
The send guard checks an operator's text when they press Send in a web application. It runs the reviews on that screen first. A Block answer holds the send, and a Warn answer asks the operator to confirm. The guard is best effort. It helps operators catch mistakes, and it is not a security control.
When a screen guards Send
Section titled “When a screen guards Send”A screen guards Send in an operator's browser when all of these hold:
- The screen has a Send button set on its site.
- A review on that screen gives a Warn or Block outcome to at least one answer of a prism the operator runs. See Outcomes.
- The operator has turned on the Check button for that site, with Show the Check button on this site in the extension's menu. Chrome asks them once for access to the site. See The Check button.
The reviews list marks a review that guards Send with Checks before send. The Check button is a setting in each operator's browser, so ask your operators to turn it on. The extension's menu reminds them when a review on the page can warn or block and the site is still off.
The extension from the Chrome Web Store guards Send only on https addresses.
What happens on Send
Section titled “What happens on Send”The guard catches the press on the screen's Send button, and the keys listed under Keys that also send when pressed inside the work area, before the application sees them. The button at the corner of the composer says Checking before send.... The extension captures that composer and runs every prism of the screen's reviews that the operator may run. It waits up to 20 seconds for a verdict.
When any answer has a Block outcome, the send stays held. The text stays in the composer, unsent. The composer's button says Send held - see Prismlet, and its tooltip gives the reason. Clicking it opens the panel on the answers.
To send, the operator edits the text and presses Send again. The reviews run again on the new text. A Block wins over every Warn.
A confirm opens beside the composer with the reason and two buttons, Go back and Send anyway. It opens when nothing blocks and any of these happened:
- An answer has a Warn outcome.
- An answer is Unsure on a question that can warn or block. See Unsure answers.
- A prism could not finish its check, such as when the model provider failed.
- The checks gave no verdict within 20 seconds.
- The extension could not check at all, such as when it is signed out or still checking an earlier press on the page.
Go back closes the confirm and sends nothing. Send anyway sends the text.
Nothing to stop
Section titled “Nothing to stop”When no answer warns or blocks and every prism finished, the send goes through with no prompt. The operator sees a short pause while the checks run.
The answers of every guarded send also show in the extension's panel, as after a check.
Send anyway
Section titled “Send anyway”Send anyway records that the operator saw a warning and sent. The extension stamps the time on each result of that check. In the app, the result's details show Sent anyway: "The operator confirmed a warning and sent at" the time. Find these results on the prism's Results tab.
When the checks did not finish, there may be no saved result to stamp, so a send after a timeout can leave no Sent anyway record.
How the send resumes
Section titled “How the send resumes”The guard holds the operator's real press. To send, it presses the screen's Send button itself, with synthetic pointer and mouse events. After a key such as Ctrl+Enter, it also sends by pressing the Send button.
Some applications ignore events that a script creates. On such a site, Send does nothing after the guard lets it through. Test the guard on your site before you roll it out. If Send stops working, clear the screen's Send button CSS selector so the screen only shows answers.
Limits
Section titled “Limits”The guard sees only presses on the Send button and the listed keys, in a browser where the extension is signed in and the site's Check button is on. These get past it:
- Scheduled send.
- Undo send.
- A send from another tab or device the guard is not running in, such as a phone app or a browser without the extension.
- A site that sends by other means, such as a send option in a menu or a shortcut not listed under Keys that also send.
A site that ignores synthetic events fails the other way: the guard stops sends it should let through, as above.
An operator can also press Send anyway on any warning, or turn the Check button off. Treat Block and Warn as a strong prompt for the operator, not as an enforced rule, and review Sent anyway results in the app.