silentz/akismet
A Laravel package that integrates Akismet spam detection, letting you check comments and form submissions for spam using simple validation rules and configurable API credentials to keep user-generated content clean.
What it is. silentz/akismet is a Composer-installable Statamic addon that wires Automattic's Akismet spam-detection API into Statamic's built-in Forms pipeline. It is a thin adapter, not a general-purpose Laravel package: a service provider registers a submission listener/validator, ships a publishable config file, and reads an API key from the environment. It has no meaning outside a Statamic installation.
Architecture fit. Good where it applies and narrow by design. Small surface area, no schema migrations expected, no queue workers, no admin UI beyond configuration — which means low blast radius but also low leverage. The entire value is roughly 150–300 lines of glue around one HTTP call. Our architecture decision should be framed as "do we adopt Statamic's form spam story" rather than "do we adopt this library."
Integration feasibility. High on effort, conditional on fit. composer require silentz/akismet, publish config, set AKISMET_KEY, enable per-form. The gating question is version compatibility: Statamic major (3/4/5), Laravel major, and PHP version constraints must all line up with our baseline. If we are on vanilla Laravel with custom form handlers, this package is a non-starter and we should evaluate a maintained Laravel Akismet client or a ~200-line in-house client instead.
Technical risk. Adoption risk dominates, not code risk. Four stars and zero dependents means effectively no production validation in the wild; a single maintainer implies bus factor of one; and the recorded last release of 2026-10-02 is future-dated, which is either a metadata artifact or a signal to independently verify the tag exists, is signed, and matches the published dist. Akismet's own API is stable and versioned, so the external dependency is the least risky part of this package. The overall score of 18.66/100 is consistent with that read: technically plausible, commercially unproven. The opportunity score of 31.29 is the more useful number — the underlying need (spam control on public-facing forms without CAPTCHA friction) is real and recurring, even if this specific artifact is marginal.
Key questions.
Stack fit. Adopt only if we run Statamic as our CMS and use its native Forms feature for lead capture, contact, or comments. If forms are custom-built in Laravel, or if the site is headless with a separate frontend posting to a custom endpoint, this package's assumptions may not hold and the integration cost rises toward "just write it ourselves."
Migration path.
AKISMET_KEY in the secret manager (never in .env committed to the repo), map which forms are protected.Compatibility and constraints. Pin an exact version and commit the lockfile. Verify PHP and Laravel constraints against our platform before scheduling any work; a Statamic major upgrade is the most likely thing to strand this package, so sequence adoption after any planned CMS upgrade, not before. Confirm the addon works in our submission path (standard POST vs. AJAX/Inertia/headless) — a mismatch here is the most common reason these addons appear installed but silently do nothing.
Sequencing and build-vs-buy. Time-box the evaluation to a spike. If the package installs cleanly and behaves, keep it and accept the maintenance burden. If it fails on version constraints, submission path, or verdict handling, switch to the build option: a small Akismet client with explicit timeout, structured logging, and a moderation flag on the submission record. Given the package's size, the build option is a credible one-to-two-day task and removes the bus-factor concern entirely. Do not spend more than a spike's worth of effort trying to make a four-star, zero-dependent addon fit.
Maintenance. Plan to own it. With one maintainer and no dependents, upstream releases may stop without notice, and framework upgrades will break it. The pragmatic posture is to vendor or fork under our own namespace, pin the version, review the diff before any bump, and carry a small patch set. Budget a recurring line item for "verify after each Statamic/PHP upgrade," not a one-time install cost.
Support. No SLA, no vendor relationship, GitHub issues only. Akismet itself does offer commercial plans and support, so the paid dependency worth budgeting is Automattic's, not the addon author's. Confirm licensing terms for commercial use of Akismet before rollout — free tiers are typically personal/non-commercial.
Scaling. One synchronous outbound HTTPS call per form submission. At low volume this is invisible; at high volume it becomes a latency and rate-limit concern. Requirements to set explicitly: a client timeout (1–2s), a circuit breaker so a degraded Akismet doesn't degrade the whole site, and a decision on whether verdicts are computed inline (blocks the user) or asynchronously (accept, then moderate). Track added p95 latency on the submission endpoint as a release gate.
Failure modes and mitigations.
Ramp-up. Low for a mid-level Statamic developer: roughly half a day to install, configure, and validate in staging. The real ramp-up is operational, not technical — someone must own key rotation, error-rate alerting, the moderation queue, and the false-positive review cadence. Content editors need a short brief on what "flagged" means and what they are expected to do with it. Total first-month cost is small; total three-year cost is dominated by fork maintenance, which is the number to put in front of the approver.
How can I help you explore Laravel packages today?