Twenty-four fixes from a front-to-back audit
We ran the whole codebase through a front-to-back audit — every module, with an adversarial review pass on every finding — and then fixed everything it surfaced. Twenty-four fixes landed — twenty-three in the product, one hardening our own test setup. The ones you might actually notice: annual subscribers were granted their first month of credits and then nothing for the remaining eleven — credits now refresh every month of an annual term. The citations screen was showing more history than your plan’s window promises; it now honors the window, so its numbers may shrink slightly but they finally match what the rest of the app reports. The competitors screen could fail outright for projects with a long tracking history — that ceiling is gone. Clicking Generate or Run audit twice in quick succession could charge you twice for one piece of work; both are now guarded at the database itself, so the second click is told the work is already running instead of being billed. Publishing to WordPress from two open tabs could create two drafts on your site; the publish lock now lives where both tabs can see it. A deleted or refunded license kept its access until someone noticed by hand; the events that carry those changes are handled now, so access ends when the license does. One was a security fix worth stating plainly: a purchase made under another customer’s email address can no longer affect that customer’s workspace. And the free checker’s daily caps could be slipped past by sending requests in parallel — they hold under load now. The rest of the two dozen are the kind you only notice by their absence: screens that would have started failing as your history grew, alerts and digests that would have quietly stopped at scale, and a handful of costs we were paying twice for no reason.