# gitleaks config — see .github/workflows/gitleaks.yml
# Extend the default rule set rather than overriding it; allowlists below
# cover known-safe placeholders and historical paths still in git history
# that are slated for redaction in a separate filter-repo pass.

[extend]
useDefault = true

[allowlist]
description = "Project allowlist for gitleaks"

# Frontend Settings.tsx documents the Anthropic API key prefix in onboarding
# copy ("It will start with sk-ant-api03-…") — that's instructional text, not
# a real key. Path-scoped so an actual leak elsewhere in the same file would
# still trip.
paths = [
  '''frontend/src/app/pages/Settings/Settings\.tsx''',
  # CDP-redaction test: its fixtures are deliberately fake `token=...` URLs it
  # then asserts get redacted, so a full-history rescan keeps "finding" them.
  '''electron/cdp-routes\.test\.js''',
  # Vendored Python venv — never our code.
  '''backend/\.venv/.*''',
  # Vendored MCP server bundles (esbuild output of upstream npm packages).
  '''backend/mcp-bundles/.*''',
  # Bundled npm 9router (fetched from npm at build time; if a leak shows up
  # here, the fix is to bump ROUTER_VERSION in scripts/fetch-router.sh, not
  # to allowlist it — but until then, don't block our own PRs on it).
  '''electron/build-staging/router/.*''',
  # Local-only operator scratch dir, never tracked but defensive.
  '''\.account-factory/.*''',
]

regexes = [
  # Documentation/onboarding copy that talks about secret formats.
  '''sk-ant-api03-…''',
  '''sk-ant-\.\.\.''',
]
