Infrastructure, Change & Dependency Management Policy
Last updated 15 October 2026 · Owner: Koana Works administrator · Reviewed at least once a year
1. Infrastructure
- Application: Cloudflare Workers, with custom domains on koanaworks.com and HTTPS only.
- Database and sign-in: Supabase (PostgreSQL), with row-level security on every table.
- Files and private keys: Cloudflare R2 private buckets.
- Source code: a private GitHub repository.
- Configuration: configuration is versioned in the repository. Secrets are held only in Cloudflare and Supabase encrypted secret stores.
2. Production access
- Only named Koana Works administrators have access to production consoles: Cloudflare, Supabase, GitHub, Google Cloud, Zoom and Meta.
- Each administrator uses their own account with multi-factor authentication.
- Access is reviewed quarterly and removed the same day someone leaves.
3. Change management
- Every change is committed to Git with a description.
- Before any change is deployed, automated checks run: type checking, linting, tests, a production build, static analysis, secret scanning and a dependency audit.
- Database changes are numbered migrations kept in the repository. New tables must enable row-level security.
- Releases deploy automatically from the main branch. Each release can be traced to its commit, and every push is recorded in the change register.
- If a release causes problems, the previous version can be restored from Cloudflare's deployment history in minutes.
4. Dependencies
- Packages are pinned in a lockfile and installed exactly as pinned.
- New packages are added only when needed, and preference goes to well-maintained, widely used ones.
- Dependabot proposes updates weekly, and each update passes the same checks before merging.
- Vulnerable packages are fixed within the times in the Vulnerability Management Policy.
5. Secrets
- Secrets are never stored in source code. Committed code is scanned for them on every change.
- Secrets are rotated after suspected exposure, when someone with access leaves, or when a provider recommends it.
6. Backups and recovery
- The database is backed up by Supabase on its standard schedule.
- Files are copied by Koana's continuity job to a separate vault.
- Code and migrations live in GitHub, so the application can be redeployed from scratch.
See the Business Continuity & Disaster Recovery Plan.