[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fVW06hI4hxYIl-WEFUmGpfk4VMmAXV4yPz4bvqxJX0Jk":3,"$fpLduHSV9LCBNIid8172p9DS9Z8XvM3rnhas7lL-HtWE":314,"$fAdR07xwaRD7ikKsVYXz9B_EkIIfgxtX8Rhb6RGjIzWI":319},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":13,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28,"discovery_status":29,"vulnerabilities":30,"developer":31,"crawl_stats":27,"alternatives":35,"analysis":138,"fingerprints":291},"wordsocket","WordSocket","0.14.0","wpsignal","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpsignal\u002F","\u003Cp>WordSocket sends realtime events from your WordPress site to connected browsers.\u003Cbr \u002F>\nWhen content changes: a post is published, a comment is approved, an option is updated: the plugin pushes the event to subscribers instantly via WebSocket (with SSE fallback).\u003C\u002Fp>\n\u003Cp>On WordPress 7.0+, WordSocket also registers as a WebSocket-based Yjs sync provider for real-time collaborative editing in the block editor, replacing the default HTTP polling transport with a low-latency WebSocket connection.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>One-click automatic connection via the WPSignal dashboard (no API key required)\u003C\u002Fli>\n\u003Cli>Manual connection via API key for advanced setups\u003C\u002Fli>\n\u003Cli>Disconnect button with inline confirmation, removes the site from the server immediately\u003C\u002Fli>\n\u003Cli>WebSocket-first with automatic SSE fallback\u003C\u002Fli>\n\u003Cli>Per-site JWT signing secrets: each site’s connection tokens are cryptographically isolated\u003C\u002Fli>\n\u003Cli>AES-256-GCM encrypted event payloads: the WPSignal relay receives ciphertext only and never has access to plaintext message content\u003C\u002Fli>\n\u003Cli>Real-time collaborative editing in the block editor (WordPress 7.0+, via Yjs sync provider)\u003C\u002Fli>\n\u003Cli>Admin toggle to disable the collaboration provider and fall back to WordPress HTTP polling\u003C\u002Fli>\n\u003Cli>Built-in triggers for post updates and custom post types\u003C\u002Fli>\n\u003Cli>Custom trigger builder: map any WordPress action hook to a realtime event\u003C\u002Fli>\n\u003Cli>Public JavaScript API (\u003Ccode>window.WPS\u003C\u002Fcode>) for themes and plugins to share the connection\u003C\u002Fli>\n\u003Cli>Extensible connection token: \u003Ccode>wpsignal_token_channels\u003C\u002Fcode> and \u003Ccode>wpsignal_token_channel_prefixes\u003C\u002Fcode> filters let other plugins add channels and namespace permissions to the JWT without modifying core\u003C\u002Fli>\n\u003Cli>Admin explorer page with live event log, publish form, and token inspector\u003C\u002Fli>\n\u003Cli>Short-lived JWTs (5 min) with automatic refresh\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>How it works:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Install the plugin and connect to the WPSignal service.\u003C\u002Fli>\n\u003Cli>When content changes in WordPress, the plugin encrypts and publishes an HMAC-signed event to the WPSignal server.\u003C\u002Fli>\n\u003Cli>The server pushes the ciphertext to all browsers subscribed to that channel.\u003C\u002Fli>\n\u003Cli>The browser decrypts the payload and dispatches \u003Ccode>wpsignal:*\u003C\u002Fcode> DOM events. The relay never sees plaintext content.\u003C\u002Fli>\n\u003Cli>On WordPress 7.0+, the block editor uses the same WebSocket connection for collaborative editing with no extra configuration.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Third-Party Service\u003C\u002Fh4>\n\u003Cp>This plugin connects to the \u003Cstrong>WPSignal service\u003C\u002Fstrong> at api.wpsignal.io for the following operations:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Site registration\u003C\u002Fstrong>: when you connect in the admin (via the automatic one-click flow or by entering an API key manually), the plugin registers your site with the server and receives credentials.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Event publishing\u003C\u002Fstrong>: when a trigger fires (e.g. a post is saved), the plugin sends an encrypted, HMAC-signed HTTP request to the server.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Realtime connections\u003C\u002Fstrong>: logged-in users’ browsers connect to the server via WebSocket or SSE to receive events.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Collaborative editing\u003C\u002Fstrong>: on WordPress 7.0+, Yjs document updates are relayed over the same WebSocket connection.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Event payloads are AES-256-GCM encrypted before leaving WordPress. The WPSignal server relays ciphertext and never has access to plaintext message content. Data is delivered in realtime and is \u003Cstrong>not persisted\u003C\u002Fstrong> on the server.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwpsignal.io\u002Fterms\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwpsignal.io\u002Fprivacy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","WordSocket is the official WordPress plugin for WPSignal (wpsignal.io), a third-party WebSocket\u002FSSE delivery service.",0,245,100,1,"2026-04-13T03:41:00.000Z","7.0","6.2","7.4",[20,21,22,23,24],"collaboration","events","push","realtime","websocket","https:\u002F\u002Fwpsignal.io\u002Fwordsocket","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwordsocket.0.14.0.zip",null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":11,"avg_security_score":13,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},30,94,"2026-05-19T23:29:02.990Z",[36,56,77,97,115],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":11,"num_ratings":11,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":18,"tags":49,"homepage":53,"download_link":54,"security_score":13,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":55},"mqtt-plug","MQTT-Plug","1.0","POTAR","https:\u002F\u002Fprofiles.wordpress.org\u002Fpotar\u002F","\u003Cp>MQTT-Plug brings live MQTT data directly into WordPress using secure WebSocket connections.\u003Cbr \u002F>\nIt is designed for developers, IoT experimenters, and small production deployments that want real-time visibility without building a custom frontend.\u003C\u002Fp>\n\u003Cp>Unlike traditional MQTT tools, MQTT-Plug focuses on \u003Cstrong>embedding live data into WordPress pages, posts, and dashboards\u003C\u002Fstrong>, while keeping credentials safe and configuration simple.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Connect to MQTT brokers over WS\u002FWSS\u003C\u002Fli>\n\u003Cli>Live message stream and event log\u003C\u002Fli>\n\u003Cli>Topic-based subscriptions\u003C\u002Fli>\n\u003Cli>Shortcode-driven embeds\u003C\u002Fli>\n\u003Cli>Works with public or authenticated dashboards\u003C\u002Fli>\n\u003Cli>Designed for modern MQTT backends (Mosquitto, EMQX, HiveMQ, The-Link-Builders, managed brokers)\u003C\u002Fli>\n\u003Cli>No external Node services required\u003C\u002Fli>\n\u003Cli>Lightweight; no tracking, no telemetry, no lock-in\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>MQTT-Plug is infrastructure-agnostic. You control your broker, topics, and data flow.\u003C\u002Fp>\n\u003Ch3>Configuration\u003C\u002Fh3>\n\u003Cp>In \u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> MQTT-Plug\u003C\u002Fstrong>, configure:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Broker host\u003C\u002Fli>\n\u003Cli>WebSocket port\u003C\u002Fli>\n\u003Cli>TLS \u002F secure connection (WSS)\u003C\u002Fli>\n\u003Cli>Username and password (if required)\u003C\u002Fli>\n\u003Cli>Base topic or subscription filter\u003C\u002Fli>\n\u003Cli>Debug logging (optional)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>All credentials are stored using WordPress options and are never exposed to public users unless explicitly enabled.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>Basic shortcode:\u003C\u002Fp>\n\u003Cp>[mqtt_plug]\u003C\u002Fp>\n\u003Cp>Optional attributes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>height=\"520px\"\u003C\u002Fcode> – set container height\u003C\u002Fli>\n\u003Cli>\u003Ccode>class=\"custom-class\"\u003C\u002Fcode> – add a CSS hook\u003C\u002Fli>\n\u003Cli>\u003Ccode>mode=\"observer\"\u003C\u002Fcode> – server-fed or read-only views (if enabled)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cp>[mqtt_plug height=”600px” class=”iot-dashboard” mode=”observer”]\u003C\u002Fp>\n\u003Ch3>Security Notes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Public pages should \u003Cstrong>not\u003C\u002Fstrong> use live credentials.\u003C\u002Fli>\n\u003Cli>Use observer or server-fed modes for public dashboards.\u003C\u002Fli>\n\u003Cli>Always prefer WSS when exposing MQTT over the internet.\u003C\u002Fli>\n\u003Cli>Rotate credentials regularly for production systems.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>MQTT-Plug does not open inbound ports on WordPress and does not proxy MQTT traffic through the server unless explicitly configured.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>GPLv2 or later.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Developed by \u003Cstrong>Michael Winchester\u003C\u002Fstrong>\u003Cbr \u002F>\nFor documentation and updates, visit \u003Ca href=\"https:\u002F\u002Fmeshplug.michaelwinchester.com\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fmeshplug.michaelwinchester.com\u002F\u003C\u002Fa>\u003C\u002Fp>\n","Real-time MQTT dashboards inside WordPress. Connect securely over WebSocket (WS\u002FWSS) and visualize live IoT data, logs, and events.",10,196,"2026-02-05T00:28:00.000Z","6.9.4","6.0",[50,51,52,23,24],"dashboards","iot","mqtt","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmqtt-plug.1.0.zip","2026-04-06T09:54:40.288Z",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":44,"downloaded":64,"rating":65,"num_ratings":66,"last_updated":67,"tested_up_to":68,"requires_at_least":69,"requires_php":53,"tags":70,"homepage":74,"download_link":75,"security_score":76,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28},"participad","Participad","1.0.3","Boone Gorges","https:\u002F\u002Fprofiles.wordpress.org\u002Fboonebgorges\u002F","\u003Cp>\u003Ca href=\"http:\u002F\u002Fparticipad.org\" rel=\"nofollow ugc\">Participad\u003C\u002Fa> enables realtime, collaborative editing on WordPress content. Co-write and co-edit content, totally synchronously, and watch as the other people’s text appears instantly on the screen.\u003C\u002Fp>\n\u003Cp>Powered by \u003Ca href=\"http:\u002F\u002Fetherpad.org\" rel=\"nofollow ugc\">Etherpad Lite\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Visit \u003Ca href=\"http:\u002F\u002Fparticipad.org\u002Ffeatures\u002F\" rel=\"nofollow ugc\">http:\u002F\u002Fparticipad.org\u002Ffeatures\u002F\u003C\u002Fa> to learn more about Participad’s features, or watch the following video to see Participad in action.\u003C\u002Fp>\n\u003Cp>\u003Ciframe loading=\"lazy\" title=\"Participad\" src=\"https:\u002F\u002Fplayer.vimeo.com\u002Fvideo\u002F52354978?dnt=1&app_id=122963\" width=\"720\" height=\"540\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write\">\u003C\u002Fiframe>\u003C\u002Fp>\n","Realtime collaborative editing for WordPress content, powered by Etherpad Lite.",5300,46,3,"2013-05-28T14:02:00.000Z","3.6.1","3.4",[71,20,72,73,23],"collaborate","google-docs","real-time","http:\u002F\u002Fparticipad.org","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fparticipad.1.0.3.zip",85,{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":11,"downloaded":85,"rating":11,"num_ratings":11,"last_updated":86,"tested_up_to":87,"requires_at_least":88,"requires_php":18,"tags":89,"homepage":94,"download_link":95,"security_score":76,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":96},"real-time-comments-with-pusher","Real Time Comments With Pusher","1.1.3","Gerhard Popp","https:\u002F\u002Fprofiles.wordpress.org\u002Fgepopp\u002F","\u003Cp>Give your users a better commenting expirience. This plugin replaces the standard WordPress Comments functionality with an easy and lightweight form and comments list.\u003Cbr \u002F>\nComments are loaded via Ajax or a socket connection on the \u003Ca href=\"https:\u002F\u002Fpusher.com\" rel=\"nofollow ugc\">pusher\u003C\u002Fa> Api. For the real time expirience via websocket you need an active subscription at pusher.\u003C\u002Fp>\n\u003Cp>Form and comment list are available in two adjustable layouts. There are also some simple layoutsettings like a main theme color and the rounding of gravatar image.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Commenting form in two layouts – fell free to contact us for customization \u003Ca href=\"mailto:gerhard@poppgerhard.at\" rel=\"nofollow ugc\">gerhard@poppgerhard.at\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Comments list in two level depth displayable in two layouts\u003C\u002Fli>\n\u003Cli>load comments in real time via ajax or websocket connection over the pusher api\u003C\u002Fli>\n\u003Cli>Simple to install and setup\u003C\u002Fli>\n\u003C\u002Ful>\n","Display comments in real time via ajax or pusher api.",1003,"2022-01-05T15:00:00.000Z","5.8.13","5.0",[90,91,92,93,23],"ajax","commentform","comments","pusher","https:\u002F\u002Fpoppgerhard.at\u002Freal-time-comments","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freal-time-comments-with-pusher.zip","2026-03-15T15:16:48.613Z",{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":11,"downloaded":105,"rating":11,"num_ratings":11,"last_updated":106,"tested_up_to":107,"requires_at_least":108,"requires_php":109,"tags":110,"homepage":113,"download_link":114,"security_score":76,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28},"wave-for-wp","Wave","1.1.1","sund","https:\u002F\u002Fprofiles.wordpress.org\u002Fsund\u002F","\u003Cp>Have you ever been frustrated with manually copying and pasting article\u002Fpost content between WordPress and Google Docs for collaboration?  Wave by Codox will turn WordPress into a real-time CMS, so your team can collaboratively edit blogs\u002Fposts\u002Farticles in real-time.\u003C\u002Fp>\n\u003Cp>Major features in Codox Wave include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>See each other’s edits instantly when your team works at the same time on the same post or page inside WordPress.\u003C\u002Fli>\n\u003Cli>Edit with TinyMCE. Posts are ready to go when you finish. \u003C\u002Fli>\n\u003Cli>Work together securely and with confidence. We don’t store any posts or content on our server.\u003C\u002Fli>\n\u003C\u002Ful>\n","Wave by Codox enables teams to real-time co-edit and co-iterate posts directly in your WordPress site.",1459,"2019-04-15T00:44:00.000Z","4.9.29","3.7","7.0.15",[111,20,112,73,23],"co-editing","collaborative-editing","http:\u002F\u002Fwave.codox.io","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwave-for-wp.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":47,"requires_at_least":128,"requires_php":18,"tags":129,"homepage":53,"download_link":134,"security_score":135,"vuln_count":136,"unpatched_count":11,"last_vuln_date":137,"fetched_at":28},"the-events-calendar","The Events Calendar","6.15.20","StellarWP","https:\u002F\u002Fprofiles.wordpress.org\u002Fstellarwp\u002F","\u003Cp>Easily create and manage an events calendar on your WordPress site with \u003Ca href=\"https:\u002F\u002Fevnt.is\u002Fmj\" rel=\"nofollow ugc\">The Events Calendar\u003C\u002Fa> free plugin. Whether your events are in-person or virtual events, this WordPress calendar plugin boasts professional features backed by our world-class team of developers and designers.\u003C\u002Fp>\n\u003Cp>\u003Ciframe loading=\"lazy\" title=\"The Events Calendar\" src=\"https:\u002F\u002Fplayer.vimeo.com\u002Fvideo\u002F425323974?dnt=1&app_id=122963\" width=\"750\" height=\"422\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write\">\u003C\u002Fiframe>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fevnt.is\u002F1b4-\" rel=\"nofollow ugc\">See more videos on our YouTube channel\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Packed with loads of features, The Events Calendar is ready to go out of the box. It’s also extensible, easy to use, and completely customizable.\u003C\u002Fp>\n\u003Ch4>📅 The #1 Calendar for WordPress\u003C\u002Fh4>\n\u003Cp>See the calendar in action on our \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F1ajs\" rel=\"nofollow ugc\">demo experience\u003C\u002Fa>. Just getting started? Read through the \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F2d\" rel=\"nofollow ugc\">New User Primer\u003C\u002Fa> to get set up.\u003C\u002Fp>\n\u003Cp>Looking for additional features like recurring events, ticket sales, user-submitted events, automatic imports, and more?\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Check out \u003Ca href=\"https:\u002F\u002Fevnt.is\u002Fmj\" rel=\"nofollow ugc\">Events Calendar Pro\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F197u\" rel=\"nofollow ugc\">Event Aggregator\u003C\u002Fa>, and \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F2a\" rel=\"nofollow ugc\">more add-ons\u003C\u002Fa>.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>🔌🎨 Plug and Play or Customize\u003C\u002Fh4>\n\u003Cp>The Events Calendar is built to work out of the box. Simply install the plugin, configure your settings, and start creating events in minutes.\u003C\u002Fp>\n\u003Cp>Want to add your personal touch? Use The Events Calendar as the foundation for customization. Personalize to your heart’s content with the help of a skeleton stylesheet, partial template overrides, template tags, hooks and filters, \u003Ca href=\"https:\u002F\u002Fevnt.is\u002Feu\" rel=\"nofollow ugc\">careful documentation\u003C\u002Fa>, and a \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F1a0r\" rel=\"nofollow ugc\">library of free extensions\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Whether your vision is big or small, you’re in good company. Hundreds of thousands of small businesses, musicians, venues, restaurants, and non-profits are publishing and promoting their in-person and virtual events with The Events Calendar. Our plugins have also been scaled to work on large networks for Fortune 100 companies, universities, and government institutions.\u003C\u002Fp>\n\u003Ch4>✨ Features\u003C\u002Fh4>\n\u003Cp>Our feature-rich plugin comes with everything you need to create and manage your calendar.\u003C\u002Fp>\n\u003Cp>✔️ Rapidly create events\u003Cbr \u002F>\n✔️ Saved venues & organizers\u003Cbr \u002F>\n✔️ Calendar month view with tooltips\u003Cbr \u002F>\n✔️ Event List view\u003Cbr \u002F>\n✔️ Day view\u003Cbr \u002F>\n✔️ Block Editor support\u003Cbr \u002F>\n✔️ Event search\u003Cbr \u002F>\n✔️ Google maps\u003Cbr \u002F>\n✔️ Widget: Upcoming events list\u003Cbr \u002F>\n✔️ Events Taxonomies (Categories & Tags)\u003Cbr \u002F>\n✔️ Google Calendar and iCal exporting\u003Cbr \u002F>\n✔️ WP REST API endpoints\u003Cbr \u002F>\n✔️ Completely ajaxified for super smooth browsing\u003Cbr \u002F>\n✔️ Completely responsive from mobile to tablet to desktop\u003Cbr \u002F>\n✔️ Tested on the major theme frameworks such as Avada, Divi, Enfold, Genesis, and many more.\u003Cbr \u002F>\n✔️ Increase your SEO with JSON-LD Structured Data\u003Cbr \u002F>\n✔️ Internationalized & translated\u003Cbr \u002F>\n✔️ Multiple stylesheets to improve integration\u003Cbr \u002F>\n✔️ Extensive template tags for customization\u003Cbr \u002F>\n✔️ Hooks & filters galore\u003Cbr \u002F>\n✔️ Caching support\u003Cbr \u002F>\n✔️ Debug mode for developers\u003Cbr \u002F>\n✔️ \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F1a0r\" rel=\"nofollow ugc\">Library of extensions\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>📃 Documentation\u003C\u002Fh3>\n\u003Cp>All of our documentation can be found in \u003Ca href=\"https:\u002F\u002Fevnt.is\u002Feu\" rel=\"nofollow ugc\">our Knowledgebase\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Additional helpful links:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fevnt.is\u002F2l\" rel=\"nofollow ugc\">The Events Calendar New User Primer\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fevnt.is\u002F2m\" rel=\"nofollow ugc\">The Themer’s Guide to The Events Calendar\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you have any questions about this plugin, you can post a thread in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fthe-events-calendar\" rel=\"ugc\">WordPress.org forum\u003C\u002Fa>. Please search existing threads before starting a new one.\u003C\u002Fp>\n\u003Ch3>Add-Ons\u003C\u002Fh3>\n\u003Cp>Take your calendar to the next level by pairing it with our plugins for ticketing, crowdsourcing, email marketing, and more. Learn more about all our products on \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F18wn\" rel=\"nofollow ugc\">our website\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Our Free Plugins:\u003C\u002Fp>\n\u003Cp>🎟️ \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fevent-tickets\u002F\" rel=\"ugc\">Event Tickets\u003C\u002Fa>\u003Cbr \u002F>\n📐 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadvanced-post-manager\u002F\" rel=\"ugc\">Advanced Post Manager\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Our Premium Plugins and Services:\u003C\u002Fp>\n\u003Cp>⚡ \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F18wi\" rel=\"nofollow ugc\">Events Calendar PRO\u003C\u002Fa>\u003Cbr \u002F>\n↪️ \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F197u\" rel=\"nofollow ugc\">Event Aggregator\u003C\u002Fa> (service)\u003Cbr \u002F>\n🎟️ \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F18wk\" rel=\"nofollow ugc\">Event Tickets Plus\u003C\u002Fa>\u003Cbr \u002F>\n✉️ \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F1ajt\" rel=\"nofollow ugc\">Promoter\u003C\u002Fa>\u003Cbr \u002F>\n👥 \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F2g\" rel=\"nofollow ugc\">Community Events\u003C\u002Fa>\u003Cbr \u002F>\n✏️ \u003Ca href=\"https:\u002F\u002Fevnt.is\u002Ffa\" rel=\"nofollow ugc\">Filter Bar\u003C\u002Fa>\u003Cbr \u002F>\n🗓️ \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F2e\" rel=\"nofollow ugc\">Eventbrite Tickets\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Help\u003C\u002Fh3>\n\u003Cp>If you aren’t familiar with The Events Calendar, check out our \u003Ca href=\"https:\u002F\u002Fevnt.is\u002F2p\" rel=\"nofollow ugc\">New User Primer\u003C\u002Fa>. It will have you creating events in no time.\u003C\u002Fp>\n\u003Cp>Ready to dig deeper? Check out these resources:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fevnt.is\u002F2u\" rel=\"nofollow ugc\">Tutorials\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftheeventscalendar.com\u002Frelease-schedule\u002F\" rel=\"nofollow ugc\">Release Schedule\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftheeventscalendar.com\u002Fknown-issues\u002F\" rel=\"nofollow ugc\">Known Issues\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fevnt.is\u002Feu\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fevnt.is\u002F2t\" rel=\"nofollow ugc\">Help Videos\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fevnt.is\u002F2v\" rel=\"nofollow ugc\">Release Notes\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>We check in on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fthe-events-calendar\u002F\" rel=\"ugc\">The Events Calendar forum here on WordPress.org\u003C\u002Fa> about once a week to help users with basic troubleshooting and identifying bugs. If you’re looking for premium, personalized support, consider upgrading to Events Calendar Pro.\u003C\u002Fp>\n\u003Cp>Still have a question? Shoot us an email at support@theeventscalendar.com.\u003C\u002Fp>\n","The Events Calendar: #1 calendar plugin for WordPress. Create\u002Fmanage events (virtual too!) on your site with the free plugin.",700000,81514661,86,2433,"2026-04-08T20:04:00.000Z","6.7",[130,131,21,132,133],"calendar","event","organizer","schedule","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fthe-events-calendar.6.15.20.zip",82,25,"2026-03-09 14:40:15",{"attackSurface":139,"codeSignals":257,"taintFlows":277,"riskAssessment":278,"analyzedAt":290},{"hooks":140,"ajaxHandlers":204,"restRoutes":205,"shortcodes":254,"cronEvents":255,"entryPointCount":256,"unprotectedCount":256},[141,147,151,153,157,162,167,170,174,179,182,185,188,190,191,192,193,195,197,198,199,201,202,203],{"type":142,"name":143,"callback":144,"file":145,"line":146},"action","init","load_textdomain","includes\u002Fclass-wps.php",141,{"type":142,"name":148,"callback":149,"file":145,"line":150},"rest_api_init","register_routes",182,{"type":142,"name":148,"callback":149,"file":145,"line":152},184,{"type":154,"name":155,"callback":156,"file":145,"line":45},"filter","block_categories_all","register_block_category",{"type":142,"name":158,"callback":159,"file":160,"line":161},"admin_menu","register_menu","includes\u002Fclass-wpsignal-admin-page.php",44,{"type":142,"name":163,"callback":164,"file":165,"line":166},"wp_enqueue_scripts","enqueue","includes\u002Fclass-wpsignal-client.php",52,{"type":142,"name":168,"callback":164,"file":165,"line":169},"admin_enqueue_scripts",53,{"type":142,"name":171,"callback":172,"file":165,"line":173},"enqueue_block_editor_assets","enqueue_yjs_provider",54,{"type":142,"name":175,"callback":176,"file":177,"line":178},"admin_post_wpsignal_oauth_start","handle_start","includes\u002Fclass-wpsignal-connect.php",45,{"type":142,"name":180,"callback":181,"file":177,"line":65},"admin_post_wpsignal_oauth_callback","handle_callback",{"type":142,"name":183,"callback":181,"file":177,"line":184},"admin_post_nopriv_wpsignal_oauth_callback",47,{"type":154,"name":186,"callback":187,"file":177,"line":76},"allowed_redirect_hosts","closure",{"type":142,"name":143,"callback":144,"file":189,"line":146},"trunk\u002Fincludes\u002Fclass-wps.php",{"type":142,"name":148,"callback":149,"file":189,"line":150},{"type":142,"name":148,"callback":149,"file":189,"line":152},{"type":154,"name":155,"callback":156,"file":189,"line":45},{"type":142,"name":158,"callback":159,"file":194,"line":161},"trunk\u002Fincludes\u002Fclass-wpsignal-admin-page.php",{"type":142,"name":163,"callback":164,"file":196,"line":166},"trunk\u002Fincludes\u002Fclass-wpsignal-client.php",{"type":142,"name":168,"callback":164,"file":196,"line":169},{"type":142,"name":171,"callback":172,"file":196,"line":173},{"type":142,"name":175,"callback":176,"file":200,"line":178},"trunk\u002Fincludes\u002Fclass-wpsignal-connect.php",{"type":142,"name":180,"callback":181,"file":200,"line":65},{"type":142,"name":183,"callback":181,"file":200,"line":184},{"type":154,"name":186,"callback":187,"file":200,"line":76},[],[206,216,221,226,231,235,240,243,245,247,249,251],{"namespace":207,"route":208,"methods":209,"callback":212,"permissionCallback":213,"file":214,"line":215},"wpsignal\u002Fv1","\u002Ftoken",[210,211],"GET","POST","handle_token","__return_true","includes\u002Fclass-wpsignal-token.php",60,{"namespace":207,"route":217,"methods":218,"callback":219,"permissionCallback":27,"file":214,"line":220},"\u002Fconnect",[211],"handle_register",70,{"namespace":207,"route":222,"methods":223,"callback":224,"permissionCallback":27,"file":214,"line":225},"\u002Fpublish",[211],"handle_publish",80,{"namespace":207,"route":227,"methods":228,"callback":229,"permissionCallback":27,"file":214,"line":230},"\u002Fdisconnect",[211],"handle_disconnect",90,{"namespace":207,"route":232,"methods":233,"callback":234,"permissionCallback":27,"file":214,"line":13},"\u002Fsettings",[210],"anonymous",{"namespace":207,"route":236,"methods":237,"callback":234,"permissionCallback":27,"file":238,"line":239},"\u002Ftriggers",[210],"includes\u002Fclass-wpsignal-triggers-rest.php",40,{"namespace":207,"route":208,"methods":241,"callback":212,"permissionCallback":213,"file":242,"line":215},[210,211],"trunk\u002Fincludes\u002Fclass-wpsignal-token.php",{"namespace":207,"route":217,"methods":244,"callback":219,"permissionCallback":27,"file":242,"line":220},[211],{"namespace":207,"route":222,"methods":246,"callback":224,"permissionCallback":27,"file":242,"line":225},[211],{"namespace":207,"route":227,"methods":248,"callback":229,"permissionCallback":27,"file":242,"line":230},[211],{"namespace":207,"route":232,"methods":250,"callback":234,"permissionCallback":27,"file":242,"line":13},[210],{"namespace":207,"route":236,"methods":252,"callback":234,"permissionCallback":27,"file":253,"line":239},[210],"trunk\u002Fincludes\u002Fclass-wpsignal-triggers-rest.php",[],[],12,{"dangerousFunctions":258,"sqlUsage":259,"outputEscaping":261,"fileOperations":11,"externalRequests":44,"nonceChecks":275,"capabilityChecks":44,"bundledLibraries":276},[],{"prepared":11,"raw":11,"locations":260},[],{"escaped":262,"rawEcho":263,"locations":264},34,6,[265,268,270,272,273,274],{"file":160,"line":266,"context":267},168,"raw output",{"file":160,"line":269,"context":267},170,{"file":160,"line":271,"context":267},172,{"file":194,"line":266,"context":267},{"file":194,"line":269,"context":267},{"file":194,"line":271,"context":267},2,[],[],{"summary":279,"deductions":280},"The \"wordsocket\" plugin v0.14.0 exhibits a concerning security posture due to a significant number of unprotected REST API entry points. While the plugin demonstrates good practices in other areas, such as the absence of dangerous functions, the exclusive use of prepared statements for SQL queries, and a high percentage of properly escaped output, the lack of authorization checks on all 12 REST API routes presents a substantial risk. Any functionality exposed through these routes is effectively open to any user, including unauthenticated ones, potentially allowing for unauthorized data manipulation or access.\n\nThe static analysis did not reveal any critical taint analysis findings, which is a positive sign. This suggests that while data might be accessible, it might not be immediately exploitable in a critical way through injection vulnerabilities within the analyzed flows. Furthermore, the plugin has no recorded vulnerability history, indicating a lack of past exploited issues. This could imply either diligent maintenance or a limited history of scrutiny.\n\nHowever, the presence of 12 unprotected REST API routes overshadows these positive aspects. This represents a large attack surface that is easily accessible. The plugin also has a relatively low number of nonce checks (2) and capability checks (10) for its entry points, further exacerbating the risk associated with the unprotected REST API routes. In conclusion, while \"wordsocket\" v0.14.0 has strengths in its handling of SQL and output, the critical weakness of having all its REST API routes unprotected makes it a high-risk plugin.",[281,283,286,288],{"reason":282,"points":44},"All REST API routes lack permission callbacks",{"reason":284,"points":285},"Large attack surface without auth checks",8,{"reason":287,"points":66},"Low number of nonce checks relative to entry points",{"reason":289,"points":66},"Low number of capability checks relative to entry points","2026-04-16T14:54:20.768Z",{"wat":292,"direct":301},{"assetPaths":293,"generatorPatterns":296,"scriptPaths":297,"versionParams":298},[294,295],"\u002Fwp-content\u002Fplugins\u002Fwordsocket\u002Fbuild\u002Fsettings.js","\u002Fwp-content\u002Fplugins\u002Fwordsocket\u002Fbuild\u002Fsettings.css",[],[],[299,300],"wordsocket\u002Fbuild\u002Fsettings.js?ver=","wordsocket\u002Fbuild\u002Fsettings.css?ver=",{"cssClasses":302,"htmlComments":305,"htmlAttributes":306,"restEndpoints":309,"jsGlobals":311,"shortcodeOutput":313},[303,304],"wpsignal-header","wpsignal-meta-nav",[],[307,308],"data-wpsignal-connect","data-wpsignal-oauth-start",[310],"\u002Fwp-json\u002Fwpsignal\u002Fv1\u002Fconnect",[312],"wpsignalSettings",[],{"error":315,"url":316,"statusCode":317,"statusMessage":318,"message":318},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fwordsocket\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":320,"versions":321},4,[322,328,335,342],{"version":6,"download_url":26,"svn_tag_url":323,"released_at":27,"has_diff":324,"diff_files_changed":325,"diff_lines":27,"trac_diff_url":326,"vulnerabilities":327,"is_current":315},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwordsocket\u002Ftags\u002F0.14.0\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwordsocket%2Ftags%2F0.13.2&new_path=%2Fwordsocket%2Ftags%2F0.14.0",[],{"version":329,"download_url":330,"svn_tag_url":331,"released_at":27,"has_diff":324,"diff_files_changed":332,"diff_lines":27,"trac_diff_url":333,"vulnerabilities":334,"is_current":324},"0.13.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwordsocket.0.13.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwordsocket\u002Ftags\u002F0.13.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwordsocket%2Ftags%2F0.13.1&new_path=%2Fwordsocket%2Ftags%2F0.13.2",[],{"version":336,"download_url":337,"svn_tag_url":338,"released_at":27,"has_diff":324,"diff_files_changed":339,"diff_lines":27,"trac_diff_url":340,"vulnerabilities":341,"is_current":324},"0.13.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwordsocket.0.13.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwordsocket\u002Ftags\u002F0.13.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwordsocket%2Ftags%2F0.13.0&new_path=%2Fwordsocket%2Ftags%2F0.13.1",[],{"version":343,"download_url":344,"svn_tag_url":345,"released_at":27,"has_diff":324,"diff_files_changed":346,"diff_lines":27,"trac_diff_url":27,"vulnerabilities":347,"is_current":324},"0.13.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwordsocket.0.13.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwordsocket\u002Ftags\u002F0.13.0\u002F",[],[]]