{"id":376133,"date":"2026-10-14T05:23:21","date_gmt":"2026-10-14T05:23:21","guid":{"rendered":"https:\/\/fr.wordpress.org\/plugins\/fingerprint-anti-bot-proof-of-work\/"},"modified":"2026-10-14T05:23:06","modified_gmt":"2026-10-14T05:23:06","slug":"anonympins-bot-mitigation-pow","status":"publish","type":"plugin","link":"https:\/\/lmo.wordpress.org\/plugins\/anonympins-bot-mitigation-pow\/","author":23574366,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.8.5","stable_tag":"0.8.5","tested":"7.1.3","requires":"5.9","requires_php":"8.0","requires_plugins":null,"header_name":"Anonympins Bot Mitigation with Proof-of-Work","header_author":"anonympins","header_description":"High-performance client-side anti-bot protection and Proof-of-Work challenge verification for WordPress.","assets_banners_color":"","last_updated":"2026-10-14 05:23:06","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/anonympins\/fingerprint","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":63,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq"],"tags":{"0.8.5":{"tag":"0.8.5","author":"anonympins","date":"2026-10-14 05:23:06","revision":3745380}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3747651,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3747651,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.8.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3747673,"resolution":"1","location":"assets","locale":"","width":2251,"height":1471},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3747673,"resolution":"2","location":"assets","locale":"","width":2257,"height":1503},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3747673,"resolution":"3","location":"assets","locale":"","width":2253,"height":1549},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3747673,"resolution":"4","location":"assets","locale":"","width":2257,"height":1543}},"screenshots":[]},"plugin_section":[],"plugin_tags":[55129,166108,1174,34331,600],"plugin_category":[54],"plugin_contributors":[286642],"plugin_business_model":[],"class_list":["post-376133","plugin","type-plugin","status-publish","hentry","plugin_tags-anti-scraping","plugin_tags-bot-protection","plugin_tags-firewall","plugin_tags-proof-of-work","plugin_tags-security","plugin_category-security-and-spam-protection","plugin_contributors-anonympins","plugin_committers-anonympins"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/anonympins-bot-mitigation-pow\/assets\/icon-128x128.png?rev=3747651","icon_2x":"https:\/\/ps.w.org\/anonympins-bot-mitigation-pow\/assets\/icon-256x256.png?rev=3747651","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/anonympins-bot-mitigation-pow\/assets\/screenshot-1.png?rev=3747673","caption":""},{"src":"https:\/\/ps.w.org\/anonympins-bot-mitigation-pow\/assets\/screenshot-2.png?rev=3747673","caption":""},{"src":"https:\/\/ps.w.org\/anonympins-bot-mitigation-pow\/assets\/screenshot-3.png?rev=3747673","caption":""},{"src":"https:\/\/ps.w.org\/anonympins-bot-mitigation-pow\/assets\/screenshot-4.png?rev=3747673","caption":""}],"raw_content":"<!--section=description-->\n<p>Anonympins Bot Mitigation with Proof-of-Work is a high-performance, privacy-friendly bot mitigation engine for WordPress. It combines behavioral telemetry, TLS\/HTTP2\/QUIC transport inspection (JA3, JA4), passive TCP\/IP stack analysis, and asynchronous Proof-of-Work (PoW) verification.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Transparent protection against scrapers, credential stuffers, and inventory scalpers.<\/li>\n<li>Multi-layered behavioral analysis (mouse, keystrokes, touch dynamics).<\/li>\n<li>Cryptographic Proof-of-Work challenges (CPU and Memory bound) without third-party CAPTCHA cookies or trackers.<\/li>\n<li>Prometheus-compatible metrics endpoint for monitoring and observability.<\/li>\n<li>Dedicated Sandbox \/ Dry-Run mode with IP targeting for testing without blocking legitimate traffic.<\/li>\n<li>Tailored security profiles for Frontend, Admin Area (wp-login), and REST API endpoints.<\/li>\n<li>Real-time suspicion vector inspection via Server-Sent Events (SSE), REST telemetry, and DOM CustomEvents.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/anonympins-bot-mitigation-pow<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Navigate to <strong>Settings -&gt; Anonympins Bot Mitigation<\/strong> to review security profiles, threshold adjustments, and Prometheus metrics.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20an%20external%20cloud%20service%3F\"><h3>Does this plugin require an external cloud service?<\/h3><\/dt>\n<dd><p>No. All evaluations, challenges, and validations occur directly on your WordPress server and client browser.<\/p><\/dd>\n<dt id=\"is%20https%20required%3F\"><h3>Is HTTPS required?<\/h3><\/dt>\n<dd><p>HTTPS is strongly recommended. Under unencrypted HTTP, modern browsers disable the Web Cryptography API (<code>crypto.subtle<\/code>), which reduces challenge verification performance.<\/p><\/dd>\n<dt id=\"how%20do%20i%20scrape%20the%20prometheus%20metrics%20endpoint%3F\"><h3>How do I scrape the Prometheus metrics endpoint?<\/h3><\/dt>\n<dd><p>Metrics can be accessed in standard Prometheus text exposition format via:\n1. The REST API endpoint: <code>GET \/wp-json\/fingerprint\/v1\/metrics<\/code> (Requires <code>manage_options<\/code> permission or a custom authorization callback hooked into the <code>fingerprint_metrics_access<\/code> filter).\n2. Direct path endpoint: <code>GET \/metrics<\/code> (Evaluated in early execution lifecycle; filterable with <code>fingerprint_metrics_authorization<\/code>).\n3. The admin dashboard: <strong>Settings -&gt; Anonympins Bot Mitigation -&gt; Prometheus Stream<\/strong>.<\/p><\/dd>\n<dt id=\"how%20can%20i%20monitor%20incoming%20request%20suspicion%20scores%20in%20real%20time%3F\"><h3>How can I monitor incoming request suspicion scores in real time?<\/h3><\/dt>\n<dd><p>Under <strong>Settings -&gt; Anonympins Bot Mitigation -&gt; Sandbox \/ Test Mode<\/strong>, the plugin provides real-time observability interfaces for all challenged visitors across the website:<\/p>\n\n<ol>\n<li><p><strong>Server-Sent Events (SSE)<\/strong>:\nGET \/wp-json\/fingerprint\/v1\/sandbox\/sse\nStreams timestamped telemetry objects containing <code>id<\/code>, <code>timestamp<\/code>, <code>ip<\/code>, <code>uri<\/code>, <code>action<\/code>, <code>suspicionScore<\/code>, and <code>suspicionVector<\/code> for every challenged visitor.<\/p><\/li>\n<li><p><strong>REST Telemetry Polling<\/strong>:\nGET \/wp-json\/fingerprint\/v1\/sandbox\/telemetry\nReturns the latest list and evaluated challenge payloads across all visitors in JSON format.<\/p><\/li>\n<li><p><strong>Client-side JavaScript event<\/strong>:\nEvery page emits a DOM <code>CustomEvent('fingerprint:suspicion')<\/code> and sets <code>window.__FINGERPRINT_VECTOR__<\/code> when Sandbox mode is active or when an administrator is authenticated.<\/p><\/li>\n<\/ol><\/dd>\n\n<\/dl>","raw_excerpt":"High-performance client-side anti-bot protection and Proof-of-Work challenge verification for WordPress without third-party CAPTCHA.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/376133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=376133"}],"author":[{"embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/anonympins"}],"wp:attachment":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=376133"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=376133"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=376133"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=376133"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=376133"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=376133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}