Skip to content

Flag pull requests that touch sensitive paths - #352

Merged
jlipworth merged 1 commit into
mainfrom
tooling/sensitive-paths
Oct 16, 2026
Merged

jlipworth merged 1 commit into
mainfrom
tooling/sensitive-paths

Conversation

@jlipworth

Copy link
Copy Markdown
Owner

Summary

Makes outside pull requests cheap to review by flagging the ones that touch essential surfaces, and says plainly that a PR may be re-implemented rather than merged.

  • .github/triage/sensitive-paths.txt is the single list of sensitive paths, grouped by category: signing and entitlements, auth and credentials, the transcode profile, dependencies, CI and release tooling, App Store text, agent instructions (CLAUDE.md, AGENTS.md, .claude/, .codex/), and policies.
  • scripts/check-sensitive-paths.py lists the matching files for a PR (--pr N), a branch (--base REF), or a list of paths. For PRs it also checks the old path of renamed files. It is read-only and never checks out PR code.
  • The new sensitive-paths label has been created. Under BOT-POLICY the bot applies it and names the matched categories, without judging whether the change is safe. It never removes the label.
  • docs/CONTRIBUTING.md and the PR template: PRs are proposals. The maintainer may merge one or re-implement it with credit, and sensitive-path changes usually get re-implemented.
  • CLAUDE.md: before proposing to merge someone else's PR, run the checker, report every match, and review those files line by line.

GitHub Actions is disabled for this repo, and Woodpecker has no token that can label PRs, so the label is applied by the bot (or by hand), not by CI.

Linked issue

None. This is a follow-up to #348.

Affected surface

  • Platforms: none (tooling and docs)
  • Backends: none

Verification evidence

Privacy checklist

  • No tokens, client identifiers, passwords, or signing/team identifiers.
  • No real server hostnames, IPs, or URLs.
  • No usernames, media titles, filenames, library paths, or personal home-directory paths.
  • Security-sensitive changes were discussed privately first (n/a).

AI assistance

Claude Opus via Claude Code wrote the change. The maintainer reviews it.

Add .github/triage/sensitive-paths.txt and a read-only checker that lists the
matching files in a PR, branch, or path list. The triage bot applies the new
sensitive-paths label from it; CONTRIBUTING and the PR template say outside PRs
may be re-implemented rather than merged; CLAUDE.md requires reporting matches
before proposing to merge someone else's PR.
@jlipworth jlipworth added infra Repo / tooling / release security Security, privacy, credentials, trust boundaries, or sensitive data sensitive-paths Touches paths in .github/triage/sensitive-paths.txt; needs close maintainer review labels Oct 16, 2026
@jlipworth
jlipworth merged commit 620ab12 into main Oct 16, 2026
5 checks passed
@jlipworth
jlipworth deleted the tooling/sensitive-paths branch October 16, 2026 18:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infra Repo / tooling / release security Security, privacy, credentials, trust boundaries, or sensitive data sensitive-paths Touches paths in .github/triage/sensitive-paths.txt; needs close maintainer review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant