=== Raptcha === Contributors: LaughterOnWater Tags: captcha, security, privacy, bot-detection, form Requires at least: 5.0 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 1.2.1 License: GPLv3 or later License URI: https://www.gnu.org/licenses/gpl A secure, animal-based CAPTCHA for WordPress forms featuring intelligent bot detection and multi-form integrations. == Description == Raptcha is an innovative CAPTCHA alternative that challenges users to count animals in a dynamic image, promoting accessibility and user engagement. Unlike text-based CAPTCHAs, it uses engaging visuals (cats, dogs, birds) with randomized placements and scales for enhanced security. Key features: - **Animal Counting Challenges**: Randomized images with 1-10 animals, ensuring varied difficulty. - **Bot Detection Heuristics**: Advanced checks (drag time, mouse distance, focus duration) to prevent automated submissions. - **Form Integrations**: Native support for WordPress comments, login forms, and popular plugins (Contact Form 7, Kadence Forms, Ninja Forms). - **Shortcode Integration**: Easily embed with `[raptcha]` for custom forms. - **Fully Secured**: Nonce verification, transients for challenge storage, and sanitization throughout. This plugin prioritizes privacy, security and usability, making it a in-house, private, modern alternative to traditional CAPTCHAs. == Installation == 1. Upload the `raptcha` folder to the `/wp-content/plugins/` directory. 2. Activate the plugin through the 'Plugins' menu in WordPress. 3. Embed the CAPTCHA in custom forms using the shortcode: `[raptcha theme="light" size="medium"]`. 4. Enable integrations in your WordPress form builders (no admin settings yet, but checks plugin presence automatically). == Screenshots == 1. CAPTCHA challenge showing randomized animals with drag-and-drop number selection 2. Settings page available from the main admin menu 3. Core Form Protection, Plugin Form Protection, Powered-by-Raptcha Toggle 4. Example placement in Contact Form 7 5. The same form placed on a public page 4. In-plugin FAQ for easy reference == Frequently Asked Questions == = How does Raptcha work? = Raptcha shows users an image with multiple animals and asks them to count a specific type (cats, dogs, or birds). Users drag and drop the correct number to verify they're human. This challenge is simple for humans but difficult for bots, and includes behavioral detection to catch automated solvers. = What forms does Raptcha protect? = **WordPress Core (Automatic):** Login forms and comment forms - just enable in settings above. **Contact Form 7 (Per-Form Control):** Add [raptcha] tag to any form you want to protect. **WPForms (All Forms):** When enabled, CAPTCHA appears on all WPForms automatically. **Fluent Forms (Per-Form Control):** Add HTML field with [raptcha integration="fluentforms"] to specific forms. **Kadence Forms (Per-Form Control):** Add paragraph block with [raptcha] shortcode to specific forms. = How do I add Raptcha to my custom form? = Use the [raptcha] shortcode anywhere in your form. The CAPTCHA will generate dynamically when the page loads. Your form must submit via POST and include the hidden raptcha_validation_token field for validation. For custom validation, use the Raptcha_Challenge_Manager::verify_validation_token() method in your form processing code. = Is Raptcha accessible? = Yes! Raptcha uses clear visual elements with proper ARIA labels and keyboard navigation support. Counting animals is more intuitive than distorted text, making it easier for users with cognitive or visual differences. The drag-and-drop interface works with both mouse and keyboard. = Does Raptcha slow down my site? = No. Raptcha is self-hosted with no external dependencies or tracking. Images are generated on-demand and cached temporarily. There are no third-party API calls that could slow down your forms or compromise user privacy. = Can I disable the "Powered by Raptcha" link? = Yes. The link is optional and can be disabled at any time in the Raptcha settings. Raptcha is free, private, and operates without third-party services. Leaving the link visible helps support ongoing development and allows others to discover a privacy-focused alternative to paid CAPTCHA solutions. = Why is it called Raptcha? = Raptcha is a play on CAPTCHA and rapture. Bots arrive, face a brief evaluation, and are peacefully ascended to bot heaven before they can make their move. == Changelog == = 1.2.1 = - Revised README.txt FAQ = 1.2.0 = - Added: Optional "Powered by Raptcha" attribution footer with admin toggle - Redesigned: Admin settings page with card-based layout and modern pill toggles - Enhanced: Save button with visual feedback (spinner during save, success notification) - Added: Two new FAQ items about attribution and plugin naming - Improved: Settings default handling for better upgrade experience = 1.0.0 = - Initial release: Animal-based CAPTCHA with core integrations, bot detection, and WordPress form support. == Upgrade Notice == = 1.0.0 = Update to enable modern, secure CAPTCHA features. No breaking changes—safe to upgrade.