← All posts

How to send a security report to your web developer or MSP without starting a fight

A small-business owner is rarely the person who fixes security findings. The web developer or MSP is. Here is how to hand a report over so it gets fixed, not parked.

If you run a small business, you are almost certainly not the person who fixes the security issues on your website, your domain, or your email setup. The person who fixes those issues is your web developer, your IT provider, or your managed-services partner. The owner who bought a security report and the developer who needs to act on it are different people, with different concerns, and different languages.

Most security reports fail because they are written for one of those two audiences and get sent to the other. The owner gets a 60-page PDF full of CVE numbers and ignores it. The developer gets a single line saying “please fix the website” and ignores it. In both cases, nothing happens.

Here is how to hand a report over so it actually gets fixed.

1. Decide who reads it first

For an Australian small business, the first reader of a security report should almost always be the technical person, not the owner. That is the opposite of what most security tools assume. The owner cares about “is my business safe”; the technical person cares about “what specifically do I change”. If the report lands with the owner first, the owner has to translate before forwarding, and translation always loses detail.

The exception is when the technical person is external (an agency or MSP) and you are paying them by the hour. In that case the owner reads first, decides what is in scope for the existing retainer versus a separate quote, and sends the developer the scoped subset.

2. Send the issue, not the file

Forwarding a 60-page PDF to your web developer is the security equivalent of attaching the entire dictionary because you needed them to know what one word means. Pick the issue. Send the per-issue page or extract.

A good per-issue handoff has six things, in this order:

  • What the issue is, in one sentence the developer can verify in 30 seconds.
  • Where it is — the exact host, URL, header, or DNS record.
  • Why it matters in plain language. Skip CVE-ese.
  • How to fix it. Specific. Name the config file or the dashboard setting.
  • Evidence — the actual response or record showing the problem.
  • How you will verify the fix afterwards.

3. Lead with what you want fixed, not what you found

Developers respond to specific requests. They drown in vague ones. “Can you check the security report” produces nothing. “Can you add the HSTS header to nginx and redeploy — here is the exact line” produces a deployment in an afternoon.

For each finding, write the request as a one-line ticket title. “Add X header on Y host”. “Renew Z certificate”. “Remove /info.php from the live web root”. The detail goes in the body. The title goes in the email subject.

4. Acknowledge the cost

Some fixes are free (a DNS record, a missing header). Some are not (rebuilding a checkout page to add a Content-Security-Policy without breaking analytics). Tell the developer which is which up front, and ask them to estimate the not-free ones before starting.

The fastest way to lose a developer's goodwill is to imply every finding is a five-minute fix. The fastest way to gain it is to acknowledge that some issues exist for legitimate reasons, and ask “is this one of those?”

The “legitimate reason” check

For each finding, ask the developer two questions:

  • Is this an issue you knew about? (Some teams accept known risks for compatibility reasons.)
  • If we fix it, what is the smallest change that addresses it without breaking anything else?

These two questions filter out the findings that look bad on a scan but exist on purpose, and shape the rest into a fix list the developer is willing to commit to.

5. Set a due date that is not “ASAP”

“ASAP” is a non-deadline. It is what owners send when they want to feel like they did something but do not want to commit. Developers ignore it because they correctly read it as non-binding.

For a high-severity issue, “within 7 days” is a real deadline. For a medium, “by the end of next month”. For a low, “next time you are in this part of the codebase”. Each of these is a request a developer can plan around.

6. Verify, do not assume

Once the developer says “done”, re-run the same check that found the issue. Do not take the report's word that anything was fixed; tooling is honest, but human verification is not. AttackEdge re-checks against the same finding for free at Critical and High severity. Other tools have similar workflows; the principle is the same. Click the verify button. Do not just close the ticket.

The shortcut

AttackEdge has a “Send to my IT or web developer” button on every finding. It packages exactly the six things above into one plain-language email and ships it to whoever you nominate. The recipient does not need an AttackEdge account. The owner stays in the loop. The fix list is specific enough to action.

If you are using a different security tool, the principles still apply. The button just makes them a single click instead of a twenty-minute copy-paste session.

AttackEdge is not consulting. We do not change your systems and we do not write code for you. The point of the report is to make the right person fix the right thing on a real timeline. Everything else is theatre.