Aug 22, 2025·7 min read

Security incident communication plan that avoids chaos

Build a security incident communication plan with clear roles, approval rules, and update windows so legal, support, and engineering stop debating mid-crisis.

Security incident communication plan that avoids chaos

Why security messages break down

Security messages usually fail because each team is solving a different problem on a different timeline.

Legal wants to avoid claims the company cannot prove. Support needs something it can say now to worried customers. Engineering is still checking logs, alerts, and half-finished facts. Put those three groups in one chat without a plan, and the response turns into an argument.

None of them are wrong. A lawyer asks, "Do we know this for sure?" A support lead asks, "What do I tell people in the next 10 minutes?" An engineer says, "I need another hour." All three are reasonable. The trouble starts when nobody agreed in advance on who decides what.

Security facts also arrive in pieces. At 9:00, the team may know that someone accessed a system. At 9:20, it may suspect customer data exposure. At 10:15, it may learn the access came from a test account and the scope is smaller than expected. Early certainty is often fake, but silence creates its own damage.

That pressure brings out bad habits. One group says too little. Another says too much. Someone writes a vague update that calms nobody. Inside the company, people fill the gap with guesses. Sales repeats a rumor. Support builds its own script. Executives ask for updates every few minutes and slow down the investigation. Outside the company, customers often read silence as concealment, even when the team is simply verifying facts.

That is why an incident communication plan matters before anything goes wrong. The problem is usually not bad intent. It is mismatched timing, different risk tolerance, and no shared rule for what the company says while the facts are still moving.

A small example makes the point. If three customers report strange account activity, support wants an immediate reply, legal wants proof, and engineering wants logs. Without agreed roles and update windows, every draft becomes a debate while the clock keeps moving.

Who decides what

Most incident messages fall apart for one reason: three teams try to solve three different problems in the same draft. Engineering wants accuracy. Legal wants safe wording. Support needs language customers can actually use.

The fix is simple. Each decision needs one owner.

A practical split looks like this:

  • The incident lead owns the facts. This person confirms what happened, what is still unknown, and what changed since the last update.
  • Legal reviews risk. The legal reviewer checks disclosure duties, risky wording, and claims the company cannot support yet.
  • Support owns customer replies. Support turns approved facts into plain language for tickets, chat, and account teams.
  • One executive approves broad external statements when the incident has serious customer or business impact.

People can give input, but one person has to decide. If five people share the same call, nobody really owns it.

That also means each team should stay in its lane. Engineering should not argue about customer tone. Support should not guess about scope. Legal should not rewrite technical details without checking with the incident lead.

Write down a tie-breaker as well. Decide in advance who makes the final call on technical facts, who decides whether wording creates legal risk, and who chooses between a public statement and a direct customer notice. When pressure is high, nobody should waste time asking, "Who signs off on this?"

This can sound rigid on paper. In practice, it saves time. If engineering says, "We see suspicious access, but we do not know if data left the system," legal can block the word "breach" until the evidence supports it. Support still does not need to wait in silence. It can send an approved line such as: "We are investigating unusual access activity. We will share another update at 2:00 PM."

That kind of clarity is what keeps the first hard hour from turning into chaos.

What to settle before anything happens

Teams rarely break during an incident because people stop caring. They break because legal, support, and engineering are using different tests for the same event.

One group asks, "What happened?" Another asks, "What can we say?" A third asks, "Who will customers blame?" You need to settle those differences before a real incident.

Start with severity levels in plain language. Skip labels that sound official but mean different things to different teams. Each level should answer three questions: how many people might be affected, what data or systems are involved, and how fast the company needs to speak. If "medium" could mean either a login spike or confirmed account access, your team will fight over the label when time matters most.

Define your audience list just as clearly. "Customers" is too broad. During a real event, internal confusion often spreads faster than the incident itself. Map out who may need a message: employees, support and sales, customers, partners, vendors, and, when required, regulators, investors, or law enforcement.

