Trust Center · Policies
Change Management Policy
Last updated: 2026-09-03 · Owner: Founder / CTO · Design Excellent Group SL
How code and infrastructure changes are proposed, reviewed, tested and deployed.
Purpose
Make every change to production traceable, reviewed and reversible.
Source control
All application code, database migrations and CI configuration live in a single GitHub repository. main is the only branch that deploys. Direct history rewriting on main is disabled.
Pipeline
- Pull request — every change is proposed as a pull request with a description of intent and an accessibility testing note (assistive technology used, keyboard flows, axe-core result), as required by our definition of done.
- Automated checks — GitHub Actions run type-checking, linting and unit tests on every pull request and on
main; a separate accessibility job runs axe-core (WCAG 2.x A/AA) and keyboard smoke tests on public and authenticated pages and fails on serious or critical violations. - Review — a second pair of eyes (human or automated review agents, always confirmed by a person) before merge for anything touching authentication, payments, tenant isolation, data retention or accessibility.
- Deploy — merging to
maintriggers an automatic build and deploy through Coolify (webhook). The build itself performs the type and lint checks again. - Verify — post-deploy, the health endpoint and the public status checks are confirmed; the platform activity feed is watched for errors.
Database changes
Schema changes are versioned SQL migrations in the repository, applied through the Supabase Management API by an authorised person. Migrations are additive where possible; destructive changes require a backup point and a rollback note in the migration header.
Emergency changes
Hot-fixes follow the same pipeline with an expedited review; the reviewer may be consulted after deploy, and the change is documented within one business day.
Rollback
Coolify keeps previous builds; a rollback is a redeploy of the last known-good commit. Database rollbacks use Supabase point-in-time recovery.