WordPress plugin intelligence profile

Waiver Engine

Template-driven waiver and contract system with PDF overlay generation.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.0
Current version1.1.6
WordPress coverageTested up to WordPress 7.0
Minimum stackWP 6.2 · PHP 8.0
Directory statusactive
Last directory update27 Aug 20262mo ago
Active installationsNewAdoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Waiver Engine version 1.1.6 as active, updated 2mo ago and tested up to WordPress 7.0.

Overview

About this plugin

Waiver Engine lets you build waiver and contract forms in the WordPress

admin, map form fields to coordinate positions on an uploaded PDF template,

and automatically generate filled PDFs when visitors submit the form.

Key features:

  • Build multi-section waiver/contract forms
  • Map form fields to exact coordinate positions on a PDF
  • Auto-generate filled PDFs on each submission
  • Admin entry list with pagination, filtering, sorting, and PDF download
  • Import / export template field-to-PDF mappings for easy site migration
  • Security protections (nonce, honeypot, timing checks, rate limiting, optional CAPTCHA)

org (free) package:

org is fully functional and includes:

  • Unlimited waiver templates
  • PDF field mapping and PDF generation
  • Waiver submission capture and admin entry management
  • Import/export of template field mappings
  • Security settings (rate limiting, optional CAPTCHA, PDF cleanup)

Pro add-on (separate download):

org) with

additional features:

  • Repeating rows in form sections (per-row PDF output mode)
  • Admin notification emails with PDF attachments
  • Submitter email copies with PDF attachments
  • Amelia Booking integration and booking-linked waiver flows

Integration architecture:

The plugin follows an integration-manager pattern (the same approach used

by WooCommerce add-ons, WPForms, RankMath, and ACF). Each third-party

integration lives in includes/integrations/ and is loaded only when its

host plugin is active. The core plugin has zero knowledge of Amelia tables

when Amelia is not installed.

Supported PDF formats

4 or PDF/A-1b files with:

  • Object streams disabled
  • Compressed cross-reference streams disabled
  • No password protection or encryption
  • Valid, readable pages with fonts embedded where required

4 or

PDF/A-1b settings and select the converted file instead.

Known issues and improvements

  • There is currently no validation when a PDF is uploaded to ensure that its

format is supported. UI validation is planned for a future release.

External services

This plugin can connect to third-party services when you enable optional

features. No data is sent unless you configure the feature.

Google reCAPTCHA v3 (optional CAPTCHA)

Used only when you select Google reCAPTCHA v3 under Waivers > Settings

and enable CAPTCHA on a template.

  • What it is: Google’s invisible bot-detection service.
  • What is sent: When a visitor submits a waiver form with CAPTCHA enabled,

the browser loads Google’s reCAPTCHA script and obtains a token. On

submission, the plugin sends that token, your secret key, and the

visitor’s IP address to Google’s verification endpoint to validate the

request.

  • When: Only during form submission when CAPTCHA is enabled for that template.
  • Terms of service: https://policies.google.com/terms
  • Privacy policy: https://policies.google.com/privacy

hCaptcha (optional CAPTCHA)

Used only when you select hCaptcha under Waivers > Settings and enable

CAPTCHA on a template.

  • What it is: hCaptcha’s invisible bot-detection service.
  • What is sent: When a visitor submits a waiver form with CAPTCHA enabled,

the browser loads hCaptcha’s script and obtains a token. On submission,

the plugin sends that token, your secret key, and the visitor’s IP

address to hCaptcha’s verification endpoint to validate the request.

  • When: Only during form submission when CAPTCHA is enabled for that template.
  • Terms of service: https://hcaptcha.com/terms
  • Privacy policy: https://hcaptcha.com/privacy

Security

Waiver Engine implements multiple layers of protection against automated

abuse and bot submissions:

1. WordPress Nonce (CSRF protection)

Every form submission is validated against a standard WordPress nonce

( wp_verify_nonce ). Requests without a valid nonce are rejected with HTTP 403.

2. Honeypot Field

A hidden text input is rendered off-screen (CSS position:absolute; left:-9999px )

and labelled with aria-hidden="true". The field must exist and be completely

empty. Bots that auto-fill all inputs will be silently rejected.

3. Timing Check

On page load, the form records a HMAC-SHA256-signed timestamp (using WordPress’s

wp_salt(‘nonce’) as the key). On submission the signature is verified and the

elapsed time is checked: submissions faster than 3 seconds or older than 2 hours

are rejected with HTTP 429. This prevents replay attacks and trivially fast bot

submissions.

4. IP Rate Limiting

A sliding-window rate limiter (implemented using WordPress transients) limits how

many waivers a single IP address can submit within a configurable time window.

Defaults to 5 submissions per 15 minutes. Configurable in Waivers > Settings.

Can be disabled independently if another rate-limiting layer exists.

5. CAPTCHA (optional)

An invisible CAPTCHA challenge can be added to waiver forms for additional

protection. Supported providers:

  • Google reCAPTCHA v3 – invisible scoring model. A score of >= 0.5 is

required. com/recaptcha/admin.

  • hCaptcha (invisible) – privacy-respecting alternative. Register at

com/signup-interstitial.

Configuration steps:

  • Go to Waivers > Settings and choose a CAPTCHA provider.
  • Enter the Site Key (public) and Secret Key (private) from your

provider’s dashboard.

  • Open any template in Waivers > Templates > Edit and check Require

CAPTCHA verification on this form.

The CAPTCHA toggle defaults to OFF globally. Individual templates also default

to OFF even when a provider is configured, so you can roll out selectively.

Token verification happens entirely server-side via wp_remote_post() to the

provider’s verify endpoint. The secret key is never exposed in browser output.

6. PDF File Cleanup

The PDF File Cleanup tool in Settings lets you permanently delete generated

PDFs older than a chosen number of days. PDFs older than the threshold are

removed from disk; database entry records are preserved. This reduces disk

footprint and limits the blast radius of any hypothetical file-disclosure issue.

License

Waiver Engine is free software: you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by the

Free Software Foundation, either version 2 of the License, or any later

version.

Waiver Engine is distributed in the hope that it will be useful, but

WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY

or FITNESS FOR A PARTICULAR PURPOSE.

See the GNU General Public License

for more details.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • booking
  • contracts
  • forms
  • pdf
  • signature
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 7.0

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 7.0.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.0
Minimum requirementsWordPress 6.2 · PHP 8.0
Update activity27 Aug 20262mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.