=== SubmitSignal ===
Tags: wpforms, monitoring, contact forms, reliability
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 0.1.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Connect ordinary WPForms Lite contact forms to SubmitSignal reliability checks.

== Description ==

SubmitSignal connects an administrator-authorized WordPress website to the hosted SubmitSignal monitoring service. It reports metadata about successful WPForms processing and WordPress mail-transport outcomes. The service can submit visibly labeled synthetic contact inquiries to forms the account owner explicitly selects.

Supported launch coverage is ordinary WPForms Lite contact forms. WPForms Pro is not included in supported launch coverage until acceptance testing with a licensed Pro installation is complete.

The free plugin requires a SubmitSignal service account. The free service tier includes manual diagnostics for one website and one monitor, with up to three checks per day. Scheduled daily monitoring and automated email failure alerts require an active Solo or Agency subscription. Current availability and subscription pricing are shown on the service website.

Browser checks require the service's browser runner to be configured, and scheduled monitoring and email alerts also depend on the hosted scheduler and email service. The dashboard shows current availability. Installing this plugin alone does not start synthetic submissions or promise active scheduled checks.

Supported first-release forms contain ordinary name, email, text and paragraph fields, with optional HTML, hidden fields and dividers. Payment, registration, uploads, signatures, custom choice fields and multi-step forms are excluded. CAPTCHA, external assets, custom validation, redirects and custom confirmations can cause an inconclusive result. Checks do not bypass CAPTCHA or other anti-spam protections.

Synthetic inquiries use the label "SubmitSignal automated test" and the reserved example.com email domain. Existing autoresponders and CRM integrations may still run. Owners must use a suitable ordinary contact form and exclude labeled tests from reporting and downstream sequences. This plugin does not automatically suppress or change existing integrations.

Mail handoff means WordPress's wp_mail_succeeded hook reported success. This is not proof that the intended recipient's inbox received the email. Custom mail providers which bypass WordPress hooks remain unverified. WPForms can send notifications asynchronously, so mail outcomes can arrive later than form acceptance.

== External service and privacy ==

No external data is transferred until an administrator explicitly accepts the disclosure and connects a service account in Settings > SubmitSignal.

Service: https://submitsignal.brinybadge64.chatgpt.site
Privacy: https://submitsignal.brinybadge64.chatgpt.site/privacy
Terms: https://submitsignal.brinybadge64.chatgpt.site/terms

Upon connection, the plugin sends the website URL/name, compatible form IDs/names and a temporary public verification token. It stores the returned private service token in a non-autoloaded WordPress option. The service verifies website ownership through a short-lived public REST endpoint, then the verification token is deleted.

While connected, the plugin sends compatible form inventories, heartbeat timestamps, random event IDs, form IDs, form-processing outcomes, mail-transport outcomes and synthetic run references. It does not send entered field values, lead names, email addresses, recipients, message content, visitor IP addresses or cookies. The hosted browser checks visit publicly accessible form pages; the hosted service's privacy policy separately describes that processing.

Each synchronization deletes queued metadata older than seven days. WP-Cron runs on site traffic, so sites without traffic may retain older records until the next synchronization, disconnect or uninstall. WP-Cron does not guarantee five-minute execution. A best-effort immediate delivery is retried safely with the same event identifier until the service acknowledges it or it is removed during synchronization. Mail messages receive an opaque X-SubmitSignal-Event header used only to correlate transport status; related metadata expires after seven days.

Disconnecting stops metadata transfer and deletes the local connection token and queued events. Temporary mail-correlation records stored in a persistent object cache may remain until they expire, within seven days. Delete the website separately in the hosted dashboard to revoke the server token and remove hosted records. Uninstall also removes local plugin tables/options; the same cache-expiry limit applies to temporary correlation records. The plugin never deletes WPForms entries or modifies existing lead integrations.

== Installation ==

1. Upload the submitsignal folder to /wp-content/plugins/ or upload the ZIP under Plugins > Add New > Upload Plugin.
2. Activate SubmitSignal. Install and activate WPForms Lite and create an ordinary contact form if needed. WPForms Pro is not yet part of supported launch coverage.
3. Open the SubmitSignal dashboard, sign in, and generate a temporary pairing code.
4. In WordPress Settings > SubmitSignal, paste the pairing code, read the disclosure, and explicitly authorize the connection.
5. In the dashboard, select the connected website and compatible form, supply its public HTTPS page URL, and authorize a labeled test inquiry.
6. Check the dashboard's capability and scheduling status before relying on scheduled monitoring. Review your first test against a real inbox and any existing CRM automation.

WordPress must be reachable over HTTPS and expose its public REST API. Install per website on multisite; network-wide configuration is not provided.

== Frequently Asked Questions ==

= Which WPForms edition is supported? =
Launch coverage is WPForms Lite. Pro support is pending acceptance testing with a licensed installation.

= Does it prove delivery to my inbox? =
No. Form acceptance and WordPress mail transport are separate evidence. Inbox receipt and CRM creation are unverified in this release.

= Will it capture my leads? =
No entered values or recipient addresses are exported by the plugin. It sends form IDs, timestamps and outcomes only.

= Why do I see an inconclusive result? =
The form may use CAPTCHA, a custom field, a third-party script, custom confirmation or a validation rule unsuitable for labeled test values. An inconclusive result is not proof that real visitor submissions are failing.

= Is it listed or approved in a plugin marketplace? =
This package is a direct-download early release. Marketplace availability is stated separately on the service website; this readme makes no approval claim.

== Changelog ==

= 0.1.1 =
* Use prepared table identifiers; WordPress 6.2 or newer is required.
* Reject malformed synthetic-run identifiers without changing them into valid IDs.
* Tested with WordPress 7.1.3; clarify free manual checks, paid monitoring and cache expiry after disconnect.
* Clarify WPForms Lite-only launch coverage; licensed Pro acceptance testing remains pending.

= 0.1.0 =
* Initial administrator-authorized WPForms metadata connector.
* Durable event retries and periodic form inventory heartbeat.
* Separate form acceptance and mail-transport outcomes, including asynchronous mail correlation.
