[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fou_UWrz49yYyrnxU97XRHtSbxSxzbeJ08muGxX7PVn8":3,"$fwsXMSv0qmDLdCIBFenGbooi7URwJO1r2Sf9AXTMlTKA":515,"$fSXsoqEX_N4N4y233i08LHhR4gjpAt7HghA_BvgKHu-A":520},{"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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":22,"download_link":23,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26,"discovery_status":27,"vulnerabilities":28,"developer":29,"crawl_stats":25,"alternatives":36,"analysis":152,"fingerprints":480},"buoy","Buoy","0.3.3","Meitar","https:\u002F\u002Fprofiles.wordpress.org\u002Fmeitar\u002F","\u003Cp>Buoy is a decentralized 9-1-1 alternative built for and by people who are not well served by existing emergency response services. Buoy makes it easy to tell your friends where you are and what you need. Buoy’s goal is a world where anyone in distress always has the option to turn to people they trust for support, rather than being forced to rely on people they don’t.\u003C\u002Fp>\n\u003Cp>Buoy is not a traditional “app” that you can download in the app store, but rather a system for adding crisis response and emergency dispatch services to existing websites. With Buoy, community groups, activist organizations, and social support service providers can quickly connect people who need help with trusted friends, family members, advocates, and other allies who can help them. It is designed to be community owned and operated, so each instance of Buoy can be customized to the unique needs or the organization or community group that hosts it.\u003C\u002Fp>\n\u003Cp>Whether you are a group of street medics coordinating with each other during an action, citizen journalists or copwatchers watching each other’s backs, domestic violence survivor support advocates, or even single parents picking each others’ kids up from school, Buoy helps you get and give peer-based mutual aid to your friends and comrades.\u003C\u002Fp>\n\u003Cp>\u003Cem>For service providers\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Anyone with a WordPress-powered website or blog can add the Buoy software (a 1-click automatic install) to their website, enabling the site’s membership to provide peer-based mutual-aid to one another. Moreover, legal aid service providers, domestic, dating, and intimate partner violence prevention advocates, shelters, social groups, alternative medical and mental health collectives, and others can offer members of their community one-click emergency access to a network of trusted peers and\u002For on-call emergency responders.\u003C\u002Fp>\n\u003Cp>\u003Cem>For victims and survivors\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Buoy makes it easy to tell your friends where you are and what you need, even in the most dangerous or frightening scenarios. Tapping a single button will immediately notify the people you trust most that you need their help, give them a map showing your exact location, and even helps them coordinate with one another to quickly figure out how to help you best. With Buoy and a smartphone, you are never more than one button press away from the people you trust most. (We are even working to support old-school flipfones!)\u003C\u002Fp>\n\u003Cp>You do not need to download or install special software to use Buoy. Simply bookmark a page with your smartphone’s built-in Web browser to gain instant access to your personal emergency response team. Quickly send them your location with a pre-defined custom message, write a custom message, or schedule a timed alert (like a “safe call”) for some time in the future.\u003C\u002Fp>\n\u003Cp>The people you select as your emergency contacts (“response team”) will get a notification showing them your location in the real world as well as the locations of any other responders to your call for help. If it’s safe for you to do so, you can now coordinate with all responders in a live chat room, or responders can coordinate amongst themselves about how best to help you if you are unresponsive.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>See the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbuoy\u002Fscreenshots\u002F\" rel=\"ugc\">screenshots\u003C\u002Fa> for an example walkthrough of how Buoy works.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbetterangels\u002Fbuoy\u002Fwiki\u002FList-of-Buoy-enabled-websites\" rel=\"nofollow ugc\">Find a Buoy-enabled web site.\u003C\u002Fa>\u003Cbr \u002F>\nIf you like this plugin, \u003Cstrong>please consider \u003Ca href=\"https:\u002F\u002Fwww.paypal.com\u002Fcgi-bin\u002Fwebscr?cmd=_donations&business=meitarm%40gmail%2ecom&lc=US&item_name=Inline%20Google%20Spreadsheet%20Viewer%20WordPress%20Plugin&item_number=inline%2dgdocs%2dviewer&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted\" rel=\"nofollow ugc\">making a donation\u003C\u002Fa> for your use of the plugin\u003C\u002Fstrong>, \u003Ca href=\"http:\u002F\u002Fwww.amazon.com\u002Fgp\u002Fredirect.html?ie=UTF8&location=http%3A%2F%2Fwww.amazon.com%2Fs%3Fie%3DUTF8%26redirect%3Dtrue%26sort%3Drelevancerank%26search-type%3Dss%26index%3Dbooks%26ref%3Dntt%255Fathr%255Fdp%255Fsr%255F2%26field-author%3DMeitar%2520Moscovitz&tag=maymaydotnet-20&linkCode=ur2&camp=1789&creative=390957\" rel=\"nofollow ugc\">purchasing one of Meitar’s web development books\u003C\u002Fa> or, better yet, contributing directly to \u003Ca href=\"http:\u002F\u002FCyberbusking.org\u002F\" rel=\"nofollow ugc\">Meitar’s Cyberbusking fund\u003C\u002Fa>. (Publishing royalties ain’t exactly the lucrative income it used to be, y’know?) Your support is appreciated!\u003C\u002Fp>\n","A community-based crisis response system. Buoy is a private, enhanced, cop-free alternative to 112 or 911.",10,3652,0,"2016-12-19T06:58:00.000Z","4.7.33","4.6","",[19,20,21],"activism","community","emergency-response","https:\u002F\u002Fbetterangels.github.io\u002Fbuoy\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbuoy.0.3.3.zip",85,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":30,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":24,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"meitar",15,1530,30,84,"2026-05-19T19:28:57.094Z",[37,62,84,109,133],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":57,"download_link":58,"security_score":59,"vuln_count":60,"unpatched_count":13,"last_vuln_date":61,"fetched_at":26},"speakout","SpeakOut! Email Petitions","4.6.5.1","RopeSwingHld","https:\u002F\u002Fprofiles.wordpress.org\u002Fropeswinghld\u002F","\u003Cp>\u003Cstrong>SpeakOut! Email Petitions\u003C\u002Fstrong> allows you to easily create petition forms on your site.\u003C\u002Fp>\n\u003Cp>When visitors to your site submit the petition form, a copy of your message will be sent to the email address you specified e.g. your mayor. They can also choose to have the email BCC’d to themselves (default).  The petition message will be signed with the contact information provided by the form submitter. After signing the petition, visitors will have the option of sharing your petition page with their followers on Facebook or x.\u003C\u002Fp>\n\u003Cp>Signatures are stored in the WordPress database and can be easily exported to CSV format for further analysis (there is no import function). You may set a goal for the number of signatures you hope to collect and then watch as a progress bar tracks your petition’s advance toward it’s goal – the goal can even update automatically when a % of your goal is reached. Petitions may also be configured to stop accepting new signatures on a specified date.\u003C\u002Fp>\n\u003Cp>The free version includes the core features needed to run a successful petition. For those who need more, the \u003Cstrong>Pro version\u003C\u002Fstrong> unlocks the ability to run unlimited campaigns and provides additional tools, such as an email sharing option and expanded integration with third-party mailing services.\u003C\u002Fp>\n\u003Cp>More information about the plugin and how to upgrade to the fully featured Pro version can be found at the official \u003Ca href=\"https:\u002F\u002Fspeakoutpetitions.com\" rel=\"nofollow ugc\">SpeakOut! WordPress petition plugin website\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>4.6.5.1\u003C\u002Fh3>\n\u003Cp>This is a critical security patch. Please update immediately to protect your user data.\u003C\u002Fp>\n\u003Ch3>4.6.5\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Bugfix: address misc warnings.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.6.4\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Bugfix: fix anonmyous record keeping issue. \u003C\u002Fli>\n\u003Cli>Bugfix: fix nonce issue with some admin pages causing permision errors.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.6.3\u003C\u002Fh3>\n\u003Cp>Fix bad cache.\u003C\u002Fp>\n\u003Ch3>4.6.2\u003C\u002Fh3>\n\u003Cp>Fix php warning regarding missing options.\u003C\u002Fp>\n\u003Ch3>4.6.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Security: Added a secure AJAX endpoint with nonce and capability checks for dismissing admin notices.\u003C\u002Fli>\n\u003Cli>Improvement: Modernized admin script and style loading to improve performance and adhere to WordPress best practices.\u003C\u002Fli>\n\u003Cli>Improvement: Redesigned the the admin pages the petition settings page for a cleaner and more consistent user interface.\u003C\u002Fli>\n\u003Cli>Improvement: The GDPR (Privacy Policy) setting is now mandatory when enabled.\u003C\u002Fli>\n\u003Cli>Bug fix: Corrected an issue in an AJAX handler that could prevent petition emails from being sent correctly.\u003C\u002Fli>\n\u003Cli>Bug fix: Prevented a potential PHP warning by ensuring the petition message is always a string.\u003C\u002Fli>\n\u003Cli>Improvement: updated “tested up to” to WP version 6.8.3\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.6.0\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Security: Hardened the plugin by adding comprehensive data sanitization and output escaping across all forms, AJAX handlers, and admin pages to prevent XSS and other vulnerabilities.\u003C\u002Fli>\n\u003Cli>Security: Replaced direct use of \u003Ccode>$_POST\u003C\u002Fcode>, \u003Ccode>$_GET\u003C\u002Fcode>, and \u003Ccode>$_REQUEST\u003C\u002Fcode> variables with sanitized and validated data.\u003C\u002Fli>\n\u003Cli>Security: Ensured all URLs generated by the plugin are properly escaped using \u003Ccode>esc_url\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Refactor: Completely overhauled the \u003Ccode>[emailpetition]\u003C\u002Fcode> shortcode rendering. The form HTML is now loaded from a separate template file ( \u003Ccode>includes\u002Femail-petition-form-template.php\u003C\u002Fcode>), improving code organization and making customization easier.\u003C\u002Fli>\n\u003Cli>Refactor: Consolidated all mailing list integration logic (ActiveCampaign, MailChimp, etc.) into a single, cleaner function call.\u003C\u002Fli>\n\u003Cli>Refactor: Improved custom field rendering by creating a dedicated helper function to reduce code duplication.\u003C\u002Fli>\n\u003Cli>Refactor: Updated AJAX handlers to securely process and validate all incoming data.\u003C\u002Fli>\n\u003Cli>Refactor: Switched to using WordPress best practices, such as \u003Ccode>has_shortcode()\u003C\u002Fcode> for content checking and \u003Ccode>admin_url()\u003C\u002Fcode> for creating admin links.\u003C\u002Fli>\n\u003Cli>Tweak: Improved pagination logic to be more robust and prevent potential errors.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.5.2\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>improvement: updated “tested up to” to WP version 6.8\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.5.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: CSV export was throwing an error – thanks Vegard B.\u003C\u002Fli>\n\u003Cli>improvement: updates to Swedish translations – thanks Magnus\u003C\u002Fli>\n\u003Cli>improvement: updated “test to” to WordPress 6.8\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.5.0\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>improvement: further refined bug fixed in 4.4.0 – thanks Darius S. @ patchstack.com\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.4.3\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>improvement: updated old changelog link at end of current changelog\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.4.2\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>improvement: updated “Tested up to” to 6.7\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.4.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: Export to CSV not working – thanks Vincent R & Shawn D\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.4.0\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: fixed XSS vulnerability in specially crafted shortcode – thanks Darius S. @ patchstack.com\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.3.6\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: wonky CSS setting in basic theme – thanks Jordan.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.3.5.2\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>improvement: updated “tested to” to version 6.6\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.3.5.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>improvement: changed CSV max_execution_time from 180 to 300 seconds and moved it so it is only applied if script is actually run.  Also reset it to system default at end of script – thanks @gideonlupine\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.3.4\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>improvement: updated compatibility to WordPress 6.5\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.3.3.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: debug code removed\u003C\u002Fli>\n\u003Cli>bug fix: new social icons missing in free version\u003C\u002Fli>\n\u003Cli>bug fix: in some circumstances an error was thrown in settings page – thanks Heiko\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.3.3\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: error being thrown by field that can’t be edited in free version – thanks Giuseppe\u003C\u002Fli>\n\u003Cli>bug fix: somehow above error wasn’t fixed in 4.3.2 – thanks Mayda\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.3.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>improvement: updated social icons in all style sheets\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.3.0\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>improvement: changed “twitter” to “X” – thanks Jos\u003C\u002Fli>\n\u003Cli>improvement: removed some superfluous code\u003C\u002Fli>\n\u003Cli>improvement: added Serbian language\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.2.6\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: no error if privacy policy box not checked – thanks Mika\u003C\u002Fli>\n\u003Cli>improvement: SpeakOut! now has its own domain SpeakOutPetitions.com\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.2.3\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: In certain languages if privacy was enabled to show only the first letter of the surname, it would display a \u003Ccode>?\u003C\u002Fcode> instead – thanks Niklas\u003C\u002Fli>\n\u003Cli>bug fix: signature list wouldn’t display if petition ID was greater than one.  This was implemented to limit free users, but it has unintended consequences for legacy users with multiple petitions.  Thanks Jim for letting me poke around.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.2.2\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>improvement: updated “tested to” to 6.3\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.2.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: multiple email addresses in Target Email or CC Email fields would be mashed together – thanks James and someone else who reported this\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.2.0\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: custom field 6 location wasn’t being saved\u003C\u002Fli>\n\u003Cli>bug fix: in admin signature list, “anonymous” icon was showing HTML instead of being superscript\u003C\u002Fli>\n\u003Cli>improvement: added several webhooks – see https:\u002F\u002Fspeakoutpetitions.com\u002Fwebhooks. Thanks for the idea Ben & Nick\u003C\u002Fli>\n\u003Cli>improvement: added email share icon to Pro version – thanks to whoever suggested it.\u003C\u002Fli>\n\u003Cli>improvement: displaying emails in the public signature list is now optional – with a warning that it might not be a wise idea\u003C\u002Fli>\n\u003Cli>improvement: translation updates\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.1.3.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: Somehow a stray character found its way into the code which was breaking petitions. – thanks Meagan\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.1.2\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: database creation error for new installs\u003C\u002Fli>\n\u003Cli>bug fix: if message was editable, formating was lost when sent to target (Pro only) – thanks Linda\u003C\u002Fli>\n\u003Cli>bug fix: language wasn’t bein passed via URL in confirmation emails\u003C\u002Fli>\n\u003Cli>improvement: eliminated php warning “ob_end_flush(): failed to send buffer of zlib output compression”\u003C\u002Fli>\n\u003Cli>improvement: added note to when “Do not send email (only collect signatures)” is checked\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.1.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: if the \u003Cem>petitionmessage\u003C\u002Fem> shortcode was used, any Markdown in the message wasn’t being displayed.  Thanks Michael.\u003C\u002Fli>\n\u003Cli>bug fix: if email confirmation was enabled, the numbering in the public signature list reflected the total number of signatures, not just the confirmed signtures.  Thanks Rene & Martin\u003C\u002Fli>\n\u003Cli>bug fix: if email confirmation was enabled and public signatures spanned more than one page, scrolling didn’t work as expected – thanks Rene\u003C\u002Fli>\n\u003Cli>bug fix: on one layout of the public signature list, the word \u003Cem>anonymous\u003C\u002Fem> wasn’t translated – thanks Myriam-Zaa\u003C\u002Fli>\n\u003Cli>bug fix: increased size of honorifics field in database – thanks Glen C.\u003C\u002Fli>\n\u003Cli>bug fix: following some actions in the admin signature list it wasn’t showing the signature count\u003C\u002Fli>\n\u003Cli>improvement: new installs will now use the utf8mb4_general_ci character set for database text fields, instead of just utf8 – down the track I will change the character set for existing installs\u003C\u002Fli>\n\u003Cli>improvement: database creation now makes fields NULL instead of NOT NULL to allow for not collecting some data – down the track I will change all fields to NULL in existing installs\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.1.0\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: Confirmation emails weren’t being sent if Email From field wasn’t set up properly, which was impossible.  Thanks Thomas and Rene\u003C\u002Fli>\n\u003Cli>bug fix: non-existant parameter being passed to function\u003C\u002Fli>\n\u003Cli>improvement: updated the contextual help – first time ever :o)\u003C\u002Fli>\n\u003Cli>improvement: clarified wording of “display signature count” and where it refers to.\u003C\u002Fli>\n\u003Cli>improvement: database updates so free version is ready to upgrade to Pro\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.0.10\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>improvement: changed a page title – thanks Debbie P\u003C\u002Fli>\n\u003Cli>bug fix: some required fields were not showing red border – thanks Debbie P\u003C\u002Fli>\n\u003Cli>bug fix: redirect after signing not working – thanks Debbie P\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.0.9\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: when clicking \u003Cem>next\u003C\u002Fem> in signature list it was displaying html – thanks Dan @tahninial\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.0.8\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: slashes added to any apostrophes in email subject or greeting\u003C\u002Fli>\n\u003Cli>bug fix: missing default value in free version\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.0.7\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: missing character would cause error in certain circumstances – thanks heiko\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.0.6.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: if WordPress was installed in a subfolder, some administrator links may not have worked.  Thanks Calvin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.0.6\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: petition message kept adding slashes in editor when saved.  Thanks Calvin\u003C\u002Fli>\n\u003Cli>improvement: removed \u003Cem>%%Your Signature%%\u003C\u002Fem> from the petition message displayed on your site.  It was causing confusion.  Thanks Razvan\u003C\u002Fli>\n\u003Cli>improvement: minor typo fixed\u003C\u002Fli>\n\u003Cli>improvement: Dutch language imrovements – thanks Michiel\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.0.5\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: petition message losing formatting – thanks @dcbuffalo\u003C\u002Fli>\n\u003Cli>improvement: better data sanitization in signature list\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.0.4.6\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: html being displayed in admin signature list\u003C\u002Fli>\n\u003Cli>bug fix: file was being included twice\u003C\u002Fli>\n\u003Cli>bug fix: reconfirming selected signatures wasn’t working\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.0.4.5\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>bug fix: settings not saving due to incorrect input sanitize function\u003C\u002Fli>\n\u003Cli>improvement: German language update – thanks Mario\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.0.4.4\u003C\u002Fh3>\n\u003Cp>bug fix: in some circumstances an error was thrown in settings page – thanks Heiko\u003C\u002Fp>\n\u003Ch3>4.0.4.2\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Policy compliance: Version 3 of SpeakOut! included a method of upgrading that turned out to be a WordPress plugin policy breach (4 months later!) and some potential security issues (after 10+ years!).  This version remedies that and introduces a more cumbersome (for users), but compliant method of upgrading.\u003C\u002Fli>\n\u003Cli>bug fix: various fixes of things found while creating V4\u003C\u002Fli>\n\u003Cli>improvement: removed support for importing the original speakup plugin.  After 10 years, it’s time.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fspeakoutpetitions.com\u002Fspeakout-free-changelog\u002F\" title=\"SpeakOut! old Changelog\" rel=\"nofollow ugc\">Earlier Changelog\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Localizations\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Albanian \u003Cstrong>sq_AL\u003C\u002Fstrong> Incomplete\u003C\u002Fli>\n\u003Cli>Arabic \u003Cstrong>ar_AR\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Arabic \u003Cstrong>ar\u003C\u002Fstrong> (Faisal Kadri)\u003C\u002Fli>\n\u003Cli>Catalan \u003Cstrong>ca\u003C\u002Fstrong>  (Alberto Canals)\u003C\u002Fli>\n\u003Cli>Czech \u003Cstrong>cs_CZ\u003C\u002Fstrong> (Petr Å tepÃ¡n, Michal HradeckÃ½)\u003C\u002Fli>\n\u003Cli>Danish \u003Cstrong>da_DK\u003C\u002Fstrong> (A. L.)\u003C\u002Fli>\n\u003Cli>Dutch \u003Cstrong>nl_NL\u003C\u002Fstrong> (Kris Zanders, Petronella van Leusden)\u003C\u002Fli>\n\u003Cli>Finnish \u003Cstrong>fi_FI\u003C\u002Fstrong> \u003C\u002Fli>\n\u003Cli>French \u003Cstrong>fr_FR\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>German \u003Cstrong>de_DE\u003C\u002Fstrong> (Hannes Heller, Armin Vasilico, Andreas Kumlehn, Frank Jermann)\u003C\u002Fli>\n\u003Cli>Hebrew \u003Cstrong>he_IL\u003C\u002Fstrong> (Oren L)\u003C\u002Fli>\n\u003Cli>Korean \u003Cstrong>ko_KO\u003C\u002Fstrong> (Paul Lawley-Jones)\u003C\u002Fli>\n\u003Cli>Icelandic \u003Cstrong>is_IS\u003C\u002Fstrong> (Hildur Sif Thorarensen)\u003C\u002Fli>\n\u003Cli>Italian \u003Cstrong>it_IT\u003C\u002Fstrong> (\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fprofile\u002Fmacitaly\" rel=\"ugc\">MacItaly\u003C\u002Fa>, Davide Granti, Simone Apollo)\u003C\u002Fli>\n\u003Cli>Norwegian \u003Cstrong>nb_NO\u003C\u002Fstrong> (Howard Gittela)\u003C\u002Fli>\n\u003Cli>Polish \u003Cstrong>pl_PL\u003C\u002Fstrong> (Damian Dzieduch)\u003C\u002Fli>\n\u003Cli>Portuguese (Brazil) \u003Cstrong>pt_BR\u003C\u002Fstrong> (Tel Amiel)\u003C\u002Fli>\n\u003Cli>Romanian \u003Cstrong>ro_RO\u003C\u002Fstrong> (\u003Ca href=\"http:\u002F\u002Fwebhostinggeeks.com\" rel=\"nofollow ugc\">Web Hosting Geeks\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Russian \u003Cstrong>ru_RU\u003C\u002Fstrong> (\u003Ca href=\"te-st.ru\" rel=\"nofollow ugc\">Teplitsa\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Serbian \u003Cstrong>sr_RS\u003C\u002Fstrong> (Mikhailo Matovic)\u003C\u002Fli>\n\u003Cli>Slovak \u003Cstrong>sk_SK\u003C\u002Fstrong> (@Beata)\u003C\u002Fli>\n\u003Cli>Slovenian \u003Cstrong>sl_SI\u003C\u002Fstrong> (\u003Ca href=\"http:\u002F\u002Fma-seo.com\" rel=\"nofollow ugc\">MA-SEO\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Spanish \u003Cstrong>es_ES\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Swedish \u003Cstrong>sv_SE\u003C\u002Fstrong> (Susanne Nyman FurugÃ¥rd @sunyfu)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you would like to request or contribute a specific translation not listed above, visit the \u003Ca href=\"http:\u002F\u002Fspeakoutpetitions.com\u002F\" rel=\"nofollow ugc\">SpeakOut! Email Petitions website\u003C\u002Fa> and use the contact form.\u003C\u002Fp>\n\u003Ch3>Emailpetition Shortcode Attributes\u003C\u002Fh3>\n\u003Cp>The following attributes may be applied when using the ‘[emailpetition]’ shortcode\u003C\u002Fp>\n\u003Ch4>id\u003C\u002Fh4>\n\u003Cp>The ID number of your petition (required). To display a basic petition, use this format:\u003Cbr \u002F>\n‘[emailpetition id=”1″]’\u003C\u002Fp>\n\u003Ch4>width\u003C\u002Fh4>\n\u003Cp>This sets the width of the wrapper “\u003C\u002Fp>\n\u003Cp>\u003C\u003C\u002Fp>\n\u003Cp>div>” that surrounds the petition form. Format as you would a width rule for any standard CSS selector. Values can be denominated in px, pt, em, % etc. The units marker (px, %) must be included.\u003C\u002Fp>\n\u003Cp>To set the petition from to display at 100% of it’s container, use:\u003Cbr \u002F>\n‘[emailpetition id=”1″ width=”100%”]’\u003C\u002Fp>\n\u003Cp>A petition set to display at 500 pixels wide can be achieved using:\u003Cbr \u002F>\n‘[emailpetition id=”1″ width=”500px”]’\u003C\u002Fp>\n\u003Ch4>height\u003C\u002Fh4>\n\u003Cp>This sets the height of the petition message box (rather than the height of the entire form). Format as you would a height rule for any standard CSS selector. Values can be denominated in px, pt, em, % etc. The units marker (px, %) must be included.\u003C\u002Fp>\n\u003Cp>A few notes on using percentages:\u003Cbr \u002F>\nUsing a % value only works when the “Allow messages to be edited” feature is turned offâ€”because the petition message will be displayed in a ‘\u003C\u002Fp>\n\u003Cp>\u003C\u003C\u002Fp>\n\u003Cp>div>’. When “Allow  messages to be edited” is turned on, the petition message is displayed in a ”, which cannot be styled with % heights. Use px to set the height on petitions that allow message customization.\u003C\u002Fp>\n\u003Cp>To set the message box to scale to 100% of the height of the message it contains, use any % value (setting this to 100%, 0%, 200% or any other % value has the same result). Use px if you want the box to scale to a specific height.\u003C\u002Fp>\n\u003Cp>Examples:\u003Cbr \u002F>\n‘[emailpetition id=”1″ height=”500px”]’\u003C\u002Fp>\n\u003Cp>‘[emailpetition id=”1″ height=”100%”]’\u003C\u002Fp>\n\u003Ch4>progresswidth\u003C\u002Fh4>\n\u003Cp>Sets the width of the outer progress bar. The filled area of the progress bar will automatically scale proportionally with the width of the outer prgress bar. Provide a numeric value in pixels only. Do not include the px unit marker.\u003C\u002Fp>\n\u003Cp>To display the progress bar at 300 pixels wide, use:\u003C\u002Fp>\n\u003Cp>‘[emailpetition id=”1″ progresswidth=”300″]’\u003C\u002Fp>\n\u003Ch4>class\u003C\u002Fh4>\n\u003Cp>Adds an arbitrary class name to the wrapper ‘\u003C\u002Fp>\n\u003Cp>\u003C\u003C\u002Fp>\n\u003Cp>div>’ that surrounds the petition form. Typically used to assign the alignright, alignleft or aligncenter classes to the petition in order to float the petition form to one side of its container. To assign multiple classes, separate the class names with spaces.\u003C\u002Fp>\n\u003Cp>Examples:\u003C\u002Fp>\n\u003Cp>‘[emailpetition id=”1″ class=”alignright”]’\u003C\u002Fp>\n\u003Cp>‘[emailpetition id=”1″ class=”style1 style2″]’\u003C\u002Fp>\n\u003Ch3>Signaturelist Shortcode Attributes\u003C\u002Fh3>\n\u003Ch4>id\u003C\u002Fh4>\n\u003Cp>The ID number of your petition (required). To display a basic signature list, use this format:\u003C\u002Fp>\n\u003Cp>‘[signaturelist id=”1″]’\u003C\u002Fp>\n\u003Ch4>rows\u003C\u002Fh4>\n\u003Cp>The number of signature rows to display in the table. This will override the default value provided on the Settings page. To display 10 rows, use:\u003C\u002Fp>\n\u003Cp>‘[signaturelist id=”1″ rows=”10″]’\u003C\u002Fp>\n\u003Ch4>dateformat\u003C\u002Fh4>\n\u003Cp>Format of values in the date column. Use any of the standard \u003Ca href=\"http:\u002F\u002Fphp.net\u002Fmanual\u002Fen\u002Ffunction.date.php\" rel=\"nofollow ugc\">PHP date formating characters\u003C\u002Fa>. Default is ‘M d, Y’. A date such as “Sunday October 14, 2012 @ 9:42 am” can be displayed using:\u003C\u002Fp>\n\u003Cp>‘[signaturelist id=”1″ dateformat=”l F d, Y @ g:i a”]’\u003C\u002Fp>\n\u003Ch4>prevbuttontext\u003C\u002Fh4>\n\u003Cp>The text that displays in the previous signatures pagination button. Default is \u003C.\u003C\u002Fp>\n\u003Ch4>nextbuttontext\u003C\u002Fh4>\n\u003Cp>The text that displays in the next signatures pagination button. Default is >.\u003C\u002Fp>\n\u003Ch3>signaturecount Shortcode\u003C\u002Fh3>\n\u003Cp>Display the number (as text) of signatures collected for a given petition:\u003C\u002Fp>\n\u003Ch4>id\u003C\u002Fh4>\n\u003Cp>The ID number of your petition (required).\u003C\u002Fp>\n\u003Cp>‘[signaturecount id=”3″]’\u003C\u002Fp>\n\u003Ch3>signaturegoal Shortcode\u003C\u002Fh3>\n\u003Cp>Display the number (as text) of goal for a given petition:\u003C\u002Fp>\n\u003Ch4>id\u003C\u002Fh4>\n\u003Cp>The ID number of your petition (required).\u003C\u002Fp>\n\u003Cp>‘[signaturegoal id=”3″]’\u003C\u002Fp>\n","SpeakOut! Email Petitions makes it easy to add petitions to your website and rally your community to Speak Out about a cause by using direct action.",3000,326725,96,43,"2026-03-04T20:12:00.000Z","6.8.5","5.0","7.4",[19,20,54,55,56],"email","petition","social-media","https:\u002F\u002Fspeakoutpetitions.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fspeakout.4.6.5.1.zip",87,5,"2026-04-13 00:00:00",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":72,"num_ratings":73,"last_updated":74,"tested_up_to":75,"requires_at_least":76,"requires_php":77,"tags":78,"homepage":17,"download_link":80,"security_score":81,"vuln_count":82,"unpatched_count":13,"last_vuln_date":83,"fetched_at":26},"petitioner","Petitioner","0.8.1","Anton Voytenko","https:\u002F\u002Fprofiles.wordpress.org\u002Favoytenko\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fgetpetitioner.com\" rel=\"nofollow ugc\">Plugin homepage & demo\u003C\u002Fa>.\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fgetpetitioner.com\u002Fdocs\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>.\u003Cbr \u002F>\nPetitioner pairs unlimited, drag-and-drop petition forms with advanced targeting and export tools, everything you expect from premium petition builders, available free in the plugin directory.\u003Cbr \u002F>\nIt’s built for advocacy teams, nonprofits, campaigns, and publishers who need high-volume petitions with reliable delivery, flexible layouts, and clear reporting without SaaS lock-in.\u003C\u002Fp>\n\u003Ch3>Quick start\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Install Petitioner and create your first petition under Petitioner -> Add New.\u003C\u002Fli>\n\u003Cli>Configure delivery (target email, confirmations, approval defaults) and design under the Settings tabs.\u003C\u002Fli>\n\u003Cli>Drop the Gutenberg block or shortcode into any page, collect signatures, and export or display submissions as needed.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Highlights\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Unlimited petitions powered by a drag-and-drop builder with 10+ specialized fields.\u003C\u002Fli>\n\u003Cli>Automated decision-maker delivery plus optional double opt-in and manual moderation.\u003C\u002Fli>\n\u003Cli>Frontend submission showcases (grid, list, ticker) with privacy-friendly options.\u003C\u002Fli>\n\u003Cli>CSV exports with advanced filtering for accurate reporting and CRM imports.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features:\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Unlimited petitions\u003C\u002Fstrong>\u003Cbr \u002F>\nCreate and manage an unlimited number of petitions.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Drag and drop form builder\u003C\u002Fstrong>\u003Cbr \u002F>\n– Add\u002Fremove\u002Freorder fields based on your needs\u003Cbr \u002F>\n– Supports over ten field types: text, email, phone, address, date of birth, newsletter opt-in, anonymous signature, terms acceptance, and more\u003Cbr \u002F>\n– Add rich text to the form for disclaimers and legal text\u003Cbr \u002F>\n– Edit each field’s label, placeholder, and required state\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Control submission behaviour\u003C\u002Fstrong>\u003Cbr \u002F>\n– Show submissions on the frontend in a few different styles\u003Cbr \u002F>\n– Email functionality: Automatically send petition letters to representatives via email.\u003Cbr \u002F>\n– Ability to store submissions without sending emails to the rep.\u003Cbr \u002F>\n– Ability to manually approve\u002Fdeny petitions and set the default approval behavior (approved by default or declined)\u003Cbr \u002F>\n– Option to confirm emails via email\u003Cbr \u002F>\n– Customize email confirmations, petition letters, and thank you emails\u003Cbr \u002F>\n– Option to edit and delete submissions\u003Cbr \u002F>\n– Form submissions export: export petition signups and submission data to a CSV file for easy reporting.\u003Cbr \u002F>\n– Preview data, rename columns, and map values (e.g., “1” to “Yes” or dynamic values like {{field_name}}) before downloading CRM-ready files.\u003Cbr \u002F>\n– Filter out unwanted submissions before exporting by targeting any form field\u003Cbr \u002F>\n– Goal milestones: set incremental signature targets (e.g., 100, 500, 1000) to keep momentum high.\u003Cbr \u002F>\n– Custom redirects: redirect users to custom “Thank You” or “Action” pages after signing or confirming their email.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Design & layout features\u003C\u002Fstrong>\u003Cbr \u002F>\n– The plugin features a modern, mobile-friendly design for a seamless user experience.\u003Cbr \u002F>\n– Color customizations & custom CSS options\u003Cbr \u002F>\n– WYSIWYG editor: Easily edit petition letters and confirmation emails using a modern WYSIWYG editor.\u003Cbr \u002F>\n– Gutenberg integration with a custom petition block!\u003Cbr \u002F>\n– Several shortcodes to take your petitions to the next level:\u003Cbr \u002F>\n  – Form shortcode – embed the entire petition anywhere shortcodes are supported.\u003Cbr \u002F>\n  – Petition goal – surface your signature target dynamically.\u003Cbr \u002F>\n  – Progress bar – visualize progress toward the goal in real time.\u003Cbr \u002F>\n  – Petition letter popup – open the full letter in a modal.\u003Cbr \u002F>\n  – Submission count – show live signature totals.\u003Cbr \u002F>\n  – Submissions display – list, grid, and ticker layouts with privacy controls.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Spam protection features\u003C\u002Fstrong>\u003Cbr \u002F>\n– Captcha integrations: reCAPTCHA, hCaptcha, and Cloudflare Turnstile\u003Cbr \u002F>\n– Akismet integration – handle spam seamlessly without adding any js libraries\u003Cbr \u002F>\n– Honeypot field\u003Cbr \u002F>\n– Email confirmations\u003Cbr \u002F>\n– Compatible with all of the popular SMTP plugins (uses wp_mail behind the scenes)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Extremely lightweight and modern\u003C\u002Fstrong>\u003Cbr \u002F>\n– Vanilla JavaScript bundle weighs in at ~4KB gzipped\u003Cbr \u002F>\n– Theme-friendly CSS variables let you match any brand quickly\u003Cbr \u002F>\n– Rich hooks and filters make third-party integrations effortless\u003C\u002Fp>\n\u003Ch3>Development and Source Code\u003C\u002Fh3>\n\u003Cp>The source code for this plugin is publicly available on GitHub:\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Favoy18\u002Fpetitioner\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Favoy18\u002Fpetitioner\u003C\u002Fa>\u003C\u002Fp>\n","Create, target, and track high-impact petitions with Petitioner: automate delivery to decision-makers, manage approvals, and export rich submission da &hellip;",100,5100,98,7,"2026-03-29T00:59:00.000Z","6.9.4","5.9","8.0",[19,20,54,79,55],"form","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpetitioner.0.8.1.zip",99,1,"2026-03-27 00:00:00",{"slug":85,"name":86,"version":87,"author":88,"author_profile":89,"description":90,"short_description":91,"active_installs":92,"downloaded":93,"rating":94,"num_ratings":95,"last_updated":96,"tested_up_to":75,"requires_at_least":97,"requires_php":98,"tags":99,"homepage":104,"download_link":105,"security_score":106,"vuln_count":107,"unpatched_count":82,"last_vuln_date":108,"fetched_at":26},"ultimate-member","Ultimate Member – User Profile, Registration, Login, Member Directory, Content Restriction & Membership Plugin","2.11.3","Ultimate Member","https:\u002F\u002Fprofiles.wordpress.org\u002Fultimatemember\u002F","\u003Ch4>User Profile & Membership Plugin for WordPress\u003C\u002Fh4>\n\u003Cp>The ultimate user profile & membership plugin for WordPress. The plugin makes it a breeze for users to sign-up and become members of your website. The plugin allows you to add beautiful user profiles to your site and is designed for creating advanced online communities and membership sites. Lightweight and highly extendible, Ultimate Member will enable you to create almost any type of site where users can join and become members with absolute ease.\u003C\u002Fp>\n\u003Ch4>Features of the plugin include:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Front-end user profiles\u003C\u002Fli>\n\u003Cli>Front-end user registration\u003C\u002Fli>\n\u003Cli>Front-end user login\u003C\u002Fli>\n\u003Cli>Custom form fields\u003C\u002Fli>\n\u003Cli>Conditional logic for form fields\u003C\u002Fli>\n\u003Cli>Drag and drop form builder\u003C\u002Fli>\n\u003Cli>User account page\u003C\u002Fli>\n\u003Cli>Custom user roles\u003C\u002Fli>\n\u003Cli>Member directories\u003C\u002Fli>\n\u003Cli>User emails\u003C\u002Fli>\n\u003Cli>Content restriction\u003C\u002Fli>\n\u003Cli>Conditional nav menus\u003C\u002Fli>\n\u003Cli>Show author posts & comments on user profiles\u003C\u002Fli>\n\u003Cli>Developer friendly with dozens of actions and filters\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Read about all of the plugin’s features at \u003Ca href=\"https:\u002F\u002Fultimatemember.com\" rel=\"nofollow ugc\">Ultimate Member\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Paid Extensions\u003C\u002Fh4>\n\u003Cp>Ultimate Member has a range of extensions that allow you to extend the power of the plugin. You can purchase all of these extensions at a significant discount with one of our \u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">paid plans\u003C\u002Fa> or you can purchase extensions individually.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fzapier\u002F\" rel=\"nofollow ugc\">Zapier\u003C\u002Fa> – Allow to integrate the Zapier popular apps with Ultimate Member\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fstripe\u002F\" rel=\"nofollow ugc\">Stripe\u003C\u002Fa> – Sell paid memberships to access your website via Stripe subscriptions\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fuser-notes\u002F\" rel=\"nofollow ugc\">User Notes\u003C\u002Fa> – Allow users to create public and private notes from their profile\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fprofile-tabs\u002F\" rel=\"nofollow ugc\">Profile Tabs\u003C\u002Fa> – Allow to add the custom tabs to profiles\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fuser-locations\u002F\" rel=\"nofollow ugc\">User Locations\u003C\u002Fa> – Allow to display users on a map on the member directory page and allow users to add their location via their profile\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Funsplash\u002F\" rel=\"nofollow ugc\">Unsplash\u003C\u002Fa> – Allow users to select a profile cover photo from \u003Ca href=\"https:\u002F\u002Funsplash.com\u002F\" rel=\"nofollow ugc\">Unsplash\u003C\u002Fa> from their profile\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fuser-bookmarks\u002F\" rel=\"nofollow ugc\">User Bookmarks\u003C\u002Fa> – Allow users to bookmark content from your website\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fuser-photos\u002F\" rel=\"nofollow ugc\">User Photos\u003C\u002Fa> – Allow users to upload photos to their profile\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fgroups\u002F\" rel=\"nofollow ugc\">Groups\u003C\u002Fa> – Allow users to create and join groups around shared topics, interests etc.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fprivate-content\u002F\" rel=\"nofollow ugc\">Private Content\u003C\u002Fa> – Display private content to logged in users that only they can access\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fuser-tags\u002F\" rel=\"nofollow ugc\">User Tags\u003C\u002Fa> – Lets you add a user tag system to your website\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fsocial-activity\u002F\" rel=\"nofollow ugc\">Social Activity\u003C\u002Fa> – Let users create public wall posts & see the activity of other users\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fwoocommerce\u002F\" rel=\"nofollow ugc\">WooCommerce\u003C\u002Fa> – Allow you to integrate WooCommerce with Ultimate Member\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fprivate-messages\u002F\" rel=\"nofollow ugc\">Private Messages\u003C\u002Fa> – Add a private messaging system to your site & allow users to message each other\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Ffollowers\u002F\" rel=\"nofollow ugc\">Followers\u003C\u002Fa> – Allow users to follow each other on your site and protect their profile information\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Freal-time-notifications\u002F\" rel=\"nofollow ugc\">Real-time Notifications\u003C\u002Fa> – Add a notifications system to your site so users can receive real-time notifications\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fsocial-login\u002F\" rel=\"nofollow ugc\">Social Login\u003C\u002Fa> – Let users register & login to your site via Facebook, Twitter, G+, LinkedIn, Instagram and Vkontakte (VK.com)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fbbpress\u002F\" rel=\"nofollow ugc\">bbPress\u003C\u002Fa> – With the bbPress extension you can beautifully integrate Ultimate Member with bbPress\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fmailchimp\u002F\" rel=\"nofollow ugc\">MailChimp\u003C\u002Fa> – Allow users to subscribe to your MailChimp lists when they signup on your site and sync user meta to MailChimp\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fuser-reviews\u002F\" rel=\"nofollow ugc\">User Reviews\u003C\u002Fa> – Allow users to rate & review each other using a 5 star rate\u002Freview system\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fverified-users\u002F\" rel=\"nofollow ugc\">Verified Users\u003C\u002Fa> – Add a user verification system to your site so user accounts can be verified\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fmycred\u002F\" rel=\"nofollow ugc\">myCRED\u003C\u002Fa> – With the myCRED extension you can integrate Ultimate Member with the popular myCRED points management plugin\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fnotices\u002F\" rel=\"nofollow ugc\">Notices\u003C\u002Fa> – Alert users to important information using conditional notices\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fprofile-completeness\u002F\" rel=\"nofollow ugc\">Profile Completeness\u003C\u002Fa> – Encourage or force users to complete their profiles with the profile completeness extension\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Ffriends\u002F\" rel=\"nofollow ugc\">Friends\u003C\u002Fa> – Allows users to become friends by sending & accepting\u002Frejecting friend requests\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Free Extensions\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fjobboardwp\u002F\" rel=\"nofollow ugc\">JobsBoardWP\u003C\u002Fa> – This free extension integrates Ultimate Member with the job board plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjobboardwp\" rel=\"ugc\">JobBoardWP\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fforumwp\u002F\" rel=\"nofollow ugc\">ForumWP\u003C\u002Fa> – This free extension integrates Ultimate Member with the forum plugin \u003Ca href=\"https:\u002F\u002Fforumwpplugin.com\" rel=\"nofollow ugc\">ForumWP\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fterms-conditions\u002F\" rel=\"nofollow ugc\">Terms & Conditions\u003C\u002Fa> – Add a terms and condition checkbox to your registration forms & require users to agree to your T&Cs before registering on your site.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fgoogle-recaptcha\u002F\" rel=\"nofollow ugc\">Google reCAPTCHA\u003C\u002Fa> – Stop bots on your registration & login forms with Google reCAPTCHA\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fonline-users\u002F\" rel=\"nofollow ugc\">Online Users\u003C\u002Fa> – Display what users are online with this extension\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Theme\u003C\u002Fh4>\n\u003Cp>Our official \u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Ftheme\u002F\" rel=\"nofollow ugc\">theme\u003C\u002Fa> is purpose built for websites that have logged in and out users. The \u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Ftheme\u002F\" rel=\"nofollow ugc\">theme\u003C\u002Fa> has deep integration with Ultimate Member plugin and the extensions, different header designs for logged-in\u002Fout users and works alongside the Beaver Builder and Elementor page builders.\u003C\u002Fp>\n\u003Ch4>Our other plugins\u003C\u002Fh4>\n\u003Cp>In addition to Ultimate Member, we also have two other plugins: \u003Ca href=\"https:\u002F\u002Fforumwpplugin.com\u002F\" rel=\"nofollow ugc\">ForumWP\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjobboardwp\" rel=\"ugc\">JobBoardWP\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>ForumWP\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fforumwpplugin.com\u002F\" rel=\"nofollow ugc\">ForumWP\u003C\u002Fa> is a forum plugin which adds an online forum to your website, allowing users to create topics and write replies. Forums are a great way to build and grow an online community.\u003C\u002Fp>\n\u003Ch4>JobBoardWP\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjobboardwp\" rel=\"ugc\">JobBoardWP\u003C\u002Fa> is a job board plugin which adds a modern job board to your website. Display job listings and allow employers to submit and manage jobs all from the front-end.\u003C\u002Fp>\n\u003Ch4>Development * Translations\u003C\u002Fh4>\n\u003Cp>If you’re a developer and would like to contribute to the source code of the plugin you can do so via our \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fultimatemember\u002Fultimatemember\" rel=\"nofollow ugc\">GitHub Repository\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Want to add a new language to Ultimate Member? Great! You can contribute via \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fultimate-member\" rel=\"nofollow ugc\">translate.wordpress.org\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>If you are a developer and you need to know the list of UM Hooks, make this via our \u003Ca href=\"https:\u002F\u002Fdocs.ultimatemember.com\u002Farticle\u002F1324-hooks-list\" rel=\"nofollow ugc\">Hooks Documentation\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fultimatemember.github.io\u002Fultimatemember\u002Fhooks\u002F\" rel=\"nofollow ugc\">Hooks Documentation v2\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>If you are a developer and you need to know the structure of our code, make this via our \u003Ca href=\"https:\u002F\u002Fultimatemember.github.io\u002Fultimatemember\u002Fphpdoc\u002F\" rel=\"nofollow ugc\">Documentation API\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Documentation & Support\u003C\u002Fh4>\n\u003Cp>Got a problem or need help with Ultimate Member? Head over to our \u003Ca href=\"http:\u002F\u002Fdocs.ultimatemember.com\u002F\" rel=\"nofollow ugc\">documentation\u003C\u002Fa> and perform a search of the knowledge base. If you can’t find a solution to your issue then you can create a topic on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fultimate-member\" rel=\"ugc\">support forum\u003C\u002Fa>.\u003C\u002Fp>\n","Membership & community plugin with user profiles, registration & login, member directories, content restriction, user roles and much more.",200000,12921562,88,1447,"2026-03-26T21:48:00.000Z","6.2","7.0",[20,100,101,102,103],"member","membership","user-profile","user-registration","http:\u002F\u002Fultimatemember.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fultimate-member.2.11.3.zip",40,71,"2026-04-03 19:29:29",{"slug":110,"name":111,"version":112,"author":111,"author_profile":113,"description":114,"short_description":115,"active_installs":116,"downloaded":117,"rating":118,"num_ratings":119,"last_updated":120,"tested_up_to":50,"requires_at_least":121,"requires_php":122,"tags":123,"homepage":128,"download_link":129,"security_score":130,"vuln_count":131,"unpatched_count":13,"last_vuln_date":132,"fetched_at":26},"buddypress","BuddyPress","14.4.0","https:\u002F\u002Fprofiles.wordpress.org\u002Fbuddypress\u002F","\u003Cp>Are you looking for modern, robust, and sophisticated social network software? BuddyPress is a suite of components that are common to a typical social network, and allows for great add-on features through WordPress’s extensive plugin system.\u003C\u002Fp>\n\u003Cp>Aimed at site builders & developers, BuddyPress is focused on ease of integration, ease of use, and extensibility. It is deliberately powerful yet unbelievably simple social network software, built by contributors to WordPress.\u003C\u002Fp>\n\u003Cp>\u003Ciframe loading=\"lazy\" title=\"VideoPress Video Player\" aria-label=\"VideoPress Video Player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fvideo.wordpress.com\u002Fembed\u002FwvvZgNwo?hd=1&cover=1\" frameborder=\"0\" allowfullscreen allow=\"clipboard-write\">\u003C\u002Fiframe>\u003Cscript src='https:\u002F\u002Fv0.wordpress.com\u002Fjs\u002Fnext\u002Fvideopress-iframe.js?m=1770107250'>\u003C\u002Fscript>\u003C\u002Fp>\n\u003Cp>Members can register on your site to create user profiles, have private conversations, make social connections, create and interact in groups, and much more. Truly a social network in a box, BuddyPress helps you build a home for your company, school, sports team, or other niche community.\u003C\u002Fp>\n\u003Ch4>Built with developers in mind\u003C\u002Fh4>\n\u003Cp>BuddyPress helps site builders & developers add community features to their websites. It comes with a robust theme compatibility API that does its best to make every BuddyPress content page look and feel right with just about any WordPress theme. You will likely need to adjust some styling on your own to make everything look pristine.\u003C\u002Fp>\n\u003Cp>BuddyPress themes are just WordPress themes with additional templates, and with a little work, you could easily create your own, too! A handful of BuddyPress-specific themes are readily available for download from WordPress.org, and lots more are available from third-party theme authors.\u003C\u002Fp>\n\u003Cp>BuddyPress also comes with built-in support for Akismet and \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbbpress\u002F\" rel=\"ugc\">bbPress\u003C\u002Fa>, two very popular and very powerful WordPress plugins. If you’re using either, visit their settings pages and ensure everything is configured to your liking.\u003C\u002Fp>\n\u003Ch4>The BuddyPress Add-ons\u003C\u002Fh4>\n\u003Cp>WordPress.org is home to some amazing Add-ons for BuddyPress, including:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbp-attachments\u002F\" rel=\"ugc\">BP Attachments\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbp-classic\u002F\" rel=\"ugc\">BP Classic\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>NB\u003C\u002Fstrong>: BP Classic is a backwards compatibility Add-on for BuddyPress 12.0 and up bringing back the BP Legacy URL parser, the BP Default theme and BP Legacy widgets.\u003C\u002Fp>\n\u003Cp>Go to \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fbuddypress\u002F\" rel=\"nofollow ugc\">BuddyPress profile on WordPress.org\u003C\u002Fa> to find them all!\u003C\u002Fp>\n\u003Ch4>Join our community\u003C\u002Fh4>\n\u003Cp>If you’re interested in contributing to BuddyPress, we’d love to have you. Head over to the \u003Ca href=\"https:\u002F\u002Fcodex.buddypress.org\u002Fparticipate-and-contribute\u002F\" rel=\"nofollow ugc\">BuddyPress Documentation\u003C\u002Fa> site to find out how you can pitch in.\u003C\u002Fp>\n\u003Cp>BuddyPress is available in many languages thanks to the volunteer efforts of individuals all around the world. Check out our \u003Ca href=\"https:\u002F\u002Fcodex.buddypress.org\u002Ftranslations\u002F\" rel=\"nofollow ugc\">translations page\u003C\u002Fa> on the BuddyPress Documentation site for more details. If you are a polyglot, please \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fbuddypress\" rel=\"nofollow ugc\">consider helping translate BuddyPress\u003C\u002Fa> into your language.\u003C\u002Fp>\n\u003Cp>Growing the BuddyPress community means better software for everyone!\u003C\u002Fp>\n","Get together safely, in your own way, in WordPress.",100000,13719268,82,375,"2025-09-24T19:13:00.000Z","6.1","5.6",[20,124,125,126,127],"group","members","network","self-hosted","https:\u002F\u002Fbuddypress.org","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbuddypress.14.4.0.zip",76,24,"2026-01-22 18:30:17",{"slug":134,"name":135,"version":136,"author":137,"author_profile":138,"description":139,"short_description":140,"active_installs":141,"downloaded":142,"rating":143,"num_ratings":144,"last_updated":145,"tested_up_to":146,"requires_at_least":147,"requires_php":122,"tags":148,"homepage":149,"download_link":150,"security_score":151,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"um-recaptcha","Ultimate Member – reCAPTCHA","2.3.8","Mykyta Synelnikov","https:\u002F\u002Fprofiles.wordpress.org\u002Fnsinelnikov\u002F","\u003Cp>This Ultimate Member extension stop bots on your registration & login forms with Google reCAPTCHA.\u003C\u002Fp>\n\u003Ch4>Key Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Integrates seamlessly with register or login forms\u003C\u002Fli>\n\u003Cli>Easy to setup\u003C\u002Fli>\n\u003Cli>Stops spam registrations completely\u003C\u002Fli>\n\u003Cli>You can enable Google reCAPTCHA on register and login forms automatically\u003C\u002Fli>\n\u003Cli>You can turn on \u002F off the reCAPTCHA on any specific form\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Read about all of the plugin’s features at \u003Ca href=\"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fgoogle-recaptcha\u002F\" rel=\"nofollow ugc\">Ultimate Member – Google reCAPTCHA\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Development * Translations\u003C\u002Fh4>\n\u003Cp>Want to add a new language to Ultimate Member? Great! You can contribute via \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fultimate-member\" rel=\"nofollow ugc\">translate.wordpress.org\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>If you are a developer and you need to know the list of UM Hooks, make this via our \u003Ca href=\"https:\u002F\u002Fdocs.ultimatemember.com\u002Farticle\u002F1324-hooks-list\" rel=\"nofollow ugc\">Hooks Documentation\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Documentation & Support\u003C\u002Fh4>\n\u003Cp>Got a problem or need help with Ultimate Member? Head over to our \u003Ca href=\"http:\u002F\u002Fdocs.ultimatemember.com\u002F\" rel=\"nofollow ugc\">documentation\u003C\u002Fa> and perform a search of the knowledge base. If you can’t find a solution to your issue then you can create a topic on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fum-online\" rel=\"ugc\">support forum\u003C\u002Fa>.\u003C\u002Fp>\n","Stop bots on your registration & login forms with Google reCAPTCHA",20000,450548,74,11,"2024-11-20T00:18:00.000Z","6.7.5","5.5",[20,100,101,102],"https:\u002F\u002Fultimatemember.com\u002Fextensions\u002Fgoogle-recaptcha\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fum-recaptcha.2.3.8.zip",92,{"attackSurface":153,"codeSignals":352,"taintFlows":444,"riskAssessment":472,"analyzedAt":479},{"hooks":154,"ajaxHandlers":348,"restRoutes":349,"shortcodes":350,"cronEvents":351,"entryPointCount":13,"unprotectedCount":13},[155,161,164,167,171,175,179,181,183,188,192,196,201,206,210,215,218,221,224,228,232,236,240,244,247,250,253,257,261,266,269,271,274,278,283,286,289,293,297,300,302,306,310,314,318,322,326,329,333,337,341,345],{"type":156,"name":157,"callback":158,"file":159,"line":160},"action","plugins_loaded","registerL10n","buoy.php",70,{"type":156,"name":162,"callback":163,"file":159,"line":107},"init","initialize",{"type":156,"name":165,"callback":166,"file":159,"line":143},"admin_enqueue_scripts","enqueueFrontEndScripts",{"type":156,"name":168,"callback":169,"file":159,"line":170},"admin_head","addHelpSidebar",75,{"type":156,"name":172,"callback":173,"file":159,"line":174},"wp_dashboard_setup","registerDashboardWidget",77,{"type":156,"name":176,"callback":177,"file":159,"line":178},"admin_notices","rest_api_install_failure_notice",228,{"type":156,"name":176,"callback":177,"file":159,"line":180},234,{"type":156,"name":176,"callback":177,"file":159,"line":182},251,{"type":156,"name":184,"callback":185,"file":186,"line":187},"send_headers","redirectShortUrl","includes\u002Fclass-buoy-alert.php",483,{"type":156,"name":189,"callback":190,"file":186,"line":191},"wp_before_admin_bar_render","addAlertsMenu",485,{"type":156,"name":193,"callback":194,"file":186,"line":195},"admin_menu","registerAdminMenu",486,{"type":197,"name":198,"callback":199,"priority":82,"file":186,"line":200},"filter","comments_open","handleNewPostCommentChat",509,{"type":197,"name":202,"callback":203,"priority":204,"file":186,"line":205},"comments_clauses","filterCommentsClauses",900,510,{"type":197,"name":207,"callback":208,"file":186,"line":209},"screen_options_show_screen","__return_false",1032,{"type":197,"name":211,"callback":212,"priority":213,"file":186,"line":214},"style_loader_tag","addIntegrityAttribute",9999,1188,{"type":197,"name":216,"callback":212,"priority":213,"file":186,"line":217},"script_loader_tag",1189,{"type":197,"name":219,"callback":208,"file":186,"line":220},"duplicate_comment_id",1493,{"type":197,"name":222,"callback":208,"file":186,"line":223},"comment_flood_filter",1494,{"type":197,"name":225,"callback":226,"file":186,"line":227},"pre_comment_approved","__return_true",1495,{"type":197,"name":229,"callback":230,"file":186,"line":231},"comment_notification_recipients","closure",1496,{"type":197,"name":233,"callback":234,"priority":11,"file":186,"line":235},"comment_post_redirect","redirectChatComment",1499,{"type":197,"name":237,"callback":238,"priority":11,"file":239,"line":47},"comment_class","filterCommentClass","includes\u002Fclass-buoy-chat-room.php",{"type":156,"name":241,"callback":242,"priority":11,"file":239,"line":243},"wp_head","renderMetaRefresh",284,{"type":156,"name":241,"callback":245,"file":239,"line":246},"wp_print_styles",285,{"type":156,"name":241,"callback":248,"file":239,"line":249},"wp_print_head_scripts",286,{"type":156,"name":241,"callback":251,"file":239,"line":252},"rest_register_scripts",287,{"type":197,"name":254,"callback":255,"file":239,"line":256},"body_class","filterBodyClass",307,{"type":197,"name":258,"callback":259,"priority":60,"file":239,"line":260},"comment_text","filterCommentText",308,{"type":156,"name":262,"callback":263,"file":264,"line":265},"admin_init","configureCron","includes\u002Fclass-buoy-settings.php",295,{"type":156,"name":262,"callback":267,"file":264,"line":268},"registerSettings",296,{"type":156,"name":193,"callback":194,"file":264,"line":270},297,{"type":197,"name":272,"callback":226,"file":264,"line":273},"custom_menu_order",524,{"type":197,"name":275,"callback":276,"file":264,"line":277},"menu_order","reorderSubmenu",525,{"type":156,"name":279,"callback":280,"file":281,"line":282},"load-post.php","addHelpTab","includes\u002Fclass-buoy-team.php",385,{"type":156,"name":284,"callback":280,"file":281,"line":285},"load-post-new.php",386,{"type":156,"name":287,"callback":280,"file":281,"line":288},"load-edit.php",387,{"type":197,"name":290,"callback":291,"priority":11,"file":281,"line":292},"enter_title_here","filterTitlePlaceholder",389,{"type":156,"name":294,"callback":295,"file":281,"line":296},"current_screen","processTeamTableActions",399,{"type":156,"name":176,"callback":298,"file":281,"line":299},"renderAdminNotices",401,{"type":156,"name":193,"callback":194,"file":281,"line":301},403,{"type":156,"name":303,"callback":304,"file":281,"line":305},"pre_get_posts","filterTeamPostsList",405,{"type":156,"name":307,"callback":308,"priority":11,"file":281,"line":309},"post_updated","postUpdated",407,{"type":156,"name":311,"callback":312,"priority":11,"file":281,"line":313},"deleted_post_meta","deletedPostMeta",410,{"type":197,"name":315,"callback":316,"file":281,"line":317},"user_has_cap","filterCaps",414,{"type":156,"name":319,"callback":320,"file":281,"line":321},"wp","orderTeamPosts",418,{"type":156,"name":323,"callback":324,"file":281,"line":325},"user_register","checkInvitations",421,{"type":156,"name":323,"callback":327,"file":281,"line":328},"createTeamTemplates",422,{"type":197,"name":330,"callback":331,"priority":11,"file":281,"line":332},"post_row_actions","postRowActions",1050,{"type":156,"name":334,"callback":280,"file":335,"line":336},"load-profile.php","includes\u002Fclass-buoy-user.php",273,{"type":156,"name":338,"callback":339,"file":335,"line":340},"show_user_profile","renderProfile",274,{"type":156,"name":342,"callback":343,"file":335,"line":344},"personal_options_update","saveProfile",275,{"type":197,"name":198,"callback":226,"file":346,"line":347},"pages\u002Fchat-room-wordpress-comments.php",12,[],[],[],[],{"dangerousFunctions":353,"sqlUsage":371,"outputEscaping":374,"fileOperations":441,"externalRequests":82,"nonceChecks":144,"capabilityChecks":442,"bundledLibraries":443},[354,358,362,365,368],{"fn":355,"file":356,"line":160,"context":357},"system","includes\u002Fcrontab-manager.php","system('crontab -l >\u002Fdev\u002Fnull 2>&1', $ret_val);",{"fn":359,"file":356,"line":360,"context":361},"shell_exec",80,"return array_filter(explode(PHP_EOL, shell_exec('crontab -l 2>\u002Fdev\u002Fnull')));",{"fn":355,"file":356,"line":363,"context":364},125,"system('crontab -r');",{"fn":355,"file":356,"line":366,"context":367},140,"$out = system('crontab ' . escapeshellarg($t), $ret_val);",{"fn":355,"file":356,"line":369,"context":370},149,"system($cmd, $s);",{"prepared":372,"raw":13,"locations":373},2,[],{"escaped":375,"rawEcho":33,"locations":376},378,[377,380,382,384,385,387,389,391,393,395,397,399,401,403,405,407,409,411,414,416,418,420,422,424,426,428,430,433,435,438],{"file":159,"line":378,"context":379},261,"raw output",{"file":159,"line":381,"context":379},377,{"file":159,"line":383,"context":379},383,{"file":159,"line":282,"context":379},{"file":186,"line":386,"context":379},981,{"file":186,"line":388,"context":379},983,{"file":239,"line":390,"context":379},117,{"file":239,"line":392,"context":379},146,{"file":239,"line":394,"context":379},202,{"file":264,"line":396,"context":379},573,{"file":281,"line":398,"context":379},519,{"file":281,"line":400,"context":379},546,{"file":402,"line":347,"context":379},"pages\u002Fadd-team-member-meta-box.php",{"file":402,"line":404,"context":379},26,{"file":346,"line":406,"context":379},3,{"file":346,"line":408,"context":379},37,{"file":410,"line":404,"context":379},"pages\u002Fdashboard-widget-check-responders.php",{"file":412,"line":413,"context":379},"pages\u002Fincident-chat.php",36,{"file":412,"line":415,"context":379},81,{"file":412,"line":417,"context":379},103,{"file":419,"line":48,"context":379},"pages\u002Fmanifest.json.php",{"file":421,"line":372,"context":379},"pages\u002Fno-responders-available.php",{"file":423,"line":406,"context":379},"pages\u002Foptions.php",{"file":423,"line":425,"context":379},14,{"file":423,"line":427,"context":379},104,{"file":423,"line":429,"context":379},130,{"file":431,"line":432,"context":379},"pages\u002Fprofile.php",63,{"file":431,"line":434,"context":379},83,{"file":436,"line":437,"context":379},"pages\u002Freview-alert.php",32,{"file":439,"line":440,"context":379},"templates\u002Fcomments-chat-room.php",16,4,9,[],[445,463],{"entryPoint":446,"graph":447,"unsanitizedCount":82,"severity":462},"renderMetaRefresh (includes\u002Fclass-buoy-chat-room.php:186)",{"nodes":448,"edges":459},[449,454],{"id":450,"type":451,"label":452,"file":239,"line":453},"n0","source","$_SERVER",195,{"id":455,"type":456,"label":457,"file":239,"line":394,"wp_function":458},"n1","sink","echo() [XSS]","echo",[460],{"from":450,"to":455,"sanitized":461},false,"medium",{"entryPoint":464,"graph":465,"unsanitizedCount":82,"severity":471},"\u003Cclass-buoy-chat-room> (includes\u002Fclass-buoy-chat-room.php:0)",{"nodes":466,"edges":469},[467,468],{"id":450,"type":451,"label":452,"file":239,"line":453},{"id":455,"type":456,"label":457,"file":239,"line":394,"wp_function":458},[470],{"from":450,"to":455,"sanitized":461},"low",{"summary":473,"deductions":474},"The \"buoy\" plugin exhibits a generally strong security posture with no recorded vulnerabilities and robust practices in its code. The static analysis indicates a very small attack surface with zero unprotected entry points across AJAX handlers, REST API routes, shortcodes, and cron events. SQL queries are exclusively handled with prepared statements, and a high percentage of output is properly escaped, indicating good defense against common injection and XSS vulnerabilities.  The presence of nonces and capability checks further strengthens its security.  However, the static analysis does reveal a concerning signal: the presence of dangerous functions like `system` and `shell_exec` within the code. While taint analysis did not reveal exploitable flows, the mere presence of these functions is a significant risk factor.  Additionally, two taint flows with unsanitized paths were identified, though without critical or high severity.  The complete lack of historical vulnerabilities is a positive indicator of past development practices.  Despite the absence of known CVEs, the discovery of dangerous functions warrants caution and further investigation.",[475,477],{"reason":476,"points":31},"Dangerous functions (system, shell_exec) present",{"reason":478,"points":60},"Flows with unsanitized paths found","2026-04-16T12:16:19.630Z",{"wat":481,"direct":490},{"assetPaths":482,"generatorPatterns":485,"scriptPaths":486,"versionParams":487},[483,484],"\u002Fwp-content\u002Fplugins\u002Fbuoy\u002Fbuild\u002Fcss\u002Fbuoy.css","\u002Fwp-content\u002Fplugins\u002Fbuoy\u002Fbuild\u002Fjs\u002Fbuoy.js",[],[484],[488,489],"buoy\u002Fbuild\u002Fcss\u002Fbuoy.css?ver=","buoy\u002Fbuild\u002Fjs\u002Fbuoy.js?ver=",{"cssClasses":491,"htmlComments":497,"htmlAttributes":498,"restEndpoints":503,"jsGlobals":508,"shortcodeOutput":514},[492,493,494,495,496],"buoy-notification-settings","buoy-user-settings","buoy-team-settings","buoy-alert-settings","buoy-dashboard-widget",[],[499,500,501,502],"data-buoy-notification-settings","data-buoy-user-settings","data-buoy-team-settings","data-buoy-alert-settings",[504,505,506,507],"\u002Fwp-json\u002Fbuoy\u002Fv1\u002Fnotifications","\u002Fwp-json\u002Fbuoy\u002Fv1\u002Fusers","\u002Fwp-json\u002Fbuoy\u002Fv1\u002Fteams","\u002Fwp-json\u002Fbuoy\u002Fv1\u002Falerts",[509,510,511,512,513],"buoy_admin_ajax_url","buoy_user_settings","buoy_notification_settings","buoy_team_settings","buoy_alert_settings",[],{"error":516,"url":517,"statusCode":518,"statusMessage":519,"message":519},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fbuoy\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":73,"versions":521},[522,527,534,541,548,555,562],{"version":6,"download_url":23,"svn_tag_url":523,"released_at":25,"has_diff":461,"diff_files_changed":524,"diff_lines":25,"trac_diff_url":525,"vulnerabilities":526,"is_current":516},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbuoy\u002Ftags\u002F0.3.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbuoy%2Ftags%2F0.3.2&new_path=%2Fbuoy%2Ftags%2F0.3.3",[],{"version":528,"download_url":529,"svn_tag_url":530,"released_at":25,"has_diff":461,"diff_files_changed":531,"diff_lines":25,"trac_diff_url":532,"vulnerabilities":533,"is_current":461},"0.3.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbuoy.0.3.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbuoy\u002Ftags\u002F0.3.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbuoy%2Ftags%2F0.3.1&new_path=%2Fbuoy%2Ftags%2F0.3.2",[],{"version":535,"download_url":536,"svn_tag_url":537,"released_at":25,"has_diff":461,"diff_files_changed":538,"diff_lines":25,"trac_diff_url":539,"vulnerabilities":540,"is_current":461},"0.3.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbuoy.0.3.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbuoy\u002Ftags\u002F0.3.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbuoy%2Ftags%2F0.3.0&new_path=%2Fbuoy%2Ftags%2F0.3.1",[],{"version":542,"download_url":543,"svn_tag_url":544,"released_at":25,"has_diff":461,"diff_files_changed":545,"diff_lines":25,"trac_diff_url":546,"vulnerabilities":547,"is_current":461},"0.3.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbuoy.0.3.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbuoy\u002Ftags\u002F0.3.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbuoy%2Ftags%2F0.2&new_path=%2Fbuoy%2Ftags%2F0.3.0",[],{"version":549,"download_url":550,"svn_tag_url":551,"released_at":25,"has_diff":461,"diff_files_changed":552,"diff_lines":25,"trac_diff_url":553,"vulnerabilities":554,"is_current":461},"0.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbuoy.0.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbuoy\u002Ftags\u002F0.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbuoy%2Ftags%2F0.1.2&new_path=%2Fbuoy%2Ftags%2F0.2",[],{"version":556,"download_url":557,"svn_tag_url":558,"released_at":25,"has_diff":461,"diff_files_changed":559,"diff_lines":25,"trac_diff_url":560,"vulnerabilities":561,"is_current":461},"0.1.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbuoy.0.1.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbuoy\u002Ftags\u002F0.1.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbuoy%2Ftags%2F0.1.1&new_path=%2Fbuoy%2Ftags%2F0.1.2",[],{"version":563,"download_url":564,"svn_tag_url":565,"released_at":25,"has_diff":461,"diff_files_changed":566,"diff_lines":25,"trac_diff_url":25,"vulnerabilities":567,"is_current":461},"0.1.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbuoy.0.1.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbuoy\u002Ftags\u002F0.1.1\u002F",[],[]]