When Actions secrets are available to a workflow run
Verdict: A workflow triggered from a fork receives only GITHUB_TOKEN; all other secrets are withheld. Dependabot-triggered runs get no Actions secrets at all. Same-repository runs get full secret access. Secrets also cannot be referenced directly in if: conditionals.
| Criterion | Fork pull_request run | Dependabot-triggered run | Same-repository run |
|---|---|---|---|
| Secrets available | Only GITHUB_TOKEN; all other secrets withheld | No repository or organization Actions secrets | Full repository, environment and organization secrets |
| Why | Prevent an external contributor exfiltrating credentials | Limit the blast radius of a malicious dependency update | Trusted context |
Rules
- Fork-triggered pull_request runs receive only GITHUB_TOKEN; all other secrets are withheld.
- Dependabot-triggered runs cannot access repository or organization Actions secrets.
- Secrets cannot be referenced directly in an if: conditional; pass the value through a step output instead.
Traps
- Fork runs are not given full secret access identical to base-repository runs.
- GITHUB_TOKEN is still generated for fork runs; it is not that no token exists at all.
- The Dependabot secret restriction covers organization secrets too, not just repository ones.