[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fsSMXePQSqGyXCVAaQ7OBwvC6aNNB-cwaRfvZaPJGvfs":3,"$fWgxC3owN-nyzqWief21w4MYn8xPY_C9O9K8VoV69NwU":237,"$fuIrgQ8-QRMoH1T8fE8anF0PjrIjY3fnoDAYD_fCI4Z0":242},{"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":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"discovery_status":31,"vulnerabilities":32,"developer":33,"crawl_stats":29,"alternatives":41,"analysis":140,"fingerprints":214},"bp-birthday-greetings","BP Birthday Greetings","1.0.6","Prashant Singh","https:\u002F\u002Fprofiles.wordpress.org\u002Fprashantvatsh\u002F","\u003Cp>BP Birthday Greetings plugin will send a birthday greeting notification to members. You just need to create a DOB field and have to map in the plugin settings, that you can find under options tab of BuddyPress settings.\u003C\u002Fp>\n\u003Cp>We have one widget called BuddyPress Birthdays that you can use in sidebars to display the list of member birthdays and can wish them as well using private message functionality of BuddyPress. One shortcode [ps_birthday_list] is also added which can be used to list birthdays as well.\u003C\u002Fp>\n","BP Birthday Greetings will send birthday greeting notification to the member from community.",300,17608,100,5,"2024-06-16T16:49:00.000Z","6.5.8","4.9.0","",[20,21,22,23,24],"birthday","birthday-notification","buddypress","members-birthday","members-birthday-notification","https:\u002F\u002Fprashantdev.wordpress.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-birthday-greetings.1.0.6.zip",92,0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":34,"display_name":7,"profile_url":8,"plugin_count":35,"total_installs":36,"avg_security_score":37,"avg_patch_time_days":38,"trust_score":39,"computed_at":40},"prashantvatsh",2,310,89,30,86,"2026-05-20T00:34:44.848Z",[42,64,80,100,115],{"slug":43,"name":44,"version":45,"author":46,"author_profile":47,"description":48,"short_description":49,"active_installs":50,"downloaded":51,"rating":13,"num_ratings":52,"last_updated":53,"tested_up_to":54,"requires_at_least":55,"requires_php":56,"tags":57,"homepage":62,"download_link":63,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"birthday-widget-for-buddypress","Wbcom Designs – Birthday Widget for BuddyPress","2.4.1","wbcomdesigns","https:\u002F\u002Fprofiles.wordpress.org\u002Fwbcomdesigns\u002F","\u003Cp>Transform your BuddyPress community with the Birthday Widget! Know the upcoming birthdays of your site’s members and help them celebrate their special day. A little effort to greet community members keeps the saying alive: “community that celebrates together stays together”.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Smart Birthday Display\u003C\u002Fstrong>\u003Cbr \u002F>\n* Show birthdays for all members, friends, or followers\u003Cbr \u002F>\n* Flexible time ranges: weekly, monthly, or unlimited\u003Cbr \u002F>\n* Today’s birthdays get special highlighting\u003Cbr \u002F>\n* Age display with customizable “Turning X” format\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Modern & Responsive Design\u003C\u002Fstrong>\u003Cbr \u002F>\n* Clean, minimal design that works with any theme\u003Cbr \u002F>\n* Mobile-first responsive layout\u003Cbr \u002F>\n* Smooth animations and hover effects\u003Cbr \u002F>\n* Optimized for performance with smart caching\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Flexible Configuration\u003C\u002Fstrong>\u003Cbr \u002F>\n* Multiple name display options (username, nickname, first name)\u003Cbr \u002F>\n* Customizable date formats\u003Cbr \u002F>\n* Optional emoji support\u003Cbr \u002F>\n* Send birthday wishes via private messages\u003C\u002Fp>\n\u003Cp>\u003Cstrong>NEW: Automatic Notifications\u003C\u002Fstrong>\u003Cbr \u002F>\n* Automatic birthday email greetings to members\u003Cbr \u002F>\n* Activity feed auto-posts for birthdays\u003Cbr \u002F>\n* BuddyPress notification support\u003Cbr \u002F>\n* Admin daily birthday summary email\u003Cbr \u002F>\n* Configurable send time and templates\u003C\u002Fp>\n\u003Cp>\u003Cstrong>NEW: Display Enhancements\u003C\u002Fstrong>\u003Cbr \u002F>\n* Zodiac sign display option\u003Cbr \u002F>\n* Confetti animation for celebrations\u003Cbr \u002F>\n* Centralized admin settings page\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Developer Friendly\u003C\u002Fstrong>\u003Cbr \u002F>\n* Theme-compatible styling using CSS inheritance\u003Cbr \u002F>\n* Smart asset loading (only loads when widget is active)\u003Cbr \u002F>\n* Shortcode support: \u003Ccode>[bp_birthdays]\u003C\u002Fcode>\u003Cbr \u002F>\n* Extensive filter and action hooks\u003Cbr \u002F>\n* WPCS compliant code\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Performance Optimized\u003C\u002Fstrong>\u003Cbr \u002F>\n* 30-minute smart caching system\u003Cbr \u002F>\n* Conditional asset loading\u003Cbr \u002F>\n* Minimal database queries\u003Cbr \u002F>\n* Zero Cumulative Layout Shift (CLS)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Accessibility Ready\u003C\u002Fstrong>\u003Cbr \u002F>\n* WCAG 2.1 compliant\u003Cbr \u002F>\n* Keyboard navigation support\u003Cbr \u002F>\n* Screen reader friendly\u003Cbr \u002F>\n* Reduced motion support\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Supercharge Your BuddyPress Community\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Love Birthday Widget? Check out our other free community plugins:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fstore.wbcomdesigns.com\u002F\" rel=\"nofollow ugc\">Jetonomy\u003C\u002Fa>\u003C\u002Fstrong> — Next-gen discussion platform for WordPress — forums, Q&A, ideas, voting, trust levels. Free forever. \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fvapvarun\u002Fjetonomy\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fstore.wbcomdesigns.com\u002F\" rel=\"nofollow ugc\">WPMediaVerse\u003C\u002Fa>\u003C\u002Fstrong> — A general-purpose WordPress media platform plugin. Albums, galleries, and media sharing. \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fvapvarun\u002Fwpmediaverse\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Visit \u003Ca href=\"https:\u002F\u002Fstore.wbcomdesigns.com\u002F\" rel=\"nofollow ugc\">store.wbcomdesigns.com\u003C\u002Fa> for more products and the \u003Ca href=\"https:\u002F\u002Fwbcomdesigns.com\u002Fdownloads\u002Fbuddypress-community-bundle\u002F\" rel=\"nofollow ugc\">BuddyPress Community Bundle\u003C\u002Fa>.\u003C\u002Fp>\n","Display upcoming birthdays of BuddyPress members with a beautiful, responsive widget that integrates seamlessly with any WordPress theme.",400,11640,1,"2026-04-03T09:22:00.000Z","6.9.4","5.0","7.4",[58,22,59,60,61],"birthdays","community","members","widget","https:\u002F\u002Fwbcomdesigns.com\u002Fdownloads\u002Fbuddypress-birthdays\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbirthday-widget-for-buddypress.2.4.1.zip",{"slug":65,"name":66,"version":67,"author":68,"author_profile":69,"description":70,"short_description":71,"active_installs":13,"downloaded":72,"rating":13,"num_ratings":73,"last_updated":74,"tested_up_to":75,"requires_at_least":18,"requires_php":18,"tags":76,"homepage":78,"download_link":79,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"tdlc-birthdays","TDLC Birthdays","1.1.0","Venutius","https:\u002F\u002Fprofiles.wordpress.org\u002Fvenutius\u002F","\u003Cp>Update: I’ve revamped the plugin and improved it’s security, performance and styling. And also, I’m in the middle of adding a feature to send out Birthday Emails to members. You will see that I’ve created a settings page, and also most of the code has been created. However, I’ve ran out of time to get this completed, for now, and thought I’d send out the updated plugin, as it’s now significantly improved.\u003C\u002Fp>\n\u003Cp>This is a Plugin that creates a multi-instance ‘Birthdays’ Widget that you can use in your Buddypress pages. Once you’ve created a datebox field in the Buddypress profiles and referenced it in the TLDC Birthdays widget settings, the widget will display the list of either all BP users or just the connected user’s friends whose birthday is today and also, if you like, the list of upcoming birthdays within the next n days. Plugin now supports Andy Peatling’s Buddypress Followers plugin when installed, so that you can also track the birthdays of people you follow.\u003C\u002Fp>\n\u003Cp>So to sum up, in order to get things to work, you’ll need :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>A birthday field in the Buddypress extended profile settings\u003C\u002Fli>\n\u003Cli>Users to fill it out in their profiles\u003C\u002Fli>\n\u003Cli>The TDLC Birthdays widget properly installed and set up (see \u003Cem>Installation\u003C\u002Fem>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Features :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Display only friends, or followed people (if BuddyPress Followers plugin is installed), or everybody’s birthday\u003C\u002Fli>\n\u003Cli>Display upcoming birthdays within a range of your choice, or just today’s birthdays\u003C\u002Fli>\n\u003Cli>Hide or show ages\u003C\u002Fli>\n\u003Cli>Optionally suggest your users to fill out their birth date if not already done\u003C\u002Fli>\n\u003Cli>Multiple widget instances now supported !\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Remarks:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Localized! Currently English, French, German, Hungarian, Italian, Japanese, Polish, Russian and Spanish languages are included. Many thanks to the translators!\u003C\u002Fli>\n\u003Cli>Sounds obvious but in “display friends only” mode, as you only see your friend’s birthdays, you wont see your own birthday in the widget. This does not mean that your friends don’t see it either! Same thing goes with the Followers option.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Settings\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>In order to get the widget working, you need to fill out the \u003Cem>Birthday field Name\u003C\u002Fem> (or ID). The Birthday field must have been previously created in the \u003Cem>Buddypress profile page\u003C\u002Fem> (and it should be a \u003Cem>datebox\u003C\u002Fem> type field). Of course, the users must also fill it out on their profile pages…\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The other settings are self-explanatory (or at least I hope so).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Known Issues\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Some translations are incomplete. The new strings related to the ‘Followers’ plugin support added in v0.2.5 is not translated yet except for French and English.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you find any other bugs or want to request some additional features for future releases (which I may consider if I’ve got time), please post a comment on the plugin homepage.\u003C\u002Fp>\n","A simple BuddyPress plugin displaying the birthday of members in a sidebar Widget. 9 languages, many options available. Check out the description :)",33137,4,"2024-07-31T00:26:00.000Z","6.6.5",[58,22,77,61],"emails","https:\u002F\u002Fbuddyuser.com\u002Fplugin-tdlc-birthdays\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftdlc-birthdays.1.1.0.zip",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":88,"downloaded":89,"rating":28,"num_ratings":28,"last_updated":90,"tested_up_to":91,"requires_at_least":92,"requires_php":18,"tags":93,"homepage":97,"download_link":98,"security_score":99,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"birthday-mails-bp","Birthday mails bp","1.0","alexhal","https:\u002F\u002Fprofiles.wordpress.org\u002Falexhal\u002F","\u003Cp>Sends birthday emails to members on their birthdays .(Based on Buddypress)\u003Cbr \u002F>\nTo start with it set the birthday profile field name (case sensitve) in your wp-admin->settings->Birthday mails .\u003C\u002Fp>\n","Sends birthday emails to members on their birthdays .(Based on Buddypress)",10,2302,"2017-01-11T19:06:00.000Z","4.7.33","4.6.1",[20,22,94,95,96],"extension","mail","profile-fields","http:\u002F\u002Fwww.Vibethemes.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbirthday-mails-bp.zip",85,{"slug":101,"name":102,"version":67,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":28,"downloaded":107,"rating":28,"num_ratings":28,"last_updated":108,"tested_up_to":54,"requires_at_least":109,"requires_php":110,"tags":111,"homepage":113,"download_link":114,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"birthday-block-for-buddypress","Birthday Block for BuddyPress","Amit Agrahari","https:\u002F\u002Fprofiles.wordpress.org\u002Famitgrhr\u002F","\u003Cp>Birthday Block for BuddyPress is a lightweight plugin that displays upcoming birthdays of your BuddyPress community members using a modern Gutenberg block. Perfect for building engagement and celebrating your community!\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Gutenberg Block\u003C\u002Fstrong> – Modern block editor integration\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable Display\u003C\u002Fstrong> – Control what information to show\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Date Ranges\u003C\u002Fstrong> – Today, weekly, monthly, or all upcoming\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Age Display\u003C\u002Fstrong> – Optionally show member ages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Birthday Wishes\u003C\u002Fstrong> – Direct message integration for sending wishes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Friends Filter\u003C\u002Fstrong> – Show only friends’ birthdays\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Formatting\u003C\u002Fstrong> – Custom date format support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Birthday Emoji\u003C\u002Fstrong> – Fun cake emoji for birthdays\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive Design\u003C\u002Fstrong> – Matches BuddyPress default styles\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API\u003C\u002Fstrong> – Full API support for custom integrations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Block Settings\u003C\u002Fh4>\n\u003Cp>The birthday block includes extensive customization options:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Title\u003C\u002Fstrong> – Customize the block heading\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Show Age\u003C\u002Fstrong> – Display the upcoming age\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Send Birthday Wishes\u003C\u002Fstrong> – Enable message button (requires BuddyPress Messages)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Date Format\u003C\u002Fstrong> – PHP date format (e.g., “F d” for “January 15”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Birthday Range\u003C\u002Fstrong> – Today only, next 7 days, this month, or all upcoming\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Show Birthdays Of\u003C\u002Fstrong> – All members or friends only\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Display Name Type\u003C\u002Fstrong> – Display name, username, or full name from xProfile\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Number to Show\u003C\u002Fstrong> – Limit results (1-50)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Birthday Emoji\u003C\u002Fstrong> – Show cake emoji next to names\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 5.2 or higher\u003C\u002Fli>\n\u003Cli>BuddyPress plugin installed and activated\u003C\u002Fli>\n\u003Cli>BuddyPress Extended Profiles component enabled\u003C\u002Fli>\n\u003Cli>A date-type xProfile field for birthdays\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Multilingual Ready\u003C\u002Fh4>\n\u003Cp>Birthday Block for BuddyPress is translation-ready and follows WordPress internationalization standards.\u003C\u002Fp>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>Birthday Block for BuddyPress does not collect, store, or share any user data outside of your WordPress installation. All birthday information is stored in your BuddyPress xProfile fields.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, feature requests, or bug reports, please visit the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fbuddypress-birthday\u002F\" rel=\"ugc\">plugin support forum\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Developed by Amit Kumar Agrahari\u003C\u002Fp>\n\u003Ch3>Contribute\u003C\u002Fh3>\n\u003Cp>Contributions are welcome! Please visit our GitHub repository to contribute code, report issues, or suggest features.\u003C\u002Fp>\n","Display upcoming birthdays of your BuddyPress members with a beautiful, customizable Gutenberg block.",214,"2026-02-13T18:20:00.000Z","5.2","7.2",[20,112,22,59,60],"block","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbirthday-block-for-buddypress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbirthday-block-for-buddypress.1.1.0.zip",{"slug":116,"name":117,"version":118,"author":119,"author_profile":120,"description":121,"short_description":122,"active_installs":123,"downloaded":124,"rating":125,"num_ratings":126,"last_updated":127,"tested_up_to":128,"requires_at_least":129,"requires_php":56,"tags":130,"homepage":135,"download_link":136,"security_score":137,"vuln_count":138,"unpatched_count":28,"last_vuln_date":139,"fetched_at":30},"bp-better-messages","Better Messages – Live Chat, Chat Rooms, Real-Time Messaging & Private Messages","2.14.16","wordplus","https:\u002F\u002Fprofiles.wordpress.org\u002Fwordplus\u002F","\u003Cp>\u003Cstrong>Better Messages\u003C\u002Fstrong> – is the most feature-rich \u003Cstrong>realtime private messaging system for WordPress\u003C\u002Fstrong>, with native integrations for \u003Cstrong>BuddyPress, BuddyBoss Platform, Ultimate Member, PeepSo\u003C\u002Fstrong> and any other WordPress powered websites.\u003C\u002Fp>\n\u003Cp>Transform your WordPress site into a powerful communication platform with \u003Cstrong>private messaging\u003C\u002Fstrong>, \u003Cstrong>chat rooms\u003C\u002Fstrong>, \u003Cstrong>video and audio calls\u003C\u002Fstrong>, \u003Cstrong>group video chats\u003C\u002Fstrong>, \u003Cstrong>AI chat bots\u003C\u002Fstrong>, and \u003Cstrong>native mobile apps\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Whether you’re building a social network, online community, marketplace, or membership site – Better Messages provides enterprise-level messaging features with an easy-to-use interface.\u003C\u002Fp>\n\u003Cp>“\u003Cstrong>Better Messages\u003C\u002Fstrong>” plugin is formerly called “\u003Cstrong>BP Better Messages\u003C\u002Fstrong>“.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002F\" rel=\"nofollow ugc\">More Info & Demo & Knowledge Base\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.wordplus.org\u002Fbm-translate\u002F\" rel=\"nofollow ugc\">Translate Better Messages to your language\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FjMHx97QsXj8?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Core Messaging Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>AJAX or WebSocket powered realtime conversations\u003C\u002Fli>\n\u003Cli>Private one-to-one conversations\u003C\u002Fli>\n\u003Cli>Group conversations with unlimited participants\u003C\u002Fli>\n\u003Cli>Chat Rooms with guest access support\u003C\u002Fli>\n\u003Cli>Messages for BuddyPress Groups, PeepSo Groups, Ultimate Member Groups, FluentCommunity Groups\u003C\u002Fli>\n\u003Cli>Subjects for conversations\u003C\u002Fli>\n\u003Cli>Search across all messages\u003C\u002Fli>\n\u003Cli>Mark messages as favorite\u003C\u002Fli>\n\u003Cli>Pin important messages to conversation top\u003C\u002Fli>\n\u003Cli>Pin favorite conversations to list top\u003C\u002Fli>\n\u003Cli>Filter conversations list to show only unread conversations\u003C\u002Fli>\n\u003Cli>Reply to specific messages\u003C\u002Fli>\n\u003Cli>Edit sent messages (with edit indicator)\u003C\u002Fli>\n\u003Cli>Delete messages\u003C\u002Fli>\n\u003Cli>Forward messages to other conversations\u003C\u002Fli>\n\u003Cli>Mute conversation notifications\u003C\u002Fli>\n\u003Cli>Message draft autosave with recovery\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>AI & Automation:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>AI Chat Bots powered by OpenAI, Anthropic (Claude) and Google Gemini\u003C\u002Fli>\n\u003Cli>AI Chat Bots in group conversations with mention-based responses\u003C\u002Fli>\n\u003Cli>Conversation summarization and scheduled digests with AI\u003C\u002Fli>\n\u003Cli>Token usage tracking with cost estimation\u003C\u002Fli>\n\u003Cli>Voice message transcription powered by Better Messages Cloud AI or OpenAI\u003C\u002Fli>\n\u003Cli>Web Search capability for AI bots\u003C\u002Fli>\n\u003Cli>File Search tool for AI bots\u003C\u002Fli>\n\u003Cli>Image generation with AI\u003C\u002Fli>\n\u003Cli>PDF file support for AI conversations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Media & Content:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>File sharing with resumable uploads and ability to protect files from direct access (images, videos, documents)\u003C\u002Fli>\n\u003Cli>Client-side image and video optimization for cross-browser compatibility and saving storage space (format conversion, quality control, metadata stripping)\u003C\u002Fli>\n\u003Cli>Voice Messages (available as addon)\u003C\u002Fli>\n\u003Cli>Embedded links with thumbnails and descriptions\u003C\u002Fli>\n\u003Cli>oEmbed support for YouTube, Vimeo, Spotify, SoundCloud, Flickr and 20+ services\u003C\u002Fli>\n\u003Cli>Emoji selector\u003C\u002Fli>\n\u003Cli>Built-in sticker packs with role-based access and per-locale support\u003C\u002Fli>\n\u003Cli>GIF integration with GIPHY and Klipy providers\u003C\u002Fli>\n\u003Cli>Inline sticker suggestions while typing\u003C\u002Fli>\n\u003Cli>Markdown text formatting support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Notifications:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Email notifications for unread messages (customizable templates)\u003C\u002Fli>\n\u003Cli>Unsubscribe link support in emails\u003C\u002Fli>\n\u003Cli>Sound notifications for new messages\u003C\u002Fli>\n\u003Cli>On-site toast notifications anywhere on your website\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Moderation & Security:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>AI Content Moderation with two providers:\n\u003Cul>\n\u003Cli>\u003Cstrong>Better Messages Moderation AI\u003C\u002Fstrong> — included with WebSocket license at no additional cost, no third-party API keys required. Powered by Better Messages Cloud with extended categories, custom rules, and conversation context awareness\u003C\u002Fli>\n\u003Cli>\u003Cstrong>OpenAI Moderation API\u003C\u002Fstrong> — free to use, requires an OpenAI API key\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Custom moderation rules — define your own rules in plain text\u003C\u002Fli>\n\u003Cli>Conversation context awareness — detect patterns split across multiple messages\u003C\u002Fli>\n\u003Cli>Choose between “Flag Only” (recommended) or “Hold for Review” moderation actions\u003C\u002Fli>\n\u003Cli>Pre-Moderated Messages – review messages before delivery\u003C\u002Fli>\n\u003Cli>Report messages feature\u003C\u002Fli>\n\u003Cli>Bad words filter with customizable blacklist\u003C\u002Fli>\n\u003Cli>Block user feature\u003C\u002Fli>\n\u003Cli>Role-based access control\u003C\u002Fli>\n\u003Cli>User whitelist\u002Fblacklist for moderation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Engagement Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Reactions to messages\u003C\u002Fli>\n\u003Cli>Mentions (@username)\u003C\u002Fli>\n\u003Cli>Mass messaging from WP Admin with scheduling, file attachments, and background processing\u003C\u002Fli>\n\u003Cli>Suggested conversations for new users\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Customization:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Modern, fully customizable design\u003C\u002Fli>\n\u003Cli>Easy color customization via WP Customizer\u003C\u002Fli>\n\u003Cli>Custom notification sounds\u003C\u002Fli>\n\u003Cli>RTL layout support\u003C\u002Fli>\n\u003Cli>White label solution\u003C\u002Fli>\n\u003Cli>Fully translatable\u003C\u002Fli>\n\u003Cli>Auto-delete old messages option\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Privacy & GDPR:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Dedicated Privacy & GDPR settings page\u003C\u002Fli>\n\u003Cli>All message data stored on your own server\u003C\u002Fli>\n\u003Cli>AI moderation (when enabled) sends message content for analysis — Better Messages Cloud does not store any data; review OpenAI’s data policy if using OpenAI provider\u003C\u002Fli>\n\u003Cli>WordPress personal data export and erasure support (Tools \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Export\u002FErase Personal Data)\u003C\u002Fli>\n\u003Cli>Suggested privacy policy text that adapts based on enabled features\u003C\u002Fli>\n\u003Cli>Self-hosted emoji images option — no external CDN requests\u003C\u002Fli>\n\u003Cli>Privacy-friendly video embeds — YouTube, Vimeo load only after user clicks\u003C\u002Fli>\n\u003Cli>No cookies set, no analytics or tracking scripts\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Ffeatures\u002Fprivacy-gdpr\u002F\" rel=\"nofollow ugc\">Privacy & GDPR documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>This is not a complete list of features\u003C\u002Fstrong> – Better Messages has many more small features and options that are not listed here. We are constantly adding new features and improvements based on user feedback.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Compatible plugins:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fbuddypress\u002F\" rel=\"nofollow ugc\">BuddyPress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fpeepso\u002F\" rel=\"nofollow ugc\">PeepSo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fultimate-member\u002F\" rel=\"nofollow ugc\">Ultimate Member\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fbuddyboss\u002F\" rel=\"nofollow ugc\">BuddyBoss Platform\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fwoocommerce\u002F\" rel=\"nofollow ugc\">WooCommerce\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fhivepress\u002F\" rel=\"nofollow ugc\">HivePress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fdokan\u002F\" rel=\"nofollow ugc\">Dokan Marketplace\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fmultivendorx\u002F\" rel=\"nofollow ugc\">MultiVendorX\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fwp-job-manager\u002F\" rel=\"nofollow ugc\">WP Job Manager\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fprofile-grid\u002F\" rel=\"nofollow ugc\">ProfileGrid\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fuserswp\u002F\" rel=\"nofollow ugc\">UsersWP\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fwp-user-manager\u002F\" rel=\"nofollow ugc\">WP User Manager\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Ffluentcommunity\u002F\" rel=\"nofollow ugc\">FluentCommunity\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fsuredash\u002F\" rel=\"nofollow ugc\">SureDash\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fwpforo\u002F\" rel=\"nofollow ugc\">wpForo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fjet-engine\u002F\" rel=\"nofollow ugc\">Crocoblock JetEngine Profile Builder\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fonesignal\u002F\" rel=\"nofollow ugc\">OneSignal\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fprogressify\u002F\" rel=\"nofollow ugc\">Progressify PWA\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Funcanny-automator\u002F\" rel=\"nofollow ugc\">Uncanny Automator\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fautomatorwp\u002F\" rel=\"nofollow ugc\">AutomatorWP\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fgamipress\u002F\" rel=\"nofollow ugc\">GamiPress\u003C\u002Fa> – charge for messages & calls with per-role pricing and balance display\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fmycred\u002F\" rel=\"nofollow ugc\">MyCRED\u003C\u002Fa> – charge for messages & calls with per-role pricing and balance display\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.wordplus.org\u002Fpmpro\" rel=\"nofollow ugc\">Paid Memberships Pro\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.wordplus.org\u002Fknowledge-base\u002Fwc-vendors\u002F\" rel=\"nofollow ugc\">WC Vendors\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.wordplus.org\u002Fknowledge-base\u002Fwcfm\u002F\" rel=\"nofollow ugc\">WCFM\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fcategory\u002Fintegrations\u002F\" rel=\"nofollow ugc\">Full list of integrations\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Feel free to report any incompatibility or request more integrations, that is very important to help to improve Better Messages plugin!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>WebSocket version:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>WebSocket version is a paid option, you can get license key on our website.\u003C\u002Fp>\n\u003Cp>We use our dedicated servers to implement WebSocket communications between your site and users. Our servers are completely private and do not store or track any private data – all messages remain in your database.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Performance & Reliability:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Significantly\u003C\u002Fstrong> reduces the load on your server (up to 200x less requests)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Instant\u003C\u002Fstrong> message delivery in realtime\u003C\u002Fli>\n\u003Cli>Works with any hosting including shared hosting\u003C\u002Fli>\n\u003Cli>No limits on concurrent connections or monthly active users\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Video & Audio Calls:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>HD Video Calls (1-to-1)\u003C\u002Fli>\n\u003Cli>HD Audio Calls (1-to-1)\u003C\u002Fli>\n\u003Cli>Group Video Chats (up to 32 participants)\u003C\u002Fli>\n\u003Cli>Group Audio Chats (up to 50 participants)\u003C\u002Fli>\n\u003Cli>Screen Sharing in calls and group chats\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Mobile Apps (Alpha):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>iOS Mobile App (build your own branded app) – Alpha\u003C\u002Fli>\n\u003Cli>Android Mobile App (build your own branded app) – Alpha\u003C\u002Fli>\n\u003Cli>Push notifications for calls and messages\u003C\u002Fli>\n\u003Cli>VoIP notifications for incoming calls\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Note: Mobile apps are currently in alpha stage. Core functionality works, but some features may be limited or under development.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Realtime Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Messages Delivery Status (sent, delivered, seen)\u003C\u002Fli>\n\u003Cli>Typing, voice recording and file uploading activity indicators\u003C\u002Fli>\n\u003Cli>Online\u002FOffline presence indicator\u003C\u002Fli>\n\u003Cli>User statuses (Online, Away, Do Not Disturb)\u003C\u002Fli>\n\u003Cli>Mini Chats – chat windows anywhere on your site\u003C\u002Fli>\n\u003Cli>Mini Conversations widget\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Better Messages Cloud AI:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatic message translation in 1-to-1 conversations — 53 languages, auto-detection\u003C\u002Fli>\n\u003Cli>AI Content Moderation — 23 categories, custom rules, conversation context awareness\u003C\u002Fli>\n\u003Cli>Voice message transcription — 99+ languages with auto-detection\u003C\u002Fli>\n\u003Cli>No third-party API keys required — included with WebSocket license at no additional cost\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Security & Encryption:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Optional End-to-End Encryption (E2EE) — can be enabled at the website level and per conversation; messages and files encrypted in users’ browsers with AES-256-GCM, server never sees plaintext\u003C\u002Fli>\n\u003Cli>Local browser encryption (AES256) for offline message storage\u003C\u002Fli>\n\u003Cli>Web Push Notifications (works even when the browser is closed)\u003C\u002Fli>\n\u003Cli>All data encrypted in transit, so we can’t read it on our servers\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Support:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Priority email support\u003C\u002Fli>\n\u003Cli>Regular updates and new features\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fmedium.com\u002F@monica.lucarini28\u002Fis-websocket-a-game-changer-aeaef68d1fba\" rel=\"nofollow ugc\">Why WebSockets are a game-changer?\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.wordplus.org\u002Fdownloads\u002Fbp-better-messages\u002F\" rel=\"nofollow ugc\">Get WebSocket version license key\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.wordplus.org\u002Fend-user-license-agreement\u002F\" rel=\"nofollow ugc\">Terms of Use\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fbp-better-messages\u002F\" rel=\"nofollow ugc\">Languages\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>RTL Layout built in to plugin.\u003C\u002Fp>\n\u003Cp>You can translate plugin to your language with LocoTranslate or \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fbp-better-messages\u002F\" rel=\"nofollow ugc\">participate in plugin translation\u003C\u002Fa>.\u003C\u002Fp>\n","Real-time messaging and chat rooms for WordPress ecosystem: private conversations, public and private chat rooms, video & audio calls, and more.",10000,1674447,96,135,"2026-04-10T17:26:00.000Z","7.0","5.9.0",[22,131,132,133,134],"chat","messaging","private-message","ultimate-member","https:\u002F\u002Fwww.wordplus.org","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-better-messages.2.14.16.zip",88,13,"2025-12-16 17:20:44",{"attackSurface":141,"codeSignals":191,"taintFlows":204,"riskAssessment":205,"analyzedAt":213},{"hooks":142,"ajaxHandlers":181,"restRoutes":182,"shortcodes":183,"cronEvents":188,"entryPointCount":52,"unprotectedCount":28},[143,150,156,161,165,169,174,178],{"type":144,"name":145,"callback":146,"priority":147,"file":148,"line":149},"action","bp_register_admin_settings","bp_birthday_greetings_settings",9999,"bp-birthday-greetings.php",80,{"type":144,"name":151,"callback":152,"priority":153,"file":154,"line":155},"widgets_init","closure",21,"bp-birthday-widget.php",175,{"type":144,"name":157,"callback":158,"file":159,"line":160},"admin_notices","bp_birthday_buddypress_inactive__error","loader.php",25,{"type":144,"name":162,"callback":163,"file":159,"line":164},"plugins_loaded","bp_birthday_check_is_buddypress",28,{"type":144,"name":166,"callback":167,"file":159,"line":168},"bp_birthday_daily_event","bp_birthday_do_this_daily",78,{"type":170,"name":171,"callback":172,"file":159,"line":173},"filter","bp_notifications_get_registered_components","bp_birthday_get_registered_components",114,{"type":170,"name":175,"callback":176,"priority":88,"file":159,"line":177},"bp_notifications_get_notifications_for_user","bp_birthday_buddypress_notifications",165,{"type":144,"name":179,"callback":180,"file":159,"line":155},"wp_enqueue_scripts","bp_birthday_enqueue_style",[],[],[184],{"tag":185,"callback":186,"file":159,"line":187},"ps_birthday_list","bp_birthday_shortcode",249,[189],{"hook":166,"callback":166,"file":159,"line":190},48,{"dangerousFunctions":192,"sqlUsage":193,"outputEscaping":196,"fileOperations":28,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":203},[],{"prepared":194,"raw":28,"locations":195},6,[],{"escaped":197,"rawEcho":35,"locations":198},35,[199,201],{"file":148,"line":37,"context":200},"raw output",{"file":154,"line":202,"context":200},108,[],[],{"summary":206,"deductions":207},"The \"bp-birthday-greetings\" plugin v1.0.6 exhibits a generally strong security posture based on the provided static analysis. The absence of dangerous functions, 100% utilization of prepared statements for SQL queries, and a high percentage of properly escaped output are excellent indicators of secure coding practices. The plugin also has no known vulnerabilities, which further contributes to its positive security standing.  The limited attack surface, consisting of only one shortcode and one cron event, and importantly, no unprotected entry points, is commendable.  The lack of external HTTP requests and file operations reduces potential exposure vectors.  However, a significant concern is the complete absence of nonce checks and capability checks. This means that while the entry points are not directly exposed (e.g., no unprotected AJAX or REST API routes), any authenticated user could potentially trigger the plugin's functionality without specific authorization, leading to potential abuse if the shortcode or cron event performs sensitive actions. The taint analysis showing zero flows is also good, but the absence of nonce\u002Fcapability checks means that even if a taint flow were to exist, it might not have been detected as an issue by the current analysis setup without those security controls.",[208,211],{"reason":209,"points":210},"Missing nonce checks",7,{"reason":212,"points":210},"Missing capability checks","2026-03-16T20:00:15.251Z",{"wat":215,"direct":224},{"assetPaths":216,"generatorPatterns":219,"scriptPaths":220,"versionParams":221},[217,218],"\u002Fwp-content\u002Fplugins\u002Fbp-birthday-greetings\u002Fbp-birthday-greetings.php","\u002Fwp-content\u002Fplugins\u002Fbp-birthday-greetings\u002Fbp-birthday-widget.php",[],[],[222,223],"bp-birthday-greetings\u002Fbp-birthday-greetings.php?ver=","bp-birthday-greetings\u002Fbp-birthday-widget.php?ver=",{"cssClasses":225,"htmlComments":228,"htmlAttributes":229,"restEndpoints":234,"jsGlobals":235,"shortcodeOutput":236},[226,227],"description","note",[],[230,231,232,233],"name=\"bp-dob\"","name=\"bp-dp-width\"","name=\"bp-dp-height\"","name=\"bp-dp-type\"",[],[],[],{"error":238,"url":239,"statusCode":240,"statusMessage":241,"message":241},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fbp-birthday-greetings\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":194,"versions":243},[244,250,257,264,271,278],{"version":6,"download_url":26,"svn_tag_url":245,"released_at":29,"has_diff":246,"diff_files_changed":247,"diff_lines":29,"trac_diff_url":248,"vulnerabilities":249,"is_current":238},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbp-birthday-greetings\u002Ftags\u002F1.0.6\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbp-birthday-greetings%2Ftags%2F1.0.5&new_path=%2Fbp-birthday-greetings%2Ftags%2F1.0.6",[],{"version":251,"download_url":252,"svn_tag_url":253,"released_at":29,"has_diff":246,"diff_files_changed":254,"diff_lines":29,"trac_diff_url":255,"vulnerabilities":256,"is_current":246},"1.0.5","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-birthday-greetings.1.0.5.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbp-birthday-greetings\u002Ftags\u002F1.0.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbp-birthday-greetings%2Ftags%2F1.0.4&new_path=%2Fbp-birthday-greetings%2Ftags%2F1.0.5",[],{"version":258,"download_url":259,"svn_tag_url":260,"released_at":29,"has_diff":246,"diff_files_changed":261,"diff_lines":29,"trac_diff_url":262,"vulnerabilities":263,"is_current":246},"1.0.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-birthday-greetings.1.0.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbp-birthday-greetings\u002Ftags\u002F1.0.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbp-birthday-greetings%2Ftags%2F1.0.3&new_path=%2Fbp-birthday-greetings%2Ftags%2F1.0.4",[],{"version":265,"download_url":266,"svn_tag_url":267,"released_at":29,"has_diff":246,"diff_files_changed":268,"diff_lines":29,"trac_diff_url":269,"vulnerabilities":270,"is_current":246},"1.0.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-birthday-greetings.1.0.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbp-birthday-greetings\u002Ftags\u002F1.0.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbp-birthday-greetings%2Ftags%2F1.0.2&new_path=%2Fbp-birthday-greetings%2Ftags%2F1.0.3",[],{"version":272,"download_url":273,"svn_tag_url":274,"released_at":29,"has_diff":246,"diff_files_changed":275,"diff_lines":29,"trac_diff_url":276,"vulnerabilities":277,"is_current":246},"1.0.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-birthday-greetings.1.0.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbp-birthday-greetings\u002Ftags\u002F1.0.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fbp-birthday-greetings%2Ftags%2F1.0.1&new_path=%2Fbp-birthday-greetings%2Ftags%2F1.0.2",[],{"version":279,"download_url":280,"svn_tag_url":281,"released_at":29,"has_diff":246,"diff_files_changed":282,"diff_lines":29,"trac_diff_url":29,"vulnerabilities":283,"is_current":246},"1.0.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-birthday-greetings.1.0.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fbp-birthday-greetings\u002Ftags\u002F1.0.1\u002F",[],[]]