{"id":358471,"date":"2026-09-12T12:08:19","date_gmt":"2026-09-12T12:08:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/truesift\/"},"modified":"2026-09-12T12:07:42","modified_gmt":"2026-09-12T12:07:42","slug":"truesift","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/truesift\/","author":23547654,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.18","stable_tag":"1.0.18","tested":"7.1","requires":"6.6","requires_php":"8.1","requires_plugins":null,"header_name":"TrueSift","header_author":"WebDigiTech","header_description":"Privacy-first automated human verification for WordPress forms, WooCommerce, and popular form plugins.","assets_banners_color":"936256","last_updated":"2026-09-12 12:07:42","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/truesift.de\/","header_author_uri":"https:\/\/webdigitech.de\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":35,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.18":{"tag":"1.0.18","author":"webdigitech","date":"2026-09-12 12:07:42","revision":3692660}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3692660,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3692660,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3692660,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3692660,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.18"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3692660,"resolution":"1","location":"assets","locale":"","width":1600,"height":808},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3692660,"resolution":"2","location":"assets","locale":"","width":1600,"height":808},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3692660,"resolution":"3","location":"assets","locale":"","width":1600,"height":808},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3692660,"resolution":"4","location":"assets","locale":"","width":1600,"height":808},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3692660,"resolution":"5","location":"assets","locale":"","width":1600,"height":808},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3692660,"resolution":"6","location":"assets","locale":"","width":1600,"height":808}},"screenshots":{"1":"Connect WordPress to TrueSift with securely stored site credentials and the official TrueSift API service.","2":"Choose between Checkbox, Banner, Inline, and Badge layouts and configure theme, language, size, and appearance.","3":"Enable TrueSift protection for WordPress login, registration, password reset, comments, and WooCommerce forms.","4":"Protect WooCommerce customer actions, classic and block checkout, product reviews, and supported form plugins.","5":"Built-in diagnostics for the TrueSift plugin, SDK, security contract, and WordPress runtime environment.","6":"Privacy-conscious debugging, settings import and export, and administrator maintenance tools."}},"plugin_section":[],"plugin_tags":[2656,166108,362,35445,286],"plugin_category":[44,45,54],"plugin_contributors":[280370],"plugin_business_model":[],"class_list":["post-358471","plugin","type-plugin","status-publish","hentry","plugin_tags-anti-spam","plugin_tags-bot-protection","plugin_tags-captcha","plugin_tags-human-verification","plugin_tags-woocommerce","plugin_category-discussion-and-community","plugin_category-ecommerce","plugin_category-security-and-spam-protection","plugin_contributors-webdigitech","plugin_committers-webdigitech"],"banners":{"banner":"https:\/\/ps.w.org\/truesift\/assets\/banner-772x250.png?rev=3692660","banner_2x":"https:\/\/ps.w.org\/truesift\/assets\/banner-1544x500.png?rev=3692660","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/truesift\/assets\/icon-128x128.png?rev=3692660","icon_2x":"https:\/\/ps.w.org\/truesift\/assets\/icon-256x256.png?rev=3692660","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/truesift\/assets\/screenshot-1.png?rev=3692660","caption":"Connect WordPress to TrueSift with securely stored site credentials and the official TrueSift API service."},{"src":"https:\/\/ps.w.org\/truesift\/assets\/screenshot-2.png?rev=3692660","caption":"Choose between Checkbox, Banner, Inline, and Badge layouts and configure theme, language, size, and appearance."},{"src":"https:\/\/ps.w.org\/truesift\/assets\/screenshot-3.png?rev=3692660","caption":"Enable TrueSift protection for WordPress login, registration, password reset, comments, and WooCommerce forms."},{"src":"https:\/\/ps.w.org\/truesift\/assets\/screenshot-4.png?rev=3692660","caption":"Protect WooCommerce customer actions, classic and block checkout, product reviews, and supported form plugins."},{"src":"https:\/\/ps.w.org\/truesift\/assets\/screenshot-5.png?rev=3692660","caption":"Built-in diagnostics for the TrueSift plugin, SDK, security contract, and WordPress runtime environment."},{"src":"https:\/\/ps.w.org\/truesift\/assets\/screenshot-6.png?rev=3692660","caption":"Privacy-conscious debugging, settings import and export, and administrator maintenance tools."}],"raw_content":"<!--section=description-->\n<p>TrueSift connects WordPress forms to the TrueSift verification service. It starts an automated browser challenge when a protected form is displayed, keeps the form submit action unavailable until an authoritative verification token is issued, and validates and atomically consumes that single-use token on the WordPress server before the protected action continues.<\/p>\n\n<p>The plugin does not implement a separate CAPTCHA protocol. Its browser runtime tracks the public <code>@truesift\/next<\/code> 0.3.0 client contract, and its PHP bridge uses the official TrueSift challenge, verify, and business-proof API contracts.<\/p>\n\n<h4>Included integrations<\/h4>\n\n<ul>\n<li>WordPress login<\/li>\n<li>WordPress registration<\/li>\n<li>WordPress password reset request<\/li>\n<li>WordPress comments<\/li>\n<li>WooCommerce customer login<\/li>\n<li>WooCommerce customer registration<\/li>\n<li>WooCommerce checkout (classic and Checkout Block)<\/li>\n<li>WooCommerce product reviews<\/li>\n<li>Contact Form 7<\/li>\n<li>WPForms<\/li>\n<li>Fluent Forms<\/li>\n<li>Elementor Pro Forms<\/li>\n<li>Manual shortcode and PHP helper integration<\/li>\n<\/ul>\n\n<p>The WooCommerce checkout integration supports both the classic shortcode checkout and the Checkout Block. Checkout Block proofs are carried through Store API extension data and validated before checkout processing.<\/p>\n\n<h4>Security model<\/h4>\n\n<p>The browser sends only an opaque <code>verificationToken<\/code> as security proof. Client-provided values such as <code>allowed<\/code>, <code>decision<\/code>, <code>score<\/code>, <code>status<\/code>, <code>failOpen<\/code>, <code>challengeId<\/code>, <code>action<\/code>, <code>path<\/code>, and <code>origin<\/code> are never trusted by the protected PHP action.<\/p>\n\n<p>The plugin sends the token together with a signed WordPress form context to the server. The PHP verifier calls TrueSift's proof endpoint with server-owned credentials and expected action, path, and origin. A normal success is accepted only when TrueSift confirms <code>allowed: true<\/code>, <code>decision: allow<\/code>, and atomic consumption through either <code>consumed: true<\/code> or a non-empty <code>consumedAt<\/code> timestamp. Replayed, expired, invalid, mismatched, reviewed, or blocked proofs are rejected.<\/p>\n\n<p>The bundled SDK 0.3.0 adapter may send only aggregate in-memory interaction counters for the current verification window, such as pointer, keyboard, focus, and blur counts. It does not send pointer coordinates, pressed keys, form contents, device fingerprints, or persistent visitor identifiers. Missing or insufficient behavioral telemetry remains neutral.<\/p>\n\n<h4>Visual modes<\/h4>\n\n<p>The admin page shows live, non-networked previews of all official layouts:<\/p>\n\n<ul>\n<li>Checkbox<\/li>\n<li>Banner<\/li>\n<li>Inline<\/li>\n<li>Badge<\/li>\n<\/ul>\n\n<p>Theme, language, size, and appearance can be configured globally.<\/p>\n\n<h4>Manual integration<\/h4>\n\n<p>Place the shortcode inside a form:<\/p>\n\n<pre><code>[truesift]\n<\/code><\/pre>\n\n<p>When used outside a form, the same shortcode renders a standalone visual verification status. Standalone mode does not protect a business action until it is associated with a form and server-side verification.<\/p>\n\n<p>For a form located elsewhere in the DOM:<\/p>\n\n<pre><code>[truesift form_selector=\"#contact-form\" button_selector=\"button[type=submit]\"]\n<\/code><\/pre>\n\n<p>A custom PHP handler must also validate the proof before performing its protected action:<\/p>\n\n<pre><code>$proof = truesift_verify_request();\n<\/code><\/pre>\n\n<p>Continue only when the returned value is not a <code>WP_Error<\/code> and its <code>allowed<\/code> value is <code>true<\/code>.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the external TrueSift service operated by WebDigiTech.<\/p>\n\n<p>The following requests are made only when TrueSift is configured and a protected form or connection test is used:<\/p>\n\n<ul>\n<li>Browser challenge through the local WordPress route, forwarded server-to-server to <code>https:\/\/api.truesift.de\/api\/v1\/botguard\/challenge<\/code><\/li>\n<li>Browser verification through the local WordPress route, forwarded server-to-server to <code>https:\/\/api.truesift.de\/api\/v1\/botguard\/verify<\/code><\/li>\n<li>Authoritative single-use proof verification directly from the protected WordPress server action to <code>https:\/\/api.truesift.de\/api\/v1\/botguard\/proof\/verify<\/code><\/li>\n<\/ul>\n\n<p>Data sent can include the site key, requested action, page path, website origin, browser language, languages, time zone, screen and viewport dimensions, platform information, cookie availability, referrer, current page URL, challenge identifiers, short-lived challenge tokens, verification timing, aggregate interaction counters for the active verification window, and the single-use verification token. The behavioral counters contain counts only and do not contain pointer coordinates, actual pressed keys, form contents, fingerprints, or persistent visitor identifiers. The secret key is sent only server-to-server and is never exposed to the browser.<\/p>\n\n<p>TrueSift service information: https:\/\/truesift.de\/\nRequest access and obtain a Site Key \/ Secret Key: https:\/\/truesift.de\/#zugang\nPrivacy policy: https:\/\/webdigitech.de\/datenschutz\nTerms of service: https:\/\/webdigitech.de\/agb<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>The plugin adds suggested text to WordPress' Privacy Policy Guide. It does not store visitor verification tokens, browser metadata, or visitor profiles in the WordPress database. Site credentials are stored encrypted when supported by the server, or may be supplied through <code>wp-config.php<\/code> constants.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>truesift<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the ZIP through Plugins &gt; Add New &gt; Upload Plugin.<\/li>\n<li>Activate TrueSift.<\/li>\n<li>Open Settings &gt; TrueSift.<\/li>\n<li>Enter the site key and secret key issued for the site in TrueSift.<\/li>\n<li>Save the connection settings, then run the connection test.<\/li>\n<li>Choose the visual mode and enable the desired integrations.<\/li>\n<\/ol>\n\n<p>Credentials may also be defined in <code>wp-config.php<\/code>:<\/p>\n\n<pre><code>define( 'TRUESIFT_SITE_KEY', 'bg_site_...' );\n\ndefine( 'TRUESIFT_SECRET_KEY', '...' );\n<\/code><\/pre>\n\n<p>Optional server constants:<\/p>\n\n<pre><code>TRUESIFT_API_BASE_URL, `TRUESIFT_DEFAULT_ACTION`, `TRUESIFT_FAIL_OPEN`, and `TRUESIFT_TIMEOUT_MS`.\n<\/code><\/pre>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20trust%20the%20browser%20result%3F\"><h3>Does the plugin trust the browser result?<\/h3><\/dt>\n<dd><p>No. The browser result controls only the user interface. The protected WordPress action validates and consumes the opaque verification token server-to-server.<\/p><\/dd>\n<dt id=\"is%20disabling%20the%20submit%20button%20the%20complete%20protection%3F\"><h3>Is disabling the submit button the complete protection?<\/h3><\/dt>\n<dd><p>No. The button lock improves the form flow and prevents ordinary unverified submissions. The PHP proof verifier is the security boundary.<\/p><\/dd>\n<dt id=\"are%20tokens%20stored%20in%20wordpress%3F\"><h3>Are tokens stored in WordPress?<\/h3><\/dt>\n<dd><p>No. Verification tokens are kept only for the current browser form request and are consumed by TrueSift during server-side proof validation.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20token%20is%20reused%3F\"><h3>What happens if a token is reused?<\/h3><\/dt>\n<dd><p>TrueSift rejects the replay and the protected action does not continue.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20collect%20local%20analytics%3F\"><h3>Does the plugin collect local analytics?<\/h3><\/dt>\n<dd><p>No. Version 1.0.18 does not create a local analytics database or visitor profile. Debug mode stores only administrator troubleshooting events and is disabled by default.<\/p><\/dd>\n<dt id=\"can%20i%20use%20the%20shortcode%20with%20any%20form%3F\"><h3>Can I use the shortcode with any form?<\/h3><\/dt>\n<dd><p>The shortcode can mount and control TrueSift on a custom HTML form. The form's PHP handler must still call <code>truesift_verify_request()<\/code> before performing the protected operation.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.18<\/h4>\n\n<ul>\n<li>Fixed a WooCommerce Checkout Blocks conflict where account creation during Store API checkout could trigger a second registration verification and incorrectly return <code>truesift_verification_required<\/code>.<\/li>\n<li>Keeps WooCommerce My Account registration protected by <code>woo_register<\/code> while excluding account creation performed inside an already protected Store API checkout.<\/li>\n<li>Preserves the dedicated Checkout Block proof lifecycle and prevents the same checkout operation from requiring or consuming a second proof through <code>woocommerce_registration_errors<\/code>.<\/li>\n<li>Keeps the official SDK at <code>@truesift\/next@0.3.0<\/code> and advances the WordPress SDK asset revision to <code>1.0.18-0.3.0<\/code>.<\/li>\n<\/ul>\n\n<p>Older release history is included in <code>CHANGELOG.md<\/code> in the plugin package.<\/p>","raw_excerpt":"Privacy-first automated human verification for WordPress forms, WooCommerce, and popular form plugins.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/358471","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=358471"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/webdigitech"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=358471"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=358471"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=358471"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=358471"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=358471"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=358471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}