=== Feather Forms by NOESIS ===
Contributors: noesispixelart
Tags: forms, contact form, form builder, conditional logic, leads
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.2
Stable tag: 1.2.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A visual form builder with multi-page forms, conditional fields, custom email templates and a private enquiry inbox.

== Description ==

Build forms with drag-and-drop fields, multiple pages and conditional logic. Manage enquiries in dedicated database tables, export CSV or JSON and sync leads through an authenticated REST API.

The email editor includes Visual and HTML editing, personalisation, an automatically populated submitted-fields table, mobile and desktop previews and sample test emails. Notifications include a plain-text alternative.

The default appearance is Feather Forms. Optional styling adapters use framework CSS already supplied by your theme. The plugin does not download a CSS framework or a page builder.

See README.md for supported controls, private uploads, delivery retries, spam protection, data handling and API authentication.

== External services and privacy ==

Feather Forms stores forms, answers and private attachments in your own WordPress database. There is no developer telemetry, registration or paid feature gate.

**Google reCAPTCHA v3**

When a site owner configures reCAPTCHA keys, the form loads Google's reCAPTCHA script after a visitor starts interacting with it. Google receives the visitor's interaction and device/network information; the server sends the reCAPTCHA token and configured secret to Google to verify the spam score, hostname and action. Configure keys only if you accept that service and provide appropriate information to your visitors. No form answers or attachments are sent to Google's verification endpoint by this plugin.

* Service: https://www.google.com/recaptcha/about/
* Privacy: https://policies.google.com/privacy
* Terms: https://policies.google.com/terms

**Optional webhooks**

If a form manager configures an HTTPS webhook, that destination receives the form name, entry identifier, date and submitted answers after a successful submission. There is no preset webhook destination. Only configure an endpoint you control and are authorised to send enquiry information to. Its own provider's terms and privacy policy apply. Attachments remain private and are not sent in the webhook.

**Optional HubSpot CRM contact sync**

HubSpot sync is disabled by default. If a site administrator connects a HubSpot private app and a form manager enables HubSpot for an individual form, Feather Forms sends the selected contact fields to HubSpot after saving the local enquiry. The visitor's email address is used to create or update a HubSpot contact. Optional mappings can send first name, last name, phone, company, website and job title. Unmapped answers, attachments and internal notes are not sent. Failed temporary deliveries retry from the local queue. The private app token stays in WordPress and is not returned by the plugin API or included in form exports.

* Service: https://www.hubspot.com/products/crm
* Privacy: https://legal.hubspot.com/privacy-policy
* Customer terms: https://legal.hubspot.com/hubspot-customer-terms

**Optional conversion events**

All conversion integrations are disabled by default. When explicitly enabled for an individual form by a form manager, successful submissions can call Google Analytics, Google Tag Manager, Google Ads or Meta Pixel tags already installed on the website. Feather Forms does not download those tracking libraries. Event payloads contain the form identifier and a random reference, not names, email addresses or message contents. Your existing tag/consent configuration controls delivery. The plugin itself has no analytics account or advertising destination.

* Google service terms: https://policies.google.com/terms
* Google privacy: https://policies.google.com/privacy
* Meta business tools terms: https://www.facebook.com/legal/technology_terms
* Meta privacy: https://www.facebook.com/privacy/policy/

== Source code and build tools ==

All readable JavaScript, CSS, PHP and SVG source is included in this plugin. The minified files are built from the matching source files with the included build.mjs and package.json. Developers can run npm ci, then npm run build in the plugin directory. Node.js and npm packages are development tools only and are not required to use the plugin. No executable code is fetched from a developer server.

== Support ==

Use the plugin's WordPress.org support forum, or contact info@noesis.in. Please do not post private enquiries, attachment contents, API credentials or reCAPTCHA secrets in a public support thread.

== Installation ==

1. In WordPress, open Plugins > Add New > Upload Plugin.
2. Select the Feather Forms ZIP file, then choose Install Now.
3. Activate Feather Forms by NOESIS.
4. Open Feather Forms > Form builder and create or select a form.
5. Add the Feather Forms block to a page or use the displayed shortcode.

For an existing feather-forms installation, choose to replace the installed version. If an earlier copy uses the noesis-forms directory, deactivate that copy before installing and activating this package; do not uninstall or delete its stored data. The archive uses the feather-forms directory. Database keys, REST API routes and shortcode names stay compatible. Do not activate both copies at the same time.

Before updating, back up the website's database and files. Deactivating the plugin preserves stored forms and enquiries.

== Screenshots ==

1. Build accessible multi-page forms visually with drag-and-drop fields, calculations, uploads and responsive previews.
2. Show fields or entire pages only when the visitor's earlier answers match your conditional rules.
3. Design admin notifications and visitor confirmations with a visual editor, automatic submitted-fields table and live preview.
4. Search, filter, star and export enquiries from a dedicated inbox backed by private database tables.
5. Connect HubSpot CRM, configure reCAPTCHA v3 and give third-party apps scoped, authenticated lead access through the REST API.

== Frequently asked questions ==

= Where are submissions stored? =

In dedicated database tables. New submissions are not WordPress posts. Uploaded files are stored privately and require authenticated access.

= Does it require a particular theme? =

No. It includes its own form styles and uses WordPress's native block editor and administration libraries.

= Where can I change email content? =

Open a form, choose Email editor, then select Admin notification or Visitor confirmation. The website name and attribution message are editable under Branding & footer.

== Changelog ==

= 1.2.0 =
* Added optional, per-form HubSpot CRM contact sync with secure token handling, field mapping and queued retries.
* Kept HubSpot disabled by default and documented the external service and data flow.
* Retained the 1.1.6 privacy, nonce, sanitization and prefix corrections.

= 1.1.6 =
* Require explicit per-form opt-in before sending optional conversion events.
* Sanitize submission control values before nonce and request processing.
* Use distinct Feather Forms prefixes for temporary rate-limit data.

= 1.1.5 =
* Cache saved form definitions and picker lists, with invalidation after successful changes.
* Read current form settings for submissions and version-conflict checks.
* Batch CSV column-label lookups to avoid one query per column.

= 1.1.4 =
* Prepared the directory package, service disclosures and review-ready source.
* Improved explicit query preparation and request validation.

= 1.1.3 =
* Email headers use the website logo automatically, with per-template image overrides and accessible name fallback.
* Renamed the lead-reader role to Feather Form Leads Reader without changing its permissions.
* Added the overlapping-square and green-feather logo; simplified interface branding.

= 1.1.2 =
* Added author, company and contact details.
* Added the editable email-header attribution below the dynamic website name.

= 1.1.1 =
* Renamed the plugin to Feather Forms by NOESIS and added the original green feather icon.

= 1.1.0 =
* Added the full email editor, submitted-fields table, previews and sample test emails.
