Bot protection: how your store is protected
Treyza always protects sign-in, sign-up, password reset and, if you want, forms on your storefront against bots; no setup is needed and customers…
Where to find it: Left menu → Integrations → Security Who it's for: Every store (protection is already on). Especially stores that use customer sign-in, sign-up and forms and are thinking about adding an extra verification layer. In short: Treyza always protects sign-in, sign-up, password reset and, if you want, forms on your storefront against bots; no setup is needed and customers usually see nothing. You can also add Cloudflare Turnstile or Google reCAPTCHA as an extra layer.
What does it do?
A "bot" is a computer program that does things instead of a person. Malicious bots usually try the following on online stores:
| Attack | How it happens | What it costs you |
|---|---|---|
| Password guessing | Tries email and password lists leaked from other sites on your sign-in page, thousands of times in a row. | Customer accounts get taken over |
| Fake sign-ups | Opens hundreds of accounts (for example, to claim a welcome discount again and again). | Lost coupons, a polluted customer list |
| Email bombing | Makes your store send "password reset" emails to one customer's address over and over. | Customer complaints, your emails landing in spam |
| Form spam | Fills your contact or application form with ads and junk messages. | A flood of notifications, real messages getting lost |
Bot protection tries to tell whether the request behind these actions comes from a person or from a program, and stops the programs. It is designed to work without slowing down your real customers.
What is protected?
These actions appear in the panel under the following names:
| Storefront action | Protection |
|---|---|
| Sign-in (a customer signing in to their account) | Always on |
| Sign-up (a new account) | Always on |
| Password reset (requesting a reset email) | Always on |
| Forms (submissions of forms you built with the form builder) | Turned on or off per form (see "Bot protection on forms" below) |
| Form file uploads | When the form's bot protection is on |
Sign-in and sign-up are protected the same way whether they happen on the separate sign-in page or in the window that opens from the cart, favorites or checkout.
Tip: For sign-ins with the Continue with Google / Continue with Apple buttons, Google and Apple do the verification themselves; these buttons are not affected by bot protection.
What does your customer see?
Usually nothing. What they see depends on the verification method you use:
| Verification method | What the customer sees |
|---|---|
| Treyza built-in protection | Nothing. In a suspicious situation, Verifying… for a few seconds. |
| Cloudflare Turnstile | Nothing for most visitors. If Cloudflare deems it necessary, a one-click verification box inside the form. |
| Google reCAPTCHA v3 | Nothing. Below the form, the one-line text Google requires: "This site is protected by reCAPTCHA." |
| Google reCAPTCHA v2 | The "I'm not a robot" box. If Google deems it necessary, an extra image-selection puzzle. |
The messages your customer may see when something goes wrong, and what they should do:
| Message | When does it appear? | What should the customer do? |
|---|---|---|
| Verifying… | Verification is running in the background. | Wait a second or two. |
| Running an extra security check… | When the risk goes up or the extra provider can't be reached. | Just wait; the action completes on its own. |
| Security verification failed. Please try again. | The verification didn't pass. | Try again. |
| Security verification couldn't load. Check your connection or ad blocker and try again. | Cloudflare's or Google's verification file couldn't load in the browser (ad blocker, weak connection). | Turn off the ad blocker on this site and press Try again. |
| Please tick the "I'm not a robot" box. | With reCAPTCHA v2, the form was submitted without ticking the box. | Tick the box and submit again. |
How does Treyza's built-in protection work?
The built-in protection has four parts:
- A small puzzle (proof of work): As soon as the customer opens the sign-in form, their browser solves a small math puzzle in the background. For a person it takes a fraction of a second and finishes while they fill in the form; by the time they press the sign-in button, the solution is ready. Every puzzle can be used only once. A bot that wants to make thousands of attempts has to solve a new puzzle for every single one, so the attack slows down and gets expensive.
- Harder when the risk goes up: When wrong passwords are entered repeatedly from the same internet connection, when your store sees many failed sign-ins in a short time, or when a request looks like it comes from an automation tool, the puzzle gets harder and can take a few seconds. A real customer sees at most a short Verifying…; for the attacker every attempt becomes much more expensive.
- Trap field: Forms contain a hidden field that people don't see. A person never sees it, so they leave it empty; a bot that fills in every box on a form fills it in, and its request is rejected.
- Rate limits: The number of attempts from the same place in a short time is limited. At most 3 password reset emails an hour are sent to the same email address, so nobody can flood a customer's inbox with reset emails.
Tip: Think of the puzzle as a turnstile that takes a small token at every pass. It's nothing for someone who passes once; it's very expensive for someone trying to pass through the same gate tens of thousands of times an hour.
The built-in protection uses no cookies, doesn't send visitor information to any third-party company, is free and needs no setup. That's why it is always on in every store.
Which method should I choose?
| Treyza built-in protection | Cloudflare Turnstile | Google reCAPTCHA v3 | Google reCAPTCHA v2 | |
|---|---|---|---|---|
| Cost | Free | Free | Free up to 10,000 verifications a month; Google Cloud billing above that | Same as v3 |
| What the customer sees | Nothing | Usually nothing; one click if needed | Nothing; one line of Google text below the form | The "I'm not a robot" box |
| Privacy and data protection | Data stays with Treyza and goes to no third-party company | The visitor's IP address and browser information go to Cloudflare, abroad; must be mentioned in your privacy notice | Visitor data goes to Google, abroad; must be mentioned in your privacy notice | Same as v3 |
| Setup | None, always on | About 10 minutes | About 15 minutes (needs a Google Cloud project) | Same as v3 |
| Testing from the panel | Not needed | Test Connection checks the secret key; domains with Verify on storefront | Test Connection only checks the key format; the real test is Verify on storefront | Same as v3 |
| When? | Enough for most stores | Our recommendation if you want an extra layer | If you already use Google Cloud and your monthly verification count is low | If you want customers to clearly see the verification |
Our recommendation: For most stores the built-in protection is enough. If you want an extra layer, choose Cloudflare Turnstile: it is free, verifications are unlimited, and Cloudflare states that it doesn't use the data it collects for advertising. You can also use Google reCAPTCHA, but more than 10,000 verifications a month requires Google Cloud billing. With both providers visitor data goes to a company abroad, so you need to update your privacy notice. The only option that never takes data outside Treyza is the built-in protection.
Tip: Cloudflare and Google can recognize connections with a bad reputation using what they learn from millions of sites. The built-in protection slows an attack down and makes it expensive; an extra provider adds that recognition power.
What changes when you add an extra provider?
The provider cards are in the Integrations → Security section: Cloudflare Turnstile and Google reCAPTCHA. For setup steps see the Setting up Cloudflare Turnstile and Setting up Google reCAPTCHA pages.
- Keys take effect domain by domain: The provider is used on one of your store's domains (e.g.
mystore.treyza.shopormystore.com) only if the integration is enabled and that domain has been verified once from the panel with Verify on storefront. On a domain that isn't verified, your customers are protected by the built-in protection; that way a wrongly copied key or a domain you forgot to add at the provider can't lock your customers out of signing in. When a key changes, the verifications are reset. - One provider at a time: Only one provider can be active in the Security category at a time. If you turn on Turnstile, reCAPTCHA turns off (and vice versa).
- You choose where it is used: The provider's settings have the switches Girişte kullan (use on sign-in), Kayıtta kullan (use on sign-up), Şifre sıfırlamada kullan (use on password reset) and Formlarda kullan (use on forms); all of them start on. An action you turn off keeps being protected by Treyza's built-in protection — no action is ever left unprotected.
- Form file uploads are always verified with Treyza's built-in protection; they are never sent to the provider.
- If you turn the provider off, everything goes back to the built-in protection; you don't need to do anything else.
Tip: The field names of the two provider cards (such as Girişte kullan) currently appear in Turkish in the panel even when it is in English; this page writes them as they appear on screen, with a translation next to them.
The "Treyza Bot Protection" card in the panel
On the Integrations page, the Treyza Bot Protection card sits at the very top of the Security section. The section description reads: "Protects your store against bots. Treyza's built-in protection is always on; you can also add Cloudflare Turnstile or Google reCAPTCHA."
| What you see on the card | What it means |
|---|---|
| Always on badge | The built-in protection is running and enforcing its rules. |
| Monitoring mode badge (instead of Always on) | When Treyza rolls out a new protection, it may run it in monitoring mode for a short while: verifications are made and counted, but no request is blocked. |
| Verification method | The method in use right now: Treyza built-in protection, Cloudflare Turnstile, Google reCAPTCHA v3 or Google reCAPTCHA v2. |
| Action list | Which method protects each of Sign-in, Sign-up, Password reset, Forms and Form file uploads. |
| Last 7 days | Passed (requests that passed verification), Blocked (rejected requests), Extra verification (requests sent to an extra security check). In monitoring mode no request is blocked, so Would be blocked (requests that would have been rejected with full protection) appears instead of Blocked and Extra verification. |
| Forms with bot protection: {protected}/{total} | How many of your forms have bot protection on. For example, "Forms with bot protection: 3/5" means it is on in three of five forms. |
| Domain verification | If you saved the keys of an extra provider: each of your store's domains and its status: Verified, Not verified — Treyza built-in protection is used on this domain or Temporarily on built-in protection (30 min). Next to the heading you see the provider's name and the integration's status: Active or Inactive. If no domain is verified yet, the note "The keys haven't been verified on any domain yet." appears; as a warning if the integration is Active, as an information note if it's Inactive. A domain that isn't verified has a Verify on storefront button next to it. |
| {count} reCAPTCHA verifications this month (Google's free quota is 10,000 per organization per month) | Only shown if you use Google reCAPTCHA: the number of reCAPTCHA verifications made in this store this month. When the number reaches 8,000, the line is shown in the warning color. |
| How it works | Brings you to this page. |
Health warnings
If you use an extra provider and something goes wrong, a warning appears on the card. In the warning, {provider} is replaced by the provider's name and {host} by the domain where the problem happens.
| Warning | What it means | What to do |
|---|---|---|
| {provider} rejected the secret key. Visitors are currently verified with Treyza's built-in protection; please check the key. | The provider didn't accept the secret key you entered (seen with Cloudflare Turnstile). The key may have been copied wrongly, rotated or deleted in the provider's dashboard. | Copy the secret key again from the provider's dashboard, paste it into the Gizli anahtar (Secret Key) field on the provider card, press Test Connection and then Save; then verify your domains again. |
| {provider} is rejecting every verification on {host}; this domain was moved to Treyza's built-in protection for 30 minutes. Check the secret key and verify again. | Only seen with Google reCAPTCHA: Google rejects every verification on that domain. The most likely reason is that the secret key is no longer valid. | Copy the secret key again and enter it, press Save and verify the domain again with Verify on storefront. |
| {provider} can't load on {host}; this domain was moved to Treyza's built-in protection for 30 minutes. Check the domain list in the provider's dashboard. | On a verified domain the provider's verification box failed repeatedly for many visitors. The most common reason is that the domain was removed from the provider's dashboard. | Check that the domain is registered in the provider's dashboard. After 30 minutes Treyza tries the provider on that domain again. |
| Your Google reCAPTCHA free quota is used up for this month. Visitors are verified with Treyza's built-in protection until the month ends; you can enable billing in Google Cloud or switch to Cloudflare Turnstile. | Your Google Cloud organization's 10,000 free monthly verifications are used up. | Enable billing in Google Cloud or switch to Cloudflare Turnstile. If you do nothing, the built-in protection runs until the end of the month. |
| {provider} can't be reached right now. Visitors are temporarily verified with Treyza's built-in protection. | The provider has a temporary outage. | You don't need to do anything; it resolves on its own. |
Tip: Even while a warning is shown, your store keeps working: visitors are verified with Treyza's built-in protection and complete their actions.
Bot protection on forms
You can turn bot protection on or off separately for every form you build with the form builder.
- Open Forms from the left menu and edit your form (or create a New Form).
- Press the Form Settings button in the top bar.
- Switch to the Security tab in the window that opens.
- Turn on the Bot protection switch.
- Close the window and press the Save button in the top bar.
The description under the switch reads: "When on, submissions and file uploads for this form go through bot verification. The method comes from your store setting: {provider}." Here {provider} is replaced by the method your store uses (for example, Treyza built-in protection). To change the method, use the Integrations → Security link under the description; the link opens in a new tab, so unsaved changes in the form aren't lost. If the method can't be loaded at that moment, the description shows only its first sentence and the link doesn't appear; you can still change the method in the Security section of the Integrations page.
- In new forms bot protection starts on.
- In existing forms created before this feature it starts off, so no form changes its behavior without you deciding so. To protect your existing forms too, turn the switch on yourself.
- Even on a form with bot protection off, the number of submissions is limited and the file upload rules apply.
Warning: A change you make in the form's Form Settings window is not applied to your form until you press the Save button in the top bar.
What happens if the provider can't be reached?
If Cloudflare or Google has an outage, your Google reCAPTCHA free monthly verifications run out, or the provider rejects your secret key or its verifications, your storefront does not lock up:
- Treyza notices the situation and automatically sends the visitor to the built-in protection.
- The visitor briefly sees Running an extra security check… while a slightly harder puzzle is solved in the background.
- The visitor completes their action (sign-in, sign-up, form submission).
- A health warning appears on the Treyza Bot Protection card in the panel (see the table above).
Warning: The only exception is when the provider's verification file can't load in one visitor's own browser (for example because of an ad blocker or a very weak connection): that visitor sees "Security verification couldn't load…" and the Try again button. If the same error shows up for many visitors on a domain, Treyza moves that domain to the built-in protection for 30 minutes.
Frequently asked questions
Will my customers notice anything? Most customers notice nothing. The built-in protection and Cloudflare Turnstile are invisible for most visitors. Only if you choose Google reCAPTCHA v2 does the customer tick the "I'm not a robot" box.
I entered my provider keys; why don't they work right away? The keys don't take effect until each of your store's domains has been verified once with Verify on storefront; until then your customers are protected by the built-in protection. The Enable Integration switch must be on too. The reason: a wrongly copied key or a domain you forgot to add at the provider could lock your customers out of signing in, and most of these mistakes only show up on the storefront, in a real verification. Verify every domain from the Domain verification list on the Treyza Bot Protection card; the steps are on the Setting up Cloudflare Turnstile and Setting up Google reCAPTCHA pages.
Can a customer with an ad blocker sign in? The built-in protection isn't affected by ad blockers; verification runs directly from your store's own address. If you use Cloudflare Turnstile or Google reCAPTCHA, some ad and privacy blockers may block the provider's verification file. The customer then sees "Security verification couldn't load…" and needs to turn off the blocker on your store and press Try again. If you get such complaints often, turn off the switch for that action (for example Girişte kullan); the action stays protected by the built-in protection.
What should a customer who was blocked by mistake do? First, refresh the page and try again. Make sure the browser is up to date and JavaScript is on. If they entered wrong passwords several times from the same connection, the puzzle gets harder for a while; after waiting a few minutes they can sign in with the right password. If the problem continues, ask them which message they saw; you can look up its meaning in the table above.
My customer didn't get the password reset email. If more than 3 reset requests are sent to the same address within an hour, no email is sent for the extra ones, to prevent email bombing; the screen still shows the success message. Ask your customer to wait an hour, request it once more and check the spam folder too.
Can I turn off the built-in protection? No. The built-in protection is invisible, uses no cookies, shares no data and is free; it puts no burden on your customers. If it could be turned off, your store's sign-in and sign-up pages would be open to bots. Even if you add an extra provider, the built-in protection keeps working as a fallback.
Which provider should I choose? Most stores don't need an extra provider. If you want an extra layer, we recommend Cloudflare Turnstile because it is free and doesn't limit the number of verifications. For a comparison, see the "Which method should I choose?" table above.
How do I remove a provider?
- In the Integrations → Security section, click the provider's card.
- Turn off the Enable Integration switch.
- Press Save and close the window with Close.
The built-in protection carries on. Your keys are not deleted; later you only need to turn the switch back on. If you're leaving the provider for good, you can also delete the widget or key in the provider's own dashboard.
Does this protection also cover my management panel sign-in? No. This page is about customer actions on your storefront. To protect your panel account, turn on two-step verification: Two-Factor Authentication.
Related pages
- Setting up Cloudflare Turnstile: Setting up Cloudflare Turnstile
- Setting up Google reCAPTCHA: Setting up Google reCAPTCHA
- Setting up and enabling integrations: Managing Integrations (List, Setup, Turning On/Off)
- Form settings: Form Builder (Drag-and-Drop)
- Privacy notice and cookie policy: Legal Pages (Agreements)
- Customer registration settings: Customer Settings
Was this page helpful?
Social Feed Keys: Instagram Token, YouTube, Google Reviews
Of the three sources only YouTube works without a key; Instagram needs an access token and Google Reviews needs an API key. This page walks through…
Setting up Cloudflare Turnstile
You create a free Turnstile widget at Cloudflare and add your store's domains; then you enter the site key and secret key it gives you into Treyza and…