#

Turnstile

2 posts

The security gate that defaulted to off

Our docs called the bot challenge mandatory. The env flag behind it defaulted to false in the deploy config, so a routine deploy would ship the gate down.

Sep 02, 20264 min readSecurity
Security Gate that Defaulted Off

Layered bot defense for a public form: honeypot, Turnstile, email verification, and the pieces between

A public, unauthenticated form that writes to the database and sends email is a bot's favorite denial-of-service target. No single control is enough. The point is layering honeypot, Turnstile, rate limiting, and email verification so one layer failing doesn't sink the rest.

Jul 30, 202617 min readrate-limiting
A medieval castle viewed from outside its outer wall. Multiple defensive layers visible in one frame.