[{"data":1,"prerenderedAt":1653},["ShallowReactive",2],{"/blog/quick-compliance-with-compliance-framework-templates":3,"navigation-en-us":892,"banner-en-us":1324,"footer-en-us":1334,"blog-post-authors-en-us-Fernando Diaz":1593,"blog-related-posts-en-us-quick-compliance-with-compliance-framework-templates":1608,"blog-share-wrapper-en-us":1633,"next-steps-en-us":1643},{"id":4,"title":5,"authors":6,"body":8,"category":874,"date":875,"description":876,"extension":877,"externalUrl":878,"faq":878,"featured":879,"heroImage":880,"meta":881,"navigation":882,"path":883,"seo":884,"slug":885,"stem":886,"tags":887,"template":890,"updatedDate":878,"__hash__":891},"blogPosts/en-us/blog/quick-compliance-with-compliance-framework-templates.md","GitLab compliance frameworks: Adhere to SOC 2 in minutes",[7],"Fernando Diaz",{"type":9,"value":10,"toc":857},"minimark",[11,24,27,40,43,58,63,73,90,99,102,106,109,123,126,133,138,141,206,209,213,216,259,262,272,276,279,324,335,339,342,431,433,436,440,450,460,499,502,508,515,519,526,532,547,562,566,574,762,764,794,798,801,820,831,835,838,852],[12,13,14,15,19,20,23],"p",{},"Compliance is the part of software delivery that everyone agrees is important, yet nobody enjoys. It\noften lives in spreadsheets, screenshots, and the quiet dread of an upcoming audit. GitLab's custom\ncompliance frameworks work differently. Instead of documenting what ",[16,17,18],"em",{},"should"," be true about your\nprojects, you define the controls once and let the platform continuously verify what ",[16,21,22],{},"is"," true.",[12,25,26],{},"In this article, you'll learn why compliance adherence matters, how to stand up a SOC 2 framework in\nminutes using a template, how to monitor adherence on an ongoing basis, how to enforce compliance\nwith policies, and which standards already ship as ready-to-use templates. You'll also get a look at\nwhere AI-specific compliance templates are heading. You can watch the video below to see it in\naction:",[28,29,32,33],"figure",{"className":30},[31],"video_container","\n  ",[34,35,39],"iframe",{"src":36,"frameBorder":37,"allowFullScreen":38},"https://www.youtube.com/embed/Yo1JJDs5OBU?si=_5yhOghlbQWab7kV","0","true"," ",[41,42],"br",{},[12,44,45,49,50,53,54,57],{},[46,47,48],"strong",{},"Tier note:"," Compliance frameworks are available in ",[46,51,52],{},"Premium"," and ",[46,55,56],{},"Ultimate",". Framework\nrequirements and controls, the checks that power adherence reporting and the compliance status\nreport, require Ultimate. Everything here applies to GitLab.com, GitLab Self-Managed, and GitLab Dedicated.",[59,60,62],"h2",{"id":61},"why-compliance-adherence-matters-and-how-custom-frameworks-help","Why compliance adherence matters and how custom frameworks help",[12,64,65,66,72],{},"Regulatory and contractual obligations like SOC 2, ISO 27001, PCI DSS, and\n",[67,68,71],"a",{"href":69,"rel":70},"https://about.gitlab.com/solutions/public-sector/fedramp/",[],"FedRAMP"," exist because customers,\npartners, and regulators need assurance that your software is built and shipped responsibly. Falling\nshort isn't just a paperwork problem. It can block deals, trigger fines, delay product launches, and\nerode trust. Compliance also isn't a one-time event. A project that was compliant at audit time can\ndrift the moment someone disables a scanner, removes branch protection, or merges without the\nrequired approvals.",[12,74,75,76,81,82,85,86,89],{},"Custom compliance frameworks are designed to close that gap. A compliance framework in GitLab is a\n",[67,77,80],{"href":78,"rel":79},"https://docs.gitlab.com/user/project/labels/",[],"label"," you create on a top-level group to identify projects that carry specific compliance obligations or need extra oversight. On its own that label provides organization and visibility. In\nUltimate, a framework can also carry ",[46,83,84],{},"requirements"," made up of ",[46,87,88],{},"controls",", which are automated\nchecks against the configuration and behavior of every project the framework is applied to.",[12,91,92,93,98],{},"Instead of asking an engineer to confirm that static application security testing (",[67,94,97],{"href":95,"rel":96},"https://docs.gitlab.com/user/application_security/sast/",[],"SAST",") is running, that the default branch is protected, and that merge requests need two approvals, GitLab evaluates those conditions for you on a schedule\nand whenever relevant project settings change. Compliance stops being a snapshot you assemble before\nan audit and becomes something you can watch year-round. Frameworks are created on the top-level\ngroup and inherited by all subgroups and projects beneath it. You can apply up to 20 frameworks to a\nsingle project when it needs to satisfy several standards at once.",[12,100,101],{},"This changes the day-to-day effort in a few ways. Compliance moves left into the development\nworkflow, audit preparation becomes a matter of exporting a report rather than reconstructing\nevidence, and consistency is enforced by the platform rather than by good intentions.",[59,103,105],{"id":104},"applying-a-template-to-adhere-to-soc-2","Applying a template to adhere to SOC 2",[12,107,108],{},"Building a framework by hand means defining every requirement and every control one at a time. For a\nstandard like SOC 2 that maps to many controls, that's repetitive and error-prone. Templates solve\nthis by giving you a complete, predefined framework, with the name, description, color,\nrequirements, and controls all configured, and that you can adopt in a single step.",[12,110,111,112,117,118,122],{},"The ",[67,113,116],{"href":114,"rel":115},"https://gitlab.com/gitlab-org/software-supply-chain-security/compliance/engineering/compliance-adherence-templates",[],"Compliance Adherence Templates\nproject","\nhosts a library of these frameworks as JSON files, and ",[119,120,121],"code",{},"soc2.json"," is one of them.",[12,124,125],{},"There are two ways to get a template into your group.",[12,127,128],{},[129,130],"img",{"alt":131,"src":132},"New compliance framework creation","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782823594/fyp8dcrkscjuwejsc303.png",[134,135,137],"h3",{"id":136},"option-a-create-from-a-template-in-the-compliance-center","Option A: Create from a template in the Compliance center",[12,139,140],{},"You can create a framework directly from a built-in template without leaving the UI:",[142,143,144,154,160,167,173,184,195,198,201],"ol",{},[145,146,147,148,153],"li",{},"Go to your ",[67,149,152],{"href":150,"rel":151},"https://docs.gitlab.com/user/group/#group-hierarchy",[],"top-level group",".",[145,155,156,157,153],{},"In the sidetab, select ",[46,158,159],{},"Secure > Compliance center",[145,161,162,163,166],{},"Click the ",[46,164,165],{},"New framework"," button.",[145,168,169,170,153],{},"Choose ",[46,171,172],{},"Create from template",[145,174,175,176,179,180,183],{},"Scroll down to the ",[46,177,178],{},"SOC 2"," template, and select ",[46,181,182],{},"View details"," to see the controls the\ntemplate implements.",[145,185,186,187,190,191,194],{},"Press the ",[46,188,189],{},"Use template"," button to implement the SOC 2 template. customize the name,\ndescription, and color if you'd like. Select ",[46,192,193],{},"Next"," when complete.",[145,196,197],{},"Preview the included requirements and controls.",[145,199,200],{},"Apply the framework to the groups/projects that require it.",[145,202,186,203,166],{},[46,204,205],{},"Create framework",[12,207,208],{},"Your framework is created and will be applied to the groups/projects you selected.",[134,210,212],{"id":211},"option-b-import-the-soc-2-json-template","Option B: Import the SOC 2 JSON template",[12,214,215],{},"If you're on a GitLab version without the in-product template picker, or you want to keep the\ntemplate under version control and tweak it first, import the JSON directly:",[142,217,218,227,232,237,250,256],{},[145,219,220,221,224,225,153],{},"Go to the ",[67,222,116],{"href":114,"rel":223},[],"\nand download ",[119,226,121],{},[145,228,147,229,153],{},[67,230,152],{"href":150,"rel":231},[],[145,233,234,235,153],{},"Select ",[46,236,159],{},[145,238,239,240,243,244,246,247,153],{},"On the ",[46,241,242],{},"Frameworks"," tab, select ",[46,245,165],{},", then ",[46,248,249],{},"Import framework",[145,251,252,253,255],{},"Choose the ",[119,254,121],{}," file from your local system.",[145,257,258],{},"When the import succeeds, the SOC 2 framework appears in your frameworks list.",[12,260,261],{},"A framework only does something once it's attached to projects. Make sure you apply this\nframework to the groups/projects where it will be used.",[12,263,264,267,268,271],{},[46,265,266],{},"Note:"," Imports fail with an ",[119,269,270],{},"Unable to determine the correct upload URL"," error if a framework with the same name already exists. Rename or remove the existing one first.",[134,273,275],{"id":274},"edit-and-apply-the-framework-to-your-projects","Edit and apply the framework to your projects",[12,277,278],{},"You can also edit the newly created framework as well as apply it to\nadditional groups/projects:",[142,280,281,290,296,310,313,319],{},[145,282,283,284,286,287,289],{},"In ",[46,285,159],{},", open the ",[46,288,242],{}," tab.",[145,291,292,293,153],{},"Hover over the SOC 2 framework and select ",[46,294,295],{},"Edit Framework",[145,297,298,299,302,303,306,307,153],{},"In the ",[46,300,301],{},"Requirements & Controls"," section, under ",[46,304,305],{},"Action",", select the ",[46,308,309],{},"... > Edit",[145,311,312],{},"Perform any necessary changes to the requirements or controls.",[145,314,298,315,318],{},[46,316,317],{},"Scoping"," section, select the groups/projects that fall under SOC 2.",[145,320,234,321,153],{},[46,322,323],{},"Update Framework",[12,325,326,327,330,331,334],{},"If you want every new project in the group to inherit SOC 2 automatically, set the framework as the\ngroup ",[46,328,329],{},"default"," in the ",[46,332,333],{},"Basic information"," section. The framework will then be applied to all\nnewly created and imported projects going forward.",[134,336,338],{"id":337},"what-the-soc-2-template-actually-checks","What the SOC 2 template actually checks",[12,340,341],{},"Once applied, the SOC 2 framework maps GitLab controls to the relevant Trust Services Criteria. A\nfew highlights:",[343,344,345,361],"table",{},[346,347,348],"thead",{},[349,350,351,355,358],"tr",{},[352,353,354],"th",{},"SOC 2 criterion",[352,356,357],{},"What it covers",[352,359,360],{},"GitLab controls applied",[362,363,364,376,387,398,409,420],"tbody",{},[349,365,366,370,373],{},[367,368,369],"td",{},"CC3.2",[367,371,372],{},"Identifying vulnerabilities in system components",[367,374,375],{},"Dependency scanning, container scanning, DAST, API security running",[349,377,378,381,384],{},[367,379,380],{},"CC5.1",[367,382,383],{},"Segregation of duties",[367,385,386],{},"At least two approvals; author and committer approvals forbidden; approval rules locked from editing",[349,388,389,392,395],{},[367,390,391],{},"CC6.6",[367,393,394],{},"Protecting authentication credentials in transit",[367,396,397],{},"Secret detection running",[349,399,400,403,406],{},[367,401,402],{},"CC6.8",[367,404,405],{},"Detecting unauthorized or malicious software changes",[367,407,408],{},"Default branch protected",[349,410,411,414,417],{},[367,412,413],{},"CC7.1",[367,415,416],{},"Detecting new vulnerabilities through scanning",[367,418,419],{},"Dependency, container, SAST, DAST, and API security scanning running",[349,421,422,425,428],{},[367,423,424],{},"CC8.1",[367,426,427],{},"Authorizing, testing, and approving changes",[367,429,430],{},"SAST, DAST, secret detection running; default branch protected; at least two approvals",[41,432],{},[12,434,435],{},"After the framework is applied to a project, GitLab runs a compliance scan and begins reporting on\nwhether each control passes. No manual evidence gathering required.",[59,437,439],{"id":438},"continuously-viewing-compliance-status","Continuously viewing compliance status",[12,441,442,443,446,447,153],{},"Applying a framework is only half the value. The other half is knowing, at any moment, where you\nstand. That's the job of the ",[46,444,445],{},"compliance status report"," (Ultimate), found in your top-level group\nunder ",[46,448,449],{},"Secure > Compliance center > Status",[12,451,452,453,53,456,459],{},"The report surfaces the most recent instances where projects ",[46,454,455],{},"do",[46,457,458],{},"do not"," adhere to a\nframework's controls, so you can spot and close gaps fast. Each row tells you:",[461,462,463,469,475,481,487,493],"ul",{},[145,464,465,468],{},[46,466,467],{},"Status",": whether a requirement is in or out of compliance",[145,470,471,474],{},[46,472,473],{},"Requirement",": the specific controls in a requirement that failed (for example, \"At least two\napprovals\")",[145,476,477,480],{},[46,478,479],{},"Framework",": which framework the control belongs to (for example, SOC 2)",[145,482,483,486],{},[46,484,485],{},"Project",": where the non-adherence was found",[145,488,489,492],{},[46,490,491],{},"Last Scanned",": when the gap was first recorded",[145,494,495,498],{},[46,496,497],{},"Fix Suggestions",": information on how to resolve the issue",[12,500,501],{},"You can filter by project, framework, or requirement, jump straight into a project's compliance\ndetail view, and export the whole report (delivered to your inbox as an attachment) when an auditor\nasks for evidence.",[12,503,504],{},[129,505],{"alt":506,"src":507},"Compliance center status","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782823594/yq9ec51psgsaocezmpvk.png",[12,509,510,511,514],{},"Behind the scenes, scans that refresh the report are triggered automatically when a framework is\nadded to a project, when an associated framework's requirements change, and on a recurring ",[46,512,513],{},"12-hour\nschedule",". Results typically appear five to ten minutes after a scan runs. This means compliance\ndrift becomes visible within hours rather than at the next annual audit. To view the report, you'll\nneed to be an administrator, or have the Security Manager or Owner role for the group.",[59,516,518],{"id":517},"adhering-to-compliance-via-policies","Adhering to compliance via policies",[12,520,521,522,525],{},"Reporting tells you when something is wrong. ",[46,523,524],{},"Policies"," stop the wrong thing from happening in the\nfirst place. This is where compliance frameworks move from observation to enforcement, and it's an\nUltimate capability tied to the framework label.",[12,527,528],{},[129,529],{"alt":530,"src":531},"Policy scoping to compliance framework","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782823594/hzyc3qhwg6rmvu98fkpl.png",[12,533,534,535,538,539,546],{},"A compliance framework can act as the ",[46,536,537],{},"scope"," for ",[46,540,541,153],{},[67,542,545],{"href":543,"rel":544},"https://docs.gitlab.com/user/application_security/policies/",[],"Security\npolicies"," Scan execution policies,\nPipeline execution policies, and merge request approval policies can be scoped to a compliance\nframework, so every project carrying that label automatically inherits them. For example, you can\nrequire that SAST, secret detection, and dependency scanning run on the default branch, and require\napproval from a designated security team before a merge request that introduces new critical\nvulnerabilities can be merged. Because the policy is bound to the framework rather than to\nindividual projects, adding a new project to the framework instantly brings it under the same\nguardrails.",[12,548,549,550,553,554,557,558,561],{},"The pieces work together. The ",[46,551,552],{},"framework"," defines the obligation, ",[46,555,556],{},"controls and the status\nreport"," measure adherence, and ",[46,559,560],{},"policies and compliance pipelines"," enforce the behavior. You're\nnot just documenting that SOC 2 requires two approvals and running scanners. You're making it\ndifficult to ship anything that violates those requirements. When a control fails, the status report\nflags it. When a policy is in place, the non-compliant change is blocked before it merges.",[59,563,565],{"id":564},"available-templates","Available templates",[12,567,568,569,573],{},"GitLab ships a growing library of predefined framework templates in the ",[67,570,572],{"href":114,"rel":571},[],"Compliance Adherence\nTemplates\nproject",",\neach mapping a recognized standard to GitLab controls. As of publication, these include:",[343,575,576,586],{},[346,577,578],{},[349,579,580,583],{},[352,581,582],{},"Standard",[352,584,585],{},"Template file",[362,587,588,598,608,618,628,645,664,674,684,694,704,714,724,734,744,752],{},[349,589,590,593],{},[367,591,592],{},"CIS Critical Security Controls v8.1",[367,594,595],{},[119,596,597],{},"cis_csc_v8-1.json",[349,599,600,603],{},[367,601,602],{},"CSA Cloud Controls Matrix v4",[367,604,605],{},[119,606,607],{},"csa_ccm_v4.json",[349,609,610,613],{},[367,611,612],{},"Cyber Essentials",[367,614,615],{},[119,616,617],{},"cyber_essentials.json",[349,619,620,623],{},[367,621,622],{},"DORA (Digital Operational Resilience Act)",[367,624,625],{},[119,626,627],{},"dora.json",[349,629,630,633],{},[367,631,632],{},"FedRAMP Low / Moderate / High (Rev 5)",[367,634,635,638,639,638,642],{},[119,636,637],{},"fedramp_low_r5.json",", ",[119,640,641],{},"fedramp_moderate_r5.json",[119,643,644],{},"fedramp_high_r5.json",[349,646,647,650],{},[367,648,649],{},"IRAP Official / Protected / Secret / Top Secret",[367,651,652,638,655,638,658,638,661],{},[119,653,654],{},"irap_official.json",[119,656,657],{},"irap_protected.json",[119,659,660],{},"irap_secret.json",[119,662,663],{},"irap_top_secret.json",[349,665,666,669],{},[367,667,668],{},"ISMAP",[367,670,671],{},[119,672,673],{},"ismap.json",[349,675,676,679],{},[367,677,678],{},"ISO 27001:2022",[367,680,681],{},[119,682,683],{},"iso_27001:2022.json",[349,685,686,689],{},[367,687,688],{},"NIS 2",[367,690,691],{},[119,692,693],{},"nis_2.json",[349,695,696,699],{},[367,697,698],{},"NIST 800-53 Rev 5",[367,700,701],{},[119,702,703],{},"nist_800-53_r5.json",[349,705,706,709],{},[367,707,708],{},"NIST 800-171 Rev 3 (CMMC)",[367,710,711],{},[119,712,713],{},"nist_800-171_r3_cmmc.json",[349,715,716,719],{},[367,717,718],{},"NIST CSF 2.0",[367,720,721],{},[119,722,723],{},"nist_csf_2.json",[349,725,726,729],{},[367,727,728],{},"NIST SP 800-218 (SSDF)",[367,730,731],{},[119,732,733],{},"nist_800-218_v1-1.json",[349,735,736,739],{},[367,737,738],{},"PCI DSS v4.0.1",[367,740,741],{},[119,742,743],{},"pci_dss_v4-0-1.json",[349,745,746,748],{},[367,747,178],{},[367,749,750],{},[119,751,121],{},[349,753,754,757],{},[367,755,756],{},"TISAX",[367,758,759],{},[119,760,761],{},"tisax.json",[41,763],{},[12,765,766,767,772,773,776,777,638,780,783,784,786,787,789,790,793],{},"Each template's exact requirement-to-control mapping is documented in the ",[67,768,771],{"href":769,"rel":770},"https://docs.gitlab.com/user/compliance/compliance_frameworks/compliance_standards/",[],"compliance\nstandards","\nreference. You can import any of them as-is, or use them as a starting point. Export a framework as\nJSON, adjust the requirements and controls to match your organization's interpretation of a\nstandard, and re-import. The JSON schema is straightforward. A framework has a ",[119,774,775],{},"name",",\n",[119,778,779],{},"description",[119,781,782],{},"color",", and an array of ",[119,785,84],{},", each with its own ",[119,788,88],{}," and evaluation\n",[119,791,792],{},"expression",". That makes templates easy to keep in version control and share across groups.",[59,795,797],{"id":796},"a-look-ahead-ai-specific-compliance-templates","A look ahead: AI-specific compliance templates",[12,799,800],{},"The compliance standards covered today were largely written for traditional software. As\norganizations embed AI into their products and their own development workflows, a new class of\nobligations is emerging around governing how AI systems are built, approved, and monitored. Examples\ninclude the EU AI Act, ISO/IEC 42001, and the NIST AI Risk Management Framework.",[12,802,803,804,807,808,813,814,819],{},"GitLab is exploring ",[46,805,806],{},"AI governance compliance templates"," (",[67,809,812],{"href":810,"rel":811},"https://gitlab.com/groups/gitlab-org/-/epics/16808",[],"Epic\n#16808",", with planning tracked in ",[67,815,818],{"href":816,"rel":817},"https://gitlab.com/groups/gitlab-org/-/work_items/22336",[],"Work item\n#22336",") to extend the same template-driven\nmodel into this space. The intent is to let teams adopt an AI-governance framework as easily as they\nadopt SOC 2 today, with predefined requirements and controls that map to AI-specific obligations,\napplied to the projects that build or deploy AI capabilities, and surfaced through the same\ncompliance status report.",[12,821,822,823,826,827,830],{},"It's worth keeping one distinction in mind. ",[46,824,825],{},"Compliance"," is the state of meeting a defined set of\nrequirements, while ",[46,828,829],{},"governance"," is the ongoing capability to keep AI systems compliant as both\nthe systems and the rules evolve. GitLab's broader direction pairs AI-assisted detection with\nhuman-in-the-loop approval and auditable, policy-based enforcement, so AI findings inform decisions\nbut accountable humans and measurable controls still gate what ships. AI-specific templates would be\nthe onramp, giving you a fast way to encode emerging AI requirements into the same framework,\ncontrol, status report, and policy machinery you're already using for everything else.",[59,832,834],{"id":833},"summary","Summary",[12,836,837],{},"Custom compliance frameworks let you define your obligations once and have GitLab continuously\nverify them. Templates take the manual setup out of getting started, so a SOC 2 framework is a few\nclicks or a single JSON import away. The compliance status report keeps adherence visible on a\n12-hour cadence, and security policies plus compliance pipelines turn that visibility into\nenforcement. With a library of standards already available and AI-specific templates on the horizon,\nthe path from \"we should be compliant\" to \"we can prove we are, continuously\" is shorter than it's\never been.",[12,839,840,841,846,847,153],{},"Learn more with our ",[67,842,845],{"href":843,"rel":844},"https://docs.gitlab.com/user/compliance/compliance_frameworks/",[],"compliance frameworks documentation"," and try the ",[67,848,851],{"href":849,"rel":850},"https://gitlab.navattic.com/custom-compliance",[],"custom\ncompliance frameworks click-through demo",[12,853,854],{},[16,855,856],{},"This blog post contains \"forward‑looking statements\" within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934. Although we believe that the expectations reflected in these statements are reasonable, they are subject to known and unknown risks, uncertainties, assumptions and other factors that may cause actual results or outcomes to differ materially. Further information on these risks and other factors is included under the caption \"Risk Factors\" in our filings with the SEC. We do not undertake any obligation to update or revise these statements after the date of this blog post, except as required by law.",{"title":858,"searchDepth":859,"depth":859,"links":860},"",2,[861,862,869,870,871,872,873],{"id":61,"depth":859,"text":62},{"id":104,"depth":859,"text":105,"children":863},[864,866,867,868],{"id":136,"depth":865,"text":137},3,{"id":211,"depth":865,"text":212},{"id":274,"depth":865,"text":275},{"id":337,"depth":865,"text":338},{"id":438,"depth":859,"text":439},{"id":517,"depth":859,"text":518},{"id":564,"depth":859,"text":565},{"id":796,"depth":859,"text":797},{"id":833,"depth":859,"text":834},"security","2026-08-27","Use GitLab custom compliance framework templates to enforce SOC 2 and more, monitor adherence continuously, and cut audit prep from weeks to clicks.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773866173/vte9qh8rriznvyclhkes.png",{},true,"/en-us/blog/quick-compliance-with-compliance-framework-templates",{"title":5,"description":876},"quick-compliance-with-compliance-framework-templates","en-us/blog/quick-compliance-with-compliance-framework-templates",[888,889,874],"DevSecOps","tutorial","BlogPost","vEf_FW74PpHVFADll9Vc0Q41yjStW0Hiz2BYkWXwuIQ",{"logo":893,"freeTrial":898,"sales":903,"login":908,"items":913,"search":1244,"minimal":1275,"duo":1294,"switchNav":1303,"pricingDeployment":1314},{"config":894},{"href":895,"dataGaName":896,"dataGaLocation":897},"/","gitlab logo","header",{"text":899,"config":900},"Get free trial",{"href":901,"dataGaName":902,"dataGaLocation":897},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":904,"config":905},"Request a demo",{"href":906,"dataGaName":907,"dataGaLocation":897},"/request-a-demo/","sales",{"text":909,"config":910},"Sign in",{"href":911,"dataGaName":912,"dataGaLocation":897},"https://gitlab.com/users/sign_in/","sign in",[914,1000,1088,1093,1168,1222],{"text":915,"left":882,"config":916,"menu":918},"Platform",{"dataNavLevelOne":917},"platform",{"type":919,"link":920,"columns":924,"feature":989},"lists",{"text":921,"config":922},"Explore the Platform",{"href":923,"dataGaName":917,"dataGaLocation":897},"/platform/",[925,948,971],{"title":926,"items":927},"Execution & Workflows",[928,933,938,943],{"text":929,"config":930},"CI/CD",{"href":931,"dataGaLocation":897,"dataGaName":932},"/solutions/continuous-integration/","ci/cd",{"text":934,"config":935},"Source Code Management",{"href":936,"dataGaLocation":897,"dataGaName":937},"/solutions/source-code-management/","source code management",{"text":939,"config":940},"Agile Delivery",{"href":941,"dataGaLocation":897,"dataGaName":942},"/solutions/agile-delivery/","agile delivery",{"text":944,"config":945},"Artifact Management",{"href":946,"dataGaLocation":897,"dataGaName":947},"/artifact-central/","artifact management",{"title":949,"items":950},"Security & Governance",[951,956,961,966],{"text":952,"config":953},"Application Security Testing",{"href":954,"dataGaLocation":897,"dataGaName":955},"/solutions/application-security-testing/","application security testing",{"text":957,"config":958},"Governance & Compliance",{"href":959,"dataGaLocation":897,"dataGaName":960},"/solutions/software-compliance/","governance and compliance",{"text":962,"config":963},"Secrets Management",{"href":964,"dataGaLocation":897,"dataGaName":965},"/gitlab-secrets-manager/","secrets management",{"text":967,"config":968},"Supply Chain Security",{"href":969,"dataGaLocation":897,"dataGaName":970},"/solutions/supply-chain/","supply chain security",{"title":972,"items":973},"Context & AI",[974,979,984],{"text":975,"config":976},"Agentic Orchestration",{"href":977,"dataGaLocation":897,"dataGaName":978},"/gitlab-duo-agent-platform/","agentic orchestration",{"text":980,"config":981},"Context Graph",{"href":982,"dataGaLocation":897,"dataGaName":983},"/gitlab-orbit/","context graph",{"text":985,"config":986},"Visibility & Measurement",{"href":987,"dataGaLocation":897,"dataGaName":988},"/solutions/visibility-measurement/","visibility and measurement",{"config":990,"title":993,"text":994,"link":995},{"background":991,"textColor":992},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1790185102/o7dn32anqcb6z8dgd3as.jpg')","#000","Why GitLab","One platform for speed with control across your software lifecycle.",{"text":996,"config":997},"Learn more",{"href":998,"dataGaName":999,"dataGaLocation":897},"/why-gitlab/","why gitlab",{"text":1001,"left":882,"config":1002,"menu":1004},"Solutions",{"dataNavLevelOne":1003},"solutions",{"type":919,"link":1005,"columns":1009,"feature":1079},{"text":1006,"config":1007},"View all Solutions",{"href":1008,"dataGaName":1003,"dataGaLocation":897},"/solutions/",[1010,1028,1046],{"title":1011,"items":1012},"Outcomes",[1013,1018,1023],{"text":1014,"config":1015},"DevOps Modernization",{"href":1016,"dataGaLocation":897,"dataGaName":1017},"/assessments/devops-modernization-assessment/","devops modernization",{"text":1019,"config":1020},"Security Modernization",{"href":1021,"dataGaLocation":897,"dataGaName":1022},"/assessments/security-modernization-assessment/","security modernization",{"text":1024,"config":1025},"AI Modernization",{"href":1026,"dataGaLocation":897,"dataGaName":1027},"/assessments/ai-modernization-assessment/","ai modernization",{"title":1029,"items":1030},"By size",[1031,1036,1041],{"text":1032,"config":1033},"Enterprise",{"href":1034,"dataGaLocation":897,"dataGaName":1035},"/enterprise/","enterprise",{"text":1037,"config":1038},"Small Business",{"href":1039,"dataGaLocation":897,"dataGaName":1040},"/small-business/","small business",{"text":1042,"config":1043},"Startups",{"href":1044,"dataGaLocation":897,"dataGaName":1045},"/solutions/startups/","startups",{"title":1047,"items":1048},"Industries",[1049,1054,1059,1064,1069,1074],{"text":1050,"config":1051},"Financial Services",{"href":1052,"dataGaLocation":897,"dataGaName":1053},"/solutions/finance/","financial services",{"text":1055,"config":1056},"Public Sector",{"href":1057,"dataGaLocation":897,"dataGaName":1058},"/solutions/public-sector/","public sector",{"text":1060,"config":1061},"Telecommunications",{"href":1062,"dataGaLocation":897,"dataGaName":1063},"/solutions/telecommunications/","telecommunications",{"text":1065,"config":1066},"Automotive",{"href":1067,"dataGaLocation":897,"dataGaName":1068},"/solutions/automotive/","automotive",{"text":1070,"config":1071},"Education",{"href":1072,"dataGaLocation":897,"dataGaName":1073},"/solutions/education/","education",{"text":1075,"config":1076},"Aerospace",{"href":1077,"dataGaLocation":897,"dataGaName":1078},"/solutions/aerospace/","aerospace",{"config":1080,"title":1081,"text":1082,"link":1083},{"background":991,"textColor":992},"GitLab Security Standard","Learn how to harden your software factory and let AI agents earn autonomy, without trading away security.",{"text":1084,"config":1085},"Explore the standard",{"href":1086,"dataGaName":1087,"dataGaLocation":897},"/gitlab-security-standard/","gitlab security standard",{"text":1089,"config":1090},"Pricing",{"href":1091,"dataGaName":1092,"dataGaLocation":897,"dataNavLevelOne":1092},"/pricing/","pricing",{"text":1094,"config":1095,"menu":1097},"Resources",{"dataNavLevelOne":1096},"resources",{"type":919,"link":1098,"columns":1102,"feature":1159},{"text":1099,"config":1100},"View all resources",{"href":1101,"dataGaName":1096,"dataGaLocation":897},"/resources/",[1103,1131],{"title":1104,"items":1105},"Discover",[1106,1111,1116,1121,1126],{"text":1107,"config":1108},"Docs",{"href":1109,"dataGaName":1110,"dataGaLocation":897},"https://docs.gitlab.com/","docs",{"text":1112,"config":1113},"University",{"href":1114,"dataGaName":1115,"dataGaLocation":897},"https://university.gitlab.com/","university",{"text":1117,"config":1118},"Demo Series",{"href":1119,"dataGaName":1120,"dataGaLocation":897},"/gitlab-technical-demo-series/","demo series",{"text":1122,"config":1123},"Demo Hub",{"href":1124,"dataGaName":1125,"dataGaLocation":897},"/demo-hub/","demo hub",{"text":1127,"config":1128},"Services",{"href":1129,"dataGaName":1130,"dataGaLocation":897},"/services/","services",{"title":1132,"items":1133},"Connect",[1134,1139,1144,1149,1154],{"text":1135,"config":1136},"Blog",{"href":1137,"dataGaName":1138,"dataGaLocation":897},"/blog/","blog",{"text":1140,"config":1141},"Community",{"href":1142,"dataGaName":1143,"dataGaLocation":897},"/community/","community",{"text":1145,"config":1146},"Customers",{"href":1147,"dataGaName":1148,"dataGaLocation":897},"/customers/","customers",{"text":1150,"config":1151},"Partners",{"href":1152,"dataGaName":1153,"dataGaLocation":897},"/partners/","partners",{"text":1155,"config":1156},"Events",{"href":1157,"dataGaName":1158,"dataGaLocation":897},"/events/","events",{"config":1160,"title":1161,"text":1162,"link":1163},{"background":991,"textColor":992},"What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":1164,"config":1165},"Read the latest",{"href":1166,"dataGaName":1167,"dataGaLocation":897},"/whats-new/","whats new",{"text":1169,"config":1170,"menu":1172},"Company",{"dataNavLevelOne":1171},"company",{"type":919,"columns":1173},[1174],{"items":1175},[1176,1181,1187,1192,1197,1202,1207,1212,1217],{"text":1177,"config":1178},"About",{"href":1179,"dataGaName":1180,"dataGaLocation":897},"/company/","about",{"text":1182,"config":1183,"footerGa":1186},"Jobs",{"href":1184,"dataGaName":1185,"dataGaLocation":897},"/jobs/","jobs",{"dataGaName":1185},{"text":1188,"config":1189},"Press",{"href":1190,"dataGaName":1191,"dataGaLocation":897},"/press/","press",{"text":1193,"config":1194},"Handbook",{"href":1195,"dataGaName":1196,"dataGaLocation":897},"https://handbook.gitlab.com/","handbook",{"text":1198,"config":1199},"Leadership",{"href":1200,"dataGaName":1201,"dataGaLocation":897},"/company/team/e-group/","leadership",{"text":1203,"config":1204},"Investor relations",{"href":1205,"dataGaName":1206,"dataGaLocation":897},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":1208,"config":1209},"Trust Center",{"href":1210,"dataGaName":1211,"dataGaLocation":897},"/security/","trust center",{"text":1213,"config":1214},"AI Transparency Center",{"href":1215,"dataGaName":1216,"dataGaLocation":897},"/ai-transparency-center/","ai transparency center",{"text":1218,"config":1219},"Newsletter",{"href":1220,"dataGaName":1221,"dataGaLocation":897},"/company/contact/#contact-forms","newsletter",{"text":1223,"config":1224,"menu":1225},"Contact us",{"dataNavLevelOne":1171},{"type":919,"columns":1226},[1227],{"items":1228},[1229,1234,1239],{"text":1230,"config":1231},"Talk to sales",{"href":1232,"dataGaName":1233,"dataGaLocation":897},"/sales/","talk to sales",{"text":1235,"config":1236},"Support portal",{"href":1237,"dataGaName":1238,"dataGaLocation":897},"https://support.gitlab.com/hc/en-us","support portal",{"text":1240,"config":1241},"Customer portal",{"href":1242,"dataGaName":1243,"dataGaLocation":897},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1245,"login":1246,"suggestions":1253},"Close",{"text":1247,"link":1248},"To search repositories and projects, login to",{"text":1249,"config":1250},"gitlab.com",{"href":911,"dataGaName":1251,"dataGaLocation":1252},"search login","search",{"text":1254,"default":1255},"Suggestions",[1256,1259,1262,1264,1268,1272],{"text":1257,"config":1258},"GitLab Duo Agent Platform",{"href":977,"dataGaName":1257,"dataGaLocation":1252},{"text":1260,"config":1261},"Code Suggestions (AI)",{"href":977,"dataGaName":1260,"dataGaLocation":1252},{"text":929,"config":1263},{"href":931,"dataGaName":929,"dataGaLocation":1252},{"text":1265,"config":1266},"GitLab on AWS",{"href":1267,"dataGaName":1265,"dataGaLocation":1252},"/partners/technology-partners/aws/",{"text":1269,"config":1270},"GitLab on Google Cloud",{"href":1271,"dataGaName":1269,"dataGaLocation":1252},"/partners/technology-partners/google-cloud-platform/",{"text":1273,"config":1274},"Why GitLab?",{"href":998,"dataGaName":1273,"dataGaLocation":1252},{"freeTrial":1276,"mobileIcon":1281,"desktopIcon":1286,"secondaryButton":1289},{"text":1277,"config":1278},"Start free trial",{"href":1279,"dataGaName":902,"dataGaLocation":1280},"https://gitlab.com/-/trials/new/","nav",{"altText":1282,"config":1283},"Gitlab Icon",{"src":1284,"dataGaName":1285,"dataGaLocation":1280},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1282,"config":1287},{"src":1288,"dataGaName":1285,"dataGaLocation":1280},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1290,"config":1291},"Get Started",{"href":1292,"dataGaName":1293,"dataGaLocation":1280},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":1295,"mobileIcon":1299,"desktopIcon":1301},{"text":1296,"config":1297},"Learn more about GitLab Duo",{"href":977,"dataGaName":1298,"dataGaLocation":1280},"gitlab duo",{"altText":1282,"config":1300},{"src":1284,"dataGaName":1285,"dataGaLocation":1280},{"altText":1282,"config":1302},{"src":1288,"dataGaName":1285,"dataGaLocation":1280},{"button":1304,"mobileIcon":1309,"desktopIcon":1311},{"text":1305,"config":1306},"/switch",{"href":1307,"dataGaName":1308,"dataGaLocation":1280},"#contact","switch",{"altText":1282,"config":1310},{"src":1284,"dataGaName":1285,"dataGaLocation":1280},{"altText":1282,"config":1312},{"src":1313,"dataGaName":1285,"dataGaLocation":1280},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1315,"mobileIcon":1320,"desktopIcon":1322},{"text":1316,"config":1317},"Back to pricing",{"href":1091,"dataGaName":1318,"dataGaLocation":1280,"icon":1319},"back to pricing","GoBack",{"altText":1282,"config":1321},{"src":1284,"dataGaName":1285,"dataGaLocation":1280},{"altText":1282,"config":1323},{"src":1288,"dataGaName":1285,"dataGaLocation":1280},{"title":1325,"button":1326,"config":1332},"Ship at agent speed. Prove every step. Transcend is here.",{"text":1327,"config":1328},"Watch now",{"href":1329,"dataGaName":1330,"dataGaLocation":1331},"/events/transcend/virtual/#watch-gitlab-transcend","transcend-october-2026-banner","global-banner",{"layout":1333,"disabled":879},"release",{"data":1335},{"text":1336,"source":1337,"edit":1343,"contribute":1348,"config":1353,"items":1358,"minimal":1582},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":1338,"config":1339},"View page source",{"href":1340,"dataGaName":1341,"dataGaLocation":1342},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1344,"config":1345},"Edit this page",{"href":1346,"dataGaName":1347,"dataGaLocation":1342},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1349,"config":1350},"Please contribute",{"href":1351,"dataGaName":1352,"dataGaLocation":1342},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1354,"facebook":1355,"youtube":1356,"linkedin":1357},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1359,1405,1462,1509,1550],{"title":1089,"links":1360,"subMenu":1375},[1361,1365,1370],{"text":1362,"config":1363},"View plans",{"href":1091,"dataGaName":1364,"dataGaLocation":1342},"view plans",{"text":1366,"config":1367},"Why Premium?",{"href":1368,"dataGaName":1369,"dataGaLocation":1342},"/pricing/premium/","why premium",{"text":1371,"config":1372},"Why Ultimate?",{"href":1373,"dataGaName":1374,"dataGaLocation":1342},"/pricing/ultimate/","why ultimate",[1376],{"title":1377,"links":1378},"Contact Us",[1379,1382,1384,1386,1390,1395,1400],{"text":1380,"config":1381},"Contact sales",{"href":1232,"dataGaName":907,"dataGaLocation":1342},{"text":1235,"config":1383},{"href":1237,"dataGaName":1238,"dataGaLocation":1342},{"text":1240,"config":1385},{"href":1242,"dataGaName":1243,"dataGaLocation":1342},{"text":467,"config":1387},{"href":1388,"dataGaName":1389,"dataGaLocation":1342},"https://status.gitlab.com/","status",{"text":1391,"config":1392},"Terms of use",{"href":1393,"dataGaName":1394,"dataGaLocation":1342},"/terms/","terms of use",{"text":1396,"config":1397},"Privacy statement",{"href":1398,"dataGaName":1399,"dataGaLocation":1342},"/privacy/","privacy statement",{"text":1401,"config":1402},"Cookie preferences",{"dataGaName":1403,"dataGaLocation":1342,"id":1404,"isOneTrustButton":882},"cookie preferences","ot-sdk-btn",{"title":915,"links":1406,"subMenu":1420},[1407,1410,1412,1414,1416,1418],{"text":1408,"config":1409},"Explore the platform",{"href":923,"dataGaName":917,"dataGaLocation":1342},{"text":975,"config":1411},{"href":977,"dataGaName":978,"dataGaLocation":1342},{"text":929,"config":1413},{"href":931,"dataGaName":932,"dataGaLocation":1342},{"text":980,"config":1415},{"href":982,"dataGaName":983,"dataGaLocation":1342},{"text":962,"config":1417},{"href":964,"dataGaName":965,"dataGaLocation":1342},{"text":993,"config":1419},{"href":998,"dataGaName":999,"dataGaLocation":1342},[1421],{"title":1422,"links":1423},"Topics",[1424,1428,1433,1438,1443,1447,1452,1457],{"text":929,"config":1425},{"href":1426,"dataGaName":1427,"dataGaLocation":1342},"/topics/ci-cd/","cicd",{"text":1429,"config":1430},"GitOps",{"href":1431,"dataGaName":1432,"dataGaLocation":1342},"/topics/gitops/","gitops",{"text":1434,"config":1435},"DevOps",{"href":1436,"dataGaName":1437,"dataGaLocation":1342},"/topics/devops/","devops",{"text":1439,"config":1440},"Version Control",{"href":1441,"dataGaName":1442,"dataGaLocation":1342},"/topics/version-control/","version control",{"text":888,"config":1444},{"href":1445,"dataGaName":1446,"dataGaLocation":1342},"/topics/devsecops/","devsecops",{"text":1448,"config":1449},"Cloud Native",{"href":1450,"dataGaName":1451,"dataGaLocation":1342},"/topics/cloud-native/","cloud native",{"text":1453,"config":1454},"AI for Coding",{"href":1455,"dataGaName":1456,"dataGaLocation":1342},"/topics/devops/ai-for-coding/","ai for coding",{"text":1458,"config":1459},"Agentic AI",{"href":1460,"dataGaName":1461,"dataGaLocation":1342},"/topics/agentic-ai/","agentic ai",{"title":1001,"links":1463},[1464,1467,1470,1473,1476,1479,1481,1483,1485,1487,1489,1492,1494,1497,1501,1505],{"text":1465,"config":1466},"DevOps modernization",{"href":1016,"dataGaName":1017,"dataGaLocation":1342},{"text":1468,"config":1469},"Security modernization",{"href":1021,"dataGaName":1022,"dataGaLocation":1342},{"text":1471,"config":1472},"AI modernization",{"href":1026,"dataGaName":1027,"dataGaLocation":1342},{"text":1474,"config":1475},"Financial services",{"href":1052,"dataGaName":1053,"dataGaLocation":1342},{"text":1477,"config":1478},"Public sector",{"href":1057,"dataGaName":1058,"dataGaLocation":1342},{"text":1060,"config":1480},{"href":1062,"dataGaName":1063,"dataGaLocation":1342},{"text":1065,"config":1482},{"href":1067,"dataGaName":1068,"dataGaLocation":1342},{"text":1070,"config":1484},{"href":1072,"dataGaName":1073,"dataGaLocation":1342},{"text":1075,"config":1486},{"href":1077,"dataGaName":1078,"dataGaLocation":1342},{"text":1032,"config":1488},{"href":1034,"dataGaName":1035,"dataGaLocation":1342},{"text":1490,"config":1491},"Small business",{"href":1039,"dataGaName":1040,"dataGaLocation":1342},{"text":1042,"config":1493},{"href":1044,"dataGaName":1045,"dataGaLocation":1342},{"text":1429,"config":1495},{"href":1496,"dataGaName":1432,"dataGaLocation":1342},"/solutions/gitops/",{"text":1498,"config":1499},"Software composition analysis",{"href":969,"dataGaName":1500,"dataGaLocation":1342},"software composition analysis",{"text":1502,"config":1503},"Value stream management",{"href":987,"dataGaName":1504,"dataGaLocation":1342},"value stream management",{"text":1506,"config":1507},"All solutions",{"href":1008,"dataGaName":1508,"dataGaLocation":1342},"all solutions",{"title":1094,"links":1510},[1511,1516,1521,1523,1525,1527,1529,1531,1533,1535,1537,1539,1541,1543,1546],{"text":1512,"config":1513},"Install",{"href":1514,"dataGaName":1515,"dataGaLocation":1342},"/install/","install",{"text":1517,"config":1518},"Quick start guides",{"href":1519,"dataGaName":1520,"dataGaLocation":1342},"/get-started/","quick setup checklists",{"text":1107,"config":1522},{"href":1109,"dataGaName":1110,"dataGaLocation":1342},{"text":1112,"config":1524},{"href":1114,"dataGaName":1115,"dataGaLocation":1342},{"text":1117,"config":1526},{"href":1119,"dataGaName":1120,"dataGaLocation":1342},{"text":1122,"config":1528},{"href":1124,"dataGaName":1125,"dataGaLocation":1342},{"text":1127,"config":1530},{"href":1129,"dataGaName":1130,"dataGaLocation":1342},{"text":1135,"config":1532},{"href":1137,"dataGaName":1138,"dataGaLocation":1342},{"text":1140,"config":1534},{"href":1142,"dataGaName":1143,"dataGaLocation":1342},{"text":1145,"config":1536},{"href":1147,"dataGaName":1148,"dataGaLocation":1342},{"text":1150,"config":1538},{"href":1152,"dataGaName":1153,"dataGaLocation":1342},{"text":1155,"config":1540},{"href":1157,"dataGaName":1158,"dataGaLocation":1342},{"text":1218,"config":1542},{"href":1220,"dataGaName":1221,"dataGaLocation":1342},{"text":1544,"config":1545},"What's new",{"href":1166,"dataGaName":1167,"dataGaLocation":1342},{"text":1547,"config":1548},"All resources",{"href":1101,"dataGaName":1549,"dataGaLocation":1342},"all resources",{"title":1169,"links":1551},[1552,1554,1556,1558,1560,1562,1564,1566,1568,1572,1577],{"text":1177,"config":1553},{"href":1179,"dataGaName":1171,"dataGaLocation":1342},{"text":1182,"config":1555},{"href":1184,"dataGaName":1185,"dataGaLocation":1342},{"text":1188,"config":1557},{"href":1190,"dataGaName":1191,"dataGaLocation":1342},{"text":1193,"config":1559},{"href":1195,"dataGaName":1196,"dataGaLocation":1342},{"text":1198,"config":1561},{"href":1200,"dataGaName":1201,"dataGaLocation":1342},{"text":1203,"config":1563},{"href":1205,"dataGaName":1206,"dataGaLocation":1342},{"text":1208,"config":1565},{"href":1210,"dataGaName":1211,"dataGaLocation":1342},{"text":1213,"config":1567},{"href":1215,"dataGaName":1216,"dataGaLocation":1342},{"text":1569,"config":1570},"Sustainability",{"href":1571,"dataGaName":1569,"dataGaLocation":1342},"/sustainability/",{"text":1573,"config":1574},"Diversity, inclusion and belonging (DIB)",{"href":1575,"dataGaName":1576,"dataGaLocation":1342},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1578,"config":1579},"Modern Slavery Transparency Statement",{"href":1580,"dataGaName":1581,"dataGaLocation":1342},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1583},[1584,1587,1590],{"text":1585,"config":1586},"Terms",{"href":1393,"dataGaName":1394,"dataGaLocation":1342},{"text":1588,"config":1589},"Cookies",{"dataGaName":1403,"dataGaLocation":1342,"id":1404,"isOneTrustButton":882},{"text":1591,"config":1592},"Privacy",{"href":1398,"dataGaName":1399,"dataGaLocation":1342},[1594],{"id":1595,"title":7,"body":878,"config":1596,"content":1598,"description":878,"extension":1602,"meta":1603,"navigation":882,"path":1604,"seo":1605,"stem":1606,"__hash__":1607},"blogAuthors/en-us/blog/authors/fernando-diaz.yml",{"template":1597},"BlogAuthor",{"name":7,"config":1599},{"headshot":1600,"ctfId":1601},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659556/Blog/Author%20Headshots/fern_diaz.png","fjdiaz","yml",{},"/en-us/blog/authors/fernando-diaz",{},"en-us/blog/authors/fernando-diaz","lxRJIOydP4_yzYZvsPcuQevP9AYAKREF7i8QmmdnOWc",[1609,1617,1625],{"title":1610,"description":1611,"heroImage":1612,"category":874,"date":1613,"authors":1614,"slug":1616,"externalUrl":878},"Track organization-wide security risk in one dashboard","For enterprises with many top-level groups, GitLab now aggregates vulnerabilities and a single risk score across your entire organization.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756122536/akivvcnafog9c4dhhzkp.png","2026-10-08",[1615],"Alisa Ho","security-risk-in-one-dashboard",{"title":1618,"description":1619,"heroImage":1620,"category":874,"date":1621,"authors":1622,"slug":1624,"externalUrl":878},"Dependency Firewall: Block risky packages before the build","GitLab Dependency Firewall helps keep malicious and vulnerable packages out of your build automatically, so teams and their agents ship fast with trusted dependencies.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1791198675/kmajkudog4fj3xc6qfyb.png","2026-10-06",[1615,1623],"Amit Shalem","transcend-dependency-firewall",{"title":1626,"description":1627,"heroImage":1628,"category":874,"date":1629,"authors":1630,"slug":1632,"externalUrl":878},"Securing the software factory at machine speed","The foundation for agentic software development must evolve with AI models, continuously shortening the path from detection to verified remediation.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1759320418/xjmqcozxzt4frx0hori3.png","2026-09-18",[1631],"Chaim Mazal","securing-the-software-factory-at-machine-speed",{"header":1634,"text":1635,"button":1639,"disclaimer":1642},"Start your free\n\n30-day GitLab trial\n",[1636,1637,1638],"GitLab Duo Agent Platform access","Try our most advanced features","Automate complex tasks with AI",{"text":899,"config":1640},{"href":1641,"dataGaName":902,"dataGaLocation":1138},"https://gitlab.com/-/trials/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/blog/","No credit card required.",{"header":1644,"blurb":1645,"button":1646,"secondaryButton":1651},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1647,"config":1648},"Get your free trial",{"href":1649,"dataGaName":902,"dataGaLocation":1650},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":1380,"config":1652},{"href":1232,"dataGaName":907,"dataGaLocation":1650},1791944931557]