Notes from the spam folder.
How form spam works, how we catch it cheaply, and what we measure. RSS.
- 4 Sept 2026 · spam, contact formsContact-form spam is not email spam, and your filter should know the difference
Email filters were trained on twenty years of inbox junk. The junk that arrives through a website form looks different, behaves differently, and has different tells.
- 3 Sept 2026 · rules, integrationHoneypot fields still work in 2026
The oldest trick in form protection catches more bots than any model we run, for free. Here is how to do it properly and where it fails.
- 1 Sept 2026 · api design, explainabilityReason codes beat spam scores
A number between 0 and 1 tells you how sure a model is. It does not tell you what to do. Codes do.
- 31 Aug 2026 · reputation, privacy, abuseSender reputation without a blacklist
Sharing what one site learns with every other site is the strongest signal in spam filtering, and the easiest to abuse. How spamex does it with decay, hashing and a two-site rule.
- 30 Aug 2026 · integration, productWhat to do with a spam verdict
The API tells you spam or ham and why. The part that decides whether your customers notice is what your code does next. A policy that has held up across many forms.
- 29 Aug 2026 · evaluation, productA false positive costs a customer. Tune for that.
Spam filters are usually judged by how much junk they catch. For a contact form the metric that matters is the opposite one.
- 28 Aug 2026 · platforms, integrationAdding spam filtering to a form service in an afternoon
A walkthrough for form backends and builders: one platform key, a key per customer form, one call before delivery, and a button your customers will thank you for.
- 27 Aug 2026 · spam, taxonomyA field guide to contact-form spam
The thirty-odd genres of junk that arrive through a website form, from the obvious to the ones that fool people.
- 24 Aug 2026 · conversion, productThe CAPTCHA tax
Every puzzle you put in front of a visitor costs you some of them. Here is what it costs, who pays it, and what to do instead.
- 22 Aug 2026 · privacy, architectureWhat spamex stores, and why hashes are enough
A spam filter needs memory to work. It does not need your visitors' messages. How the storage is designed so the default is privacy.