uvx tend@latest check reports one failing check on this repo. It needs repo-admin access, which the bot does not have.
repo-secret-allowlist — TEND_BOT_TOKEN is still repository-level, so it is readable by any workflow in the repo, including ones a PR can reach. It already exists in the tend environment (which admits only main) and in release; deleting the repository-level copy resolves this. DOCKERHUB_TOKEN / DOCKERHUB_USERNAME are already allowlisted in .config/tend.yaml and are not part of this.
Resolved since the last refresh: credential-environments now passes. github-pages and release both have a required reviewer, and the OIDC publish jobs were moved into the release environment by #6167 and #6170, so no job requests id-token: write outside an environment any more.
Evidence
FAIL repo-secret-allowlist — Unexpected secrets (repo-level: TEND_BOT_TOKEN). These are available to all workflows, including those triggered by PRs. Move release secrets to a protected environment. If intentionally available, add to secrets.allowed in .config/tend.yaml. See docs/security-model.md.
Current state (via API):
| Scope |
Secrets |
Protection |
| repo |
DOCKERHUB_TOKEN, DOCKERHUB_USERNAME, TEND_BOT_TOKEN |
— |
env tend |
CLAUDE_CODE_OAUTH_TOKEN, TEND_BOT_TOKEN |
branch main only, no reviewers |
env release |
SNAPCRAFT_STORE_CREDENTIALS, TEND_BOT_TOKEN |
tag *.*.*, 1 required reviewer |
env github-pages |
none |
no branch policy, 1 required reviewer |
env copilot |
none |
no policy, no reviewers |
Passing checks: branch-protection:main, bot-permission, environment, environment-deployments, credential-environments, secrets, claude-auth.
See tend's security model.
Last refreshed: 2026-08-09
uvx tend@latest checkreports one failing check on this repo. It needs repo-admin access, which the bot does not have.repo-secret-allowlist—TEND_BOT_TOKENis still repository-level, so it is readable by any workflow in the repo, including ones a PR can reach. It already exists in thetendenvironment (which admits onlymain) and inrelease; deleting the repository-level copy resolves this.DOCKERHUB_TOKEN/DOCKERHUB_USERNAMEare already allowlisted in.config/tend.yamland are not part of this.Resolved since the last refresh:
credential-environmentsnow passes.github-pagesandreleaseboth have a required reviewer, and the OIDC publish jobs were moved into thereleaseenvironment by #6167 and #6170, so no job requestsid-token: writeoutside an environment any more.Evidence
Current state (via API):
DOCKERHUB_TOKEN,DOCKERHUB_USERNAME,TEND_BOT_TOKENtendCLAUDE_CODE_OAUTH_TOKEN,TEND_BOT_TOKENmainonly, no reviewersreleaseSNAPCRAFT_STORE_CREDENTIALS,TEND_BOT_TOKEN*.*.*, 1 required reviewergithub-pagescopilotPassing checks:
branch-protection:main,bot-permission,environment,environment-deployments,credential-environments,secrets,claude-auth.See tend's security model.
Last refreshed: 2026-08-09