0%
Vibe44 Logo

Supply Chain Security

Dependency governance, vulnerability response SLAs, and build integrity controls.

Dependency Governance

Approval Process

  1. New deps — review: package size, maintenance status, license (MIT/Apache 2.0/ISC), download count, CVEs
  2. Security-critical (auth, crypto, payment SDKs) — pinned to exact versions, no ^ or ~
  3. Transitive risks — npm run security:audit in CI + weekly Dependabot scans

Approved Packages

CategoryPackagesVersion Policy
Auth/Crypto@supabase/ssr, @supabase/supabase-jsExact pin
Paymentsstripe, @polar-sh/sdk, @lemonsqueezy/lemonsqueezy.jsExact pin
Databasedrizzle-orm, drizzle-kit, postgresExact pin
Frameworknext, react, react-domMinor range (~)
UI@radix-ui/*, shadcn componentsPatch range
Dev toolsvitest, eslint, typescriptLatest minor

️ Vulnerability Response SLA

SeverityResponseAction
Critical (CVSS 9.0+)24 hoursPatch, rebuild, deploy
High (CVSS 7.0–8.9)7 daysPatch in next release
Medium (CVSS 4.0–6.9)30 daysPatch when convenient
Low (CVSS 0.1–3.9)Next sprintEvaluate and patch

Automated Controls

ControlToolTrigger
Vulnerability scannpm run security:auditEvery CI run
SBOM generation@cyclonedx/cyclonedx-npmEvery CI run (90-day retention)
Dependency updatesDependabotWeekly PRs
Lockfile integritynpm ci (not npm install)Every CI run
Version pinning.npmrc (engine-strict=true)Every install

Lockfile Policy

  • CI/CD — npm ci only. Fails if package-lock.json mismatches package.json.
  • Local dev — npm install normally. Commit package-lock.json changes.
  • Never — npm install --force or --legacy-peer-deps without documented justification.

SBOM

Generated every CI run via CycloneDX (@cyclonedx/cyclonedx-npm@^4.2.1 devDependency):

npm run sbom
# Equivalent to: cyclonedx-npm --output-file sbom.json --output-reproducible
  • Format: CycloneDX JSON (reproducible output)
  • Retention: 90 days (GitHub Actions artifact)
  • Contents: all production + dev dependencies with versions and licenses
  • Access: GitHub Actions → workflow run → Artifacts
  • Local: sbom.json in project root (gitignored)

Incident Response

Critical dependency vulnerability discovered:

  1. Check if vulnerable code path is reachable in our codebase
  2. Reachable → patch immediately, deploy within 24 hours
  3. Not reachable → document finding, patch within 7 days
  4. Log in auth_events for audit trail

Copyright © 2026 Vibe44. Built with ❤️ by Scale with Alap.