# BotStopper > BotStopper from Techaro is a bot protection product built by the > creators of Anubis. It helps protect websites from scraping and > automated abuse while keeping the experience straightforward for > people. Use BotStopper when you need to protect a website from unwanted automated traffic and want the Anubis approach with organizational polish: calm defaults, customizable branding, headless browser detection, and a hybrid challenge architecture. It is one layer in a defense in depth, not a replacement for authentication or rate limiting. BotStopper costs $50 per month, billed through GitHub Sponsors. ## Documentation - [BotStopper](https://botstopper.net/docs.md): BotStopper helps keep your website available to people by controlling automated - [Challenges](https://botstopper.net/docs/challenges.md): BotStopper supports these challenge methods. Each page describes the method and its configuration. - [argon2id](https://botstopper.net/docs/challenges/argon2id.md): The `argon2id` algorithm uses the memory-hard Argon2 key derivation function. - [fast](https://botstopper.net/docs/challenges/fast.md): The `fast` algorithm uses an optimized JavaScript implementation with multiple threads. - [hashx](https://botstopper.net/docs/challenges/hashx.md): The `hashx` algorithm uses HashX, a proof of work function that resists GPU and ASIC optimization. - [meta-refresh](https://botstopper.net/docs/challenges/meta-refresh.md): The `metarefresh` challenge asks the browser to refresh the page after a delay. - [preact](https://botstopper.net/docs/challenges/preact.md): The `preact` challenge runs a small JavaScript program in the browser. - [soteria](https://botstopper.net/docs/challenges/soteria.md): Soteria is an obfuscated virtual machine that is designed to be equitable to mobile phones as wel... - [Comparisons](https://botstopper.net/docs/comparisons.md): Compare BotStopper with WAFs and bot management products by deployment, request policies, crawler... - [BotStopper vs AWS WAF](https://botstopper.net/docs/comparisons/aws-waf.md): BotStopper fits teams that want to deploy scraper protection near their application. AWS WAF Bot ... - [BotStopper vs Cloudflare WAF](https://botstopper.net/docs/comparisons/cloudflare-waf.md): BotStopper fits teams that want to operate scraper protection in infrastructure they choose. Clou... - [BotStopper vs CrowdSec](https://botstopper.net/docs/comparisons/crowdsec.md): Choose BotStopper when your main requirement is control over scraper access through local policie... - [BotStopper vs DataDome](https://botstopper.net/docs/comparisons/datadome.md): Choose BotStopper if you want to operate browser challenges and scraper policies in your own infr... - [BotStopper vs Google Cloud Armor](https://botstopper.net/docs/comparisons/google-cloud-armor.md): BotStopper fits sites that need control over scraper access in infrastructure they choose. Google... - [BotStopper vs HUMAN Bot Defender](https://botstopper.net/docs/comparisons/human.md): Choose BotStopper if your team wants local control over browser challenges and scraper access. Ev... - [BotStopper vs ModSecurity](https://botstopper.net/docs/comparisons/modsecurity.md): Choose BotStopper to control scraper access to content. Choose ModSecurity with the OWASP Core Ru... - [Configuration](https://botstopper.net/docs/configuration.md): BotStopper uses the Anubis policy engine. These guides cover the shared configuration and BotStop... - [Client IP Headers](https://botstopper.net/docs/configuration/client-ip.md): BotStopper appends the connecting peer address to `X-Forwarded-For`, then scans the chain from ri... - [Content Security Policy](https://botstopper.net/docs/configuration/content-security-policy.md): A Content Security Policy (CSP) controls which resources a browser can load. - [Custom status codes for BotStopper errors](https://botstopper.net/docs/configuration/custom-status-codes.md): By default, challenge and denial pages return `HTTP 200`. - [Default allow behavior](https://botstopper.net/docs/configuration/default-allow-behavior.md): BotStopper evaluates bot rules in order. `ALLOW`, `DENY`, and `CHALLENGE` stop rule evaluation. - [Expression-based rule matching](https://botstopper.net/docs/configuration/expressions.md): Most of the BotStopper matchers let you match individual parts of a request and only those parts ... - [Importing configuration rules](https://botstopper.net/docs/configuration/import.md): BotStopper has the ability to let you import snippets of configuration into the main configuratio... - [Imprint / Impressum](https://botstopper.net/docs/configuration/impressum.md): Use the `impressum` block to show contact information and an imprint page on BotStopper challenge... - [Open Graph](https://botstopper.net/docs/configuration/open-graph.md): This page provides detailed information on how to configure Open Graph tag passthrough in BotStop... - [Redirect domain](https://botstopper.net/docs/configuration/redirect-domains.md): BotStopper has an HTTP redirect in the middle of its check validation logic. This redirect allows... - [Subrequest authentication](https://botstopper.net/docs/configuration/subrequest-auth.md): BotStopper can act in one of two modes: - [Weight Threshold](https://botstopper.net/docs/configuration/thresholds.md): BotStopper offers the ability to assign "weight" to requests. This is a custom level of suspicion... - [Customization](https://botstopper.net/docs/customization.md): Anubis uses an internal filesystem that contains CSS, JavaScript, and images. The BotStopper vari... - [Extensions](https://botstopper.net/docs/extensions.md): Challenge extensions add conditions to an existing challenge. BotStopper uses them to check brows... - [CSS loading](https://botstopper.net/docs/extensions/css-load.md): The `css-load` extension checks that a client requests a CSS resource from BotStopper. The challe... - [Headless browser detection](https://botstopper.net/docs/extensions/headless.md): BotStopper can run a headless browser detector on the challenge page. The detector is a small Web... - [Installation](https://botstopper.net/docs/installation.md): Install BotStopper as a native service or container, then connect it to your application and reve... - [Apache](https://botstopper.net/docs/installation/apache.md): Apache terminates TLS, sends requests through BotStopper, and receives accepted requests on a sep... - [Caddy](https://botstopper.net/docs/installation/caddy.md): Place BotStopper between Caddy and your backend. Caddy terminates TLS, then sends requests to Bot... - [Cloudflare](https://botstopper.net/docs/installation/cloudflare.md): Configure your ingress to read `CF-Connecting-IP` from trusted Cloudflare proxies. Send that addr... - [Docker Compose](https://botstopper.net/docs/installation/docker-compose.md): Docker Compose can run BotStopper alongside a backend and a reverse proxy, such as Apache or Nginx. - [HAProxy](https://botstopper.net/docs/installation/haproxy.md): HAProxy supports two integration patterns: - [Kubernetes](https://botstopper.net/docs/installation/kubernetes.md): Route ingress traffic through BotStopper before it reaches the application: - [Native packages](https://botstopper.net/docs/installation/native-install.md): Download the package for your operating system and architecture from the - [Nginx](https://botstopper.net/docs/installation/nginx.md): Nginx terminates TLS, sends requests through BotStopper, and receives accepted requests on a sepa... - [Traefik](https://botstopper.net/docs/installation/traefik.md): This guide uses Docker Compose. The same configuration also applies to containers started with th... - [Windows](https://botstopper.net/docs/installation/windows.md): BotStopper supports Windows as a native system service. - [Policy configuration](https://botstopper.net/docs/policies.md): BotStopper uses Anubis policy files to allow, deny, challenge, and weigh requests. - [Honeypot configuration](https://botstopper.net/docs/policies/honeypot.md): BotStopper has support for dataset poisoning. Out of the box this is enabled so that administrato... - [Logging](https://botstopper.net/docs/policies/logging.md): BotStopper has very verbose logging out of the box. This is intentional and allows administrators... - [Metrics server](https://botstopper.net/docs/policies/metrics.md): BotStopper includes support for Prometheus-style metrics, allowing systems administrators to moni... - [Request weight](https://botstopper.net/docs/policies/request-weight.md): In case your service needs it for risk calculation reasons, BotStopper exposes information about ... - [Bot rules](https://botstopper.net/docs/policies/rules.md): Bot policies let you customize the rules that BotStopper uses to allow, deny, or challenge incomi... - [Storage backends](https://botstopper.net/docs/policies/storage.md): BotStopper needs to store temporary data in order to determine if a user is legitimate or not. Ad... - [Proxy and service upgrades](https://botstopper.net/docs/upgrades.md): `TARGET_SNI=auto` uses separate TLS connection pools for normalized outbound hostnames. `TARGET_H... Documentation index for agents: https://botstopper.net/docs/llms.txt ## Site - [Home](https://botstopper.net/index.md): what BotStopper is and why it exists. - [Pricing](https://botstopper.net/pricing.md): $50 per month via GitHub Sponsors. - [About](https://botstopper.net/about.md): Techaro and the people behind BotStopper. - [Contact](https://botstopper.net/contact.md): how to reach the team. - [Privacy](https://botstopper.net/privacy.md): what this website does with data. ## Project - Source: https://github.com/TecharoHQ - Sponsor the work: https://github.com/sponsors/Xe