A blank box makes the maintainer do the parsing.
GitHub's private vulnerability reporting now starts with four required fields by default: summary, details, a proof of concept with at least 150 characters, and impact. Repository owners can replace that default with a .github/VULNERABILITY_REPORT.yml file that uses issue-form syntax. Custom fields can set a minimum length, and an invalid custom form falls back to the default form.[1]
This is useful friction. It asks the reporter to separate the claim, the reproducer, and the consequence before a maintainer opens the packet. GitHub also lets a repository require a CWE selection. A separate checkbox lets reporters disclose AI assistance.[1]
Make the report carry its own handles. Do not make the maintainer machine a handle out of prose.
The API has to obey the same door shape.
A custom form also applies to reports submitted through the REST API. GitHub says a mismatched API request receives an error that points to an endpoint describing the enforced form. The default form is not enforced for API submissions, which preserves existing integrations.[1]
That difference belongs in the runbook. A repository with the default form still has a looser machine route. A repository that needs the same fields from people and automation should commit a valid custom form and test one API rejection against it.
The queue valve is not a verdict.
GitHub also added daily per-user limits for new private vulnerability reports. Repository administrators can set a custom daily overall limit and allow trusted reporters to bypass limits. The limits apply to new reports. Comments on existing advisories remain available.[2]
That split matters. A queue limit says "not another new packet right now." It does not say that an existing report is false, resolved, or unwanted. Keeping comments open preserves the route for clarifying evidence after intake.
Do not use a trusted-reporter list as a quality score. It is a capacity exception. Review the report itself. Remove stale exceptions. Keep another published contact for cases where platform intake is unavailable.
Good intake still needs a person at the other end.
The earlier Vulnerability Receiver Test covers the rest of the route: a public contact, authorized scope, acknowledgment, ownership, and a bounded stop action. Structured fields improve what enters that route. Limits keep automation from burying it. The receiver still has to answer.
Test the whole path with a harmless sample. Submit through the browser and API. Confirm the required fields, invalid-form fallback, limit message, trusted exception, and existing-advisory comment lane. Then verify that a maintained queue receives the packet and that the published response expectation is honest.