Privacy Policy

Last updated: October 8, 2026

What we collect

We believe in collecting only what we need. Here is the full list:

  • Account info — your email address and a bcrypt-hashed password. We never store your password in plain text.
  • Temporary request IP handling — raw IP addresses are used only in memory during challenge and solve processing for rate limiting, adaptive difficulty, and abuse detection. They are not persisted in our usage logs. Cloudflare, which fronts this hosted service, also sees the connecting IP address — see Third parties.
  • Anonymized network prefixes — we store only coarse network prefixes in usage logs: `203.0.113.0/24` for IPv4 and `2001:db8:abcd:1200::/56` for IPv6.
  • Network metadata — optional ASN/datacenter classification derived from IP using an offline database on our own infrastructure. We do not send IPs to third-party enrichment APIs.
  • Usage metadata — derived challenge identifiers, event outcomes, timestamps, and limited protection metadata used for dashboard analytics.

What we don't collect

  • No cookies on end-user browsers (the widget is stateless)
  • No fingerprinting, canvas hashing, or device profiling
  • No tracking pixels or third-party analytics
  • No stored raw IP addresses in usage logs; only anonymized network prefixes are retained there

How the captcha works

BotShield uses proof-of-work — the visitor's browser computes a hash puzzle. No behavioral tracking, mouse movement analysis, or browser fingerprinting is involved. We issue a signed challenge, the browser solves it, and your server verifies the solution. Challenge issuance and verification are stateless, while limited event logs are retained for dashboard reporting and abuse monitoring.

Data storage

Account and usage data is stored in a SQLite database on the server that runs BotShield. It is not copied into an external database, an analytics warehouse, or a cloud storage bucket.

Requests do not reach that server directly. The hosted service at botshield.dev is served through Cloudflare, so connections from your visitors' browsers terminate TLS at a Cloudflare edge server before reaching ours. That applies to the widget script and to the public challenge, solve, and verify endpoints. Cloudflare operates that edge and handles the traffic passing through it, including connection metadata and the request IP address.

Self-hosted deployments of BotShield have no such intermediary unless you put one in front of your own instance.

Data retention

  • Usage logs — kept for 90 days by default and purged automatically. Self-hosted deployments can adjust this retention window. These logs store anonymized network prefixes, not raw IP addresses.
  • Sessions — expire automatically and are cleaned up.
  • Account data — kept until you delete your account.

Third parties

We do not sell your data or share it for advertising. BotShield embeds no analytics scripts, ad networks, or tracking pixels — not on this site, and not in the widget your visitors load. The widget talks only to BotShield's own endpoints.

One third party is in the path, and we name it: Cloudflare, which proxies botshield.dev as described under Data storage. Every public widget and solve request passes through it.

What we have not yet verified, we are not claiming. We have not published which Cloudflare locations handle that traffic, what Cloudflare retains or for how long, how our own database is backed up and where, or a data processing agreement covering any of it. Those answers are being worked out and this page will state them once they are confirmed. Until then, read this section as the limit of what we can stand behind.

Your rights

You can export or delete your data at any time. Deleting a project removes all associated usage logs. Deleting your account removes everything we hold in our own database. No questions asked. We do not control what Cloudflare logs at its edge.