Skip to content

docs(rfc): add private repository access control#36

Open
jerrysxie wants to merge 2 commits into
OpenDevicePartnership:mainfrom
jerrysxie:rfc-private-repo-permission
Open

docs(rfc): add private repository access control#36
jerrysxie wants to merge 2 commits into
OpenDevicePartnership:mainfrom
jerrysxie:rfc-private-repo-permission

Conversation

@jerrysxie

Copy link
Copy Markdown
Contributor

Propose that private repositories in ODP follow a strict least-privilege model where organization membership alone does not grant visibility. Access must be explicitly granted through approved teams or direct repository permissions.

Propose that private repositories in ODP follow a strict
least-privilege model where organization membership alone
does not grant visibility. Access must be explicitly granted
through approved teams or direct repository permissions.
@jerrysxie jerrysxie self-assigned this Jun 10, 2026
Copilot AI review requested due to automatic review settings June 10, 2026 02:02
@jerrysxie jerrysxie requested a review from a team as a code owner June 10, 2026 02:02
@github-project-automation github-project-automation Bot moved this to In progress in ODP v0.2 Jun 10, 2026
@jerrysxie jerrysxie linked an issue Jun 10, 2026 that may be closed by this pull request

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds an RFC proposing a least-privilege access model for private repositories in the Open Device Partnership (ODP), where organization membership alone does not grant visibility/access and access must be explicitly granted via teams or direct repo permissions.

Changes:

  • Introduces a new RFC defining “default deny” private repo access requirements and exceptions.
  • Documents goals, requirements, alternatives, rollout/adoption strategy, and open questions for review.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread rfc/0000-private-repo-access-control.md
felipebalbi
felipebalbi previously approved these changes Jun 10, 2026
Comment thread rfc/0000-private-repo-access-control.md
1. Should there be a small number of standing exception teams (for example, security or release administration), and if so, how are those exceptions governed?
2. What evidence should repository owners retain to show six-month access recertification was completed?
3. Should direct collaborator grants on private repositories require additional justification or expiration?
4. Should ODP also define guidance for when work should move from private to public?

@kurtjd kurtjd Jun 10, 2026

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.

One-size-fits all guidance might be tough, but maybe our guidance should be something along the lines of "private repos should only be created with the intention of going public in the future".

I think we should make it clear the ODP org isn't a place to host repos that are intended to stay permanently private/closed to the wider community and if a partner has need for that, it's up to them to host that repo on their own.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

That is a good point. That is our intent. I will incorporate that into the document.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thinking about this a bit, this might be too strong a stance. For partner that does not have a GH org, if they want to share some code with us on ODP for collaboration that has their IP that is not intended to be ever released to the public, we should respect that. I do agree in principle, in general any ODP platform or framework related item should be intended to be public or be contribute back to a public repo in the future.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I agree that going public should be the primary use case and you could call out that exception.

@kurtjd kurtjd 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.

All seems reasonable to me.

makubacki
makubacki previously approved these changes Jun 10, 2026
Comment thread rfc/0000-private-repo-access-control.md
Comment thread rfc/0000-private-repo-access-control.md
Comment thread rfc/0000-private-repo-access-control.md Outdated

The following questions should be resolved during RFC review:

1. Should there be a small number of standing exception teams (for example, security or release administration), and if so, how are those exceptions governed?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do you have specific teams in mind now?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Org admins will always have full visibility. cargo vet auditor team might need to have some visibility but if it is private.

Comment thread rfc/0000-private-repo-access-control.md Outdated
The following questions should be resolved during RFC review:

1. Should there be a small number of standing exception teams (for example, security or release administration), and if so, how are those exceptions governed?
2. What evidence should repository owners retain to show six-month access recertification was completed?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think it is important to have explicit acknowledgement an audit was performed. Maybe an automated email that requires an affirmative reply?

@jerrysxie jerrysxie Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Automated email would be a good reminder, but I think we need to have some records of audits that is permanent as well. Maybe some kind of document for access audit and then a github workflow that triggers every 6 months for private repos to audit access list.

As org, we need an org-wide audit as well.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I like the idea of a permanent record, and I understand it can't be in this repo because it is public and these repos are not. However, this might need to be defined a bit more formally (like either a private centralized repo that holds audits or a consistent process/workflow that can be applied to each repo).

For now, I think what you have is fine. But perhaps you could leave a note in the unresolved questions section or somewhere to follow up on repeatable process?

Comment thread rfc/0000-private-repo-access-control.md
Comment thread rfc/0000-private-repo-access-control.md
@jerrysxie jerrysxie requested a review from gjpmsft June 10, 2026 17:11
- Explicitly state org admins retain full visibility
- Require team-based access by default (no individual grants without justification)
- Rename Requirement 5 to '6-month access audit' for visibility
- Add Requirement 6 for audit evidence and record-keeping
- Add Requirement 9 requiring upstream contribution of ODP platform/framework code
- Add private-to-public transition checklist in Adoption Strategy
- Update Unresolved Questions with resolved/open subheadings
- Add open question on partner IP repo retention period
@jerrysxie jerrysxie dismissed stale reviews from makubacki and felipebalbi via 8940c32 June 11, 2026 22:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

RFC for ODP private repos permission change

7 participants