What a Good Security Report Actually Contains
Security reports fail in predictable ways. They list tool output without judgment. They assign severity without rationale. They describe what is wrong without giving an engineer a starting point for fixing it.
A useful finding answers five questions: what happened, how do I reproduce it, what evidence supports it, why does it matter to this business, and what specifically should change.
Reproduction matters more than it seems. A report that includes the exact request and response lets a developer confirm the issue before designing a fix, and lets a retester verify closure later without re-deriving the conditions.
Severity should follow impact and exploitability rather than category. The same class of bug is a low-severity finding in an internal tool and a critical one in a multi-tenant API — context decides, not the CWE number.
None of this requires longer reports. It requires editing: separating confirmed issues from observations, and giving each confirmed issue the evidence an engineer needs to act.