=== Checkify ===
Contributors: checkify
Tags: captcha, spam, security, privacy, authentication
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Replace CAPTCHA with privacy-first human verification from Checkify.

== Description ==

Checkify helps WordPress site owners reduce CAPTCHA friction by using privacy-first human verification.

Instead of asking visitors to solve puzzles, Checkify lets visitors complete a verification flow and return a verification result to the WordPress site. This can be used on pages, forms, or custom flows where the site owner wants to request human verification.

Checkify is designed around privacy-first verification. The WordPress site receives a verification result, not unnecessary personal identity data.

= Features =

* CAPTCHA alternative for WordPress
* Privacy-first human verification
* Site connection using a QR code
* Local QR rendering in the browser
* Shortcode support using [checkify_verify]
* Live Checkify API integration
* No external QR code generation service

= How it works =

1. Install and activate the Checkify plugin.
2. Open the Checkify settings page in WordPress.
3. Generate a connection QR code.
4. Scan the QR code in the Checkify app to connect your WordPress site.
5. Create or select a Checkify Pass for human verification.
6. Paste the Checkify Pass ID into the plugin settings.
7. Add [checkify_verify] to the page where you want to show human verification.

The shortcode creates a verification request, renders a QR code locally in the visitor's browser, polls for verification status, and stores a temporary local verification result for that visitor.

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/checkify` directory, or install the plugin through the WordPress plugins screen.
2. Activate the plugin through the Plugins screen in WordPress.
3. Go to the Checkify menu in WordPress admin.
4. Generate a connection QR code.
5. Scan the QR code in the Checkify app to connect the site.
6. Paste your Checkify Pass ID into the plugin settings.
7. Add the shortcode `[checkify_verify]` to a page or form flow.

== Frequently Asked Questions ==

= Do users need the Checkify app? =

Users may need to complete a Checkify verification flow to prove they are human. Once verified, future checks are designed to be faster and lower friction.

= Does Checkify replace CAPTCHA? =

Checkify is designed as a privacy-first alternative to traditional CAPTCHA challenges.

= Does Checkify collect personal data from my WordPress site? =

Checkify is designed to return verification results without requiring your WordPress site to collect unnecessary personal identity data.

= Does this plugin use an external QR code service? =

No. QR codes are generated locally in the visitor's browser using the bundled QRCode.js library.

= What shortcode does the plugin provide? =

Use:

`[checkify_verify]`

This displays a Checkify human verification widget.

= Does this version automatically protect login, registration, comments, WooCommerce, or Contact Form 7? =

No. Version 1.0.0 provides the Checkify connection flow and the `[checkify_verify]` shortcode only.

== Screenshots ==

1. Generate a connection QR code to connect a WordPress site to Checkify.
2. View the connected site status in the Checkify plugin settings.
3. Display Checkify human verification on a WordPress page using the [checkify_verify] shortcode.

== Upgrade Notice ==

= 1.0.0 =
Initial release.

== Changelog ==

= 1.0.0 =
* Initial release.
* Added Checkify site connection by QR code.
* Added human verification shortcode.
* Added local browser QR rendering using bundled QRCode.js.

== External services ==

This plugin connects to Checkify services to provide human verification.

Service used:

* Checkify API: https://api.checkify.me
* Checkify website: https://checkify.me

The plugin connects to Checkify when:

* A site administrator creates a site connection claim.
* A site administrator polls the status of a site connection claim.
* A connected WordPress site creates a verification request.
* A connected WordPress site checks the status of a verification request.
* A connected WordPress site confirms a completed verification result.

The plugin may send the following data to Checkify services:

* The WordPress site domain.
* A Checkify site identifier.
* A Checkify installation identifier.
* A Checkify Pass or launcher identifier configured by the site administrator.
* Verification request identifiers.
* Verification status tokens.
* Request timestamps.
* Cryptographic signatures used to authenticate the WordPress installation.

The plugin does not use an external QR code generation service. QR codes are generated locally in the visitor's browser using the bundled QRCode.js library.

Checkify privacy policy: https://checkify.me/privacy-policy

Checkify terms: https://checkify.me/terms_and_conditions

== Third-party libraries ==

This plugin includes QRCode.js by davidshimjs to render QR codes locally in the browser.

Library: QRCode.js

Source: https://github.com/davidshimjs/qrcodejs

License: MIT

The QRCode.js license is included in `qrcode-license.txt`.