A comprehensive spam detection plugin for Martin Zurowietz’s Kirby Uniform form plugin. This guard evaluates submissions using extendable word lists with configurable weights, and counts links and emails to provide intelligent spam filtering without requiring complex captchas.
Validation Features:
The guard performs sequential validation checks:
- Message length constraints (min/max)
- Word count validation
- Regex pattern matching
- Custom validation callbacks
- Spam score calculation from keyword detection
- Link and email address counting
- Optional AI check for messages close to the threshold
- Configurable threshold-based rejection
AI Check for Close Calls:
Word lists are fast and free, but they misjudge messages close to the threshold. The optional AI check asks a decision model on OpenRouter whether such a message is spam. By default it uses Jev, which answers with a probability instead of text.
- Only messages within a set margin of the threshold are sent, clear cases stay on your server
- Catches spam just below the threshold and lets genuine messages just above it through
- Only the checked fields are sent, never name or email
- If the request fails or times out, the word score decides as before
- About 0.00002 USD and 0.3 seconds per checked message
- Off by default
Multi-Language Support:
Built-in spam word lists for:
- English (en) - default
- German (de)
- French (fr)
Language selection follows your Kirby site configuration automatically.
Advanced Capabilities:
- Extendable word lists with custom weights
- Link and email address detection
- Configurable scoring system
- Debug logging for tracking spam attempts
- Custom word list support
- Optional silent rejection mode
- 24-hour word list caching for performance