FORM INTELLIGENCE, EXPLAINED.
Only the context you choose.
Useful suggestions start with clear boundaries. Here’s what FormLint processes, and what it keeps.
You choose the fields.
FormLint evaluates only the field names you explicitly map. Keep the mapping narrow: descriptions and other non-sensitive context that is needed for your rules.
Do not map passwords, payment details or sensitive personal information. Disabled controls are excluded by the SDK, including controls disabled through a fieldset, subject to the native first-legend exception.
Suggestions happen before submit.
Mapped field text is sent to the evaluation service after the configured pause in typing. Leaving a field does not bypass that pause or cause an extra check for unchanged values. Live evaluations use an external inference service. Display a persistent visitor notice explaining this pre-submit processing.
The installation examples call getProvider to discover whether evaluation is live or simulated without sending form fields. The SDK binds subsequent requests to the selected mode. If the mode changes, suggestions become unavailable until the integration reconnects.
The homepage walkthrough illustrates the flow with an automatic animation. Switching it to an interactive form uses the configured project connection. The app’s Playground requires live evaluation for arbitrary answers; its local submit confirmation does not mean that earlier evaluation requests stayed in the browser.
Raw answers are not a FormLint record.
FormLint does not store or log raw form text. PostgreSQL stores workspace membership, project configuration, key metadata and measured reservation outcomes used for usage and quota enforcement.
Your original form and destination still handle their normal submissions. Their storage behavior is separate from FormLint. Provider-side processing is also separate from FormLint’s own storage behavior; review your provider configuration and terms before enabling live inference.
Keep the boundaries explicit.
- Public project keys identify a browser integration. Use bounded quotas and rotate or revoke keys from the app when needed.
- Allowed origins restrict browser installations. They are not a substitute for authentication or server-side tenant checks.
- Server credentials and provider keys belong only on the appropriate backend service. Never include them in a plugin’s public snippet or browser code.
- Optional suggestions leave submission to the original form, even when the provider or network is unavailable.