Widget modes
Invisible, managed and interactive: what each widget mode shows and when the check appears.
The mode decides what the widget shows. It never changes what the server requires: every mode ends in the same single-use token, and your server redeems it the same way.
| Mode | What people see | When the check appears |
|---|---|---|
invisible (default) | Nothing. The widget element is hidden. | Only when AgentGate asks for it, as a modal dialog. |
managed | A small status chip: "Protected by AgentGate", then "Verifying…", then "Verified". | Only when AgentGate asks for it, inline under the chip. |
interactive | The chip and a Verify button. | Always, inline. The form cannot be submitted until it passes. |
Set the mode with data-mode on the widget element, the mode option of AgentGate.render(), or the mode option of AgentGate.execute(). An unknown value falls back to invisible.
<div class="agentgate" data-sitekey="site_…" data-action="submit" data-mode="managed"></div>Invisible
Best for most forms. The widget verifies when the form is submitted, so the token is fresh when your server redeems it. If AgentGate asks for the step-up check, a modal dialog opens over the page; Escape or Cancel closes it and the submission does not go through (the error code is canceled).
Managed
Like invisible, with a visible sign that the form is protected. The chip is a polite live region, so screen-reader users hear "Verifying…" and "Verified". The check, when asked for, appears inline under the chip instead of in a dialog.
Interactive
For high-value actions where you want every visitor to act. The widget shows a Verify button; pressing it starts verification and always shows the press-and-hold check (the server asks for it even when the evidence looks fine). Submitting before verifying shows "Please complete the verification first." and moves focus to the button.
States the chip shows
| State | Text (English) |
|---|---|
| idle | Protected by AgentGate |
| verifying | Verifying… |
| verified | Verified |
| failed | Verification failed. Please try again. |
| network error | The check could not be sent. Check your connection and try again. |
| expired | Verification expired. Please verify again. |
The chip carries data-state (idle, verifying, verified, error, expired) and the class agentgate-chip, which you can use to style around it. Strings exist in eight languages; see Widget configuration.
Tokens and timing
A widget clears its token five seconds before it expires (two minutes by default) and, for managed and interactive widgets, shows "Verification expired". After a successful submission the token is cleared, so the next submission verifies again.