[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f1nkxlISdsC5NJ6lA2icA8RHViPEOU2CfOtz-ka4iOaM":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":14,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":34,"analysis":120,"fingerprints":198},"privateplus","Private Plus",".92","brandonjpetersen","https:\u002F\u002Fprofiles.wordpress.org\u002Fbrandonjpetersen\u002F","\u003Cp>By default, only administrators and editors can view posts and pages\u003Cbr \u002F>\nthat are marked as private.  This plugin will allow you to determine\u003Cbr \u002F>\nwhich groups are able to see private posts by default.  It will allow\u003Cbr \u002F>\nother authenticated users to view ‘private’ posts and pages.\u003C\u002Fp>\n\u003Ch3>Licence\u003C\u002Fh3>\n\u003Cp>This plugin is released under the GPL.  You can freely use it on personal or commerical blogs.  If you enjoy this plugin and find it useful,\u003Cbr \u002F>\nconsider leaving a \u003Ca href=\"http:\u002F\u002Ftech.brandonpetersen.com\u002Fredir\u002FprivatePlus.php\" rel=\"nofollow ugc\">small donation\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>More Info\u003C\u002Fh3>\n\u003Cp>For more info, please visit \u003Ca href=\"http:\u002F\u002Ftech.brandonpetersen.com\u002Fprivateplus\u002F\" rel=\"nofollow ugc\">privatePlus home page\u003C\u002Fa>.\u003Cbr \u002F>\nFor feedback\u002Fcomments, please send an e-mail to: brandon@gxconcepts.com.\u003C\u002Fp>\n","Allow the administrator to choose which groups can see private posts.",10,6338,0,"","2.5","2.3",[18,19,20,21,22],"post","posts","privacy","private","private-post","http:\u002F\u002Ftech.brandonpetersen.com\u002Fprivateplus\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fprivateplus.zip",100,null,"2026-03-15T10:48:56.248Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},1,30,94,"2026-04-04T21:09:19.847Z",[35,55,75,93,108],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":43,"downloaded":44,"rating":25,"num_ratings":45,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":14,"tags":49,"homepage":51,"download_link":52,"security_score":53,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":54},"wp-private","Wp-Private","1.6.1","Namith Jawahar","https:\u002F\u002Fprofiles.wordpress.org\u002Fnamithjawahar\u002F","\u003Cp>We often wish to provide some teaser content to visitors while keeping a part of the content reserved for registered users so that they will be lured to register on our site. This plugin helps you achieve exactly this. You will be able to mark a part of your post as private and the rest will be available to public and a login form OR a register and login will appear where your privatized content is supposed to appear. Once the user logs in they will be able to see the whole content (Great for membership sites). Now you can show off parts of your site to visitors and reserve parts for registered users.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Plugin Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Privatize multiple parts of your post\u002Fpages.\u003C\u002Fli>\n\u003Cli>Provision to prevent ban specific users.\u003C\u002Fli>\n\u003Cli>Ability to customize the login form \u002F login links which appear in place of premium content for non-logged in users.\u003C\u002Fli>\n\u003Cli>Ability to show custom message to banned users.\u003C\u002Fli>\n\u003Cli>Provision for Custom Login Page.\u003C\u002Fli>\n\u003C\u002Ful>\n","Privatize parts of posts from unauthorized users. Begin protected content with [protected] and end hidden content with [\u002Fprotected].",200,28776,3,"2022-01-19T09:39:00.000Z","5.4.19","5.4",[50],"private-posts","https:\u002F\u002Fwww.smartlogix.co.in\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-private.1.6.1.zip",85,"2026-03-15T15:16:48.613Z",{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":11,"downloaded":63,"rating":13,"num_ratings":13,"last_updated":64,"tested_up_to":65,"requires_at_least":66,"requires_php":67,"tags":68,"homepage":73,"download_link":74,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":54},"constellation-client-portal","Constellation Client Portal","2.7.0","ARS","https:\u002F\u002Fprofiles.wordpress.org\u002Farstudios\u002F","\u003Cp>A professional client portal for WordPress that helps you organize clients, customers, groups, and teams. Create unlimited client pages and securely share private pages, posts, and files.\u003C\u002Fp>\n\u003Cp>Upgrade to the \u003Ca href=\"https:\u002F\u002Fconstellationclientportal.com\u002F?utm_source=wporg\" title=\"Get Constellation Client Portal Pro\" rel=\"nofollow ugc\">Pro version\u003C\u002Fa> and integrate with WooCommerce to accept payments for invoices and services.\u003C\u002Fp>\n\u003Cp>Whether you are a veteran of high-level business or just starting out, Constellation Client Portal gives you the tools that you need to manage your operations efficiently and professionally, so that you can do business with confidence.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Create unlimited private pages for your clients, customers, and team members.\u003C\u002Fli>\n\u003Cli>Create private invoice and file posts for your clients and display them on private client pages, with simple to use shortcodes.\u003C\u002Fli>\n\u003Cli>Attach private files (example: pdf, jpg, docx, xlsx, etc) to invoice and file posts.\u003C\u002Fli>\n\u003Cli>Prevent direct access to client files by users, search engines, and bots.\u003C\u002Fli>\n\u003Cli>Assign WordPress users to Companies.\u003C\u002Fli>\n\u003Cli>Assign users (example: consultants) to multiple companies to allow them to access files that are assigned to different companies.\u003C\u002Fli>\n\u003Cli>Easily add curated lists of invoices and documents to client pages via simple to use shortcodes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Pro\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Automatically redirect clients to their private client page at login (optional login redirect setting).\u003C\u002Fli>\n\u003Cli>Integrate your invoices with WooCommerce and add a pay button to your unpaid invoices, and accept payments from your customers and clients (requires WooCommerce).\u003C\u002Fli>\n\u003Cli>Change the Client Page, Client File, and Client Invoice URL base names (“accp-client-page,” “accp-clientfile,” and “accp-clientinvoice) to names of your choosing.\u003C\u002Fli>\n\u003Cli>Automatically send email notifications to clients when a new File or Invoice post is created.\u003C\u002Fli>\n\u003Cli>Automatically send reminder email notifications on a schedule.\u003C\u002Fli>\n\u003Cli>Easily customize the look of client-facing lists and pages.\u003C\u002Fli>\n\u003Cli>Display client-facing lists in list or grid layout.\u003C\u002Fli>\n\u003Cli>Easily generate, save, and edit file and invoice shortcodes within the plugin settings.\u003C\u002Fli>\n\u003Cli>Add due dates and past due notices to invoices and files.\u003C\u002Fli>\n\u003Cli>Further restrict file and invoice access within a company by user and role.\u003C\u002Fli>\n\u003Cli>Restrict file and invoice category access by user and role.\u003C\u002Fli>\n\u003Cli>Add internal notes to File and Invoice posts.\u003C\u002Fli>\n\u003Cli>Export file and invoice lists to CSV.\u003C\u002Fli>\n\u003Cli>Create \u003Ca href=\"https:\u002F\u002Fconstellationclientportal.com\u002F2023\u002F05\u002F16\u002Fhow-to-utilize-global-pages\u002F\" title=\"Client Portal Global Pages\" rel=\"nofollow ugc\">global client pages\u003C\u002Fa> that can be accessed by multiple companies.\u003C\u002Fli>\n\u003Cli>Create global client files that can be accessed by more than one company.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Use Cases\u003C\u002Fh3>\n\u003Cp>Constellation Client Portal is your portal for everything, and helps you interface with clients, customers, teams, and groups.  It’s professional, extendable, versatile, and is designed to sit at the heart of your organization to save time and lower costs.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example Use Case Areas\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Businesses and Professionals – Interface with clients, customers, employees, contractors, and vendors.\u003C\u002Fli>\n\u003Cli>Freelancers – Interface with clients, customers, contractors, and vendors.\u003C\u002Fli>\n\u003Cli>Project Managers \u002F Teams – Interface with stake holders, contractors, project members, and vendors.\u003C\u002Fli>\n\u003Cli>Teams – Interface with team members, staff, affiliates, vendors, and contractors.\u003C\u002Fli>\n\u003Cli>Groups and Organizations – Interface with group members, and other affiliates.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shortcodes (Core)\u003C\u002Fh3>\n\u003Cp>The shortcode parameters, below, are for use with the core version of the plugin.  The pro version allows for file and invoice shortcodes to be easily generated, saved, and edited within the plugin settings.\u003C\u002Fp>\n\u003Ch4>Unpaid Invoice List\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[accp_clientinvoices invoice_status=\"unpaid\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Paid Invoice List\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[accp_clientinvoices invoice_status=\"paid\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Invoice Shortcode Parameters\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>invoice_status\u003C\u002Fstrong> this is the payment status of the invoice. Accepted Values: “paid” or “unpaid”. Default: “unpaid”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>display_number\u003C\u002Fstrong> this is the number of posts per page. Accepted Values: any positive whole number. Default: -1 (which displays all posts returned in a query).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>order_by\u003C\u002Fstrong> this allows for lists to be sorted by post title instead of date. Accepted Values: “title” or “date”. Default: “date”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>order\u003C\u002Fstrong> this allows the sort order to be changed. Accepted Values: “ASC” or “DESC”. Default: “DESC”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_excerpt\u003C\u002Fstrong> this allows for a post excerpt to be displayed with each list item. Accepted Values: “true” or “false”. Default: “false”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>excerpt_length\u003C\u002Fstrong> this allows you to constrain the number of words, “show_excerpt” is set to “true”. Accepted Values: any positive whole number. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_thumbnail\u003C\u002Fstrong> this allows the featured image to be displayed with each list item (if a featured image is set). Accepted Values: “true” or “false”. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>thumbnail_size\u003C\u002Fstrong> this allows you to choose an image size if the “show_thumbnail” attribute is set to “true”. Accepted Values: any valid thumbnail slug that is available in your theme (ex. “full”). Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>align_thumbnail\u003C\u002Fstrong> this allows the thumbnail image alignment to be set if the “show_thumbnail” attribute is set to “true”. Accepted Values: “center”, “left”, “right”, “float-left”, or “float-right”. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_post_date\u003C\u002Fstrong> this allows for the WordPress post date to be displayed with each item in a list. Accepted Values: “true” or “false”. Default: “false”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>categories\u003C\u002Fstrong> Accepted Values: this can be entered as an Invoice Category Slug or ID, or a combination of those. Separate multiple values with a comma (ex. “21, category-a”). Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>link_title\u003C\u002Fstrong> Accepted Values: “nolink”.  Adding this parameter and setting the value to “nolink” will remove the href from post titles in the list and make them unclickable. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>class\u003C\u002Fstrong> Accepted Values: any valid HTML class attribute name or names (separate multiple class names with a space). Default: null.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Document\u002FFile List\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[accp_clientfiles]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>File Shortcode Parameters\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>categories\u003C\u002Fstrong> Accepted Values: this can be entered as a File Category Slug or ID, or a combination of those. Separate multiple values with a comma (ex. “21, category-a”). Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>display_number\u003C\u002Fstrong> this is the number of posts per page. Accepted Values: any positive whole number. Default: -1 (which displays all posts returned in a query).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>order_by\u003C\u002Fstrong> this allows for lists to be sorted by post title instead of date. Accepted Values: “title” or “date”. Default: “date”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>order\u003C\u002Fstrong> this allows the sort order to be changed. Accepted Values: “ASC” or “DESC”. Default: “DESC”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_excerpt\u003C\u002Fstrong> this allows for a post excerpt to be displayed with each list item. Accepted Values: “true” or “false”. Default: “false”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>excerpt_length\u003C\u002Fstrong> this allows you to constrain the number of words, “show_excerpt” is set to “true”. Accepted Values: any positive whole number. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_thumbnail\u003C\u002Fstrong> this allows the featured image to be displayed with each list item (if a featured image is set). Accepted Values: “true” or “false”. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>thumbnail_size\u003C\u002Fstrong> this allows you to choose an image size if the “show_thumbnail” attribute is set to “true”. Accepted Values: any valid thumbnail slug that is available in your theme (ex. “full”). Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>align_thumbnail\u003C\u002Fstrong> this allows the thumbnail image alignment to be set if the “show_thumbnail” attribute is set to “true”. Accepted Values: “center”, “left”, “right”, “float-left”, or “float-right”. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_post_date\u003C\u002Fstrong> this allows for the WordPress post date to be displayed with each item in a list. Accepted Values: “true” or “false”. Default: “false”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>link_title\u003C\u002Fstrong> Accepted Values: “nolink”.  Adding this parameter and setting the value to “nolink” will remove the href from post titles in the list and make them unclickable. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>class\u003C\u002Fstrong> Accepted Values: any valid HTML class attribute name or names (separate multiple class names with a space). Default: null.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Global Files (Pro)\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[accp_global_files]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Company Menu (Pro)\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[accp_company_menu]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Company Menu Shortcode Parameters\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>excluded_page_ids\u003C\u002Fstrong> – this allows for pages that are assigned to a given company to be excluded from the company menu.  Accepts a comma separated list of Client Page ID’s. Default = null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>list_style\u003C\u002Fstrong> – this allows the UL orientation to be changed.  Accepts ‘vertical’ or ‘horizontal.’ Default = horizontal.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>align\u003C\u002Fstrong> – this allows for the menu alignment to be set.  Accepts ‘left,’ ‘right,’ or ‘center.’ Default = left.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Documentation\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fconstellationclientportal.com\u002Fdocumentation-constellation-client-portal\u002F#quick-start\" rel=\"nofollow ugc\">Quick Start Guide\u003C\u002Fa> – Follow the quick start guide to quickly set up the initial foundation for your client portal.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fconstellationclientportal.com\u002Fdocumentation-constellation-client-portal\u002F\" rel=\"nofollow ugc\">Plugin Documentation\u003C\u002Fa> – View the plugin documentation for other helpful information.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Pro users, with active licenses, should open a support ticket by accessing their account on \u003Ca href=\"https:\u002F\u002Fconstellationclientportal.com\u002Fmy-account\u002F\" rel=\"nofollow ugc\">constellationclientportal.com\u003C\u002Fa> for help and support.\u003C\u002Fp>\n","A professional client portal for WordPress that helps you organize clients, customers, groups, and teams. Create unlimited client pages and securely s &hellip;",7956,"2026-03-02T13:32:00.000Z","6.9.4","6.0.0","7.4",[69,70,71,72,50],"client-portal","customer-portal","private-files","private-pages","https:\u002F\u002Fadrianrodriguezstudios.com\u002Fconstellation-client-portal\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fconstellation-client-portal.2.7.0.zip",{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":11,"downloaded":83,"rating":13,"num_ratings":13,"last_updated":84,"tested_up_to":85,"requires_at_least":86,"requires_php":14,"tags":87,"homepage":91,"download_link":92,"security_score":53,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":54},"only-self-pings","Only Self Pings","1.0","ulfben","https:\u002F\u002Fprofiles.wordpress.org\u002Fulfben\u002F","\u003Cp>Pingbacks are automatic notifications added (as a kind of comment) to posts you link to in your articles. Whether a visitor is reading something way back in your archives or your most recent post, the pingbacks makes sure she can easily find any follow ups.\u003C\u002Fp>\n\u003Cp>This is great for keeping related articles together, but private blogs are forced to disable Pingbacks to avoid notifying other sites when linking to them!\u003C\u002Fp>\n\u003Cp>“Only Self Pings” solves this by only allowing pings to your own site (and whatever URLs you add to the whitelist).\u003C\u002Fp>\n\u003Cp>\u002F\u002F\u003Cem>\u003Ca href=\"http:\u002F\u002Fwww.ulfben.com\" rel=\"nofollow ugc\">Ulf Benjaminsson\u003C\u002Fa>\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch3>Additional Notes\u003C\u002Fh3>\n\u003Cp>Copyright (C) 2012 Ulf Benjaminsson (hello at my full name dot com).\u003C\u002Fp>\n\u003Cp>This program is free software; you can redistribute it and\u002For modify\u003Cbr \u002F>\nit under the terms of the GNU General Public License as published by\u003Cbr \u002F>\nthe Free Software Foundation; either version 2 of the License, or\u003Cbr \u002F>\n(at your option) any later version.\u003C\u002Fp>\n\u003Cp>This program is distributed in the hope that it will be useful,\u003Cbr \u002F>\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\u003Cbr \u002F>\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\u003Cbr \u002F>\nGNU General Public License for more details.\u003C\u002Fp>\n\u003Cp>You should have received a copy of the GNU General Public License\u003Cbr \u002F>\nalong with this program; if not, write to the Free Software\u003Cbr \u002F>\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\u003C\u002Fp>\n","Keep your site privacy and automatic pingbacks!",2468,"2019-03-25T13:58:00.000Z","4.3.34","3.9",[88,89,20,21,90],"pingbacks","pings","related-posts","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fonly-self-pings\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fonly-self-pings.zip",{"slug":94,"name":95,"version":96,"author":97,"author_profile":98,"description":99,"short_description":100,"active_installs":11,"downloaded":101,"rating":13,"num_ratings":13,"last_updated":102,"tested_up_to":15,"requires_at_least":103,"requires_php":14,"tags":104,"homepage":14,"download_link":107,"security_score":53,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":54},"privatepost","PrivatePost","1.7","blackc2004","https:\u002F\u002Fprofiles.wordpress.org\u002Fblackc2004\u002F","\u003Cp>New Features:\u003Cbr \u002F>\n* 1.5 – Allows all users who are logged in to see all Private posts\u003Cbr \u002F>\n* show_private_posts() is now a widget\u003Cbr \u002F>\n* Merged with Partial Private Post (See below)\u003C\u002Fp>\n\u003Cp>This plugin is a full featured private post management interface. It allows you to manage all private post’s publishing status via the “Manage” admin menu. It also provides the function “show_private_posts()” which can be used on the main page to list recent private posts (This can be used as either a function call or a widget). It uses the option ‘posts_per_page’ to determine how many recent private posts to display.\u003C\u002Fp>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n","This plugin is a full featured private post management interface. It allows you to manage all private post's publishing status via the \"Mana &hellip;",7486,"2010-09-13T20:23:00.000Z","2.1.2",[105,19,21,22,106],"access","restrict","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fprivatepost.1.7.zip",{"slug":109,"name":110,"version":111,"author":97,"author_profile":98,"description":112,"short_description":113,"active_installs":11,"downloaded":114,"rating":13,"num_ratings":13,"last_updated":115,"tested_up_to":116,"requires_at_least":15,"requires_php":14,"tags":117,"homepage":14,"download_link":118,"security_score":53,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":119},"protected-content","Protected Content","0.2","\u003Cp>Check if the user can see protected content\u003C\u002Fp>\n\u003Cp>(This is a proof of conenpt ONLY, do NOT use)\u003C\u002Fp>\n\u003Cp>This plugin checks to see if each post being returned has a metadata tag of “lowestLevel” it then does a Webservice call to our internal software which holds the information about if a user has purchased support. If the user has not purchased the required support they are redirected to another warning page or the login page.\u003C\u002Fp>\n","Check if the user can see protected content (This is a proof of conenpt ONLY, do NOT use)",2552,"2008-06-11T16:36:00.000Z","2.5.1",[105,19,21,22,106],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fprotected-content.0.2.zip","2026-03-15T14:54:45.397Z",{"attackSurface":121,"codeSignals":142,"taintFlows":161,"riskAssessment":188,"analyzedAt":197},{"hooks":122,"ajaxHandlers":138,"restRoutes":139,"shortcodes":140,"cronEvents":141,"entryPointCount":13,"unprotectedCount":13},[123,129,133],{"type":124,"name":125,"callback":126,"file":127,"line":128},"filter","posts_where","privatePlus_where","privatePlus.php",31,{"type":124,"name":130,"callback":131,"priority":11,"file":127,"line":132},"user_has_cap","privatePlus_add_read_ability",32,{"type":134,"name":135,"callback":136,"file":127,"line":137},"action","admin_menu","privatePlus_menu",33,[],[],[],[],{"dangerousFunctions":143,"sqlUsage":144,"outputEscaping":146,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":160},[],{"prepared":13,"raw":13,"locations":145},[],{"escaped":13,"rawEcho":147,"locations":148},5,[149,152,154,156,158],{"file":127,"line":150,"context":151},207,"raw output",{"file":127,"line":153,"context":151},210,{"file":127,"line":155,"context":151},213,{"file":127,"line":157,"context":151},216,{"file":127,"line":159,"context":151},219,[],[162,180],{"entryPoint":163,"graph":164,"unsanitizedCount":30,"severity":179},"privatePlus_updateOptions (privatePlus.php:231)",{"nodes":165,"edges":176},[166,171],{"id":167,"type":168,"label":169,"file":127,"line":170},"n0","source","$_REQUEST['privacyPlus_user_level']",234,{"id":172,"type":173,"label":174,"file":127,"line":170,"wp_function":175},"n1","sink","update_option() [Settings Manipulation]","update_option",[177],{"from":167,"to":172,"sanitized":178},false,"low",{"entryPoint":181,"graph":182,"unsanitizedCount":30,"severity":179},"\u003CprivatePlus> (privatePlus.php:0)",{"nodes":183,"edges":186},[184,185],{"id":167,"type":168,"label":169,"file":127,"line":170},{"id":172,"type":173,"label":174,"file":127,"line":170,"wp_function":175},[187],{"from":167,"to":172,"sanitized":178},{"summary":189,"deductions":190},"The static analysis of the \"privateplus\" v.92 plugin reveals a generally good security posture with zero detected AJAX handlers, REST API routes, shortcodes, or cron events exposed as entry points. Furthermore, the absence of dangerous functions, file operations, external HTTP requests, and bundled libraries is commendable. The plugin also demonstrates a positive practice by exclusively using prepared statements for its SQL queries.\n\nHowever, a significant concern arises from the output escaping. With 100% of outputs not being properly escaped, this indicates a high risk of Cross-Site Scripting (XSS) vulnerabilities. Any dynamic data displayed to users that originates from user input or other potentially untrusted sources could be maliciously crafted to execute JavaScript in the user's browser. Additionally, the taint analysis indicates two flows with unsanitized paths, which, although not classified as critical or high severity, still represent potential avenues for unexpected behavior or information disclosure if not handled carefully.\n\nThe plugin's vulnerability history is completely clear, with no known CVEs. This is a strong positive indicator, suggesting that the plugin has historically been well-maintained and secure. The lack of past vulnerabilities, combined with the current lack of exploitable entry points and secure SQL practices, paints a picture of a plugin that, apart from the critical output escaping issue, is built with security in mind. The primary risk is therefore the unescaped output, which requires immediate attention.",[191,194],{"reason":192,"points":193},"All outputs are unescaped",20,{"reason":195,"points":196},"Taint flows with unsanitized paths",6,"2026-03-16T23:24:42.923Z",{"wat":199,"direct":204},{"assetPaths":200,"generatorPatterns":201,"scriptPaths":202,"versionParams":203},[],[],[],[],{"cssClasses":205,"htmlComments":206,"htmlAttributes":208,"restEndpoints":210,"jsGlobals":211,"shortcodeOutput":212},[],[207],"\u003C!-- @todo use regular expressions for this mess of IF Statements -->",[209],"privacyPlus_user_level",[],[],[213,214,215,216,217,218,219,219,220],"\u003Cdiv style=\"width: 200px; float: right; border: 1px solid #14568A;\">","\u003Cdiv style=\"width: 195px; background: #0D324F; color: white; padding: 0 0 0 5px;\">About this Plugin:\u003C\u002Fdiv>","\u003Cdiv style=\"width: 180px; padding: 10px;\">","\u003Ca href=\"http:\u002F\u002Ftech.brandonpetersen.com\u002Fprivateplus\u002F\" target=\"_blank\">Plugin Homepage\u003C\u002Fa>\u003Cbr>","\u003Ca href=\"http:\u002F\u002Ftech.brandonpetersen.com\u002Fredir\u002FprivatePlus.php\" target=\"_blank\">Donate with PayPal\u003C\u002Fa>\u003Cbr>","\u003Ca href=\"http:\u002F\u002Fwww.amazon.com\u002Fgp\u002Fregistry\u002Fwishlist\u002Fref=pd_ys_qtk_wl_more?pf_rd_p=186413001&pf_rd_s=center-1&pf_rd_t=1501&pf_rd_i=home&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=0YDYCSNGWE35ERKM7RNE\" target=\"_blank\">Amazon Wishlist\u003C\u002Fa>\u003Cbr>","\u003C\u002Fdiv>","\u003Cp>By default, WordPress only allows administrators and editors to view private posts. This WordPress plugin will allow you to determine which groups \nare able to see private posts by default.  Select the lowest user level that you want to see private posts, all user levels that are higher will also \nbe able to see private posts.\u003C\u002Fp>"]