Security policy

Last updated: 1 September 2026

LocalForm stores people's answers - names, addresses, and on a good number of sites, things considerably more sensitive than that. We would rather hear about a problem from you than from the people whose data it was.

1. Reporting a vulnerability

Email tim@xeweb.be with SECURITY in the subject line, and tell us:

Please do not open a public GitHub issue, post it in the WordPress.org support forum, or demonstrate it against a site you do not own.

If you would like to encrypt your report, send a first message with no details in it and we will reply with a key.

This policy is also published at /.well-known/security.txt, per RFC 9116.

2. What happens next

LocalForm is built and maintained by one person, and these targets are set so they can be met on an ordinary week rather than a perfect one. We would rather name a date we can keep than a flattering one we cannot - a reporter who was promised three days and hears nothing for two weeks reasonably concludes they are being ignored.

StageAt the latest
We acknowledge your report5 working days
We confirm or dispute it, with reasoning30 days
We ship a fix for a confirmed high-severity issue90 days

These are outer limits, not the plan. Most reports are answered within a day or two, and a serious bug in a plugin that holds other people's data does not wait ninety days for a release - the ninety is the industry's standard coordinated-disclosure window, and it is there so that a holiday, an illness or a house move cannot turn a missed email into a broken promise.

If something is being actively exploited, put EXPLOITED in the subject line. That is not a queue, and none of the times above apply to it.

If you have not heard back within two weeks, please chase us. It means the email went astray or landed in a spam folder - it does not mean the report was dismissed. A second email is welcome, not a nuisance.

If a fix is going to take longer than the table says, we will tell you why and give you a date. If we dispute a report we will explain the reasoning rather than closing it silently, and we are happy to be argued with - "that is only exploitable by an administrator" is sometimes the end of a conversation and sometimes the beginning of one.

Where a fix affects sites already running LocalForm, it ships as a normal release with the problem described plainly in the changelog. We do not hide security fixes in a list of unrelated improvements.

3. Scope

In scope:

Out of scope:

4. Safe harbour

If you make a good-faith effort to follow this policy, we will not pursue legal action against you, and we will treat your research as authorised. Good faith means: test only against your own installation, do not access or modify anyone else's data, do not degrade a live service, and give us a reasonable chance to fix the problem before you publish.

5. Recognition

We credit reporters by name in the release notes for the fix, unless you would rather we did not. We do not currently run a paid bounty.

6. Known design decisions

Some things look like findings and are deliberate. These are the ones that come up:

If you think one of these is wrong, that is a report worth sending too.