{"id":311180,"date":"2026-05-29T01:59:47","date_gmt":"2026-05-29T01:59:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/opportify-fraud-protection\/"},"modified":"2026-05-29T01:59:38","modified_gmt":"2026-05-29T01:59:38","slug":"opportify-fraud-protection","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/opportify-fraud-protection\/","author":23497091,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.0","requires":"6.0","requires_php":"8.1","requires_plugins":null,"header_name":"Opportify Fraud Protection","header_author":"Opportify","header_description":"Protect your WordPress forms from fake leads, bot submissions, and fraud with real-time multi-signal risk analysis. No CAPTCHA required.","assets_banners_color":"9da0af","last_updated":"2026-05-29 01:59:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.opportify.ai","header_author_uri":"https:\/\/opportify.ai","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"opportify","date":"2026-05-29 01:59:38"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3552902,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3552902,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3552908,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3552908,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3552902,"resolution":"1","location":"assets","locale":"","width":1750,"height":1100},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3552902,"resolution":"2","location":"assets","locale":"","width":1750,"height":1100},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3552902,"resolution":"3","location":"assets","locale":"","width":1750,"height":1100},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3552902,"resolution":"4","location":"assets","locale":"","width":1750,"height":1100}},"screenshots":{"1":"Reports page \u2014 risk distribution charts, health checklist, and submission log","2":"Settings page \u2014 General tab with API credentials and global protection settings","3":"Settings page \u2014 Integrations tab with per-integration risk action configuration","4":"Submission log \u2014 filterable table with risk level badges and contributing factor pills"}},"plugin_section":[],"plugin_tags":[22770,58672,92828,157374,2419],"plugin_category":[],"plugin_contributors":[264859],"plugin_business_model":[],"class_list":["post-311180","plugin","type-plugin","status-publish","hentry","plugin_tags-bot-detection","plugin_tags-fake-email","plugin_tags-form-security","plugin_tags-fraud-detection","plugin_tags-spam-protection","plugin_contributors-opportify","plugin_committers-opportify"],"banners":{"banner":"https:\/\/ps.w.org\/opportify-fraud-protection\/assets\/banner-772x250.png?rev=3552908","banner_2x":"https:\/\/ps.w.org\/opportify-fraud-protection\/assets\/banner-1544x500.png?rev=3552908","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/opportify-fraud-protection\/assets\/icon-128x128.png?rev=3552902","icon_2x":"https:\/\/ps.w.org\/opportify-fraud-protection\/assets\/icon-256x256.png?rev=3552902","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/opportify-fraud-protection\/assets\/screenshot-1.png?rev=3552902","caption":"Reports page \u2014 risk distribution charts, health checklist, and submission log"},{"src":"https:\/\/ps.w.org\/opportify-fraud-protection\/assets\/screenshot-2.png?rev=3552902","caption":"Settings page \u2014 General tab with API credentials and global protection settings"},{"src":"https:\/\/ps.w.org\/opportify-fraud-protection\/assets\/screenshot-3.png?rev=3552902","caption":"Settings page \u2014 Integrations tab with per-integration risk action configuration"},{"src":"https:\/\/ps.w.org\/opportify-fraud-protection\/assets\/screenshot-4.png?rev=3552902","caption":"Submission log \u2014 filterable table with risk level badges and contributing factor pills"}],"raw_content":"<!--section=description-->\n<p><strong>Opportify Fraud Protection<\/strong> stops fake sign-ups, form spam, bot submissions, and fraudulent leads on every WordPress form \u2014 silently, in real time, without friction for real users.<\/p>\n\n<p>Unlike CAPTCHA, which annoys genuine visitors, Opportify works invisibly in the background. It analyzes over 100 signals per submission \u2014 behavioral patterns, device fingerprints, email risk, IP reputation, VPN and proxy detection \u2014 and scores each one so you can automatically allow, flag, or block it.<\/p>\n\n<h4>Who This Is For<\/h4>\n\n<p><strong>WordPress site owners and marketers<\/strong> tired of spam flooding their contact forms, fake leads cluttering their CRM, or bots registering fake accounts.<\/p>\n\n<p><strong>WooCommerce store owners<\/strong> who need to stop fraudulent checkouts, fake account registrations, and disposable email sign-ups before they cause damage.<\/p>\n\n<p><strong>Developers and agencies<\/strong> who want an API-backed, code-configurable fraud layer with per-integration control, risk metadata on entries, and support for version-controlled config files.<\/p>\n\n<p><strong>Security and operations teams<\/strong> who need explainable risk scores (not black-box verdicts) with per-submission breakdown of contributing factors.<\/p>\n\n<h4>Why Not Just Use CAPTCHA?<\/h4>\n\n<p>CAPTCHA hurts conversion rates for real users and is routinely bypassed by modern bots. Opportify takes a different approach: it observes behavioral signals before the form is even submitted, analyzes every signal simultaneously at the moment of submission, and delivers a risk verdict your site can act on \u2014 all in under a second, with no puzzles, no friction, and no false positives for legitimate visitors.<\/p>\n\n<h4>What It Detects<\/h4>\n\n<ul>\n<li>Disposable and temporary email addresses<\/li>\n<li>High-risk and known-fraud email domains<\/li>\n<li>VPN, proxy, Tor exit node, and datacenter IP addresses<\/li>\n<li>Bot and automated browser behavior<\/li>\n<li>Device fingerprint anomalies<\/li>\n<li>Geographic and velocity anomalies<\/li>\n<li>Mismatched or suspicious behavioral signals<\/li>\n<\/ul>\n\n<h4>Risk Levels<\/h4>\n\n<p>Every submission receives a score and one of five plain-language risk levels:<\/p>\n\n<ul>\n<li><strong>Lowest<\/strong> and <strong>Low<\/strong> \u2014 Healthy submissions. Genuine users, clean signals.<\/li>\n<li><strong>Medium<\/strong> \u2014 Caution. Worth a closer look, but not necessarily fraudulent.<\/li>\n<li><strong>High<\/strong> and <strong>Highest<\/strong> \u2014 Risky submissions. Likely spam, bots, or fraud. Block or flag automatically.<\/li>\n<\/ul>\n\n<h4>Per-Integration Actions<\/h4>\n\n<p>For each supported form plugin, you can independently configure what happens at each risk level:<\/p>\n\n<ul>\n<li><strong>Allow<\/strong> \u2014 Submission proceeds normally<\/li>\n<li><strong>Flag<\/strong> \u2014 Submission proceeds, but risk score, level, and contributing factors are saved as metadata (visible in WP Admin with a Risk column added to comments, users, and orders)<\/li>\n<li><strong>Block<\/strong> \u2014 Submission is rejected with a customizable error message<\/li>\n<\/ul>\n\n<h4>Supported Form Integrations<\/h4>\n\n<ul>\n<li>WordPress Comments<\/li>\n<li>WordPress User Registration<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/woocommerce\/\">WooCommerce<\/a> Checkout<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/woocommerce\/\">WooCommerce<\/a> Account Registration<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/contact-form-7\/\">Contact Form 7<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/wpforms-lite\/\">WPForms<\/a><\/li>\n<li><a href=\"https:\/\/www.gravityforms.com\/\">Gravity Forms<\/a><\/li>\n<li><a href=\"https:\/\/elementor.com\/\">Elementor Pro Forms<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/ninja-forms\/\">Ninja Forms<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/fluentform\/\">Fluent Forms<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/forminator\/\">Forminator<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/formidable\/\">Formidable Forms<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/mailchimp-for-wp\/\">Mailchimp for WordPress<\/a> (MC4WP)<\/li>\n<\/ul>\n\n<h4>Supported Newsletter &amp; CRM Integrations<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/mailin\/\">Brevo<\/a> (formerly Sendinblue)<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/email-subscribers\/\">Email Subscribers<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/fluent-crm\/\">FluentCRM<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/convertkit\/\">Kit<\/a> (formerly ConvertKit)<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/mailerlite-official\/\">MailerLite<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/mailpoet\/\">MailPoet<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/newsletter\/\">Newsletter<\/a><\/li>\n<\/ul>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li>Real-time fraud and spam detection on every form submission<\/li>\n<li>Client-side behavioral fingerprinting via the Opportify JS SDK (loads automatically, no configuration needed)<\/li>\n<li>Server-side AI analysis via the Opportify Fraud Protection API<\/li>\n<li>5-level risk scoring with explainable contributing factors<\/li>\n<li>Per-integration configuration \u2014 different rules for contact forms vs. registrations vs. checkouts<\/li>\n<li>Reports dashboard with risk distribution charts, submission log, and health checklist<\/li>\n<li>Risk metadata columns in WP Comments, Users, and WooCommerce Orders list tables<\/li>\n<li>Config file support (<code>opportify-config.php<\/code>) for DevOps, Bedrock, Trellis, and staging pipelines<\/li>\n<li>Skip admins option to avoid false positives during development and testing<\/li>\n<li>Automatic log cleanup via WP-Cron (configurable retention, default 90 days)<\/li>\n<li>Compatible with WP Rocket, LiteSpeed Cache, W3 Total Cache, Autoptimize, and other caching plugins<\/li>\n<li>Translated into 10 languages: German, Spanish, French, Italian, Japanese, Dutch, Polish, Portuguese (Brazil), Russian, and Simplified Chinese<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>The Opportify JS SDK loads silently in your site header. It collects behavioral signals \u2014 mouse movement, keystroke timing, scroll depth, device entropy \u2014 and generates a session fingerprint.<\/li>\n<li>When a form is submitted, the SDK attaches a behavioral token to the submission automatically.<\/li>\n<li>The Opportify PHP SDK sends the submission to the Fraud Protection API for analysis: email risk, IP intelligence, device signals, behavioral correlation, and more.<\/li>\n<li>Based on your configured thresholds, the plugin allows, flags, or blocks the submission \u2014 instantly.<\/li>\n<\/ol>\n\n<p>No CAPTCHA. No user friction. No separate configuration per form.<\/p>\n\n<h4>Reports Dashboard<\/h4>\n\n<p>The plugin's Reports page gives you a clear view of your site's submission health:<\/p>\n\n<ul>\n<li><strong>Health checklist<\/strong> \u2014 confirms your API keys, connection status, and active integrations at a glance<\/li>\n<li><strong>Risk distribution chart<\/strong> \u2014 donut chart showing the split between Healthy, Caution, and Risky submissions<\/li>\n<li><strong>Submissions by integration<\/strong> \u2014 bar chart showing which forms receive the most risk<\/li>\n<li><strong>Submission log<\/strong> \u2014 filterable table with date, integration, email, IP, score, risk level, action taken, and contributing factors<\/li>\n<li><strong>Dashboard link<\/strong> \u2014 access detailed trend analysis and advanced filters in the Opportify Dashboard<\/li>\n<\/ul>\n\n<h4>External Services<\/h4>\n\n<p>This plugin connects to two Opportify services:<\/p>\n\n<ul>\n<li><strong>Fraud Protection API<\/strong> (<code>https:\/\/api.opportify.ai<\/code>) \u2014 analyzes each submission server-side using your private API key. Data sent: email address, IP address, and behavioral signals from the JS SDK.<\/li>\n<li><strong>JS SDK CDN<\/strong> (<code>https:\/\/cdn.opportify.ai<\/code>) \u2014 loads the client-side behavioral telemetry script using your public key. The client-side behavioral telemetry script is an integral component of the Opportify fraud detection service: it collects behavioral signals (typing cadence, mouse movement, device entropy, automation indicators) that are correlated server-side with the fraud analysis. Loading it from the Opportify CDN is a service integration, not a decorative asset \u2014 the plugin automatically fetches the latest script version from the CDN manifest and injects it into your site header.<\/li>\n<\/ul>\n\n<p>Please review <a href=\"https:\/\/www.opportify.ai\/legal\/privacy-policy\">Opportify's Privacy Policy<\/a> and <a href=\"https:\/\/www.opportify.ai\/legal\/terms-conditions\">Terms of Service<\/a> before activating the plugin. By activating, you agree to the transmission of submission data to Opportify's API for fraud analysis.<\/p>\n\n<h3>Support<\/h3>\n\n<p>For questions, feedback, or assistance, visit <a href=\"https:\/\/www.opportify.ai\/contact-us\">https:\/\/www.opportify.ai\/contact-us<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/opportify-fraud-protection\/<\/code> or install directly via <strong>Plugins \u2192 Add New<\/strong> in your WordPress admin<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen<\/li>\n<li>Go to <strong>Opportify \u2192 Settings<\/strong> and enter your Private API Key and Public Key<\/li>\n<li>Toggle <strong>Enable Protection<\/strong> on the General tab<\/li>\n<li>Enable the specific integrations you want to protect on the Integrations tab<\/li>\n<li>Click <strong>Test Connection<\/strong> to verify your API keys are working<\/li>\n<li>You are live \u2014 check <strong>Opportify \u2192 Reports<\/strong> to see submissions as they come in<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20get%20my%20api%20keys%3F\"><h3>Where do I get my API keys?<\/h3><\/dt>\n<dd><p>Start a free trial at <a href=\"https:\/\/app.opportify.ai?utm_source=wordpress_plugin&amp;utm_medium=plugin\">app.opportify.ai<\/a> to get your Private API Key and Public Key. No credit card required. The free trial provides full, real API access for fraud analysis \u2014 it is not a sandbox or demo environment. You can protect live form submissions immediately after activating your trial account.<\/p><\/dd>\n<dt id=\"does%20this%20replace%20captcha%3F\"><h3>Does this replace CAPTCHA?<\/h3><\/dt>\n<dd><p>Yes \u2014 it is designed to be a better alternative. Opportify analyzes over 100 signals per submission without presenting any challenge to the visitor. Real users see nothing. Bots and fake submissions are scored and blocked automatically based on your thresholds.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20site%3F\"><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>No. The JS SDK loads asynchronously from a global CDN and has no impact on page rendering. The server-side API call happens during form submission processing and completes in under a second for most submissions.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20caching%20plugins%3F\"><h3>Does it work with caching plugins?<\/h3><\/dt>\n<dd><p>Yes. The plugin is compatible with WP Rocket, LiteSpeed Cache, W3 Total Cache, Autoptimize, and other major caching plugins. The JS SDK is loaded through the standard WordPress enqueue system, so it can be managed (excluded, deferred, or combined) by your caching plugin by handle (<code>opportify-telemetry<\/code>). Note: if you change your Public Key, clear your page cache afterwards.<\/p><\/dd>\n<dt id=\"what%20does%20%22flag%22%20do%3F\"><h3>What does \"Flag\" do?<\/h3><\/dt>\n<dd><p>When an action is set to Flag, the submission proceeds normally but Opportify stores the risk score, risk level, and contributing factors as metadata attached to the entry. For comments, this goes into comment meta; for users, into user meta; for WooCommerce orders, into order meta. A Risk column appears in the relevant WP Admin list tables so you can review flagged entries.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20%22flag%22%20and%20%22block%22%3F\"><h3>What is the difference between \"Flag\" and \"Block\"?<\/h3><\/dt>\n<dd><p><strong>Flag<\/strong> lets the submission through but records the risk data for your review. <strong>Block<\/strong> rejects the submission entirely and shows the visitor your custom block message. Use Flag for Medium risk levels when you want to review manually, and Block for High and Highest when you are confident in rejecting.<\/p><\/dd>\n<dt id=\"can%20i%20configure%20settings%20via%20a%20file%20instead%20of%20the%20ui%3F\"><h3>Can I configure settings via a file instead of the UI?<\/h3><\/dt>\n<dd><p>Yes. Copy <code>opportify-config-sample.php<\/code> to your WordPress root as <code>opportify-config.php<\/code>. When this file is present, all settings are loaded from it and the WordPress admin UI becomes read-only. This is useful for DevOps workflows, Bedrock\/Trellis setups, and multi-environment staging pipelines where you want settings version-controlled.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%20and%20popular%20form%20plugins%3F\"><h3>Does it work with page builders and popular form plugins?<\/h3><\/dt>\n<dd><p>Yes. <a href=\"https:\/\/elementor.com\/\">Elementor Pro Forms<\/a>, <a href=\"https:\/\/wordpress.org\/plugins\/ninja-forms\/\">Ninja Forms<\/a>, <a href=\"https:\/\/www.gravityforms.com\/\">Gravity Forms<\/a>, <a href=\"https:\/\/wordpress.org\/plugins\/wpforms-lite\/\">WPForms<\/a>, <a href=\"https:\/\/wordpress.org\/plugins\/fluentform\/\">Fluent Forms<\/a>, <a href=\"https:\/\/wordpress.org\/plugins\/forminator\/\">Forminator<\/a>, <a href=\"https:\/\/wordpress.org\/plugins\/formidable\/\">Formidable Forms<\/a>, <a href=\"https:\/\/wordpress.org\/plugins\/contact-form-7\/\">Contact Form 7<\/a>, and <a href=\"https:\/\/wordpress.org\/plugins\/mailchimp-for-wp\/\">Mailchimp for WordPress<\/a> are all supported natively.<\/p><\/dd>\n<dt id=\"is%20it%20gdpr%20and%20privacy%20compliant%3F\"><h3>Is it GDPR and privacy compliant?<\/h3><\/dt>\n<dd><p>Data sent to the Opportify API consists of the email address, IP address, and behavioral signals from the JS SDK \u2014 the minimum required for fraud analysis. No personal data is stored by the plugin beyond the risk score and factors in your own WordPress database. Review <a href=\"https:\/\/www.opportify.ai\/legal\/privacy-policy\">Opportify's Privacy Policy<\/a> for full details.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20opportify%20api%20is%20unavailable%3F\"><h3>What happens if the Opportify API is unavailable?<\/h3><\/dt>\n<dd><p>If the API returns an error or is unreachable, the plugin defaults to allowing the submission through. It never blocks submissions due to a service disruption.<\/p><\/dd>\n<dt id=\"does%20it%20affect%20logged-in%20administrators%3F\"><h3>Does it affect logged-in administrators?<\/h3><\/dt>\n<dd><p>Not by default. The <strong>Skip Admins<\/strong> option is enabled by default, which bypasses fraud checks for users with the <code>manage_options<\/code> capability. You can disable this in Settings if needed.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Add WordPress.org plugin directory assets (icons and screenshots)<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Stop form spam, fake leads, and bot registrations before they reach your database. Real-time fraud scoring across 100+ signals \u2014 no CAPTCHA needed.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/311180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=311180"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/opportify"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=311180"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=311180"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=311180"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=311180"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=311180"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=311180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}