Spam Protection

Honeypot fields, captcha, and domain restrictions to keep bots out of your forms.

Honeypot Fields

A honeypot is a hidden form field that real users never see or fill in. Bots, however, tend to fill every field they find. When FormBlade receives a submission with data in the honeypot field, it flags that submission as spam automatically.

How it works

  1. You add a hidden input to your form. It is invisible to humans because of display:none styling.
  2. A legitimate visitor submits the form and leaves the hidden field empty.
  3. A bot crawls the page, fills in every field (including the hidden one), and submits.
  4. FormBlade detects data in the honeypot field and marks the submission as spam.

Adding the honeypot to your HTML

Add this input anywhere inside your <form> tag. The default honeypot field name is _gotcha:

<input type="text"
       name="_gotcha"
       style="display:none"
       tabindex="-1"
       autocomplete="off">

The tabindex="-1" attribute prevents keyboard users from accidentally focusing the field. The autocomplete="off" attribute stops browsers from auto-filling it.

Tip: If you use the Form Designer to build hosted forms, the honeypot field is included automatically. No extra HTML needed.

Custom field name

Some sophisticated bots know to skip fields named _gotcha. You can change the honeypot field name in your form settings:

  1. Open your form in the dashboard.
  2. Go to the Settings tab.
  3. Under Spam Protection, change the honeypot field name to anything you like (e.g., _hp, website_url, company_fax).
  4. Update the name attribute in your HTML to match.

Using a field name that sounds like a real field (like company_fax) can be more effective because bots are more likely to fill it in.

Captcha

For stronger protection, add a captcha challenge. FormBlade supports five providers:

Captcha verification happens server-side. When a submission arrives, FormBlade sends the captcha response token to the provider's API to verify it. If verification fails, the submission is accepted and flagged as spam. It is stored in your dashboard, but no notifications, auto-responders, or integrations are triggered.

For full setup instructions, including how to get API keys and add the captcha widget to your HTML, see the Captcha Setup guide.

Domain Restrictions

Domain restrictions let you whitelist specific domains that are allowed to submit to your form. Submissions originating from any other domain are rejected. This is available on the Business tier and above.

Setting up domain restrictions

  1. Open your form in the dashboard.
  2. Go to the Settings tab.
  3. Under Allowed Domains, enter one or more domains (e.g., example.com, shop.example.com).
  4. Save your changes.

FormBlade checks the Origin and Referer headers on incoming requests. If neither header matches an allowed domain, the submission is rejected with a 403 Forbidden response.

Note: Domain restrictions check the origin of the HTTP request, not the email address of the submitter. They prevent other websites from posting to your form link.

How Spam Submissions Are Handled

When a submission is flagged as spam (by the honeypot field or by a failed captcha check), it is handled as follows:

Recommended Setup

For most forms, we recommend combining the honeypot with a captcha:

All three methods can be active on the same form. They run in order: domain check first, then captcha verification, then honeypot detection.