name: sanitize # PR gate: block personal data, secrets and tenant-internal references from # entering the shared skill library. Every layer boundary is a gate. # Deliberately PR-only: INSIDE a private tenant repo internal details are # legitimate; the gate guards the boundary to the shared layers. on: pull_request: jobs: pii-scan: runs-on: windows steps: - uses: actions/checkout@v4 - name: Scan for PII / secrets / internal URLs shell: python run: | import os, re, sys RULES = [ ("e-mail address", re.compile(r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}")), ("phone number", re.compile(r"(?