openvibers/openvibe.ai Commits

CI: run the shared security workflow (gitleaks secret scan + dependency audit, Track Q)

OP OpenVibers committed 23 Sept 2026 · 3a480ac9f2 · 2 files, +14 −0

Calls OpenVibers/OpenVibe.Shared/.github/workflows/security.yml@83c998b.
.gitleaks.toml allowlists only proven false positives (test fixtures / doc placeholders), matched on path AND value.

Changes

ddiff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
iindex 333de7c..8d22cc3 100644
---- a/.github/workflows/ci.yml
++++ b/.github/workflows/ci.yml
@@@ -19,3 +19,6 @@ jobs:
# release ships it this check reports that range, so it may not fail the build yet.
- name: contract check (openvibe-contracts)
run: npx openvibe-contracts-check --service ai --src server
++ # Secret scan (gitleaks) and dependency audit, shared by every OpenVibers repo (Track Q).
++ security:
++ uses: OpenVibers/OpenVibe.Shared/.github/workflows/security.yml@83c998b65424fb97e6f6de55ad9cc5981767e89c
ddiff --git a/.gitleaks.toml b/.gitleaks.toml
nnew file mode 100644
iindex 0000000..d2eca6e
---- /dev/null
++++ b/.gitleaks.toml
@@@ -0,0 +1,11 @@
++# gitleaks configuration, used by the shared security workflow
++# (OpenVibers/OpenVibe.Shared/.github/workflows/security.yml). The default rules stay on; every
++# allowlist below is one proven false positive, matched on path AND value so nothing else is hidden.
++[extend]
++useDefault = true
++
++[[allowlists]]
++description = "Sentinel provider key in the auth test that asserts secrets are never returned"
++condition = "AND"
++paths = ['''^test/auth\.test\.js$''']
++regexes = ['''^sk-test-THIS-MUST-NEVER-BE-RETURNED-0123456789$''']