Do I need…to protect my signup forms?

YES

An unprotected signup form is an open API for polluting your own list—bots stuff it with garbage, and list-bombers weaponize it against victims. CAPTCHA, honeypots, and rate limits are cheap armor.

The long answer ↓

Your signup form is where list quality is decided, and it’s reachable by every bot on the internet. Unprotected, it fails you in two distinct ways—one dirty, one nasty.

The dirty failure: garbage in

Bots submit forms constantly—credential-stuffing probes, scraper noise, junk automation. Every fake signup that lands in your list is a future bounce (invalid address), a mute subscriber dragging your engagement ratios, or occasionally a spam trap. You then pay to verify and sunset contacts that a form check would have rejected for free.

The nasty failure: list bombing

Attackers also use other people’s signup forms as a weapon: scripting thousands of subscriptions for one victim’s address across many sites, burying their inbox in confirmation emails. If your form participates, you’re the abuse vector—your domain sends the flood, your complaint rate eats the fallout, and your welcome emails start looking like an attack to mailbox providers. Providers have suspended senders over exactly this.

The armor, in layers

None of these are exotic; most form libraries and signup services have them a checkbox away.

The verdict logic

No qualifier on this one. The cost is an afternoon; the alternative is discovering the problem through a bounce spike, a complaint cluster, or an abuse report. Forms are infrastructure—treat them with the same suspicion you’d give any other unauthenticated endpoint that writes to production data. Because that’s what they are.