Skip to content

docs: add a PSIRT engagement playbook - #14

Open
tonyandrewmeyer wants to merge 13 commits into
canonical:mainfrom
tonyandrewmeyer:psirt-engagement-playbook
Open

docs: add a PSIRT engagement playbook#14
tonyandrewmeyer wants to merge 13 commits into
canonical:mainfrom
tonyandrewmeyer:psirt-engagement-playbook

Conversation

@tonyandrewmeyer

Copy link
Copy Markdown
Collaborator

This is a requirement of the SSDLC. It seems like living in this repo makes sense: it does have three people's names but they are easily found all over the repo. I believe all of the standard parts of this process are public, and should be anyway so that reporters know what to expect.

I've made some assumptions about people, but most of this is fairly boilerplate and based on the SSDLC requirements and specs.

@benhoyt benhoyt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't checked the upstream SEC specs, but is a lot of this (embargo time windows and handling details, etc) standardised in those, and we can just point there? It seems a lot to have here, and I'm wondering if we can cut this back.

One other minor thing: it'd be good to avoid listing things that will go out of date, for example the list of all Charm Tech repos. Can we instead just say "all Charm Tech's repositories" and we know what those are (or they're listed elsewhere, like our How Charm Tech Team Operates doc)?

tonyandrewmeyer and others added 2 commits July 22, 2026 11:33
…olicy drift

- accidental disclosure: PSIRT/GRC immediately, other parties within 4h,
  plus make-unavailable/investigation/retro obligations (was: 4h to PSIRT)
- add the 7-day embargo floor; state the 90-day cap's actual mechanism
- 24h-notice section reduced to the actual SEC0037 requirement
- drop the per-repo advisory-links table and the routing flow diagram
- information classification collapsed to one line + SEC0061 link;
  allow private Mattermost per SEC0061/SEC0037
- subteam: repo list -> 'all Charm Tech repositories'; add manager to the
  roster (embargo policy requires the management chain in the embargo);
  add a personnel-change note
- applicability compressed to mandatory (Pebble) vs best-of-class

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@tonyandrewmeyer

Copy link
Copy Markdown
Collaborator Author

I haven't checked the upstream SEC specs, but is a lot of this (embargo time windows and handling details, etc) standardised in those, and we can just point there? It seems a lot to have here, and I'm wondering if we can cut this back.

I've reworked things, cutting about 30% of words, and about 45% of lines.

One other minor thing: it'd be good to avoid listing things that will go out of date, for example the list of all Charm Tech repos.

Mostly these were not really needed because when you end up here you're coming from a notification for one of those repos. So mostly I've just removed these.

There's still a lot here and I haven't replaced everything with links out (I believe it still covers what's required by the SSDLC). In my experience, incidents are stressful, and it's helpful to know there is one place to go that has the info you need and doesn't require then opening up lots of secondary tabs with extra info. So I'd prefer to not cut it much more.

Probably a good discussion for our next 1-1.

@tonyandrewmeyer
tonyandrewmeyer requested a review from benhoyt July 21, 2026 23:40

@benhoyt benhoyt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this. I've added a few questions and comments, but approving optimistically to avoid blocking this.

One high-level question: what does an embargoed fix actually mean or how does it go out, when we push releases out to public PyPI and suchlike?

Comment thread process/psirt.md Outdated
Comment thread process/psirt.md Outdated
Comment thread process/psirt.md Outdated
Comment thread process/psirt.md Outdated
Comment thread process/psirt.md Outdated
Comment thread process/psirt.md Outdated
@tonyandrewmeyer

Copy link
Copy Markdown
Collaborator Author

One high-level question: what does an embargoed fix actually mean or how does it go out, when we push releases out to public PyPI and suchlike?

I've added a small bit of text about this. I believe yes it's that we push out fixes to PyPI, snap store, etc, at the same time (more or less) as when the advisory goes public.

tonyandrewmeyer and others added 2 commits July 24, 2026 15:16
…y disclosure

- Remove Launchpad as a channel (unused).
- Pick CVSS 4.0, link CVSS and CISA KEV.
- Define PSIRT and GRC on first use; drop RAF acronym.
- Single accidental-disclosure address with CC.
- Add a "publish at disclosure" bullet clarifying how an embargoed fix
  reaches public channels.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

@hpidcock hpidcock left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looks about right.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants