DevSecOps Cloud security Automation

I build security guardrails for startup infrastructure and software delivery.

7+ years owning security and compliance in DevSecOps roles. I build AWS permission boundaries, separate application access from privileged operations, and automate security checks before code merges.

I added IT management in my seventh year, after six years partnering with IT teams on security concerns and implementation.

Open to full-time, fractional, advisory, and startup security leadership opportunities.

Montreal, Canada Canadian citizen Remote Open to US relocation with TN support

~1,950 findings addressed in two weeks, including 18 temporary suppressions
7+ years owning security and compliance
$1M+ cloud spend reduced
0 → 1 security function built solo

Engineering decisions

The controls behind the work.

Examples of the security platforms, permission boundaries, and review workflows I have built. Client names and sensitive implementation details are omitted.

Secrets infrastructure · AKS

One source of truth for secrets. $85K saved each month.

I consolidated fragmented secrets management into self-hosted Vault on AKS, integrated services with the platform, and reduced monthly costs by $85,000 after hosting costs.

Read the Vault migration case study

The consolidation

Secrets were spread across Azure DevOps, GitHub, Azure Key Vault, and HashiCorp Vault Enterprise. I migrated them into self-hosted Vault as a single source of truth and integrated all services with the new platform.

Identity and network controls

I used dedicated service principals managed through Terraform for authentication, with private endpoints restricting network access to the platform.

Monitoring and detection

Audit events were sent to New Relic. I configured monitoring and alerts for unauthenticated access attempts, unused secrets, and unused identities.

Backups and recovery

Regular backups were stored in Azure Blob Storage accessed through a private endpoint. We tested restoration from multiple backups to verify recovery.

The result

The migration consolidated secrets and service integrations on one platform, with monitoring and tested recovery. Savings were $85,000 per month after hosting costs.

Security program · Kojo

Built the program behind Kojo’s SOC 2 Type II effort.

As the sole internal security owner, I built technical controls and operating processes, raised Drata readiness from 45% to 95% within six months, and led the effort through final report issuance in August 2026.

Read the Kojo SOC 2 case study

My ownership

I joined in late September 2025 and owned the security program, partnering with engineering, IT stakeholders, and independent auditors. I implemented fixes directly and escalated changes requiring product or engineering ownership to the responsible managers.

Controls that operated in practice

I built infrastructure controls and automation to detect changes to them, updated policies to reflect actual practices, completed device enrollment in MDM, enforced device compliance, strengthened AWS least-privilege access, and implemented security training for users.

Evidence and remediation

I established evidence-collection processes and human code-review requirements, coordinated penetration testing and remediation, and worked with auditors to identify and close gaps before the audit.

The timeline and result

Drata readiness increased from 45% to 95% within six months. This was the platform’s readiness metric, not an auditor-issued compliance score. The Type II observation period ran from January 1 to March 31, 2026, and the final report was issued in August 2026.

Vulnerability remediation

Two weeks to zero open critical or high findings.

Addressed approximately 1,950 unique critical and high-severity findings through code changes and 18 temporary upstream exceptions. Datadog showed zero open findings in those severity categories at the end of the effort.

Read the vulnerability remediation case study

The workload

Datadog displayed the backlog as a rounded 1.95k findings, with approximately 480 rated critical and the remainder high. These were not duplicates. Another 26 findings arrived during the final week, so the reported volume is approximate rather than an exact count of code fixes.

My implementation

I personally made the code changes, upgrading dependencies and removing unused code. I grouped fixes into consolidated pull requests by repository and severity, reducing review requests from hundreds to tens per repository while retaining code-owner approval for every change.

Testing and review

I verified feature behavior through local deployments. Claude assisted with running CI tests locally, checking repository code-quality guidelines, and managing Jira tickets. Code owners reviewed and approved the changes before merging.

Time-bound exceptions

Eighteen findings involved upstream libraries without fixed versions. These were suppressed for 30 days and required monthly reassessment. They were tracked as exceptions, not counted as code fixes.

The verified outcome

After the changes, Datadog showed zero open critical or high-severity findings. That dashboard state included the 18 temporary suppressions; it does not mean every finding had an available patch or that the systems were free of vulnerabilities.

Application authorization

Separate data access from schema changes.

Applications needed to operate on client data without inheriting the privileges used to manage database schemas.

Read the database access case study

The boundary

For RDS, I implemented database grants that allow application identities to read and write primary database data while reserving schema alterations for a dedicated GitHub Actions identity. Access to backups and secondary databases was limited to read-only.

The implementation

The configurations are managed in separate repositories and OpenTofu workspaces to reduce accidental changes across that boundary. Schema changes run through the delivery workflow so their history can be tracked.

My role

