IntroductionLast updated: 23 February 2026
JCOGS OTP Verify is a companion add-on for ExpressionEngine that extends JCOGS OTP Pro with anonymous recipient verification. It allows you to request and validate one-time challenges for recipients who are not yet linked to a member account, making it ideal for pre-registration and ownership checks.
Core Capabilities
- Anonymous Verification Challenges
Create, send, verify, resend, expire, and revoke one-time verification challenges outside member-authenticated OTP flows. - OTP Pro Delivery Reuse
Uses OTP Pro’s existing delivery engine, transport provider registry, and payload registry for consistent behaviour. - Code + Optional Magic Link Payloads
Supports code-based verification by default, with optional magic-link verification where companion payload support is available. - Security-first Lifecycle Controls
Includes expiry, attempt limits, recipient/IP rate limiting, and anti-enumeration response discipline suitable for public-facing forms.
How OTP Verify Works
OTP Verify adds an anonymous challenge lifecycle that sits alongside OTP Pro’s member-auth workflows. Your templates or application flow request a challenge for a recipient, OTP Pro delivers the payload, and OTP Verify validates the response before issuing a verified outcome for downstream steps.
This gives you a consistent approach to recipient verification without custom transport plumbing:
- Delivery stays centralised – OTP Pro continues to manage providers and payload dispatch.
- Verification stays structured – OTP Verify tracks challenge state, limits retries, and enforces expiry.
Minimum Requirements
OTP Verify requires ExpressionEngine 6.4.18+ (including EE7+) and PHP 8.2+. It also requires JCOGS OTP Pro 2.0.2 to be installed and enabled.
Use of OTP Pro's Magic Link and SMS features requires that the relevant OTP Pro companion addons are installed.
Installation
- Install and enable JCOGS OTP Pro first.
- Copy the
jcogs_otp_verifyfolder tosystem/user/addonsand install via the ExpressionEngine Control Panel. - Configure Verify settings from OTP Pro’s Verify section (default transport/payload, allowlists, TTLs, rate limits, and return URL policy).
Usage
OTP Verify provides both ACT endpoints and template tags that can be used to create custom user workflows such as signup verification, contact-channel confirmation, and pre-account checks. Typical uses include creating a request form, a verify form, a button to trigger resend actions, and status reporting.
Sample Templates
OTP Verify provides a collection of working sample templates that illustrate approaches to setting up Verify workflows, including two fully self-contained templates that illustrate AJAX solutions for handling the verify request. The templates are located within the `sample-templates` folder within the JCOGS OTP Verify distribution files.
Top Tip
Start with a strict baseline policy: short challenge TTL, conservative resend cooldown, and clear recipient/IP rate limits. Then tune for UX once you have real traffic patterns.