SiteSummon
Privacy and context access

Exactly what FormSummon can see.

This is the product, not the small print. If you can’t tell what leaves your site, you have no reason to trust anything else we say.

ContextAnalysed locallyShared with SiteSummonShared with an AI provider
WordPress and PHP versionsYesYesWhen relevant
Plugin names and versionsYesWith consentWhen relevant
Hook names and callbacksYesWith consentSelected results
Theme design informationYesWith consentRelevant tokens
Custom source codeYesRequest-specificExplicit authorisation
PHP error fingerprintsYesWith consentWhen relevant
PHP error messages and tracesYesExplicit diagnostic permissionExplicit authorisation
Submission contentYesNo by defaultOnly a single item you name
Secrets and API keysNeverNeverNever

Error logs are treated as sensitive

A PHP error message routinely contains submitted form values, session tokens, database fragments and absolute filesystem paths. By default FormSummon collects only a redacted fingerprint — a hash of the error class, file and line, plus how often and when. Actual messages and stack traces need explicit, time-boxed diagnostic permission.

Your submissions stay on your site

Form submissions are not synchronised to SiteSummon. If you ask the assistant about one specific submission, that one is sent for that one request. There is no background copy.

What we learn, and what we never pool

FormSummon gets better at WordPress by accumulating compatibility knowledge. There are firm limits on what may be accumulated:

KnowledgeRule
Public documentation, declared hooks, published APIsShared across customers
General compatibility outcomesShared once anonymised
Commercial plugin source or extracted implementation detailYour tenant only
Your custom codeYour tenant only
Adapters generated for youYour tenant only, unless you choose to contribute them

So “version 3.2 of that plugin conflicts with deferred scripts” is something we remember for everyone. Source from a paid plugin you licensed, and code your developer wrote, is not — and never trains a model.

Before you connect anything

The plugin makes no outbound network request until you explicitly connect it and configure it. Not a version ping, not an activation beacon. Before connecting, it is entirely local.