Every weight, on the table.
No black-box ML. Each signal has a published weight you can read, audit, and override. The total scores 0–100. Anything at or above the threshold lands in Spam.
You decide how strict the door is.
Default is 60 — a single instant signal flips the verdict, but quality signals need backup. Drag the slider to see five real submissions reclassify in real time.
- ✓Lower it for high-stakes formsPremium customers, NPS surveys — every false positive is expensive. Drop to 40, route the gray zone to Pending.
- ✓Raise it for high-volume formsBig public form expecting bursts? 75 keeps the obvious junk out without quarantining your power-user IPs.
- ✓Per-project, per-formEach project has its own threshold + signals — your podcast form needs different defenses than your product page.
Final say on every door.
Override the engine in either direction. Allow trumps everything; block triggers an instant 100. Both lists are per-project, exported in your Data Export.
Quarantined.
Not deleted.
Flagged submissions land in a dedicated Spam queue with the full score, every signal that fired, and the original IP. Recovery is one click. Auto-deletion after 30 days of inactivity — your inbox stays clean without any work.
From hit to verdict, in under a second.
Synchronous to the submitter, asynchronous to the audit log. The submitter sees a clean confirmation either way — they never know they were scored.
The boring questions, answered.
On every plan, free included
Honeypot, blacklists, rate limit, content checks — all eleven signals on the entry tier. We don't paywall security.
Per-project isolation
One project's threshold can't influence another's. Allow-list a partner email here, still blocked there.
Audited, not just blocked
Every score and signal is persisted on the testimonial. Forensic trail for every false positive review.
Open weights, no surprises
Every weight is published in lib/spam-detection.ts. No mystery model, no vendor lock, no quietly-tuned thresholds.
PII-conscious
Bare minimum captured: IP for rate limiting, content for hashing. Auto-cleanup of rate-limit rows after 24 hours.
Plays nicely with rewards
Flagged submissions never charge your gift-card wallet. Holds release automatically; legit users still hit per-form caps.
Bots out.
Real stories in.
Eleven signals. Per-project thresholds. Block & allow lists. Auto-quarantine, one-click recovery, full audit trail. Free forever on the entry plan.
No credit card · Eleven signals on every tier · 100 testimonials free