01
The challenge
Enterprise customers required SOC 2 Type II before signing. The infrastructure had grown organically: secrets committed to repositories, IAM policies far broader than needed, no network segmentation between services, and no reliable record of who changed what. The gap had to close inside one quarter.
02
Solution architecture
Request path in teal. Dashed lines are private connectivity, deployment and telemetry. Scroll sideways on small screens.
Layers top to bottom. Controls apply at every layer.
03
Approach
- 01Map every SOC 2 control to a concrete technical control and an evidence source before touching infrastructure.
- 02Make private the default: VPC endpoints, security groups and NACLs so nothing is reachable unless declared.
- 03Move every secret into AWS Secrets Manager with rotation, and remove them from code and CI history.
- 04Rebuild IAM around roles and least privilege, with access reviewed in pull requests.
- 05Make change itself auditable: infrastructure only through reviewed Terraform, with CloudTrail and config history retained.
04
How the delivery ran
- Week 1: control mapping and gap assessment, agreed with the compliance lead and the auditor's checklist.
- Week 2–5: network, identity and secrets controls implemented as Terraform in the client's accounts.
- Week 6–7: audit logging, evidence collection and infrastructure code-review workflow. Dry-run against the control list.
- Week 8: hand-over, runbooks and evidence pack. External audit followed and closed with zero findings.
05
What was delivered
- Identity and access model with role catalogue
- Network, secrets and audit controls as Terraform
- Control-to-evidence map for SOC 2 Type II
- Security operations and incident runbooks
06
Results
| Dimension | Before | After |
|---|---|---|
| Certification | None, deals blocked | SOC 2 Type II in 8 weeks |
| Audit findings | Multiple known gaps | Zero external findings |
| Secrets | In code, rotated by hand | Managed, 100% rotation automated |
| Network exposure | Flat, broadly reachable | Private by default, segmented |
| Change history | Unrecorded | Every change reviewed and logged |
Facing a similar decision? A 30-minute call is the fastest way to find out whether the same approach fits.
Book a 30-minute callMore case studies
More platforms delivered.
Government · Tourism · Azure
A secure Azure platform for a national tourism digital ecosystem, delivered as code.
A high-traffic tourism ecosystem built on Sitecore, .NET and Optimizely needed standardised, observable and resilient infrastructure across development, UAT and production. I owned cloud architecture, security, networking, CI/CD and production application delivery as Cloud Solution Architect and DevOps Engineer.
AzureSitecore.NETOptimizelyRead the case studyFood & Wellness · E-commerce · Azure
The Azure platform behind a high-volume digital meal-plan experience, run as code.
PractiCal sells personalised meal plans across the UAE through a Next.js storefront, Laravel/PHP backend services and Azure serverless workloads. I owned the cloud and application platform end to end: infrastructure, edge security, CI/CD and production operations across development, staging and production.
AzureLaravelPHPNext.jsRead the case studyEducation · Enterprise · Azure
A secure Azure platform for a large-scale university digital experience on .NET and Umbraco.
A university digital platform serving prospective students, current students, faculty and other stakeholders: programme discovery, admissions, applications and student services on an ASP.NET and Umbraco CMS stack. I owned Azure infrastructure, application delivery, security and production operations.
AzureAzure App Service.NETASP.NETRead the case study