I originally implemented these permission changes myself. I now use Claude Cowork to automate changes, with human review required before merging. Related reviews caught application access that could write secrets when only read access was needed, and database credentials embedded in application code before production.

The result

Application data access and schema administration use separate identities and privileges. Database grants enforce the RDS query and schema boundary; AWS permissions govern infrastructure access.

Software delivery security

Make risk review a required merge check.

I built a second bot to review proposed code changes, classify their risk, and assess the guardrails present or changed.

Read the CI risk check case study

The enforcement

I defined the blocking criteria for a required CI check. High and critical classifications fail the check and prevent merging through the normal workflow. Warnings pass but notify the reviewer; green results pass. Destructive permission requests are blocked and code owners are notified.

The exception path

After identifying a gap in the check, we updated it to accept exceptions requested by repository admins with explicit resource and time restrictions. Ordinary requesters cannot authorize those exceptions. Policy conditions enforce the permission time limit.

The boundary of the control

The required check enforces the classifier’s risk status. It does not independently prove the classifier’s assessment is correct. Human review remains part of the merge process.

Incident access

Limit destructive access to the task at hand.

During an incident involving a stuck queue, a legitimate request for deletion permissions was blocked by the existing controls.

Read the temporary queue access case study

The response

An administrator used their bypass authority to enable the incident action. The permission was scoped exclusively to the affected queue and limited in time through policy conditions, rather than becoming permanent access.

The audit record

The event was documented for auditability. This was a separate incident from the repository-admin exception path described in the CI case study.

The wider practice

My AWS IAM work includes risk classification and periodic permission reviews for indirect escalation paths. I use account-level SCPs to restrict sensitive AWS actions and privileged access across environments that include RDS and DynamoDB.

Selected outcomes

The work, measured.

Five examples of turning broad ownership into practical systems and durable outcomes.

01

Led Kojo’s SOC 2 Type II effort.

Built technical controls, monitoring, policies, device compliance, training, and evidence processes as the sole internal security owner. Partnered with engineering and independent auditors through final report issuance in August 2026.

45% → 95%Drata readiness within six months
02

Zero open critical or high findings after two weeks.

Personally implemented code fixes and grouped pull requests by repository and severity, with local testing and code-owner approval. Datadog confirmed zero open critical or high findings, including 18 upstream exceptions under 30-day suppressions.

~1,950findings addressed; 18 temporarily suppressed
03

Risk review before code merges.

Built a code-review bot and a required CI check that blocks high and critical risk classifications. Warnings notify reviewers, and repository-admin exceptions require resource and time restrictions.

Pre-mergerequired risk classification check
04

Consolidated secrets into self-hosted Vault on AKS.

Migrated secrets from Azure DevOps, GitHub, Azure Key Vault, and Vault Enterprise into one platform, with Terraform-managed identities, private endpoints, New Relic monitoring, and tested backups.

$85Ksaved monthly after hosting costs
05

Security and reliability without waste.

Reduced cloud and tooling costs through rightsizing, infrastructure restructuring, automation, and carefully selected open-source replacements.

$1M+reduced across two environments

Ways I can help

One owner across the seams.

For startups that need governance and implementation to move as one system.

01Security program and compliance foundations

Security strategy, control design, risk management, SOC 2, PCI DSS, and ISO 27001 readiness and program ownership, audit coordination, customer assurance, incident response, and security champion programs.

02AI security and governance

Authorization boundaries, interaction logging, monitoring, human review points, AI tool governance, and controls based on NIST AI RMF and the OWASP LLM Top 10.

03Cloud and platform security

Secure AWS and Azure architecture, Kubernetes, Terraform, identity, networking, DevSecOps, CI/CD security, secrets management, and production guardrails.

04IT systems, identity, and device management

SSO and IAM, device management, endpoint protection, SaaS administration, access reviews, and automated onboarding and offboarding.

05Vulnerability management and security automation

Risk-based prioritization, remediation workflows, dependency automation, secure code review, detection engineering, and human-reviewed agentic workflows.

How I work

Security should create guardrails that help teams ship, not gates that make them wait.

I scale programs through automation, clear ownership, and champions embedded across the business. Human judgment stays where it matters.

Writing

Field notes from building the function.

Practical writing about security leadership, cloud infrastructure, AI governance, automation, and the decisions behind the systems.

Writing archive · coming soon
Security programs Cloud and platform security AI governance DevSecOps Automation

Start a conversation

Your first security leader. Your next security partner.

Hiring a security leader or looking for hands-on help? Let’s talk about your team, your priorities, and what needs to happen next.

For hiring teams

Hands-on security engineering and leadership across cloud infrastructure, software delivery, and compliance, with additional IT management experience.

For founders and teams

Fractional leadership, advisory work, and focused implementation engagements to build your foundations or close a specific gap.