[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fgMKo0vrOwlEbF8sApalXb2uwiJ7ltzJDLns3O92lrOM":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":39,"analysis":129,"fingerprints":239},"woocommerce-rejoiner","Rejoiner for WooCommerce","2.4.7","Jackson Whelan","https:\u002F\u002Fprofiles.wordpress.org\u002Fmadjax\u002F","\u003Cp>Create a seamless customer journey across email, SMS & direct mail.\u003C\u002Fp>\n\u003Cp>Rejoiner makes it easy to manage all of your retention marketing channels from a single platform. Organize your customer data in one place. Run all of your retention channels with one platform. Centralize all of your creative production with one team.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Orchestrate email, SMS & postcards with Rejoiner’s journey builder.\u003C\u002Fli>\n\u003Cli>Leverage the entire spectrum of customer data to segment the right audiences.\u003C\u002Fli>\n\u003Cli>Build beautiful email + SMS creative with intuitive drag and drop editors.\u003C\u002Fli>\n\u003Cli>Measure every dollar of revenue with custom attribution modeling.\u003C\u002Fli>\n\u003Cli>Trigger marketing at the opportune moments throughout the customer lifecycle.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.rejoiner.com\u002Fpricing?utm_source=wordpress-plugin-directory&utm_medium=app-store&utm_campaign=woocommerce-listing\" rel=\"nofollow ugc\">Click Here To See Pricing\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin connects to the Rejoiner API to transmit user activity tracking data. Rejoiner tracks user browse, cart, and purchasing behavior in order to intelligently segment your audiences and trigger journeys and messaging workflows.\u003C\u002Fp>\n\u003Cp>See Rejoiner’s \u003Ca href=\"https:\u002F\u002Fwww.rejoiner.com\u002Fterms\" rel=\"nofollow ugc\">terms of use\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwww.rejoiner.com\u002Fprivacy\" rel=\"nofollow ugc\">privacy policy\u003C\u002Fa>.\u003C\u002Fp>\n","Create a seamless customer journey across email, SMS & direct mail.",10,4493,100,4,"2025-10-20T18:11:00.000Z","6.8.5","6.6","",[20,21,22,23,24],"abandoned-cart","cart-abandonment-email","ecommerce","email-marketing","remarketing","https:\u002F\u002Fdocs.rejoiner.com\u002Fdocs\u002Fwoocommerce","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwoocommerce-rejoiner.2.4.7.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"madjax",5,150,91,30,88,"2026-04-04T19:57:25.850Z",[40,61,78,93,108],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":27,"num_ratings":27,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":18,"tags":53,"homepage":18,"download_link":59,"security_score":60,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"cartstack-for-woocommerce","CartStack for WooCommerce","1.1.4","cartstack","https:\u002F\u002Fprofiles.wordpress.org\u002Fcartstack\u002F","\u003Cp>CartStack combines multi-channel \u003Ca href=\"https:\u002F\u002Fwww.cartstack.com\u002Ftour\u002F\" rel=\"nofollow ugc\">abandoned cart remarketing\u003C\u002Fa> with \u003Ca href=\"https:\u002F\u002Fwww.cartstack.com\u002Ftour\u002Fexit-intent-delayed-popup-campaigns\u002F\" rel=\"nofollow ugc\">on-site conversion tools\u003C\u002Fa> to help you drive new sales automatically… without having to drive any new traffic!\u003C\u002Fp>\n\u003Cp>Recovery campaigns like cart abandonment emails, browse abandonment emails, \u003Ca href=\"\u002F\u002Fwww.cartstack.com\u002Ftour\u002Fsms-text-reminder-campaigns\u002F”\" rel=\"nofollow ugc\"> SMS text message reminders\u003Ca>\u003C\u002Fa>, and \u003C\u002Fa>\u003Ca href=\"\u002F\u002Fwww.cartstack.com\u002Ftour\u002Fpush-notification-sequences\u002F”\" rel=\"nofollow ugc\">browser push notifications \u003Ca>\u003C\u002Fa>are perfectly timed & personalized to help you recover around 20% of lost sales. Meanwhile, on-site conversion tools use exit intent technology and real-time form field tracking to display on-site messages, capture leads and boost your conversion rate in real-time.\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Features Include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Abandoned Cart Emails\u003C\u002Fli>\n\u003Cli>Browse Abandonment Emails\u003C\u002Fli>\n\u003Cli>Abandoned Cart SMS Text Messages\u003C\u002Fli>\n\u003Cli>Abandoned Cart Push Notifications\u003C\u002Fli>\n\u003Cli>Browse Abandonment Push Notifications\u003C\u002Fli>\n\u003Cli>Abandoned Tab Notifications\u003C\u002Fli>\n\u003Cli>Early Email Capture\u003C\u002Fli>\n\u003Cli>A\u002FB Split Testing\u003C\u002Fli>\n\u003Cli>On-Page Exit Intent Messages\u003C\u002Fli>\n\u003Cli>Conversion Nudge Messages\u003C\u002Fli>\n\u003Cli>Zapier Connection\u003C\u002Fli>\n\u003Cli>Conditional Content\u003C\u002Fli>\n\u003Cli>Much more…\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"\u002F\u002Fwww.cartstack.com\u002Fsign-up\u002F”\" rel=\"nofollow ugc\">Sign up for a free 14 day trial\u003Ca>\u003C\u002Fa>, and if your campaign doesn’t recover at least $1,000 in the first 14 days you can keep using CartStack for free until it does. What do you have to lose?\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Need help?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Email us at support@cartstack.com\u003C\u002Fli>\n\u003Cli>Check out our knowledgebase at http:\u002F\u002Fhelp.cartstack.com\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Give us a call at 888-363-3647 x1\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","CartStack is the leading abandoned cart & customer recovery software for the WooCommerce platform.",80,2886,"2025-02-05T19:40:00.000Z","6.7.5","3.0.1",[54,55,56,57,58],"abandoned-cart-sms","cart-abandonment","cart-abandonment-emails","email-remarketing","shopping-cart-recovery","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcartstack-for-woocommerce.zip",92,{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":27,"downloaded":69,"rating":27,"num_ratings":27,"last_updated":70,"tested_up_to":71,"requires_at_least":72,"requires_php":73,"tags":74,"homepage":18,"download_link":77,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"campaigner-email-marketing","Campaigner Email Marketing","1.3.0","campaignerwoocommerce","https:\u002F\u002Fprofiles.wordpress.org\u002Fcampaignerwoocommerce\u002F","\u003Cp>An easy-to-use email marketing plugin to recover abandoned carts, notify customers about back-in-stock items, and grow your contact list.\u003C\u002Fp>\n\u003Cp>Campaigner Email Marketing offers an easy to use, reliable way to generate revenue for your store. Whether it’s recovering potential lost revenue from abandoned carts, or letting customers know a desired item is back in stock, you can send beautifully designed emails to attract shoppers back to your store.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatically target shoppers who abandon their carts to re-engage them while interest is still high.\u003C\u002Fli>\n\u003Cli>Let customers know a popular item is back in stock so they can come back to make a purchase. \u003C\u002Fli>\n\u003Cli>Enrich your Campaigner contact list with regular customer data syncs to inspire new email campaign ideas.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin relies on Campaigner’s external service (the Campaigner Email Marketing API) to enable email marketing features including abandoned cart recovery, back-in-stock notifications, and customer data synchronization.\u003C\u002Fp>\n\u003Cp>API host\u002Fdomain used: https:\u002F\u002Fapi.cac1.campaigner.com\u002F\u003C\u002Fp>\n\u003Ch4>What the service is and what it is used for\u003C\u002Fh4>\n\u003Cp>The Campaigner Email Marketing API is used to:\u003Cbr \u002F>\n– Authenticate and connect your WooCommerce store to Campaigner.\u003Cbr \u002F>\n– Send automated emails for abandoned carts to recover lost sales.\u003Cbr \u002F>\n– Notify customers when out-of-stock items become available.\u003Cbr \u002F>\n– Synchronize customer data to build and maintain your email contact list.\u003C\u002Fp>\n\u003Ch4>What data is sent and when\u003C\u002Fh4>\n\u003Cp>The following data is sent to the API:\u003Cbr \u002F>\n– Store URL, platform type (WooCommerce), and Campaigner account ID for authentication and configuration.\u003Cbr \u002F>\n– Feature activation\u002Fdeactivation status when enabling\u002Fdisabling plugin features.\u003Cbr \u002F>\n– Customer information (such as email, name, and order history) during contact synchronization (if enabled).\u003Cbr \u002F>\n– Product stock status updates and subscriber details for back-in-stock notifications.\u003Cbr \u002F>\n– Deactivation data (store URL and platform) when the plugin is deactivated.\u003C\u002Fp>\n\u003Cp>Data is transmitted:\u003Cbr \u002F>\n– During initial setup and feature activation.\u003Cbr \u002F>\n– In real-time for stock changes and customer subscriptions.\u003Cbr \u002F>\n– Periodically for customer data sync (based on configured schedules).\u003Cbr \u002F>\n– Upon plugin deactivation.\u003C\u002Fp>\n\u003Ch4>Other external links\u003C\u002Fh4>\n\u003Cp>This plugin also contains links to external websites for help and account management (for example: https:\u002F\u002Fknowledge.campaigner.com\u002F, https:\u002F\u002Fsecure.campaigner.com\u002F, https:\u002F\u002Fsupport.campaigner.com\u002F, and https:\u002F\u002Fwoocommerce.com\u002F). These are informational links opened in your browser when clicked; the plugin does not automatically send store\u002Fcustomer data to these sites.\u003C\u002Fp>\n\u003Ch4>Terms of Service and Privacy Policy\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.campaigner.com\u002Flegal\u002Fterms-conditions\u002F\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.campaigner.com\u002Flegal\u002Fprivacy-policy\u002F\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","An easy-to-use email marketing plugin to recover abandoned carts, notify customers about back-in-stock items, and grow your contact list.",123,"2026-02-18T13:50:00.000Z","6.9.4","5.0","7.2",[20,22,23,75,76],"marketing","woocommerce","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcampaigner-email-marketing.1.3.0.zip",{"slug":79,"name":80,"version":81,"author":82,"author_profile":83,"description":84,"short_description":85,"active_installs":27,"downloaded":86,"rating":27,"num_ratings":27,"last_updated":87,"tested_up_to":16,"requires_at_least":88,"requires_php":73,"tags":89,"homepage":91,"download_link":92,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"cart-rescue-abandoned-cart-recovery","Cart Rescue – Abandoned Cart Recovery for WooCommerce","1.1","Tech Zap","https:\u002F\u002Fprofiles.wordpress.org\u002Ftechzapdev\u002F","\u003Cp>Cart Rescue – Abandoned Cart Recovery for WooCommerce helps you recover lost sales by automatically capturing abandoned carts and sending targeted recovery emails.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Real-time cart capture\u003C\u002Fli>\n\u003Cli>Smart cart status management (in-progress, abandoned, recovered)\u003C\u002Fli>\n\u003Cli>Customizable email templates with placeholders\u003C\u002Fli>\n\u003Cli>Automated email sending via cron\u003C\u002Fli>\n\u003Cli>One-click cart recovery links\u003C\u002Fli>\n\u003Cli>Comprehensive dashboard with analytics\u003C\u002Fli>\n\u003Cli>Performance optimized with caching\u003C\u002Fli>\n\u003Cli>Security-first approach\u003C\u002Fli>\n\u003Cli>WooCommerce HPOS compatible\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Email Placeholders:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>{{customer_name}} – Full customer name\u003C\u002Fli>\n\u003Cli>{{first_name}} – Customer’s first name\u003C\u002Fli>\n\u003Cli>{{last_name}} – Customer’s last name\u003C\u002Fli>\n\u003Cli>{{cart_items_table}} – HTML table of cart items\u003C\u002Fli>\n\u003Cli>{{cart_total}} – Formatted cart total\u003C\u002Fli>\n\u003Cli>{{recovery_link}} – One-click recovery URL\u003C\u002Fli>\n\u003Cli>{{site_title}} – Website title\u003C\u002Fli>\n\u003C\u002Ful>\n","A complete abandoned cart recovery solution to grow your business. Features a premium UI, email templates, and detailed reports.",256,"2025-10-04T08:11:00.000Z","6.4",[20,90,22,23,76],"cart-recovery","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcart-rescue-abandoned-cart-recovery","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcart-rescue-abandoned-cart-recovery.1.1.zip",{"slug":94,"name":95,"version":96,"author":7,"author_profile":8,"description":97,"short_description":98,"active_installs":27,"downloaded":99,"rating":27,"num_ratings":27,"last_updated":18,"tested_up_to":100,"requires_at_least":101,"requires_php":73,"tags":102,"homepage":105,"download_link":106,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":107},"gf-rejoiner","Add-On for Gravity Forms + Rejoiner","1.0","\u003Cp>This plugin allows you to connect your forms created in Gravity Forms to the Rejoiner email platform.\u003C\u002Fp>\n","This plugin allows you to connect your forms created in Gravity Forms to the Rejoiner email platform.",966,"5.4.19","4.6",[20,23,103,104,24],"gravity-forms","rejoiner","https:\u002F\u002Fterriertenacity.com\u002Fplugins\u002Frejoiner-add-on-gravity-forms","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgf-rejoiner.1.0.zip","2026-03-15T10:48:56.248Z",{"slug":109,"name":110,"version":111,"author":112,"author_profile":113,"description":114,"short_description":115,"active_installs":116,"downloaded":117,"rating":118,"num_ratings":119,"last_updated":120,"tested_up_to":16,"requires_at_least":52,"requires_php":121,"tags":122,"homepage":125,"download_link":126,"security_score":127,"vuln_count":14,"unpatched_count":27,"last_vuln_date":128,"fetched_at":29},"woo-mailerlite","MailerLite – WooCommerce integration","3.1.11","MailerLite","https:\u002F\u002Fprofiles.wordpress.org\u002Fmailerlite\u002F","\u003Cp>Powerful e-commerce email marketing tools that are easy to use. Grow your store with automated emails, pop-ups, product blocks, sales tracking + more.\u003C\u002Fp>\n\u003Ch3>OFFICIAL PLUGIN FEATURES\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Checkout integration\u003C\u002Fli>\n\u003Cli>Select between multiple positions\u003C\u002Fli>\n\u003Cli>Show\u002Fhide checkbox\u003C\u002Fli>\n\u003Cli>Enable\u002Fdisable double opt-in\u003C\u002Fli>\n\u003Cli>Product importing\u003C\u002Fli>\n\u003Cli>Sales tracking and campaign ROI\u003C\u002Fli>\n\u003Cli>Customize checkbox label via settings page\u003C\u002Fli>\n\u003Cli>Forward order data to MailerLite\u003C\u002Fli>\n\u003Cli>Setup order tracking MailerLite custom fields\u003C\u002Fli>\n\u003Cli>Setup order related MailerLite segments\u003C\u002Fli>\n\u003Cli>Set up automation triggered by recent purchases\u003C\u002Fli>\n\u003Cli>Abandoned cart emails\u003C\u002Fli>\n\u003Cli>Subscribe pop-ups\u003C\u002Fli>\n\u003Cli>Regular updates and improvements: Check out the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-mailerlite\u002Fchangelog\u002F\" rel=\"ugc\">changelog\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Quickstart\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Enter your MailerLite API key\u003C\u002Fli>\n\u003Cli>For e-commerce tracking on campaigns generate a \u003Ca href=\"https:\u002F\u002Fdocs.woocommerce.com\u002Fdocument\u002Fwoocommerce-rest-api\u002F\" rel=\"nofollow ugc\">consumer key + secret\u003C\u002Fa> with read rights\u003C\u002Fli>\n\u003Cli>Select your default list\u002Fgroup\u003C\u002Fli>\n\u003Cli>Enable checkout integration\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Plugin created with the official \u003Ca href=\"https:\u002F\u002Fdevelopers.mailerlite.com\u002Fdocs\" rel=\"nofollow ugc\">MailerLite API\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n","Powerful e-commerce email marketing tools that are easy to use. Grow your store with automated emails, pop-ups, product blocks, sales tracking + more.",30000,1350697,58,63,"2026-02-26T14:06:00.000Z","7.2.5",[123,22,23,124,76],"automation","mailerlite","https:\u002F\u002Fmailerlite.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwoo-mailerlite.3.1.11.zip",93,"2026-01-20 00:00:00",{"attackSurface":130,"codeSignals":222,"taintFlows":230,"riskAssessment":231,"analyzedAt":238},{"hooks":131,"ajaxHandlers":211,"restRoutes":219,"shortcodes":220,"cronEvents":221,"entryPointCount":154,"unprotectedCount":154},[132,138,142,146,151,156,160,164,167,171,175,179,184,188,192,196,200,203,207],{"type":133,"name":134,"callback":135,"file":136,"line":137},"action","woocommerce_update_options_integration_wc_rejoiner","process_admin_options","includes\\class-wc-rejoiner.php",68,{"type":133,"name":139,"callback":140,"file":136,"line":141},"wp_loaded","refill_cart",69,{"type":133,"name":143,"callback":144,"file":136,"line":145},"wp_footer","rejoiner_tracking_code",72,{"type":133,"name":147,"callback":148,"priority":149,"file":136,"line":150},"woocommerce_payment_complete","rejoiner_rest_convert",1,75,{"type":133,"name":152,"callback":153,"priority":154,"file":136,"line":155},"woocommerce_thankyou","rejoiner_conversion_code",2,78,{"type":157,"name":158,"callback":159,"file":136,"line":37},"filter","woocommerce_checkout_fields","rejoiner_checkout_fields",{"type":133,"name":161,"callback":162,"priority":11,"file":136,"line":163},"woocommerce_checkout_order_processed","rejoiner_save_checkout",89,{"type":133,"name":165,"callback":166,"file":136,"line":127},"woocommerce_register_form","rejoiner_register_fields",{"type":133,"name":168,"callback":169,"file":136,"line":170},"woocommerce_created_customer","rejoiner_save_register",94,{"type":133,"name":172,"callback":173,"file":136,"line":174},"woocommerce_edit_account_form_start","rejoiner_account_fields",98,{"type":133,"name":176,"callback":177,"file":136,"line":178},"woocommerce_save_account_details","rejoiner_save_account",99,{"type":157,"name":180,"callback":181,"priority":182,"file":136,"line":183},"rejoiner_returnurl","append_promo_returnurl",1000,105,{"type":157,"name":185,"callback":186,"file":187,"line":33},"wc_rejoiner_cart_item_name","my_wcrj_item_name","sample-functions.php",{"type":157,"name":189,"callback":190,"file":187,"line":191},"wc_rejoiner_cart_item_variant","my_wcrj_item_variant",15,{"type":157,"name":193,"callback":194,"file":187,"line":195},"wc_rejoiner_thumb_size","my_wcrj_thumb_size",26,{"type":157,"name":197,"callback":198,"priority":11,"file":187,"line":199},"wc_rejoiner_cart_item_attributes","custom_filter_attributes",36,{"type":157,"name":201,"callback":202,"file":187,"line":118},"rejoiner_sessionmetadata","custom_session_metadata",{"type":157,"name":204,"callback":205,"priority":11,"file":187,"line":206},"wc_rejoiner_optin_list_id","custom_optin_list",70,{"type":157,"name":208,"callback":209,"priority":11,"file":210,"line":195},"woocommerce_integrations","wc_rejoiner","woocommerce-rejoiner.php",[212,216],{"action":213,"nopriv":214,"callback":213,"hasNonce":214,"hasCapCheck":214,"file":136,"line":215},"rejoiner_sync",false,81,{"action":213,"nopriv":217,"callback":213,"hasNonce":214,"hasCapCheck":214,"file":136,"line":218},true,82,[],[],[],{"dangerousFunctions":223,"sqlUsage":224,"outputEscaping":226,"fileOperations":27,"externalRequests":33,"nonceChecks":27,"capabilityChecks":149,"bundledLibraries":229},[],{"prepared":27,"raw":27,"locations":225},[],{"escaped":227,"rawEcho":27,"locations":228},22,[],[],[],{"summary":232,"deductions":233},"The \"woocommerce-rejoiner\" v2.4.7 plugin exhibits a mixed security posture. On the positive side, the plugin demonstrates strong adherence to secure coding practices regarding SQL queries, all of which are properly prepared, and all output is correctly escaped, indicating protection against common injection and XSS vulnerabilities.  There are no recorded vulnerabilities in its history, suggesting a generally well-maintained codebase.\n\nHowever, significant concerns arise from the identified attack surface. The plugin exposes two AJAX handlers, and critically, both lack authentication checks. This directly translates to an unprotected entry point, posing a substantial risk for unauthorized access or manipulation.  The absence of nonce checks on these AJAX actions further exacerbates this vulnerability, making it easier for attackers to initiate actions without proper validation. While taint analysis shows no critical or high severity flows, the unprotected AJAX endpoints are a prime target for exploitation, potentially allowing for actions that, while not directly leading to critical data breaches in this specific analysis, could still be abused for denial-of-service or unauthorized operations.\n\nIn conclusion, the plugin's strengths lie in its robust handling of database queries and output sanitization. However, the lack of authentication on its AJAX endpoints represents a significant security weakness that outweighs these positive aspects. The absence of historical vulnerabilities is encouraging but does not negate the immediate risk posed by the current unprotected attack vectors. Remediation of these unprotected AJAX handlers is strongly recommended.",[234,236],{"reason":235,"points":11},"Unprotected AJAX handlers",{"reason":237,"points":33},"Missing nonce checks on AJAX","2026-03-17T00:26:18.770Z",{"wat":240,"direct":250},{"assetPaths":241,"generatorPatterns":244,"scriptPaths":245,"versionParams":247},[242,243],"\u002Fwp-content\u002Fplugins\u002Fwoocommerce-rejoiner\u002Fassets\u002Fcss\u002Fwoocommerce-rejoiner.css","\u002Fwp-content\u002Fplugins\u002Fwoocommerce-rejoiner\u002Fassets\u002Fjs\u002Fwoocommerce-rejoiner.js",[],[246],"https:\u002F\u002Fcdn.rejoiner.com\u002Fjs\u002Fv4\u002Frj2.lib.js",[248,249],"woocommerce-rejoiner\u002Fassets\u002Fcss\u002Fwoocommerce-rejoiner.css?ver=","woocommerce-rejoiner\u002Fassets\u002Fjs\u002Fwoocommerce-rejoiner.js?ver=",{"cssClasses":251,"htmlComments":252,"htmlAttributes":253,"restEndpoints":257,"jsGlobals":258,"shortcodeOutput":260},[],[],[254,255,256],"data-rejoiner-id","data-rejoiner-domain","data-rejoiner-api-key",[],[259],"window.Rejoiner",[]]