Skip to content

Conversation

avivkeller
Copy link
Member

Fixes #4
Fixes #21

cc @nodejs/web @nodejs/security-wg - Feel free to modify this file with additional permissions and/or changes

@Copilot Copilot AI review requested due to automatic review settings September 10, 2025 01:06
@avivkeller avivkeller requested a review from a team as a code owner September 10, 2025 01:06
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR creates a comprehensive permissions documentation file that maps access levels for repositories, external services, and access tokens across different Node.js web teams and roles.

  • Introduces a structured permissions matrix documenting access levels for 9 repositories across 5 different team roles
  • Documents external service permissions for 7 services including Cloudflare, Vercel, and Sentry
  • Creates an access tokens section tracking service account credentials and their permissions

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@avivkeller
Copy link
Member Author

I added everything I am aware of, however, there may be inaccuracies

Copy link
Member

@AugustinMauroy AugustinMauroy left a comment

Choose a reason for hiding this comment

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

Missing piece:

  • npm publish oidc (I think it's owned by tsc)
  • maybe not in this doc but it's "related" list which npm package we publish.

@@ -0,0 +1,52 @@
# Permissions

Copy link
Member

Choose a reason for hiding this comment

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

We should add small paragraphs that said "here all thing related to website part and who have acces to it"

@AugustinMauroy
Copy link
Member

Btw thanks aviv to tackle it 🫶🏻

| **[Figma Design File][]** | Read | - | Write | - | - | Access to this service is controlled by the OpenJS Foundation and @avivkeller. |
| **[Sentry][]** | - | - | - | Admin | Admin | |
| **[Vercel][]** | - | - | - | Admin | Admin | |

Copy link
Member

Choose a reason for hiding this comment

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

@ovflowd what would the permissions be for hackmd?

Copy link
Member

Choose a reason for hiding this comment

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

Right now @bmuenzenmeyer and me are admins, but technically speaking as being owned by the Foundation, I'm not sure how administration should be laid out. Probably only the to the Foundation Staff/IT?

Copy link
Member

Choose a reason for hiding this comment

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

cc @bensternthal if you have any ideas how this should be laid out.

PERMISSIONS.md Outdated
| **[Sentry][]** | - | - | - | Admin | Admin | |
| **[Vercel][]** | - | - | - | Admin | Admin | |

## Access Tokens
Copy link
Member

Choose a reason for hiding this comment

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

Aren't there more tokens out there?

PERMISSIONS.md Outdated

## External Services

| Service | Everyone | @nodejs/web | @nodejs/nodejs-website | @nodejs/web-infra | @nodejs/web-admins | Notes |
Copy link
Member

Choose a reason for hiding this comment

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

Crowdin is missing here. Access is done through a shared account

Copy link
Member Author

Choose a reason for hiding this comment

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

I thought crowdin wasn't a shared account for infra, and they used their own logins?

| Service | Everyone | @nodejs/web | @nodejs/nodejs-website | @nodejs/web-infra | @nodejs/web-admins | Notes |
| ---------------------------- | ---------------------------------- | ----------- | ---------------------- | ----------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| **[1Password][]** | - | - | - | Admin | Admin | |
| **[Atlassian Statuspage][]** | [Read](https://status.nodejs.org/) | - | - | Admin | Admin |
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
| **[Atlassian Statuspage][]** | [Read](https://status.nodejs.org/) | - | - | Admin | Admin |
| **[Atlassian Statuspage][]** | [Read](https://status.nodejs.org/) | - | - | App Admin | Org Admin |


| Secret Name | Display Name | Platform(s) / Location(s) | Associated Project(s) | Access Level | Expiry | Notes |
| -------------------------- | ----------------------- | ---------------------------------------------------------------------- | ----------------------------------------- | ------------ | ------ | ------------------------------------------- |
| `CF_API_TOKEN` | N/A | [nodejs/discord-status-worker][], [nodejs/release-cloudflare-worker][] | [Cloudflare][] | Write | - | Used for deploying to Cloudflare Wrangler |
Copy link
Member

@MattIPv4 MattIPv4 Sep 15, 2025

Choose a reason for hiding this comment

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

Suggested change
| `CF_API_TOKEN` | N/A | [nodejs/discord-status-worker][], [nodejs/release-cloudflare-worker][] | [Cloudflare][] | Write | - | Used for deploying to Cloudflare Wrangler |
| `CF_API_TOKEN` | N/A | [nodejs/discord-status-worker][], [nodejs/release-cloudflare-worker][] | [Cloudflare][] | Write | - | Used for deploying to Cloudflare Workers |

[@openjs-vercel]: https://github.com/openjs-vercel
[Atlassian Statuspage]: https://manage.statuspage.io/pages/rxy2rhgm8q1n/incidents
[Chromatic]: https://www.chromatic.com/builds?appId=64c7d71358830e9105808652
[Cloudflare]: https://www.cloudflare.com/
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
[Cloudflare]: https://www.cloudflare.com/
[Cloudflare]: https://dash.cloudflare.com/07be8d2fbc940503ca1be344714cb0d1

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.

Document list of repositories owned by us and their purpose and brief intro Documenting our Bots
5 participants