Leave the proprietary CI
Replaced by GitHub Actions and a self-hosted runner, with a deployment procedure validated step by step and one branch per environment.

An acquisition platform, dozens of landing pages and white-label sites that collect and then distribute qualified enquiries to partners.
Deployments depended on a paid service and on undocumented procedures. One server was 96 % full, one application exposed its debugging tools in production, and the main database had no automatic backup.
The scope describes the decisions and the work actually carried out, without naming the organisation involved.
Replaced by GitHub Actions and a self-hosted runner, with a deployment procedure validated step by step and one branch per environment.
Validation contract for exports, runtime frozen per page, versioned configuration and a revocable API key for each campaign.
Disk usage brought down from 96 % to 45 %, log retention reviewed and daily purges automated.
Database backed up every 30 minutes to a third-party server through a restricted SSH tunnel, and checked from the dashboard.
Import of remote files, field validation, then delivery to two partner platforms.
Clients, brands, domains, addresses and identifying details are not published. The figures come from the logs, databases, clusters, repositories and control reports provided for these assignments. Security incidents are described without any reproducible exploitation path.
Describe the context, the existing systems and the expected result. We will propose the right level of intervention.