A
AYONIX
ZOOMER

Secure Development Lifecycle

Version 1.0 · Effective 25 September 2026 · Owner: Ayonix engineering · Reviewed annually

1. Purpose

This policy defines how a change reaches production. It is deliberately short and entirely enforced by automation: a process that depends on people remembering is a process that reports success while doing nothing.

2. Lifecycle

StageWhat happensEnforced by
DesignSecurity-relevant changes — anything touching authentication, biometric data, tenancy or evidence — are designed against the documented architecture before implementation.Review
ImplementWork happens on a branch. Direct commits to main are avoided; changes land through pull requests.Pull request workflow
VerifyType checking, linting, unit and integration tests, and a production build run on every push and pull request.CI workflow
ScanStatic analysis, dependency audit and secret scanning run on every pull request and weekly on a schedule.Security workflow
ReviewA human reviews the diff, the scan results and the test evidence.Pull request review
ReleaseDatabase migrations are applied before the application is deployed. Migrations must be additive.CI guard + runbook
Verify in productionHealth, security headers and key endpoints are checked after every deploy.Deployment checklist

3. Automated gates

GateToolWhenOn failure
Static application security testingGitHub CodeQL, security-extended query suiteEvery PR and push; weeklyFindings raised as code-scanning alerts
Dependency auditnpm auditEvery PR and push; weeklyBuild fails on high or critical in runtime dependencies
Secret scanninggitleaks, full git historyEvery PR and push; weeklyBuild fails
Dynamic application security testingOWASP ZAP baselineWeekly and on demand against the running serviceReport reviewed; failures triaged
Type safetyTypeScript, no implicit any escapeEvery PR and pushBuild fails
LintESLint with eslint-plugin-securityEvery PR and pushBuild fails
TestsVitest — unit and integrationEvery PR and pushBuild fails
Migration safetyCustom CI checkEvery PR and pushBuild fails on destructive DDL
Dependency currencyDependabotWeeklyPull request raised

4. Separation of duties and change control

5. Data handling in development

6. Review

This policy is reviewed annually, and whenever the pipeline materially changes.