Objective
Reduce GitHub Actions workflow permissions to the minimum required permissions per workflow and job.
Current Limitation
Some workflows declare broad permissions at the workflow level even when individual jobs only need read access or a narrower write scope. This increases the blast radius of workflow bugs or compromised dependencies.
Proposed Work
Audit .github/workflows/*.yml and resources/github-actions/*.yml, then narrow workflow and job permissions without breaking existing automation.
Scope
- Review tests, reports, wiki, label sync, auto-assign, and packaged workflow stubs.
- Move permissions from workflow-level to job-level where that makes access clearer.
- Keep write permissions only where commits, deployments, labels, comments, or preview cleanup require them.
- Preserve required permissions for Pages deployments, wiki branch pushes, PR comments, and label operations.
- Document any permission that cannot be reduced.
Non-goals
- Rewriting workflow behavior.
- Replacing actions used by current workflows.
- Changing branch protection or repository settings.
Acceptance Criteria
Delivery Criteria
Architectural / Isolation Criteria
Objective
Reduce GitHub Actions workflow permissions to the minimum required permissions per workflow and job.
Current Limitation
Some workflows declare broad permissions at the workflow level even when individual jobs only need read access or a narrower write scope. This increases the blast radius of workflow bugs or compromised dependencies.
Proposed Work
Audit
.github/workflows/*.ymlandresources/github-actions/*.yml, then narrow workflow and job permissions without breaking existing automation.Scope
Non-goals
Acceptance Criteria
Delivery Criteria
pages: writeandid-token: writeplus any required read permission.Architectural / Isolation Criteria