@@ -4,7 +4,7 @@ Author: Seth Michael Larson <seth@python.org>
44Sponsor: Gregory P. Smith <greg@krypto.org>
55Status: Draft
66Type: Process
7- Created: 23 -Oct-2025
7+ Created: 22 -Oct-2025
88
99Abstract
1010========
@@ -35,7 +35,7 @@ Limit access to pre-disclosure vulnerability reports
3535
3636Vulnerability report information prior to disclosure is sensitive,
3737Python users can be substantially harmed if vulnerabilities are exploited.
38- For this reason it's critical to limit access to information to only users
38+ For this reason it's critical to limit access to information to only people
3939involved in the remediation of the vulnerability at hand.
4040
4141The historical approach to collaboration on patch development was to manually
@@ -52,14 +52,14 @@ either.
5252Onboarding new contributors to the PSRT
5353---------------------------------------
5454
55- Unlike most open source contributions, the work of the PSRT doesn't happen
55+ Unlike most open- source contributions, the work of the PSRT doesn't happen
5656in the open. Instead, most work occurs privately to protect undisclosed
5757vulnerability reports. This means the work is opaque from the outside
5858so it's difficult to get started as a newcomer and to understand the
5959expectations of the group.
6060
6161In practice this has meant that relatively few new members join the PSRT,
62- which over time could negatively impact the groups ability to triage reports
62+ which over time could negatively impact the group's ability to triage reports
6363and develop remediations with the core team.
6464
6565Lack of defined ownership for vulnerability reports
@@ -129,7 +129,7 @@ vulnerability reporting and management platform:
129129* "Pull request"-like user interface for developing remediations.
130130* Tracking reporter, coordinator, credits, submission time, CVE ID, and severity
131131 for each report within the UI.
132- * Programatic API for integrating with other services (like CVE) and bots.
132+ * Programmatic API for integrating with other services (like CVE) and bots.
133133
134134However, features that are missing from GHSA are:
135135
@@ -138,7 +138,7 @@ However, features that are missing from GHSA are:
138138 creating comments on a GHSA report.
139139
140140These missing features have been reported to GitHub and none are blocking
141- the adoption of GHSA. Some work will need to be done to work- around the
141+ the adoption of GHSA. Some work will need to be done to work around the
142142lack of a complete API for the GHSA feature.
143143
144144Specification
@@ -148,7 +148,7 @@ PSRT Membership Policy
148148----------------------
149149
150150The Python Steering Council may add or remove members and admins of the PSRT.
151- New PSRT members must core team members or triagers and must be `proposed to
151+ New PSRT members must be core team members or triagers and must be `proposed to
152152and accepted `_ by the Steering Council.
153153
154154Once the Steering Council votes on a membership change to the PSRT then
@@ -158,15 +158,15 @@ admins.
158158
159159Once per year the Steering Council will receive a report of inactive members of
160160the PSRT with the recommendation to remove the inactive users from the PSRT.
161- "Inactive" defined here as a member who hasn't coordinated or commented on a
162- vulnerability report in the past year since the report was generated.
161+ "Inactive" is defined here as a member who hasn't coordinated or commented on a
162+ vulnerability report in the past year since the last report was generated.
163163
164- Members of the PSRT that are a Release Manager or Steering Council
164+ Members of the PSRT who are a Release Manager or Steering Council
165165member may remain in the PSRT regardless of inactivity in vulnerability reports.
166166
167167This PEP proposes removing all members from the PSRT who haven't been active
168168in the past year and without an exemption for minimum activity (Steering Council,
169- Release Managers) prior to pubication of this PEP. At the time of writing, this
169+ Release Managers) prior to publication of this PEP. At the time of writing, this
170170would reduce the PSRT membership size to ~15 members from ~30.
171171
172172This PEP also proposes not removing members of the PSRT who are active but
@@ -193,17 +193,17 @@ Responsibilities of PSRT members
193193--------------------------------
194194
195195The responsibilities of PSRT members will be documented publicly in the
196- `Python Developer Guide `_, so prospective members know what to expect before
196+ `Python Developer's Guide `_, so prospective members know what to expect before
197197applying to join the PSRT. These responsibilities include:
198198
199199* Being knowledgeable about typical software vulnerability report handling
200200 processes, such as CVE IDs, patches, coordinated disclosure, embargoes, etc.
201201* Not sharing or acting on embargoed information about the reported vulnerability.
202- Examples of disallowed behavior include, sharing information with colleagues
202+ Examples of disallowed behavior include sharing information with colleagues
203203 or publicly deploying unpublished mitigations or patches ahead of the advisory
204204 publication date.
205205* Acting as a "Coordinator" of vulnerability reports that are submitted
206- to projects. Coordinators responsibility is to move a report through the PSRT
206+ to projects. A coordinator's responsibility is to move a report through the PSRT
207207 process to a "finished" state, either rejected or as a published advisory and
208208 mitigation, within the industry standard timeline of 90 days.
209209* As a Coordinator, involving relevant core team members or triagers where
@@ -217,20 +217,20 @@ applying to join the PSRT. These responsibilities include:
217217* Coordinators that can no longer move a report forwards for any reason must
218218 delegate their Coordinator role to someone else in the PSRT.
219219* PSRT members that are admins will have additional responsibilities.
220- * PSRT members that are staff of the Python Software Foundation, as an
220+ * PSRT members who are staff of the Python Software Foundation, as an
221221 "Open Source Steward" defined in `Article 24 of the Cyber Resilience Act `_,
222222 have `additional responsibilities `_, such as reporting actively exploited
223223 vulnerabilities to ENISA/CSIRTs.
224224
225225.. _security-announce@python.org : https://mail.python.org/archives/list/security-announce@python.org/
226226.. _Article 24 of the Cyber Resilience Act : https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=OJ:L_202402847#art_24
227227.. _additional responsibilities : #responsibilities-of-psf-staff-psrt-members
228- .. _Python Developer Guide : https://devguide.python.org/developer-workflow/psrt/
228+ .. _Python Developer's Guide : https://devguide.python.org/developer-workflow/psrt/
229229
230230Responsibilities of PSRT Admins
231231~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232232
233- PSRT members that are designated as admins by the Steering Council have the
233+ PSRT members who are designated as admins by the Steering Council have the
234234following additional responsibilities:
235235
236236* Managing the GitHub team, mailing list, Discord channel, and other
@@ -250,7 +250,7 @@ These requirements can be summarized as:
250250
251251➤ Maintain a vulnerability disclosure policy fostering the voluntary reporting of vulnerabilities.
252252The policy shall include aspects related to documenting, addressing, and remediating vulnerabilities
253- and promote the sharing of information concerning discovered vulnerabilities within the open source community.
253+ and promote the sharing of information concerning discovered vulnerabilities within the open- source community.
254254
255255➤ Cooperate with EU market surveillance authorities (ENISA and CSIRTs) to
256256mitigate cybersecurity risks.
@@ -285,7 +285,7 @@ page on python.org and project security policies.
285285
286286Along with responsibilities the PSRT process for handling vulnerability
287287reports using GHSA, such as how to assign a Coordinator and calculating
288- severity, will be added to the `Python Developer Guide `_.
288+ severity, will be added to the `Python Developer's Guide `_.
289289
290290Adopting GHSAs will coincide with disabling the ``python/psrt `` private
291291repository (which shares a slug with the GitHub team) and syncing machinery,
0 commit comments