Store approved wording in one place. Keep first notices, internal staff notes, support replies, and public updates together. If teams pull language from old chats, old tickets, and private documents, the message drifts within minutes.

Set the approval path before anyone sees an alert. Name the incident lead, the legal approver, the support owner, and a backup for each role. Put time limits on approval. For example, if legal does not respond within 15 minutes on a preapproved first notice, the incident lead can send it and log the decision. That rule sounds strict, but silence usually causes more harm than a short, careful update.

After-hours rules matter just as much. Many teams have a daytime plan and no night plan. Pick one person who can publish outside business hours, one backup, and one phone number or channel that reaches them fast. Even a small startup needs this. If nobody owns the 1 a.m. message, everyone ends up debating in chat while customers wait.

The goal is not to script every line in advance. The goal is to remove fresh arguments about process so the team can focus on facts.

How to set update windows

Teams argue less when the clock makes some choices for them. Fixed update windows do exactly that.

For a live event, 30-minute intervals usually work well at the start. If the issue slows down and facts stop changing, move to 60 minutes. After containment, 120 minutes is often enough. Pick those windows ahead of time, write them down, and use them by default.

Shorter is usually better early on. Silence invites guesses, and guesses spread fast inside a company.

Choose one schedule and stick to it

Use the same update rhythm for internal and external messages. The wording can differ, but the timing should match. If employees hear one thing at 10:00 and customers hear nothing until noon, support gets trapped between two versions of the story.

You do not need a complete answer at every window. You do need a message. A holding update is often enough: what you know, what you are checking, what people should do right now, and when the next update will come.

A useful update includes four things:

  • confirmed facts only
  • open questions still under review
  • any action people should take now
  • the exact time of the next update

That last line does more work than most teams expect. "Next update at 14:30 UTC" cuts repeat questions and gives support something solid to use.

Keep facts and unknowns separate

Trouble starts when confirmed details and guesses get mixed together.

A simple format works well: "Confirmed" and "Under investigation." That split helps legal, engineering, and support work from the same message. If engineering changes a detail later, you can update the second part without making the whole statement look unreliable.

Picture a payment outage with signs of possible account abuse. At 09:00, you confirm unusual activity and say login resets are under review. At 09:30, even if the cause is still unclear, you send the next update on time. That discipline keeps the message calm even when the situation is not.

How to write the first message

Stress Test Your Runbook
Test your legal, support, and engineering workflow with a realistic tabletop exercise.

The first message should reduce confusion fast. It does not need every detail. It needs the facts you know, in plain words, with no drama and no false certainty.

Start with one clear sentence about the incident itself. Say what happened, not the full technical story. "We found unauthorized access to one internal system" is better than a dense sentence about tokens, logs, or cloud settings.

Then say who may be affected. If you only know the likely group, name that group. People can handle uncertainty better than silence when you describe the uncertainty clearly. "This may affect customers who signed in between Tuesday and Thursday" is useful. "Some users may have been impacted" is not.

People also need one clear action. If they should reset a password, say that. If they do not need to act yet, say that too. Keep it simple:

  • Change your password if you used the same one anywhere else.
  • Watch for an email from our team with account-specific steps.
  • Ignore messages that ask for payment or personal data.

Keep the tone steady. Do not guess about the cause. Do not blame a vendor, employee, or attacker before the team confirms the facts. Skip jargon. "We locked the affected account and started a review" is clearer than "We contained the vector and initiated forensic analysis."

A simple first notice might read:

"This morning, we found unauthorized access to a support system. It may affect customers who contacted support in the last 7 days. We locked access to that system and are reviewing what was exposed. You do not need to contact support right now unless you see unusual account activity. We will post our next update by 3:00 p.m. UTC."

That final sentence matters. A clear update time stops repeated debate across legal, support, and engineering. It also gives customers a reason to wait for facts instead of filling the gaps themselves.

A step-by-step flow your team can follow

When a security event hits, speed matters more than perfect wording. Teams waste time when three groups try to write one message from scratch.

Use one owner, one draft, and one short review path.

  1. The incident lead writes a fact summary in plain language. It should cover what happened, what systems look affected, what users might notice, what the team is doing now, and when the next update is due. If something is still unknown, say that plainly.
  2. Legal reviews the fact summary and marks legal risk, claims to avoid, and any notice duties. Legal should not rewrite the whole message unless a rule requires exact wording.
  3. Engineering checks that every technical statement is true right now. If facts changed during review, engineering updates the summary before anyone edits tone.
  4. Support gets a short script built from the same message, plus fallback answers for common questions such as "We are still investigating" and "We will post the next update at 3:00 PM."
  5. An executive approves the message only when your rules require it. If every customer notice needs leadership approval, fine. If not, skip that step.
  6. The incident lead sends the message through the approved channel and logs the exact version, send time, and audience.

This order keeps people from stepping on each other. Legal flags risk. Engineering owns facts. Support handles incoming questions. Leadership steps in only when policy, contracts, or notice rules require it.

Keep a simple log as you go. Save the final text, who approved it, where it went, and what changed from the last version. Later, when someone argues about timing or wording, you have the record instead of competing memories.

If you want a quick test, run a 20-minute drill with a fake outage or possible data exposure. The delays will show up fast.

A realistic example when teams disagree

Clean Up Incident Runbooks
Clean up runbooks, backups, and approval rules so your team stops debating in chat.

At 5:40 p.m. on a Friday, an alert lands in the incident channel. A login appears from an unusual location, followed by access to an internal admin tool. No one knows yet whether it is a stolen session, a bad script, or an employee traveling without notice.

Engineering checks logs and comes back with one hard fact: someone accessed systems in a way the team did not expect. It can confirm unusual access. It cannot confirm scope. That is where the argument starts.

One engineer wants to warn customers right away and mentions possible data theft. Legal pushes back. There is no proof that anyone copied customer records, so that claim has to go. Support wants a script because two customers have already reported odd behavior.

Everyone is trying to help, but each team is solving a different problem.

The incident lead cuts through the noise by asking for three approved statements only: what happened, what is still unknown, and when the next update will go out.

Legal removes guesses about stolen data and keeps the wording narrow. Engineering approves a factual sentence: "We detected unusual access to an internal system and are investigating whether any customer data was affected." It is not perfect, but it is true.

Support gets one approved reply for inbound questions: "We are investigating a security event involving unusual access to an internal system. We do not have evidence yet about customer impact. We will share our next update by 7:00 p.m."

The public message stays short for the same reason. The company does not wait for total certainty, because that usually means hours of silence. It sends a holding statement, continues the investigation, and commits to a specific update time.

By 7:00 p.m., engineering has better answers. Even if the news is still incomplete, the team is now speaking with one voice instead of five.

Mistakes that make a bad day worse

Review Your Incident Plan
Have Oleg review your incident roles, approval path, and first-update process.

One bad draft can create two incidents: the technical one and the trust problem that follows.

Most teams do not fail because they lack smart people. They fail because five smart people all rewrite the same note at once. When legal, support, engineering, and leadership all edit one message, the draft gets slower and weaker. Facts disappear, timing slips, and nobody knows which version is final.

Pick one writer, one approver, and one backup. Everyone else gives input in a fixed window, then stops editing.

Mixed language across channels causes another mess. Support says "service disruption," engineering says "security event," and the status page says "degraded performance." Customers read all three and assume the company is hiding something. Every channel should use the same plain wording.

Silence causes damage too. Some teams wait for complete confirmation before they say anything, even when users already feel the impact. That delay invites rumors, screenshots, and guesswork.

A vague note is not much better. "We are investigating an issue" tells people almost nothing if the issue is a breach, a login failure, or a billing bug. Say what you know, what people should do now, and when the next update will arrive.

