The feature works. Nobody can tell.
31 July 2026 · 4 min read
A rate limit deferred somebody’s mail and their page said nothing. A destination started bouncing so we paused forwarding, and the page said "paused" as though they had chosen it. A domain stopped verifying so we switched it off, and every alias on it still read "active".
The shape
In each case the mechanism was right, tested and doing exactly its job. What was missing was the sentence on the page the person would actually open when they noticed something wrong.
The rule we now apply
Whenever something can stop work flowing, the surface the user would check has to say that it happened, why, and where the fix is. Not a log line. Not an event in a table. The page.
More on for developers
Testing signup emails in CI without a real mailbox
Sleep-and-hope is why your email tests are flaky. Here is the shape that is not.
Webhook signatures, done properly
A shared secret in a header is not a signature. Here is what to send, what to check, and the two mistakes almost everyone makes on the receiving end.
Rate limiting on the wrong axis is worse than none
Per-IP limits punish shared offices and mobile networks while doing nothing to an attacker who rotates addresses for pennies.