Skip to content

Conversation

@ruddermann
Copy link
Collaborator


**DO NOT**

* Transfer access tokens using end-to-end encrypted (E2EE) channels like email, Slack, and Teams
Copy link
Member

Choose a reason for hiding this comment

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

"like email, Slack, and Teams" and "like Signal and Whatsapp" aren't meaningfully different to me, and don't give me any info how to figure out whether a service is in the "do" or "do not" category, nor why these are in these categories.

are perhaps these meant to be "non-E2EE"?

Copy link
Member

Choose a reason for hiding this comment

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

ping

Comment on lines +322 to +324
This scenario has many potential approaches. First, use the correct access token for the job:

* GATs should never be stored on a local hard drive (eg: in an .npmrc file)
Copy link
Member

Choose a reason for hiding this comment

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

i'm confused; afaik this is the only way to store it.

Copy link
Member

Choose a reason for hiding this comment

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

I believe he meant GAT to be stored in a temporary terminal where no-one could read that after its usage?

Copy link
Member

Choose a reason for hiding this comment

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

Due to spectre and also due to the nature of non-windows filesystems, it'd show up in a file somewhere. I think this line should just be removed.

Copy link
Member

Choose a reason for hiding this comment

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

ping

* Is automatically granted read/write permissions for new packages added to the organization.
* Cannot be removed from organization packages.

Given these behaviors, it’s recommended to not use the developers team when granting users write access to packages. Instead, set its access to read for each existing package in the organization.
Copy link
Member

Choose a reason for hiding this comment

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

instead of "set its access to read", i'd suggest making a different team for each package, adding the package to that team, and then removing the package from the developers team. (the order matters) ie, your next section

meaning, the developers team should have zero packages on it at all.

notably, there is no "read" and "write" - either you have full 100% owner access on a package, or you have zero access to a package.

Copy link
Member

Choose a reason for hiding this comment

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

ping

Copy link
Member

@wesleytodd wesleytodd left a comment

Choose a reason for hiding this comment

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

LGTM, its long, but this is the in depth content so I think that is reasonable.

UlisesGascon and others added 2 commits November 25, 2025 11:30
Co-authored-by: Jordan Harband <[email protected]>
Co-authored-by: Jordan Harband <[email protected]>
@UlisesGascon UlisesGascon self-assigned this Nov 25, 2025
Copy link
Member

@RafaelGSS RafaelGSS left a comment

Choose a reason for hiding this comment

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

PTAL @ljharb

We plan to land this document as soon as you are good with it to mention it in the MDN page.

Comment on lines +322 to +324
This scenario has many potential approaches. First, use the correct access token for the job:

* GATs should never be stored on a local hard drive (eg: in an .npmrc file)
Copy link
Member

Choose a reason for hiding this comment

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

I believe he meant GAT to be stored in a temporary terminal where no-one could read that after its usage?

Copy link
Member

@UlisesGascon UlisesGascon left a comment

Choose a reason for hiding this comment

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

Looks solid and ready 🚀

Copy link
Member

@ljharb ljharb left a comment

Choose a reason for hiding this comment

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

My comments still aren't addressed.


**DO NOT**

* Transfer access tokens using end-to-end encrypted (E2EE) channels like email, Slack, and Teams
Copy link
Member

Choose a reason for hiding this comment

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

ping

Comment on lines +322 to +324
This scenario has many potential approaches. First, use the correct access token for the job:

* GATs should never be stored on a local hard drive (eg: in an .npmrc file)
Copy link
Member

Choose a reason for hiding this comment

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

ping

* Is automatically granted read/write permissions for new packages added to the organization.
* Cannot be removed from organization packages.

Given these behaviors, it’s recommended to not use the developers team when granting users write access to packages. Instead, set its access to read for each existing package in the organization.
Copy link
Member

Choose a reason for hiding this comment

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

ping

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.

6 participants