# Lines starting with '#' are comments. # Each line is a file pattern followed by one or more owners. # Owners bear a responsibility to the organization and the users of this # application. Repository administrators have the ability to merge pull # requests that have not yet received the requisite reviews as outlined # in this file. Do not force merge any PR without confidence that it # follows all policies or without full understanding of the impact of # those changes on build, release and publishing outcomes. * @MetaMask/extension-devs development/ @MetaMask/extension-devs @kumavis lavamoat/ @MetaMask/extension-devs @MetaMask/supply-chain # The offscreen.ts script file that is included in the offscreen document html # file is responsible, at present, for loading the snaps execution environment # for MV3. Any changes to this file should require at least one member of the # snaps development team to review and approve the changes. offscreen/scripts/offscreen.ts @MetaMask/snaps-devs # The .circleci/ folder instructs Circle CI on the process by which it # should test, build and publish releases of our application. Due to the # impact that changes to the files contained within this folder may have # on our releases, only those with the knowledge and responsibility to # publish libraries under the MetaMask name may approve those changes. # Note to reviewers: We employ the use of CircleCI "Orbs", which are # remotely hosted sections of CircleCI configuration and scripts, to # empower our CI steps. ANY addition of orbs to our CircleCI config # should be brought to the attention of engineering leadership for # discussion .circleci/ @MetaMask/library-admins @kumavis # The privacy-snapshot.json file includes a list of all hosts that the # extension communicates with during the E2E test suite runs. It is not a # complete list of all hosts that the extension communicates with until the E2E # test suite has full coverage. Anytime the privacy-snapshot file changes, # extra scrutiny should be applied to the pull request to confirm that it does # not broaden the number of hosts the extension communicates with without also # providing a path for users to avoid that communication. MetaMask strives to # make all such communication opt IN versus opt OUT. privacy-snapshot.json @MetaMask/extension-privacy-reviewers # The CODEOWNERS file constitutes an agreement amongst organization # admins and maintainers to restrict approval capabilities to a subset # of contributors. Modifications to this file result in a modification of # that agreement and can only be approved by those with the knowledge # and responsibility to publish libraries under the MetaMask name. .github/CODEOWNERS @MetaMask/library-admins @kumavis # For now, restricting approvals inside the .devcontainer folder to devs # who were involved with the Codespaces project. .devcontainer/ @MetaMask/library-admins @HowardBraham @plasmacorral # Confirmations team to own code for confirmations on UI. app/scripts/lib/ppom @MetaMask/confirmations app/scripts/lib/signature @MetaMask/confirmations app/scripts/lib/transaction/decode @MetaMask/confirmations app/scripts/lib/transaction/metrics.* @MetaMask/confirmations app/scripts/lib/transaction/util.* @MetaMask/confirmations ui/pages/confirmations @MetaMask/confirmations # MMI team is responsible for code related with Institutioanl version of MetaMask ui/pages/institutional @MetaMask/mmi ui/components/institutional @MetaMask/mmi ui/ducks/institutional @MetaMask/mmi ui/selectors/institutional @MetaMask/mmi # Design System to own code for the component-library folder # Slack handle: @metamask-design-system-team | Slack channel: #metamask-design-system ui/components/component-library @MetaMask/design-system-engineers # The Notifications team is responsible for code related to notifications, # authentication, and profile syncing inside the Extension. # Controllers **/controllers/authentication/** @MetaMask/notifications **/controllers/metamask-notifications/** @MetaMask/notifications **/controllers/push-platform-notifications/** @MetaMask/notifications **/controllers/user-storage/** @MetaMask/notifications # UI **/metamask-notifications/** @MetaMask/notifications **/multichain/notification*/** @MetaMask/notifications **/pages/notification*/** @MetaMask/notifications **/utils/notification.util.ts @MetaMask/notifications # Accounts team is responsible for code related with snap management accounts # Slack handle: @accounts-team-devs | Slack channel: #metamask-accounts-team app/scripts/lib/snap-keyring @MetaMask/accounts-engineers # Swaps team to own code for the swaps folder ui/pages/swaps @MetaMask/swaps-engineers app/scripts/controllers/swaps @MetaMask/swaps-engineers # Snaps **/snaps/** @MetaMask/snaps-devs shared/constants/permissions.ts @MetaMask/snaps-devs ui/helpers/utils/permission.js @MetaMask/snaps-devs ui/hooks/useTransactionInsights.js @MetaMask/snaps-devs # Wallet UX ui/components/multichain @MetaMask/wallet-ux ui/components/app/whats-new-popup @MetaMask/wallet-ux ui/css @MetaMask/wallet-ux ui/pages/home @MetaMask/wallet-ux ui/pages/onboarding-flow @MetaMask/wallet-ux # Assets ui/components/app/add-network @MetaMask/metamask-assets ui/components/app/auto-detect-nft @MetaMask/metamask-assets ui/components/app/auto-detect-token @MetaMask/metamask-assets ui/components/app/import-token @MetaMask/metamask-assets ui/components/app/nft-default-image @MetaMask/metamask-assets ui/components/app/nft-details @MetaMask/metamask-assets ui/components/app/nft-options @MetaMask/metamask-assets ui/components/app/nfts-detection-notice-import-nfts @MetaMask/metamask-assets ui/components/app/nfts-items @MetaMask/metamask-assets ui/components/app/nfts-tab @MetaMask/metamask-assets ui/components/ui/deprecated-networks @MetaMask/metamask-assets ui/components/ui/nft-collection-image @MetaMask/metamask-assets