Skip to content

Commit 6ae3970

Browse files
committed
chore(security): allowlist tsforge scaffold-manifest in gitleaks
.tsforge/scaffold-manifest.json (added in #224) declares which env-var names each AI provider requires (OPENAI_API_KEY, ANTHROPIC_API_KEY) plus non-secret defaults. gitleaks' generic-api-key rule flags the provider/secret-keyword proximity, but the manifest holds only key names and placeholder config — no secret values. Narrow path allowlist, mirroring the existing deny-list/config entries. Pre-existing finding; surfaced on the first local push since #224 merged.
1 parent b75555f commit 6ae3970

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

.gitleaks.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ paths = [
3838
# valid 32-byte base64 fixture and rejects too-short / too-long
3939
# values. The fixture is generated for the test, not a live key.
4040
'''apps/api/tests/boot/invariants\.test\.ts''',
41+
# The tsforge scaffold manifest is the config-surface source of truth:
42+
# it declares which env-var *names* each AI provider requires (e.g.
43+
# OPENAI_API_KEY, ANTHROPIC_API_KEY) and their non-secret defaults. The
44+
# `generic-api-key` rule flags the provider/secret-keyword proximity,
45+
# but the file holds only key names and placeholder config — no values.
46+
'''\.tsforge/scaffold-manifest\.json''',
4147
]
4248
# Docs setup recipes use the literal placeholder
4349
# `<set-from-your-secret-manager>` as the example value for secret-valued

0 commit comments

Comments
 (0)