KireiFilter
Use case — contact forms

Stop contact form spam
without CAPTCHA.

Spam bots flood contact forms with garbage. KireiFilter scores the submission on your server — no widget, no puzzle, no UX cost. Legitimate users notice nothing.

The problem with contact form spam

Bots fill in contact forms thousands of times a day. You end up with a flooded inbox, wasted notification emails, and support time spent deleting garbage instead of helping real customers.

CAPTCHA helps, but it adds friction to every legitimate user. Honeypot fields work against basic bots but fail against modern crawlers. Neither approach gives you a confidence score you can log or act on.

How to integrate — 3 steps

1
Generate an API token

Create an account, go to Settings → API Tokens, and generate a token. Takes 30 seconds.

2
Call the API on form submit

Before processing the form — before sending the email notification, before storing the message — call POST /api/v1/spam-check with the message content, the sender's IP address, and their email.

3
Reject, log, or queue

If verdict === "spam", return an error to the user or silently drop the submission. Score between 0.3–0.5? Queue for manual review.

PHP example

contact.php
// Call before sending email notification
$res = file_get_contents('https://kireifilter.net/api/v1/spam-check',
false, stream_context_create(['http' => [
'method' => 'POST',
'header' => "Authorization: Bearer YOUR_TOKEN\r\nContent-Type: application/json",
'content' => json_encode([
'content' => $_POST['message'],
'ipAddress' => $_SERVER['REMOTE_ADDR'],
'email' => $_POST['email'],
]),
]]));
$result = json_decode($res, true);
if (($result['score'] ?? 0) >= 0.5) {
http_response_code(422);
exit;
}
// Submission is clean — proceed with email sending

More examples: Python · Node.js · WordPress

Message content

Heuristic and keyword analysis catches promotional language, link spam, and common bot patterns.

IP address

Cross-references against known spam sources. Denylist hard-blocks repeat offenders at score 1.0.

Email address

Checks the sender's email domain against known disposable and spam email providers.

Clean inbox in 30 minutes.

Free plan — 100 checks/month. No credit card required.

Create free account