# reCAPTCHA

{% hint style="info" %}
We save all messages, marking them as verified or not verified. You can opt to hide unverified messages by default.
{% endhint %}

### Create a reCAPTCHA (v3) Project&#x20;

First, let's create a project on reCAPTCHA and obtain the site and secret keys. We currently support v3 reCAPTCHA.

{% embed url="<https://www.google.com/recaptcha/admin/create>" %}
New Recaptcha Project
{% endembed %}

### Update Project Setting

Update the reCAPTCHA keys on your BetterForm project. This verifies the validity of the submission.

![Edit Project Screen](/files/eeXi6wqN9tlAdFn6gAoK)

### Add reCAPTCHA Code

Add a `data-recaptcha` attribute containing your `site key` to the form tag on your website to enable reCAPTCHA.

```html
<form
  betterform
  data-bf-recaptcha="RECAPTCHA_SITE_KEY"
>
...
</form>
```

{% hint style="success" %}
That's it! All form submissions will now be screened for spam.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.betterform.io/features/spam-protection.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
