Honeypot decoys
Opt-in traps for form-filling bots and DOM-driven AI agents. Off by default.
Enable
Turn on Honeypot decoys in site settings, or PATCH /api/sites/:key with {"honeypot":true}. The challenge response carries honeypot: true; the client discovers this during Nolgard.ready. For immediate installation add data-honeypot="true" to the client script.
Decoy inputs
One off-screen text input is appended to each form containing an email or password input, including dynamically added forms. It has a random non-semantic name, no label, aria-hidden="true", tabindex="-1" and autocomplete="off". It is not display:none.
Scoring and autofill
honeypot is scored at weight 70, category automation. It fires only for a filled decoy with untrusted/no input provenance, or trusted input without a prior trusted focus on a real field. Trusted autofill following that focus path is neutral. Normal email/password autofill never fills a semantic decoy field.
The score can be suspicious or bot depending on site thresholds (the default bot threshold is 70). In this release a honeypot-only automatic decision never blocks: bot classification is retained, but enforcement is at most challenge. Other independent signals and explicit customer rules can still block. Start in observe mode.
Signals and privacy
behavior.honeypot = { filled, focused, input, trusted, priorFocus } // booleansNo decoy value, raw email, password, IP or user agent is added to storage. Missing or malformed optional honeypot evidence stays neutral. This is not proof against agents that avoid off-screen inputs.