Title: Veilo — Invisible Spam Shield
Author: adinax0926
Published: <strong>August 15, 2026</strong>
Last modified: August 15, 2026

---

Search plugins

![](https://ps.w.org/veilo/assets/banner-772x250.png?rev=3648308)

![](https://ps.w.org/veilo/assets/icon-256x256.png?rev=3648308)

# Veilo — Invisible Spam Shield

 By [adinax0926](https://profiles.wordpress.org/adinax0926/)

[Download](https://downloads.wordpress.org/plugin/veilo.1.1.0.zip)

 * [Details](https://wordpress.org/plugins/veilo/#description)
 * [Reviews](https://wordpress.org/plugins/veilo/#reviews)
 *  [Installation](https://wordpress.org/plugins/veilo/#installation)
 * [Development](https://wordpress.org/plugins/veilo/#developers)

 [Support](https://wordpress.org/support/plugin/veilo/)

## Description

A working plugin scaffold, not a demo. It scores every submission using three signals—
a honeypot field, submission speed, and pointer/touch movement — with no CAPTCHA
ever shown to the visitor. Spam is blocked (or held for review) automatically.

**Free plan protects:**

 * Native WordPress comments
 * Contact Form 7
 * WPForms

**Pro plan additionally protects:**

 * Elementor Pro Forms
 * Gravity Forms

…and unlocks Veilo  Pro Tools: full Activity Log history (configurable row limit,
free is capped at the 10 most recent) and one-click CSV export.

#### Protecting a custom or hand-coded form

The signal script (`public/js/veilo-signals.js`) tags every `<form>` on the page
automatically, so the three hidden fields are already present in `$_POST` for ANY
form, built-in or custom. To act on them from your own form handler, call the public
helper:

    ```
    $result = veilo_check( $_POST, 'my-booking-form', $_POST['name'] ?? '' );

    if ( 'allowed' !== $result['decision'] ) {
        // stop processing however fits this form — wp_die(), return an
        // error, redirect back with a message, etc.
        wp_die( 'Your submission looks automated and was not sent.' );
    }

    // otherwise continue processing the form as normal
    ```

The second and third arguments are optional and only affect what shows up in Veilo
Activity Log (a source label and a short preview text). This same function is what
every built-in integration calls internally, so custom forms get identical scoring
to comments, CF7, WPForms, Elementor, and Gravity Forms.

## Installation

 1. Zip the `veilo` folder (the folder itself must be inside the zip, e.g. `veilo/veilo.
    php`).
 2. In wp-admin: Plugins  Add New  Upload Plugin  choose the zip  Install  Activate.
 3. Go to the new “Veilo” menu in the sidebar to choose which forms to protect and 
    set the sensitivity threshold.
 4. Submit a test comment or form entry, then check Veilo  Activity Log to see the 
    score and reasons it was allowed or blocked.

## FAQ

### How does the score work?

 * Honeypot filled in  strong spam signal (bots fill every field)
 * Submitted in under ~2 seconds  strong spam signal (too fast for a human)
 * No mouse/touch/scroll at all  moderate spam signal
 * Hidden fields missing entirely  the request likely skipped the browser/JS

Everything above 100% is capped; the threshold in Settings (default 50) decides 
where “probably spam” starts.

### Does this require Contact Form 7 or WPForms to be installed?

Contact Form 7 support requires CF7 to be installed and active. WPForms support 
requires WPForms (free or Pro) to be installed and active. Elementor Forms support(
Pro plan) requires Elementor Pro. Gravity Forms support (Pro plan) requires Gravity
Forms. All integrations degrade gracefully — if the target plugin isn’t installed,
Veilo simply does nothing for that form type.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Veilo — Invisible Spam Shield” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ adinax0926 ](https://profiles.wordpress.org/adinax0926/)

[Translate “Veilo — Invisible Spam Shield” into your language.](https://translate.wordpress.org/projects/wp-plugins/veilo)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/veilo/), check out 
the [SVN repository](https://plugins.svn.wordpress.org/veilo/), or subscribe to 
the [development log](https://plugins.trac.wordpress.org/log/veilo/) by [RSS](https://plugins.trac.wordpress.org/log/veilo/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.0

 * Current release.

## Meta

 *  Version **1.1.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [anti-spam](https://wordpress.org/plugins/tags/anti-spam/)[comments](https://wordpress.org/plugins/tags/comments/)
   [forms](https://wordpress.org/plugins/tags/forms/)[security](https://wordpress.org/plugins/tags/security/)
   [spam](https://wordpress.org/plugins/tags/spam/)
 *  [Advanced View](https://wordpress.org/plugins/veilo/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/veilo/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/veilo/reviews/)

## Contributors

 *   [ adinax0926 ](https://profiles.wordpress.org/adinax0926/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/veilo/)