Skip to content

Maintainer Access Policy

This policy defines how ZapTrace grants, reviews, and removes access to sensitive project resources.

Sensitive resources

Sensitive resources include:

  • repository administration and branch/ruleset settings;
  • secrets, environments, and deployment/release credentials;
  • package or container registry publishing rights;
  • GitHub private vulnerability reports and advisories;
  • GitHub Pages and documentation deployment settings;
  • Project board automation with write access.

Default access rule

New collaborators must receive the lowest practical permission level by default. Escalated access requires documented need, maintainer review, and a clear responsibility.

Escalation criteria

Before granting write, maintain, admin, release, or secret access, the lead maintainer should review:

  • contribution history and technical area;
  • security posture, including 2FA/passkey use;
  • whether the access is needed for the role;
  • whether a narrower permission or temporary access is sufficient;
  • whether the access creates bus-factor or conflict-of-interest risk.

Required maintainer practices

Maintainers with sensitive access must:

  • use multi-factor authentication for GitHub;
  • avoid sharing tokens, SSH keys, or recovery codes;
  • use least-privilege personal access tokens when tokens are necessary;
  • report suspected account compromise immediately;
  • avoid running untrusted pull request code with privileged credentials.

Review cadence

Sensitive access should be reviewed when:

  • a new release line is created;
  • a collaborator changes role or becomes inactive;
  • a security incident occurs;
  • a new package registry or deployment target is added;
  • at least annually if the project has multiple maintainers.

Removal

Access must be removed promptly when it is no longer needed, when a collaborator becomes inactive for sensitive workflows, or when compromise is suspected.