[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fqDAfNxtDrdriY9KPSGuXV5_zdTyGoBcGP5Dyzq_UCmg":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":15,"tags":18,"homepage":15,"download_link":23,"security_score":13,"vuln_count":24,"unpatched_count":24,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":32,"analysis":132,"fingerprints":213},"jamatto-micropayments","Jamatto Micropayments","1.7","jamatto","https:\u002F\u002Fprofiles.wordpress.org\u002Fjamatto\u002F","\u003Cp>Have you ever considered turning your blogging into a source of income?  In fewer than 30 seconds, Jamatto lets you accept small payments from your readers – either through simple donation buttons or by placing your premium articles or even just your premium paragraphs behind enticing one-click paywalls.  Used by thousands of bloggers around the world.\u003C\u002Fp>\n\u003Cp>You can literally be up and running accepting micropayments on your blog in under 30 seconds.  Yes – that’s \u003Cstrong>less than 30 seconds\u003C\u002Fstrong>!\u003C\u002Fp>\n\u003Cp>Check out the Screenshots Tab to see how the plugin adds to your blog.\u003C\u002Fp>\n\u003Cp>The Screenshots Tab also shows you how to use the \u003Cstrong>[jamatto-donate]\u003C\u002Fstrong> and \u003Cstrong>[jamatto-premium]\u003C\u002Fstrong> shortcodes.  It’s really that simple.\u003C\u002Fp>\n","Have you considered turning your blogs into a source of income? In fewer than 30 seconds, Jamatto lets you accept small payments from your readers.",10,1520,100,1,"","4.8.28","3.0.1",[19,7,20,21,22],"donation","micropayments","premium","premium-content","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjamatto-micropayments.zip",0,null,"2026-03-15T10:48:56.248Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":11,"avg_security_score":13,"avg_patch_time_days":29,"trust_score":30,"computed_at":31},30,94,"2026-04-04T10:39:36.204Z",[33,53,74,93,111],{"slug":34,"name":35,"version":36,"author":37,"author_profile":38,"description":39,"short_description":40,"active_installs":24,"downloaded":41,"rating":24,"num_ratings":24,"last_updated":42,"tested_up_to":43,"requires_at_least":44,"requires_php":45,"tags":46,"homepage":50,"download_link":51,"security_score":13,"vuln_count":24,"unpatched_count":24,"last_vuln_date":25,"fetched_at":52},"recast-paywall","Recast Paywall","0.0.30","recastplugin","https:\u002F\u002Fprofiles.wordpress.org\u002Frecastplugin\u002F","\u003Cp>Transform your WordPress site into a premium content platform with Recast Paywall – a flexible paywall solution for WordPress.\u003C\u002Fp>\n\u003Ch3>Themeable Design\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Custom paywalls with theme integration support\u003C\u002Fli>\n\u003Cli>Responsive design that works on all devices\u003C\u002Fli>\n\u003Cli>Dark mode support\u003C\u002Fli>\n\u003Cli>Smooth animations and hover effects\u003C\u002Fli>\n\u003Cli>Theme customization via WordPress hooks and filters\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Content Gating\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Post-level gating – Gate entire posts\u003C\u002Fli>\n\u003Cli>Block-level gating – Gate individual blocks\u003C\u002Fli>\n\u003Cli>Toolbar integration – Easy toggle controls in the block editor toolbar\u003C\u002Fli>\n\u003Cli>Excerpt-based previews – Paywalls display post excerpts as preview text\u003C\u002Fli>\n\u003Cli>Automatic content synchronization with Recast inventory\u003C\u002Fli>\n\u003Cli>Real-time pricing display from your Recast dashboard\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>User Experience\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Login-first flow – Users must log in before purchasing (WordPress authentication)\u003C\u002Fli>\n\u003Cli>Seamless purchase process with immediate content access\u003C\u002Fli>\n\u003Cli>Status indicators showing availability (Pre-sale, Available, Coming Soon)\u003C\u002Fli>\n\u003Cli>One-click purchase with automatic content reveal\u003C\u002Fli>\n\u003Cli>Progressive enhancement for optimal performance\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Developer & Theme Integration\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>HTML customization via WordPress filters\u003C\u002Fli>\n\u003Cli>CSS framework with modern design patterns\u003C\u002Fli>\n\u003Cli>JavaScript hooks for custom purchase flows\u003C\u002Fli>\n\u003Cli>REST API for custom integrations\u003C\u002Fli>\n\u003Cli>WP-CLI support for command-line management\u003C\u002Fli>\n\u003Cli>Logging for troubleshooting\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Performance & Reliability\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Smart caching – Entitlement decisions cached for 5 minutes\u003C\u002Fli>\n\u003Cli>Memory optimization – Efficient processing for large sites\u003C\u002Fli>\n\u003Cli>Webhook support – Real-time updates from Recast\u003C\u002Fli>\n\u003Cli>Multisite ready – Works with WordPress multisite installations\u003C\u002Fli>\n\u003Cli>Security focused – API secrets never exposed, proper nonces, XSS protection\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Dual Editor Support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Classic Editor – Meta box integration for traditional workflows\u003C\u002Fli>\n\u003Cli>Block Editor (Gutenberg) – Native block support with Document Settings\u003C\u002Fli>\n\u003Cli>Toolbar Integration – Easy toggle controls for block-level gating\u003C\u002Fli>\n\u003Cli>Shortcode support – Easy integration with any theme\u003C\u002Fli>\n\u003Cli>Custom blocks – Dedicated Recast Paywall blocks\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Modern Web Standards\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Mobile-first responsive design\u003C\u002Fli>\n\u003Cli>Accessibility compliant (WCAG guidelines)\u003C\u002Fli>\n\u003Cli>Keyboard navigation support\u003C\u002Fli>\n\u003Cli>Screen reader friendly\u003C\u002Fli>\n\u003Cli>Modern CSS with fallbacks\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Use Cases:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Content creators looking to monetize premium articles\u003C\u002Fli>\n\u003Cli>News sites wanting to gate exclusive content\u003C\u002Fli>\n\u003Cli>Educational platforms selling courses and tutorials\u003C\u002Fli>\n\u003Cli>Membership sites with tiered access levels\u003C\u002Fli>\n\u003Cli>Theme developers needing customizable paywall solutions\u003C\u002Fli>\n\u003Cli>Agencies building premium content sites for clients\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin connects to the Recast API service to manage content monetization, inventory synchronization, and user entitlements. The Recast API is essential for the plugin’s core functionality.\u003C\u002Fp>\n\u003Cp>Sandbox keys are obtained via: http:\u002F\u002Fbusiness.recast-sandbox.tv\u002Fapi-register\u003C\u002Fp>\n\u003Cp>To setup a production Recast Merchant Account and obtain API keys, visit: http:\u002F\u002Fbusiness.recast.tv\u002Fapi-register\u003C\u002Fp>\n\u003Ch3>Recast API Service\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Service Provider\u003C\u002Fstrong>: Recast (recastpay.com)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Production API\u003C\u002Fstrong>: \u003Ccode>https:\u002F\u002Fapi.recast.tv\u002Fapi\u002Fv0\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Sandbox API\u003C\u002Fstrong>: \u003Ccode>https:\u002F\u002Fapi.recast-sandbox.tv\u002Fapi\u002Fv0\u003C\u002Fcode> (used when sandbox mode is enabled in settings)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What the service is used for:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Managing content inventory – Syncing WordPress posts as products in Recast inventory\u003Cbr \u002F>\n* Checking user entitlements – Verifying if users have purchased access to premium content\u003Cbr \u002F>\n* Creating purchase intents – Initiating purchase flows for users to buy premium content\u003Cbr \u002F>\n* Receiving webhooks – Processing real-time updates about entitlements and inventory changes\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What data is sent and when:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>API Credentials\u003C\u002Fstrong> (API Key, API Secret, Brand ID)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Sent: When authenticating API requests (used to generate JWT tokens)\u003C\u002Fli>\n\u003Cli>When: On every API request after initial authentication\u003C\u002Fli>\n\u003Cli>Stored: Only in WordPress database (never exposed to frontend)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>User Identification Data\u003C\u002Fstrong> (WordPress User IDs, mapped to external user IDs)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Sent: When checking if a user has access to premium content\u003C\u002Fli>\n\u003Cli>When: Every time a user views a paywalled post (if not cached)\u003C\u002Fli>\n\u003Cli>Purpose: To verify purchase entitlements\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Product\u002FPost Data\u003C\u002Fstrong> (Post titles, descriptions, IDs, pricing, status, geographic availability)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Sent: When posts are published or updated in WordPress\u003C\u002Fli>\n\u003Cli>When: Automatically when posts are saved if paywall is enabled\u003C\u002Fli>\n\u003Cli>Purpose: To synchronize WordPress content with Recast inventory\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Purchase Intent Data\u003C\u002Fstrong> (User ID, Product ID, optional pricing details)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Sent: When a user initiates a purchase of premium content\u003C\u002Fli>\n\u003Cli>When: When the purchase button is clicked on a paywall\u003C\u002Fli>\n\u003Cli>Purpose: To create purchase intents in the Recast system\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Webhook Receipt\u003C\u002Fstrong> (Entitlement and inventory event data)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Received: When events occur in Recast (entitlements created\u002Fupdated, products updated)\u003C\u002Fli>\n\u003Cli>When: Real-time when webhooks are configured\u003C\u002Fli>\n\u003Cli>Purpose: To keep WordPress in sync with Recast system state\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Links to Service Policies:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Merchant Terms of Service: https:\u002F\u002Frecastpay.com\u002Fvendor-terms-and-conditions\u003Cbr \u002F>\n* User Terms and Conditions: https:\u002F\u002Frecastpay.com\u002Fterms-and-conditions\u003Cbr \u002F>\n* Privacy Policy: https:\u002F\u002Frecastpay.com\u002Fprivacy-policy\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Note\u003C\u002Fstrong>: All API communications use HTTPS encryption. API secrets are stored securely in your WordPress database and are never exposed to the frontend or transmitted in a way that could be intercepted.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch3>Content Gating Modes\u003C\u002Fh3>\n\u003Cp>The plugin supports two gating modes that can be toggled per post:\u003C\u002Fp>\n\u003Ch4>\u003Cstrong>Post-Level Gating (Default)\u003C\u002Fstrong>\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Gates the entire post content behind a paywall\u003C\u002Fli>\n\u003Cli>Shows a beautiful Medium.com-style paywall with post excerpt\u003C\u002Fli>\n\u003Cli>Best for premium articles and exclusive content\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Preview Text\u003C\u002Fstrong>: Uses the post excerpt (set in post editor sidebar)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>\u003Cstrong>Block-Level Gating\u003C\u002Fstrong>\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Allows selective gating of individual blocks within a post\u003C\u002Fli>\n\u003Cli>Provides more granular control over what content is premium\u003C\u002Fli>\n\u003Cli>Perfect for mixed free\u002Fpremium content strategies\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Setting Up Content Gating\u003C\u002Fh3>\n\u003Ch4>1. Choose Your Gating Mode\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Create or edit a post\u003C\u002Fli>\n\u003Cli>In the \u003Cstrong>Document Settings\u003C\u002Fstrong> panel (Block Editor) or \u003Cstrong>“Recast Paywall”\u003C\u002Fstrong> meta box (Classic Editor)\u003C\u002Fli>\n\u003Cli>Select your gating mode:\n\u003Cul>\n\u003Cli>\u003Cstrong>“Post”\u003C\u002Fstrong> – Gate the entire post (default)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Block”\u003C\u002Fstrong> – Enable block-level gating\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Save and Publish the post – it will automatically sync with Recast\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>2. Post-Level Gating\u003C\u002Fh4>\n\u003Cp>When using \u003Cstrong>Post\u003C\u002Fstrong> mode:\u003Cbr \u002F>\n* The entire post content is gated behind a paywall\u003Cbr \u002F>\n* Users see the post excerpt and purchase options\u003Cbr \u002F>\n* On archive\u002Flist pages, only the excerpt is shown (no content leak)\u003Cbr \u002F>\n* \u003Cstrong>Tip\u003C\u002Fstrong>: Set a compelling excerpt to encourage purchases!\u003C\u002Fp>\n\u003Ch4>3. Block-Level Gating\u003C\u002Fh4>\n\u003Cp>When using \u003Cstrong>Block\u003C\u002Fstrong> mode:\u003Cbr \u002F>\n* Individual blocks can be marked for gating using the block’s toolbar\u003Cbr \u002F>\n* Users see full content except for gated blocks\u003Cbr \u002F>\n* Gated blocks show streamlined paywall sections\u003C\u002Fp>\n\u003Ch3>Block-Level Gating with Toolbar Integration\u003C\u002Fh3>\n\u003Ch4>Using the Block Toolbar\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Enable Block Mode\u003C\u002Fstrong>: Set the post gating mode to \u003Cstrong>“Block”\u003C\u002Fstrong> in Document Settings\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Select a Block\u003C\u002Fstrong>: Click on any block in the editor\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Access the Toolbar\u003C\u002Fstrong>: Look for the \u003Cstrong>“Recast Paywall”\u003C\u002Fstrong> toggle in the block toolbar\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Toggle Gating\u003C\u002Fstrong>: Click the toggle to mark\u002Funmark the block for gating\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Visual Indicator\u003C\u002Fstrong>: Gated blocks show a paywall icon in the editor\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Supported Block Types\u003C\u002Fh4>\n\u003Cp>Block-level gating works with most Gutenberg blocks:\u003Cbr \u002F>\n* Paragraphs\u003Cbr \u002F>\n* Headings\u003Cbr \u002F>\n* Images\u003Cbr \u002F>\n* Videos\u003Cbr \u002F>\n* Lists\u003Cbr \u002F>\n* Custom blocks\u003Cbr \u002F>\n* And more!\u003C\u002Fp>\n","Integrates RecastPay to monetize your content. Features automatic content synchronization and theme customization options.",156,"2026-01-13T09:41:00.000Z","6.8.5","6.2","8.0",[47,20,48,49,22],"content-gating","monetization","paywall","https:\u002F\u002Frecastpay.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frecast-paywall.0.0.30.zip","2026-03-15T15:16:48.613Z",{"slug":54,"name":55,"version":56,"author":57,"author_profile":58,"description":59,"short_description":60,"active_installs":61,"downloaded":62,"rating":63,"num_ratings":11,"last_updated":64,"tested_up_to":65,"requires_at_least":66,"requires_php":15,"tags":67,"homepage":71,"download_link":72,"security_score":73,"vuln_count":24,"unpatched_count":24,"last_vuln_date":25,"fetched_at":52},"steady-wp","Steady for WordPress","1.3.3","Steady","https:\u002F\u002Fprofiles.wordpress.org\u002Fsteadyhq\u002F","\u003Ch4>Earn money with your blog or podcast\u003C\u002Fh4>\n\u003Cp>Steady enables readers and listeners to support the projects they cannot do without, by becoming members.\u003C\u002Fp>\n\u003Cp>Members offer sustainable support for projects and personalities, not because they have to, but because they want to. Members are more loyal and committed than subscribers. And members liberate media. Join the membership revolution!\u003C\u002Fp>\n\u003Ch4>Steady Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Recurring payments:\u003C\u002Fstrong> Your members support you with monthly or annual payments (for example, 3 EUR per month). You can offer a range of price levels and set the prices to best suit your project.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Goals:\u003C\u002Fstrong> Set financial goals to help spur potential members into action.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Paywall:\u003C\u002Fstrong> With just a few clicks you can set up a paywall to protect members-only content.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Adblock Detection:\u003C\u002Fstrong> Are your readers using ad-blockers? Steady enables you to present them with a friendly, customizable prompt to say that an ad-blocker has been detected and suggest they sign-up as a member.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Full service:\u003C\u002Fstrong> Steady takes care of billing and taxation. You receive your money once a month.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>All major payment methods:\u003C\u002Fstrong> Direct debit, credit card or PayPal.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No strings attached:\u003C\u002Fstrong> Steady takes a 10% commission, but only once you start earning.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Memberships with Paywall Plugin\u003C\u002Fh4>\n\u003Cp>The Steady Paywall is an easy-to-integrate tool that displays content to members only. If you want to restrict access to certain content and encourage visitors to become paying members, the Steady Paywall is the ideal tool to use. It takes just minutes to integrate into your website, is easy to configure (no programming skills required!) and is compatible with most desktop browsers and mobile devices.\u003C\u002Fp>\n\u003Ch4>Need a Paywall? Steady can help!\u003C\u002Fh4>\n\u003Cp>Set up a paywall for your WordPress Blog by installing the Steady WordPress Plugin. You can decide when and how to restrict content in each article. All you need to do is click the Steady Button in your WordPress editor at your preferred starting point. Steady will then blur out the remaining content and display a preconfigured message. The Paywall directs visitors to your Steady page, where they can select one of your membership plans. The Steady WordPress Paywall is a simple and straightforward way to protect your premium content for paying members only. And there’s no need to integrate payment providers: Steady takes care of that, too.\u003C\u002Fp>\n\u003Ch4>Adblock Detection\u003C\u002Fh4>\n\u003Cp>Adblock Detection is an additional feature that can be combined with the Steady Paywall Plugin. Adblock Detection helps you benefit from visitors who are avoiding advertising, by creating an opportunity to suggest they become a member, instead. Steady’s AdBlock Detection recognizes when visitors to your website are using ad-blocker software and displays a message which you can customize yourself. You can also set the strength of your adwall – can visitors simply click to close the message, or must they always pay to read? It’s up to you.\u003C\u002Fp>\n","Steady is the perfect plugin for regular payments: offer subscriptions, pledges, use a flexible paywall or start a subscription crowdfunding campaign.",600,15157,60,"2024-10-23T04:42:00.000Z","6.6.5","4.7",[68,69,70,49,22],"content-monetisation","content-monetization","paid-content","https:\u002F\u002FsteadyHQ.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsteady-wp.zip",92,{"slug":75,"name":76,"version":77,"author":78,"author_profile":79,"description":80,"short_description":81,"active_installs":11,"downloaded":82,"rating":24,"num_ratings":24,"last_updated":83,"tested_up_to":84,"requires_at_least":17,"requires_php":15,"tags":85,"homepage":90,"download_link":91,"security_score":92,"vuln_count":24,"unpatched_count":24,"last_vuln_date":25,"fetched_at":52},"b2-private-files","B2 Private Files","1.0.2","Darwin Biler","https:\u002F\u002Fprofiles.wordpress.org\u002Fdarwinbiler\u002F","\u003Cp>If you have a digital products (downloadable pdf, mp3, mp4 etc) that is supposedly being accessed by registered\u002Fpaying users, uploading them into the standard media library have problems:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>the files in \u003Ccode>wp-content\u002Fuploads\u003C\u002Fcode> is publicly accessible, and anyone can basically download the file directly there\u003C\u002Fli>\n\u003Cli>huge files like movies or software installers will weigh your entire website down (specially when multiple users is gonna be downloading them)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin allows you to securely share files to your website users by passing a token to the url. For example, here is a file hosted in B2 Backblaze\u003C\u002Fp>\n\u003Cp>https:\u002F\u002Ff001.backblazeb2.com\u002Ffile\u002Fwp-b2-private-files\u002Fkey.jpg?Authorization=4_0018c3b251e15120000000012_01a459bb_2f35e1_acct_QGJ-TljNx-NqgRLi1dff_XGJjlQ=\u003C\u002Fp>\n\u003Cp>note that simply accessing \u003Ccode>https:\u002F\u002Ff001.backblazeb2.com\u002Ffile\u002Fwp-b2-private-files\u002Fkey.jpg\u003C\u002Fcode> wont work, as the file is token-protected.\u003Cbr \u002F>\nthe plugin generates the value for \u003Ccode>Authorization\u003C\u002Fcode> parameter when your post\u002Fpage is rendered. The token can be only generated from your website, thus its impossible for any other site to crawl your site and scrape the files.\u003C\u002Fp>\n\u003Cp>Each token generated can be also configured to expire after N minutes. So if lets say you generated a download link to a big installer, people cant re-use the same link and paste it in public forums, chats etc.\u003Cbr \u002F>\nBecause the link will expire after few minutes, which makes it hard for user to share file to non-registered users.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to Media > Add New (Private)\u003C\u002Fli>\n\u003Cli>Upload any file\u003C\u002Fli>\n\u003Cli>Go to Media > Library (Private)\u003C\u002Fli>\n\u003Cli>Click “Shortcode” for the file you just uploaded\u003C\u002Fli>\n\u003Cli>Paste the shortcode anywhere you wanted to show the link\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Generally the shortcode looks like this:\u003C\u002Fp>\n\u003Cp>[b2-private-file-button filename=”my-installer.zip”]\u003C\u002Fp>\n\u003Cp>the above shortcode will generate a button with caption “Download”, pointing to the Backblaze B2 file with token passed to it.\u003C\u002Fp>\n","Serve token-protected files hosted in Backblaze B2 in your WordPress Site",829,"2022-08-18T08:57:00.000Z","6.0.11",[86,87,88,22,89],"digital-rights","download","media-library","protect-assets","https:\u002F\u002Fgithub.com\u002Fbuonzz\u002Fb2-private-files","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fb2-private-files.zip",85,{"slug":94,"name":95,"version":96,"author":97,"author_profile":98,"description":99,"short_description":100,"active_installs":11,"downloaded":101,"rating":24,"num_ratings":24,"last_updated":102,"tested_up_to":103,"requires_at_least":104,"requires_php":15,"tags":105,"homepage":109,"download_link":110,"security_score":92,"vuln_count":24,"unpatched_count":24,"last_vuln_date":25,"fetched_at":52},"member-minder","Member Minder","v0.7.2","James Andrews","https:\u002F\u002Fprofiles.wordpress.org\u002Fthenetimp\u002F","\u003Cp>Member Minder is a WordPress plugin that allows a site owner to decide who sees what content based on roles that a user is given.  Roles must be non administrative and be specifically level_0 privileged, since it makes no sense to restrict users on the front end who have privileges to edit on the back end.\u003C\u002Fp>\n\u003Ch3>\u003C\u002Fh3>\n\u003Cp>You can also hide content from unprivileged users by use the [memberminder] short code.  To do so you need a required attribute “secure”.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[memberminder secure=\"members-only\"]This content is only viewable by members[\u002Fmemberminder]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The text “This content is only viewable by members” will only be displayed if the user has the role “members-only”.  To allow more than one role to view the content add roles in a comma delimited list without spaces like so.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[memberminder secure=\"members-only,friends\"]This content is only viewable by members[\u002Fmemberminder]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Now the roles “members-only” and “friends” can view the content.\u003C\u002Fp>\n\u003Cp>When using short codes if a user is not in the “secure” role(s). The content simply does not display.  There will be no message to indicate that there is even any content where the short code is.  This allows for content injection based on roles on a page or post.  If you want the default message to show simply add the attribute ‘enable_alt_text=”true”‘ to your short code like this.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[memberminder secure=\"members-only\" enable_alt_text=\"true\"]This content is only viewable by members[\u002Fmemberminder]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Now the default message for secure content will show up where the shortcode is placed.\u003C\u002Fp>\n\u003Cp>Roles\u003C\u002Fp>\n\u003Ch3>\u003C\u002Fh3>\n\u003Cp>The plugin does not currently support the addition of roles.  Please use another plugin such as\u003C\u002Fp>\n\u003Cp>https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fuser-role-editor\u002F\u003C\u002Fp>\n\u003Cp>Please note that in order to lock a user out of viewing content they must be level_0 and only be able to “read” as a capability.\u003C\u002Fp>\n","Member minder allows you to provide premium content to users with specific roles. Allowing for an easy subscriber based content system.",2031,"2012-07-11T01:48:00.000Z","3.4.2","3.4.1",[106,107,108],"content-management","members","premium-content-management","http:\u002F\u002Fjamesmandrews.com\u002Fprojects\u002Fmember-minder","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmember-minder.zip",{"slug":112,"name":113,"version":114,"author":115,"author_profile":116,"description":117,"short_description":118,"active_installs":24,"downloaded":119,"rating":13,"num_ratings":14,"last_updated":120,"tested_up_to":121,"requires_at_least":15,"requires_php":15,"tags":122,"homepage":127,"download_link":128,"security_score":129,"vuln_count":130,"unpatched_count":14,"last_vuln_date":131,"fetched_at":52},"crm-memberships","CRM Memberships","2.7","dripadmin","https:\u002F\u002Fprofiles.wordpress.org\u002Fdripadmin\u002F","\u003Cp>CRM Memberships plugin allows restricting your content to paid or registered members only. Use it for creating online courses, marketing funnel fulfillment etc. CRM Memberships plugin also allows easy integration of WordPress with CRMS such as Salesforce.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Publications\u003C\u002Fstrong>: Create courses and publications. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content Protection\u003C\u002Fstrong>: Allows restricting your content to paid or registered members only.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Access Tags\u003C\u002Fstrong>: Tag based permissions. Add permission tags to any posts, pages, categories or user profiles! \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Publication Wizard\u003C\u002Fstrong>: Create publications easily and associate access tags. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Publication Gallery\u003C\u002Fstrong>: Out of the box gallery page that lists all active publications. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Compatibility\u003C\u002Fstrong> Works with your existing contents.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Measure User Engagement\u003C\u002Fstrong>: Identify popular publications based on user actions. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Subscriber Reports\u003C\u002Fstrong>: List subscribers by Access Tags. \u003C\u002Fli>\n\u003Cli>Works with Salesforce CRM using our (\u003Ca href=\"http:\u002F\u002Fnetesenz.com\u002F\" rel=\"nofollow ugc\">Managed Package for Salesforce\u003C\u002Fa>).\u003C\u002Fli>\n\u003Cli>Integration & Migration Help. \u003Ca href=\"http:\u002F\u002Fnetesenz.com\u002Fcontact-us.html\u002F\" rel=\"nofollow ugc\">Get it\u003C\u002Fa> for importing data from other CRM and membership products.\u003C\u002Fli>\n\u003Cli>Priority Support. \u003Ca href=\"http:\u002F\u002Fnetesenz.com\u002Fcontact-us.html\u002F\" rel=\"nofollow ugc\">Get it\u003C\u002Fa> Priority support plan will help you get the help from a dedicated team.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>CRM Integration\u003C\u002Fstrong> We are going to add more CRM support in the future. You can request the one you want and we will add it for you on a priority basis! \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy to use\u003C\u002Fstrong> Works out of the box with Minimal Settings\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shortcodes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Shortcode for CRM Memberships – Login page [ntzcrm_login] \u003C\u002Fli>\n\u003Cli>Shortcode for CRM Memberships – Publications page [ntzcrm_publications]\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>We try our best to provide support on WordPress.org forums. However, We have a special \u003Ca href=\"http:\u002F\u002Fnetesenz.com\u002Fcontact-us.html\u002F\" rel=\"nofollow ugc\">team support\u003C\u002Fa> where you can ask us questions and get help. Delivering a good user experience means a lot to us and so we try our best to reply each and every question that gets asked.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Select2 used https:\u002F\u002Fgithub.com\u002Fselect2\u002Fselect2 – License URI: https:\u002F\u002Fgithub.com\u002Fselect2\u002Fselect2\u002Fblob\u002Fdevelop\u002FLICENSE.md,\u003C\u002Fli>\n\u003Cli>jquery-timepicker used https:\u002F\u002Fgithub.com\u002Fjonthornton\u002Fjquery-timepicker\u003C\u002Fli>\n\u003C\u002Ful>\n","WordPress plugin for content protection, membership management, and CRM integration. Create courses, restrict content, and integrate with CRMs.",3162,"2026-02-18T10:35:00.000Z","6.9.4",[123,124,125,22,126],"content-protection","memberships","online-courses","subscriptions","https:\u002F\u002Fntzapps.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcrm-memberships.2.7.zip",66,3,"2025-12-04 16:27:00",{"attackSurface":133,"codeSignals":166,"taintFlows":174,"riskAssessment":203,"analyzedAt":212},{"hooks":134,"ajaxHandlers":150,"restRoutes":151,"shortcodes":152,"cronEvents":165,"entryPointCount":130,"unprotectedCount":24},[135,141,146],{"type":136,"name":137,"callback":138,"file":139,"line":140},"action","wp_enqueue_scripts","JAMATTO_load_scripts","jamatto-micropayments.php",49,{"type":142,"name":143,"callback":144,"file":139,"line":145},"filter","the_content","JAMATTO_process_default_donate",51,{"type":136,"name":147,"callback":148,"file":139,"line":149},"admin_menu","JAMATTO_DONATIONS_config_setup_menu",251,[],[],[153,157,161],{"tag":154,"callback":155,"file":139,"line":156},"jamatto-donate","shortcode_jamatto_donate",130,{"tag":158,"callback":159,"file":139,"line":160},"jamatto-debug","shortcode_jamatto_debug",145,{"tag":162,"callback":163,"file":139,"line":164},"jamatto-premium","shortcode_jamatto_premium",245,[],{"dangerousFunctions":167,"sqlUsage":168,"outputEscaping":170,"fileOperations":24,"externalRequests":24,"nonceChecks":24,"capabilityChecks":14,"bundledLibraries":173},[],{"prepared":24,"raw":24,"locations":169},[],{"escaped":171,"rawEcho":24,"locations":172},52,[],[],[175,194],{"entryPoint":176,"graph":177,"unsanitizedCount":14,"severity":193},"_JAMATTO_DONATIONS_safe_update_option (jamatto-micropayments.php:258)",{"nodes":178,"edges":190},[179,184],{"id":180,"type":181,"label":182,"file":139,"line":183},"n0","source","$_POST",260,{"id":185,"type":186,"label":187,"file":139,"line":188,"wp_function":189},"n1","sink","update_option() [Settings Manipulation]",265,"update_option",[191],{"from":180,"to":185,"sanitized":192},false,"low",{"entryPoint":195,"graph":196,"unsanitizedCount":24,"severity":193},"\u003Cjamatto-micropayments> (jamatto-micropayments.php:0)",{"nodes":197,"edges":200},[198,199],{"id":180,"type":181,"label":182,"file":139,"line":183},{"id":185,"type":186,"label":187,"file":139,"line":188,"wp_function":189},[201],{"from":180,"to":185,"sanitized":202},true,{"summary":204,"deductions":205},"The jamatto-micropayments plugin v1.7 appears to have a generally strong security posture based on the static analysis. It demonstrates good practices by using prepared statements for all SQL queries and properly escaping all output. The absence of dangerous functions, file operations, and external HTTP requests further contributes to a reduced attack surface. The plugin also correctly implements capability checks, though the lack of nonce checks is a notable concern, especially given the presence of shortcodes which can be invoked by users.\n\nThe taint analysis revealed one flow with an unsanitized path. While classified as not critical or high, this indicates a potential weakness where user-supplied data might not be sufficiently cleaned before being used in a sensitive operation. This, combined with the lack of nonce checks on the three identified shortcodes, presents a potential avenue for certain types of attacks if user input is not meticulously handled within the shortcode execution.\n\nThe plugin's vulnerability history is clean, with no recorded CVEs. This is a positive indicator, suggesting that the developers have either maintained a high level of security or that the plugin has not been a significant target for widespread vulnerability discovery. However, the absence of historical vulnerabilities does not guarantee future security, and the issues identified in the static analysis should still be addressed.",[206,209],{"reason":207,"points":208},"Taint flow with unsanitized path",8,{"reason":210,"points":211},"Shortcodes present without nonce checks",5,"2026-03-16T23:21:29.096Z",{"wat":214,"direct":220},{"assetPaths":215,"generatorPatterns":216,"scriptPaths":217,"versionParams":219},[],[],[218],"\u002F\u002Fcdn.jamatto.com\u002Fapi\u002Fjs\u002Fjamatto.min.js",[],{"cssClasses":221,"htmlComments":223,"htmlAttributes":224,"restEndpoints":236,"jsGlobals":237,"shortcodeOutput":238},[222],"jamatto-purchase",[],[225,226,227,228,229,230,231,232,233,234,235],"jamatto-bid","jamatto-prompt","jamatto-caption","jamatto-amount","jamatto-ccy","jamatto-item","jamatto-title","jamatto-description","jamatto-make-visible-id","jamatto-make-invisible-id","jamatto-tags",[],[],[239,240,241,242,243,244,245,246,247,248,249,250],"\u003Ci class=\"jamatto-purchase\" jamatto-bid=\"","jamatto-prompt=\"","jamatto-caption=\"","jamatto-amount=\"","jamatto-ccy=\"","jamatto-item=\"","jamatto-title=\"","jamatto-description=\"","jamatto-make-visible-id=\"","jamatto-make-invisible-id=\"","\u003Ci class=\"jamatto-purchase\" jamatto-make-visible-id=\"","jamatto-tags=\""]