The most painful failure is often internal. Frontline staff should never learn about an incident from angry customers. If support, sales, and account managers do not get a short internal brief before or at the same time as the public message, they will fill the gap with guesses.

A fast check helps:

  • one person owns the draft
  • every channel uses the same approved words
  • the first notice goes out on a set clock, not after endless debate
  • internal teams get a customer-safe brief before replies start

Teams under pressure rarely become clearer on their own. They need rules that remove avoidable arguments.

Quick checks and next steps

Do not send anything until one person signs off on the final text. If legal edits one line, support changes another, and engineering adds a caveat, the note can drift into a pile of half-decisions.

A short pre-send check catches most avoidable mistakes. Confirm who approved the message and who will handle follow-up questions. Check every time reference, including when the issue started, when you detected it, and when the next update is due. Check the facts against what engineering knows now, not what people guessed in chat 20 minutes ago. Check which users, customers, partners, or internal teams are affected. Then check the one action people need to take now.

If one of those points is fuzzy, pause and fix it before you send. A slightly later message with clean facts usually does less damage than a fast message that needs three corrections.

This is also where the plan either holds up or falls apart. If your team cannot agree on owner, audience, or update timing during a tabletop exercise, it will not solve those problems calmly during a real breach. Put the names, rules, and approval path in writing. Then test them.

A simple next step works better than a giant rewrite. Run a 30-minute drill with legal, support, and engineering. Give them a realistic incident, set a 15-minute deadline for the first update, and see where they argue. Those arguments will show you what the runbook is missing.

If you want an outside review, Oleg Sotnikov at oleg.is works with startups and small teams as a Fractional CTO and advisor. A short review of roles, runbooks, and approval paths can help when the process feels messy but the team cannot see exactly where it breaks.

The goal is plain: one owner, clear facts, one action, and an update time the team can actually meet.

Frequently Asked Questions

Who should own the first incident message?

Pick one incident lead to own the facts and the first draft. Legal reviews risk, support turns the approved message into customer language, and one executive steps in only when your rules require it. If several people share the call, the draft usually stalls.

How fast should we send the first update?

Send a short holding update as soon as you confirm something real. Do not wait for the full story. Say what you know, what you are checking, what people should do now, and when the next update will arrive.

Can we say anything if facts are still changing?

Yes. Early facts almost always change. Keep confirmed facts separate from open questions so the team can update one part without rewriting everything.

Why does legal push back on the word breach?

Because that word makes a legal claim. If engineering only sees unusual access, say that. Use stronger terms only after the evidence supports them.

What update schedule works in a real incident?

Start with 30-minute updates during the first stage of a live event. Move to 60 minutes when facts slow down, then 120 minutes after containment if the situation stays stable. Pick the timing ahead of time so nobody argues under pressure.

Should internal and external updates follow the same timing?

Use the same timing for both. The wording can differ, but the clock should match. If staff hear one version long before customers do, support and sales end up stuck between conflicting stories.

What should the first customer notice include?

Keep it plain. State what happened, who may be affected, what you are doing now, whether people need to act, and the exact time of the next update. Skip blame, jargon, and guesses about cause or scope.

How do we stop legal, support, and engineering from arguing over every draft?

Set tie-breakers before anything goes wrong. Decide who makes the final call on technical facts, who decides legal wording, and who chooses the channel. During the event, let one writer own the draft and give everyone else a short review window.

What mistakes make incident communication worse?

Teams often wait too long, use vague wording, or let five people rewrite the same note. Another common miss is forgetting internal staff, so support learns from customers instead of the company. One owner, one approved version, and fixed update times solve a lot of this.

How can a small team test its plan before a real incident?

Run a short drill with legal, support, and engineering. Give them a realistic security event and a deadline for the first update. Watch where they stall, then fix the owner, approval path, wording, or timing in the runbook.