-
Notifications
You must be signed in to change notification settings - Fork 28
Add draft of security team charter. #56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 1 commit
7ca2ea0
383c526
bf7b85b
ede2826
e0f4d41
23bd59d
10b0e29
e8bd0df
4ac0094
83df6f7
e25a1c5
183e6eb
a079f84
32c797a
9c1f116
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,93 @@ | ||||||
| # Security Team | ||||||
|
|
||||||
| ## Scope of responsibilities | ||||||
|
|
||||||
| The security team is responsible for [Django’s security policies](https://docs.djangoproject.com/en/dev/internals/security/). This includes: | ||||||
|
|
||||||
| - Reviewing security reports via security@djangoproject.com | ||||||
| - Evaluating and patching confirmed security issues | ||||||
|
tim-schilling marked this conversation as resolved.
Outdated
|
||||||
| - Communicating with reporters | ||||||
| - Communicating with the public about security releases | ||||||
| - Communicating with operating-system vendors and other distributors of Django | ||||||
|
tim-schilling marked this conversation as resolved.
Outdated
tim-schilling marked this conversation as resolved.
Outdated
|
||||||
|
|
||||||
| ## Initial membership | ||||||
|
|
||||||
| - Chair: | ||||||
|
tim-schilling marked this conversation as resolved.
Outdated
|
||||||
| - Co-Chair: | ||||||
|
tim-schilling marked this conversation as resolved.
Outdated
|
||||||
| - Report triagers: | ||||||
| - Steering Council Liaison (must be an active Steering Council member; may be the same as Chair/Co-Chair): Carlton Gibson | ||||||
| - Other members: | ||||||
| - Adam Johnson | ||||||
| - Carlton Gibson | ||||||
| - Jacob Walls | ||||||
| - Jake Howard | ||||||
| - James Bennett | ||||||
| - Mariusz Felisiak | ||||||
| - Markus Holtermann | ||||||
| - Michael Manfre | ||||||
| - Natalia Bidart | ||||||
| - Paul McMillan | ||||||
| - Sarah Boyce | ||||||
| - Shai Berger | ||||||
| - Simon Charette | ||||||
|
Comment on lines
+24
to
+34
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thought: As part of formalizing the charter, should we pre-seed the triagers role with those interested? Currently it looks like the team is incredibly understaffed despite that (probably) not being the case.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I agree we should fill this but I don't think it's a requirement for merging (as we need to keep the list up-to-date anyway) |
||||||
|
|
||||||
| Note: The DSF Board President has access to the security mailing list, but does not otherwise participate in the team’s activities. This is mentioned for the sake of transparency. | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Question: Why?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The DSF president is the Google org admin which means they have access to everything. That includes the security mailing list.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ah, I misinterpreted "has access to" as "receives emails" 👍
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I wonder if we should mention that this is a by-product of the Google org set up in the charter?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. FYI the president does receive every email just like the Security Team do. Unclear how that changes things :-)
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thank you @jefftriplett for the clarifying comment. I think it would be a good idea to capture this valuable information in the charter, how about something like:
Suggested change
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks @jefftriplett , that helps understand a lot. But still, the current wording, and even @nessita 's suggestion, don't explain the discrepancy between the mailing list and other team communication channels. I'm not sure it can be done very concisely, and since this is just a side note, it shouldn't get out of hand. I tried to come up with something that's still short, and more concrete than "governance oversight and legal accountability", and failed. So I'm +0.5 on the suggestion.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We recently adjusted the Fellow's contractual language to read... "designated reporting channels and ensure they are acknowledged and handled promptly" on the off chance that it helps to reword it. Maybe this?
That drops "mailing list," which is more of a designated reporting channel, vs. adopting Slack, Signal, or something else for internal communications. I think governance-wise, we just want to know that messages that are being reported/incoming are getting handled, and something is going out on the off chance that everyone quiet quits, and the rest we already outlined.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, thank you both. I like this a lot.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Resolved by 9c1f116 |
||||||
|
|
||||||
| ### Role definitions | ||||||
|
|
||||||
| - Chair / Co-Chair: Responsible for coordinating the group, scheduling meetings, renewing the group’s membership, and ensuring that the group’s activities align with its scope and responsibilities. | ||||||
|
tim-schilling marked this conversation as resolved.
Outdated
|
||||||
| - Report triagers: These team members are responsible for acknowleding and triaging reports initially to determine likelyhood of security concern and severity. | ||||||
|
tim-schilling marked this conversation as resolved.
Outdated
tim-schilling marked this conversation as resolved.
Outdated
|
||||||
|
|
||||||
| ## Future membership | ||||||
|
|
||||||
| The team does not have a fixed size. The team decides when new members are needed. New members are chosen from a list of volunteers. If there are no qualified volunteers the team will place an advertisement on the Django website. | ||||||
|
tim-schilling marked this conversation as resolved.
Outdated
|
||||||
|
|
||||||
| Members must opt-in to remain on the team on an annual basis. They may also leave for any reason. | ||||||
|
|
||||||
| Members can also be removed by: | ||||||
|
tim-schilling marked this conversation as resolved.
Outdated
|
||||||
|
|
||||||
| - Becoming disqualified by the Code of Conduct working group | ||||||
| - A vote of the Steering Council | ||||||
| - The full consensus of the rest of the Security Team | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What does full consensus mean? Everyone but the affected member?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Correct (this wouldn't be my preference, but is what I saw from other Security team documents)
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this is too strong and we should remove it. May I ask where did you see this?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think I pulled this from the accessibility team's requirements. https://github.com/django/dsf-working-groups/blob/main/active/accessibility.md?plain=1#L87
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, I couldn't find what I thought was a security team document. It had to be the accessibility team charter since I was using that as inspiration for this one.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. After writing the above, I saw that @nessita was actually suggesting only the removal of the "full consensus" requirement. I disagree.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @shaib If you're suggesting we remove this line entirely and only allow the CoC and SC to remove a member, I don't think you're in alignment with @nessita. She believes (and I agree) that a smaller group of members who agree to remove a person should be sufficient. In https://github.com/django/dsf-working-groups/pull/56/files#r3124348422 it outlines it as "A vote (50%+1) of the existing team members" Edit: I wrote the above before I saw the edits and follow-up. Whoops! Sorry to reiterate your conclusion.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Right. |
||||||
|
|
||||||
| ### Membership requirements | ||||||
|
|
||||||
| Members should possess some knowledge of the following topics, but not necessarily all of them. | ||||||
|
tim-schilling marked this conversation as resolved.
Outdated
|
||||||
|
|
||||||
| - Building Django applications | ||||||
| - Contributing to Django | ||||||
| - Web applications | ||||||
| - Web security | ||||||
| - Software security | ||||||
|
tim-schilling marked this conversation as resolved.
|
||||||
|
|
||||||
| ### How to join | ||||||
|
|
||||||
| Any person can volunteer to join the security team by submitting a Google Form (TODO: Create link). The team/WG will vote (50%+1) to approve/deny new members; the team/WG will directly vote on new Chair/Co-Chairs. | ||||||
|
tim-schilling marked this conversation as resolved.
Outdated
|
||||||
|
|
||||||
| The application should include the following: | ||||||
|
|
||||||
| - Why do you want to join the team? | ||||||
| - What is your history of using Django as a developer? | ||||||
| - What is your history of contributing to Django? | ||||||
| - What security experience do you bring that would be helpful to the team? | ||||||
|
tim-schilling marked this conversation as resolved.
Outdated
|
||||||
|
|
||||||
| (TODO: Define cadence of reviewing applications) | ||||||
|
tim-schilling marked this conversation as resolved.
Outdated
|
||||||
|
|
||||||
| ## Budget | ||||||
|
|
||||||
| No budget is required at this time. This will be reviewed at least annually. | ||||||
| Any changes to the budget may be requested from the board. | ||||||
|
|
||||||
| ## Comms | ||||||
|
|
||||||
| The team has discussions in two places: | ||||||
|
|
||||||
| 1. Formal and sensitive discussions on the mailing list: security@djangoproject.com | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's OK to start off with this but we have very very recently agreeing to leave the mailing list purely to receive reports and that team-internal conversation would happen in a report-centralized place which will likely be GH.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I subscribe to the later suggestion above, that we shouldn't include our tools for accepting reports in the charter.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @shaib this is more describing how the team communicates with each other, less on how reporters communicate with the team. Teams and working groups that have an email list have listed them in this section of their charters. |
||||||
| 2. Informal and team discussions on the DSF Slack in the private channel `#security-team` | ||||||
|
tim-schilling marked this conversation as resolved.
Outdated
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The Slack channel is named
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Much like there's a public channel for the steering council, should there be a public one for the security team too? That way there's a single entrypoint for security-related conversations that don't necessarily need to be in the private team-only channel? (Perhaps bikeshedding a little here).
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's leave that out for now: every new channel causes more fragmentation. |
||||||
|
|
||||||
|
tim-schilling marked this conversation as resolved.
tim-schilling marked this conversation as resolved.
|
||||||
| ## Reporting | ||||||
|
|
||||||
| The team has two responsibilities in regards to reporting to the Board and the Steering Council: | ||||||
|
|
||||||
| 1. Use [Django Release Announcements thread](https://forum.djangoproject.com/t/django-release-announcements/655/96) on the Forum to report security releases | ||||||
|
tim-schilling marked this conversation as resolved.
Outdated
|
||||||
| 2. An annual report summarizing the team's activity, areas of concern, considerations for the future and any other relevant topics | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would this report be another role that the Team Chair/co-Chair should take upon themselves?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, that would be very likely, though I don't think it has to be formalized. If someone else on the team wanted to produce it, I think that'd be agreeable. Though if I were wondering what the status of the report was, I'd reach out to the chair/co-chair. |
||||||
Uh oh!
There was an error while loading. Please reload this page.