The first allowlist iteration (commit 0c38966ae) only covered Go tests
and the historic .backup-pre-uuid-migration dir, leaving 378 false
positives still flagged. Expand coverage based on the actual gitleaks
report from run #52:
- Playwright e2e/.auth/user.json (120) + e2e-results.json (52) +
full_test_result.txt (44): test artifacts with realistic-looking
JWTs that should arguably not be in git, but are historic
- veza-backend-api/docs/*.md (~50): API docs with example tokens
- veza-stream-server/k8s/production/secrets.yaml: k8s template,
base64 of "secure_pass" placeholders only
- docker/haproxy/certs/veza.pem: self-signed CN=localhost dev cert
- veza-stream-server/src/utils/signature.rs: test_secret_key_*
constant inside #[cfg(test)] modules
- apps/web/.stories.tsx + src/mocks/: Storybook/MSW fixtures
- apps/web/desy/legacy/: archived templates
- veza-docs/ markdown specs
This is intentionally permissive — the goal is to unblock CI on
historic noise, not to replace real secret hygiene. Real secrets
should live in vault / sealed-secrets / .env files (already gitignored).
The gitleaks job reported 389 leaks, but every match fell into one of:
- eyJ...invalid_signature fake JWTs in *_test.go (used to exercise
auth failure paths — never a real credential)
- veza-backend-api/internal/services/.backup-pre-uuid-migration/
which existed in commits 2425c15b0 / 2425c15b0 but is gone from HEAD;
gitleaks scans full git history so removing the dir would not help
- test-jwt-secret / test-internal-api-key constants in setupTestRouter
Add a .gitleaks.toml that extends the v8 default ruleset and allowlists
those paths and stopwords. Update the workflow to pass --config so the
file is honored.