Infrastructure Security

Infrastructure Security secures the cloud environments GitLab runs on, across commercial, corporate, and FedRAMP.

Infrastructure Security (InfraSec) is a team within Product Security, part of the Platform Security group.

Mission

We secure the cloud that GitLab’s product and internal teams run on: commercial, corporate, and FedRAMP. We run the production security tooling that shows us our cloud posture, and we turn what it finds into fixes. We’re also writing cloud, infrastructure, and data security requirements as controls that engineers and AI agents can both read, so secure configuration is built in from the start instead of caught in review.

Scope and responsibilities

What we own

  1. Cloud security requirements. Cloud and infrastructure security requirements, written as machine-readable controls that plug into developer and AI coding workflows. This work lives in the GitLab Cloud Security Framework, which we’re building now.
  2. Infrastructure security reviews. AI-assisted reviews of features that add or change cloud infrastructure, containers, network architecture, infrastructure as code, or secrets management. We build and maintain the agents and flows behind these reviews.
  3. Production security tooling. Running Wiz and our other security tools across GitLab’s offerings, and feeding their findings into a steady remediation pipeline.
  4. Corporate cloud. Securing our corporate cloud environments, including the Sandbox Cloud realm: access controls, cost governance, policy enforcement, and account lifecycle.
  5. Misconfiguration remediation. Finding and fixing cloud misconfigurations in production and non-production environments.
  6. FedRAMP operations. Moving off accelerator-provided tools toward one toolchain for Commercial and Federal, plus FedRAMP vulnerability management tooling, operations, and reporting.
  7. Data security. Data-layer security requirements and remediation of data-layer risks, in production and non-production.
  8. Infrastructure penetration testing. Coordinating pen tests of GitLab’s cloud and production infrastructure.
  9. Risk register items. Owning the cloud and data-layer items on the Product Security Risk Register and leading their remediation.

Out of scope

Area Who owns it
Application-layer security reviews Application Security
Product-layer security architecture requirements Security Architecture
Vulnerability management outside FedRAMP Vulnerability Operations
Security controls for GitLab’s own groups and namespaces, and software supply chain governance Security Posture Management

Where our work comes from

Most of our work arrives through the request templates below. The rest comes from risk register items, FedRAMP and Security Compliance commitments, and the projects we plan each quarter.

Working with us

  1. To request an infrastructure security review, create an issue with the security review template.
  2. To request a production readiness review, create an issue with the production readiness template.
  3. To report a bug or request a change to Teleport, create an issue with the Teleport template.
  4. For anything else, use the generic request template.

Please mention @gitlab-com/gl-security/product-security/infrastructure-security on GitLab instead of tagging individuals. On Slack, find us in #security-infrasec or tag @infrasec-team.

We triage new requests every working day. If something’s urgent and can’t wait, say so in #security-infrasec. For a security incident, don’t wait for us: page the Security Incident Response Team with /security in any Slack channel.

How we plan

We plan by quarter, and everything starts from the FY27 InfraSec Planning epic (&210). Each quarter has a planning epic and a KTLO/BAU epic underneath it. We link to the FY27 planning epic here rather than to the quarterly epics, because those change every quarter.

Our work falls into a few buckets:

  • Delivery epics are planned projects. Each one has a lead and a named backup, a clear scope, and milestones written in the description.
  • Delivery issues are smaller projects tracked as a single issue. If one grows, it gets an epic.
  • KTLO/BAU is the recurring and reactive work: reviews, access grants, incident follow-up, renewals, and one-off tasks.
  • Paused work stays visible in the quarter’s planning epic, so nothing quietly disappears.

Tracking KTLO and BAU work

When we pick up KTLO or BAU work, we add the issue as a child of the current quarter’s KTLO/BAU epic, which sits under the FY27 InfraSec Planning epic. If the issue already has a parent epic in another team’s project, we link it to our KTLO/BAU epic as related instead of moving it.

This matters more than it looks. Reactive work is a big share of what we do, and the KTLO/BAU epic is the only place we can see and report on it. If it isn’t linked, it didn’t happen as far as planning is concerned.

Labels

Delivery epics and delivery issues need both the team label and the current quarter label. The planning epic’s queries use them to find active work, so anything missing either label won’t show up.

Label Use it on
~"Infrastructure Security Team" All InfraSec work
~"Department::Product Security" All InfraSec work
~FY27-Q4 (the current quarter) Delivery epics and delivery issues only. Don’t add it to planning epics, KTLO/BAU epics, or KTLO/BAU items
~"InfraSec::triage" New requests that need triage

When delivery work carries into the next quarter, add the new quarter label and keep the old one as history.

Project ownership

Each delivery epic’s lead is responsible for delivering it. That means keeping the status and milestones in the epic description current, and moving issues along with the people working on them.

Meetings

We work asynchronously by default, in our issues and epics. The team spans time zones from New Zealand to the US, so no single meeting time works for everyone.

Our team sync runs every week and rotates through three time slots, so everyone can make some of them without a midnight call. All three slots share one sync document, which holds the agenda and notes. Every session is recorded, with shortcuts to the recordings in the sync document and the InfraSec shared drive. When we miss a slot, we catch up on the recording and add to the agenda async.

Other team members are welcome to join. Get in touch with us in #security-infrasec and we’ll add you to the invite and the agenda.

We also hold a quarterly retrospective on what went well and what to change, and each team member has regular 1:1s with their manager.

Design documents

Before starting a new project, we encourage writing a design doc. It records the implementation approach and the key decisions, especially the trade-offs we weighed.

To propose a design:

  1. Open an MR in the InfraSec Team Charter repo, using the design doc template as a guide.
  2. Fill in each section.
  3. Add other team members as reviewers.
  4. Link the MR from the delivery epic it belongs to.

Who’s on the team

We don’t keep a list of names here, because it goes stale. For the current team:

Team pages and resources

Onboarding

Keeping this page current

We review this page at the end of each quarter, as part of quarterly planning. If you spot something wrong before then, open an MR.


InfraSec Issue Lifecycle
This page outlines the structured process for managing InfraSec issues from creation to closure. It includes clear stages such as issue triage, prioritization, backlog checks, and closure, ensuring efficient tracking, timely resolution, and accountability through systematic labeling and workflows
Infrastructure Security - Capacity Indicators and Workflows
This page provides an overview of how we measure the team's capacity to effectively handle current workloads and plan for future needs. By collecting and analyzing this data, we can make informed decisions regarding the team's capacity and headcount requirements.
Teleport
Teleport is an Access Management Platform allowing users to gain read or write access to various …