[{"data":1,"prerenderedAt":1185},["ShallowReactive",2],{"/blog/last-year-we-signed-the-secure-by-design-pledge-heres-our-progress":3,"navigation-en-us":403,"banner-en-us":829,"footer-en-us":839,"blog-post-authors-en-us-Joseph Longo":1082,"blog-related-posts-en-us-last-year-we-signed-the-secure-by-design-pledge-heres-our-progress":1097,"blog-promotions-en-us":1122,"next-steps-en-us":1175},{"id":4,"title":5,"authors":6,"body":8,"category":381,"date":382,"description":383,"extension":384,"externalUrl":385,"faq":385,"featured":386,"heroImage":387,"meta":388,"navigation":386,"path":389,"seo":390,"slug":395,"stem":396,"tags":397,"template":401,"updatedDate":385,"__hash__":402},"blogPosts/en-us/blog/last-year-we-signed-the-secure-by-design-pledge-heres-our-progress.md","Last year we signed the Secure by Design pledge - here's our progress",[7],"Joseph Longo",{"type":9,"value":10,"toc":365},"minimark",[11,22,27,30,35,44,70,73,76,79,82,86,93,102,105,109,116,125,128,136,140,147,156,165,174,183,187,194,214,222,226,233,236,245,257,261,268,288,302,306,314,317,320,330,334],[12,13,14,15,21],"p",{},"A little over a year go, GitLab signed ",[16,17,20],"a",{"href":18,"rel":19},"https://about.gitlab.com/blog/secure-by-design-principles-meet-devsecops-innovation-in-gitlab-17/",[],"CISA’s Secure by Design Pledge",", a directive for technology providers to embed security at the heart of their products from the outset of development. Since then, we've made significant progress towards improving our security posture and creating a more secure ecosystem for our customers to develop secure software faster.",[23,24,26],"h2",{"id":25},"meeting-the-security-goals","Meeting the security goals",[12,28,29],{},"Let’s explore the additions and improvements we've made to further enhance security across the development lifecycle.",[31,32,34],"h3",{"id":33},"multi-factor-authentication-mfa","Multi-factor authentication (MFA)",[12,36,37],{},[38,39,40],"em",{},[41,42,43],"strong",{},"Goal: Within one year of signing the pledge, demonstrate actions taken to measurably increase the use of multi-factor authentication across the manufacturer’s products.",[12,45,46,47,52,53,58,59,64,65,69],{},"GitLab currently offers multiple ",[16,48,51],{"href":49,"rel":50},"https://docs.gitlab.com/user/profile/account/two_factor_authentication/",[],"MFA"," options for users to secure their accounts. We also offer SSO functionality to enable ",[16,54,57],{"href":55,"rel":56},"https://docs.gitlab.com/user/group/saml_sso/",[],"GitLab.com",", ",[16,60,63],{"href":61,"rel":62},"https://docs.gitlab.com/integration/saml/",[],"Self-Managed",", and ",[16,66,68],{"href":61,"rel":67},[],"GitLab Dedicated"," customers to streamline their authentication processes and their internal MFA requirements.",[12,71,72],{},"To further enhance the platform’s resilience, and to create a more secure foundation for our customers, GitLab is executing a phased MFA by Default rollout.",[12,74,75],{},"In the coming months, we will deploy changes requiring all customers to enable MFA on their accounts.",[12,77,78],{},"For customers who already have MFA enabled or authenticate to GitLab via their organization’s single sign-on (SSO) method, there will be no necessary changes. For customers who do not already have MFA enabled and are not authenticating to GitLab via their organization’s SSO method, they will be required to enable MFA and enroll in one or more of the available MFA methods.",[12,80,81],{},"The MFA rollout will occur in stages to ensure a smooth and consistent adoption across all customers. More details on GitLab’s MFA by Default rollout will be shared in the near future.",[31,83,85],{"id":84},"default-passwords","Default passwords",[12,87,88],{},[38,89,90],{},[41,91,92],{},"Goal: Within one year of signing the pledge, demonstrate measurable progress towards reducing default passwords across the manufacturers’ products.",[12,94,95,96,101],{},"To reduce the use of default passwords, GitLab uses randomly generated root passwords for its multiple installation methods. GitLab’s multi-method ",[16,97,100],{"href":98,"rel":99},"https://docs.gitlab.com/install/install_methods/",[],"installation instructions"," also include guidance on how to change the randomly generated root password for each installation.",[12,103,104],{},"For some install methods, such as installing GitLab in a Docker container, the password file with the initial root password is deleted in the first container restart after 24 hours to help further harden the GitLab instance.",[31,106,108],{"id":107},"reducing-entire-classes-of-vulnerabilities","Reducing entire classes of vulnerabilities",[12,110,111],{},[38,112,113],{},[41,114,115],{},"Goal: Within one year of signing the pledge, demonstrate actions taken towards enabling a significant measurable reduction in the prevalence of one or more vulnerability classes across the manufacturer’s products.",[12,117,118,119,124],{},"GitLab has published ",[16,120,123],{"href":121,"rel":122},"https://docs.gitlab.com/development/secure_coding_guidelines/#sast-coverage",[],"secure coding guidelines"," to its documentation site that contains descriptions and guidelines for addressing security vulnerabilities commonly identified in the GitLab codebase.",[12,126,127],{},"The guidelines are “intended to help developers identify potential security vulnerabilities early, with the goal of reducing the number of vulnerabilities released over time.”",[12,129,130,131,135],{},"GitLab continues to improve its ",[16,132,134],{"href":121,"rel":133},[],"SAST rule coverage"," to address broader sets of security vulnerabilities for itself and its customers.",[31,137,139],{"id":138},"security-patches","Security patches",[12,141,142],{},[38,143,144],{},[41,145,146],{},"Goal: Within one year of signing the pledge, demonstrate actions taken to measurably increase the installation of security patches by customers.",[12,148,149,150,155],{},"GitLab handles all updates related to its GitLab.com and GitLab Dedicated service offerings. Additionally, GitLab publishes a ",[16,151,154],{"href":152,"rel":153},"https://docs.gitlab.com/policy/maintenance/",[],"maintenance policy",", which outlines its approach to releasing updates, backporting, upgrade recommendations and supporting documentation, etc.",[12,157,158,159,164],{},"GitLab’s documentation has comprehensive guidance on ",[16,160,163],{"href":161,"rel":162},"https://docs.gitlab.com/update/?tab=Self-compiled+%28source%29#upgrade-based-on-installation-method",[],"how to upgrade"," self-managed instances based on their deployment model. This includes Omnibus, Helm chart, Docker and self-compiled GitLab installations.",[12,166,167,168,173],{},"GitLab also provides a detailed ",[16,169,172],{"href":170,"rel":171},"https://docs.gitlab.com/update/plan_your_upgrade/",[],"upgrade plan"," to ensure proper testing and troubleshooting can be performed as well as rollback plans if necessary.",[12,175,176,177,182],{},"Depending on the version upgrade, specific changes (",[16,178,181],{"href":179,"rel":180},"https://docs.gitlab.com/update/versions/gitlab_17_changes/",[],"example for GitLab 17",") for each version are highlighted to ensure a smooth upgrade process and limit unavailability of services.",[31,184,186],{"id":185},"vulnerability-disclosure-policy","Vulnerability disclosure policy",[12,188,189],{},[38,190,191],{},[41,192,193],{},"Goal: Within one year of signing the pledge, publish a vulnerability disclosure policy (VDP).",[12,195,196,197,202,203,208,209,213],{},"GitLab maintains a strong bug bounty program through ",[16,198,201],{"href":199,"rel":200},"https://hackerone.com/gitlab?type=team",[],"HackerOne",", a ",[16,204,207],{"href":205,"rel":206},"https://gitlab.com/.well-known/security.txt",[],"security.txt"," file highlighting GitLab’s preferred and additional disclosure processes, and ",[16,210,212],{"href":211},"/whats-new/","release posts"," highlighting security fixes.",[12,215,216,217,221],{},"Customers and the general public can subscribe to receive GitLab’s release posts directly in their email inbox. Starting April of 2024, GitLab combined ",[16,218,220],{"href":219},"/blog/were-combining-patch-and-security-releases/","patch and security releases"," into a single unified cadence, with planned releases twice a month on the second and fourth Wednesdays.",[31,223,225],{"id":224},"common-vulnerability-enumerations","Common vulnerability enumerations",[12,227,228],{},[38,229,230],{},[41,231,232],{},"Goal: Within one year of signing the pledge, demonstrate transparency in vulnerability reporting",[12,234,235],{},"GitLab includes the Common Weakness Enumeration (CWE) field in all Common vulnerability enumerations (CVE) records it publishes. Over the past year, GitLab has iterated to also include the Common Platform Enumeration (CPE) field in CVE records.",[12,237,238,239,244],{},"The GitLab ",[16,240,243],{"href":241,"rel":242},"https://gitlab.com/gitlab-org/cves",[],"CVE assignments project"," stores a copy of all CVE identifiers assigned and published by GitLab in its role as a CVE Numbering Authority.",[246,247,248],"blockquote",{},[12,249,250,251,256],{},"Check out ",[16,252,255],{"href":253,"rel":254},"https://gitlab.com/gitlab-org/cves/-/blob/master/.gitlab/issue_templates/Internal%20GitLab%20Submission.md?ref_type=heads",[],"GitLab’s CVE submission template",".",[31,258,260],{"id":259},"evidence-of-intrusions","Evidence of intrusions",[12,262,263],{},[38,264,265],{},[41,266,267],{},"Goal: Within one year of signing the pledge, demonstrate a measurable increase in the ability for customers to gather evidence of cybersecurity intrusions affecting the manufacturer’s products.",[12,269,270,271,276,277,282,283,256],{},"GitLab has published an ",[16,272,275],{"href":273,"rel":274},"https://docs.gitlab.com/security/responding_to_security_incidents/",[],"incident response guide"," to help customers respond to incidents involving GitLab instances. Additionally, GitLab has open sourced versions of its ",[16,278,281],{"href":279,"rel":280},"https://about.gitlab.com/blog/unveiling-the-guard-framework-to-automate-security-detections-at-gitlab/",[],"GUARD detection-as-code"," and TLDR threat detection frameworks. The repositories for those open source frameworks can be found on ",[16,284,287],{"href":285,"rel":286},"https://about.gitlab.com/security/open-source-resources/",[],"GitLab’s Open Source Security Center",[12,289,290,291,295,296,301],{},"In a similar manner, GitLab is adding functionality to its ",[16,292,57],{"href":293,"rel":294},"http://gitLab.com",[]," service offering to ",[16,297,300],{"href":298,"rel":299},"https://about.gitlab.com/blog/introducing-compromised-password-detection-for-gitlab-com/",[],"detect compromised passwords"," for all logins using GitLab’s native username and password authentication method.",[23,303,305],{"id":304},"whats-next","What's next",[12,307,308,313],{},[16,309,312],{"href":310,"rel":311},"https://gitlab.com/gitlab-com/gl-security",[],"GitLab’s Security Division’s mission"," is to enable everyone to innovate and succeed on a safe, secure, and trusted DevSecOps platform.",[12,315,316],{},"GitLab's security enhancements over the past year have allowed us to demonstrate our commitment to CISA’s Secure by Design Pledge, and they have strengthened our platform and given customers a more reliable and secure foundation to build on.",[12,318,319],{},"Our commitment to iteration means we're already focused on the next set of innovations that will drive us forward.",[246,321,322],{},[12,323,324,325,256],{},"To learn more about GitLab’s security enhancements, bookmark our ",[16,326,329],{"href":327,"rel":328},"https://about.gitlab.com/blog/categories/security/",[],"security page on the GitLab Blog",[23,331,333],{"id":332},"read-more","Read more",[335,336,337,344,351,358],"ul",{},[338,339,340],"li",{},[16,341,343],{"href":18,"rel":342},[],"Secure by Design principles meet DevSecOps innovation in GitLab 17",[338,345,346],{},[16,347,350],{"href":348,"rel":349},"https://about.gitlab.com/blog/happy-birthday-secure-by-design/",[],"Happy birthday, Secure by Design!",[338,352,353],{},[16,354,357],{"href":355,"rel":356},"https://about.gitlab.com/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design/",[],"Strengthen your cybersecurity strategy with Secure by Design",[338,359,360],{},[16,361,364],{"href":362,"rel":363},"https://about.gitlab.com/blog/introducing-gitlabs-open-source-security-center/",[],"GitLab's Open Source Security Center",{"title":366,"searchDepth":367,"depth":367,"links":368},"",2,[369,379,380],{"id":25,"depth":367,"text":26,"children":370},[371,373,374,375,376,377,378],{"id":33,"depth":372,"text":34},3,{"id":84,"depth":372,"text":85},{"id":107,"depth":372,"text":108},{"id":138,"depth":372,"text":139},{"id":185,"depth":372,"text":186},{"id":224,"depth":372,"text":225},{"id":259,"depth":372,"text":260},{"id":304,"depth":367,"text":305},{"id":332,"depth":367,"text":333},"security","2025-06-09","Learn about GitLab's CISA-aligned additions and improvements around MFA, default password reduction, patching, and vulnerability disclosure.","md",null,true,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659684/Blog/Hero%20Images/AdobeStock_479904468__1_.jpg",{},"/en-us/blog/last-year-we-signed-the-secure-by-design-pledge-heres-our-progress",{"title":5,"description":383,"ogTitle":5,"ogDescription":383,"noIndex":391,"ogImage":387,"ogUrl":392,"ogSiteName":393,"ogType":394,"canonicalUrls":392},false,"https://about.gitlab.com/blog/last-year-we-signed-the-secure-by-design-pledge-heres-our-progress","https://about.gitlab.com","article","last-year-we-signed-the-secure-by-design-pledge-heres-our-progress","en-us/blog/last-year-we-signed-the-secure-by-design-pledge-heres-our-progress",[398,399,381,400],"DevSecOps","DevSecOps platform","public sector","BlogPost","S6ovcK6nJ7-kNR5863_-1QoP0ATt3aMvANv13wA0fDQ",{"logo":404,"freeTrial":409,"sales":414,"login":419,"items":424,"search":749,"minimal":780,"duo":799,"switchNav":808,"pricingDeployment":819},{"config":405},{"href":406,"dataGaName":407,"dataGaLocation":408},"/","gitlab logo","header",{"text":410,"config":411},"Get free trial",{"href":412,"dataGaName":413,"dataGaLocation":408},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":415,"config":416},"Request a demo",{"href":417,"dataGaName":418,"dataGaLocation":408},"/sales/?contact-topic=request-demo","sales",{"text":420,"config":421},"Sign in",{"href":422,"dataGaName":423,"dataGaLocation":408},"https://gitlab.com/users/sign_in/","sign in",[425,454,553,558,671,727],{"text":426,"config":427,"menu":429},"Platform",{"dataNavLevelOne":428},"platform",{"type":430,"columns":431},"cards",[432,438,446],{"title":426,"description":433,"link":434},"The intelligent orchestration platform for DevSecOps",{"text":435,"config":436},"Explore our Platform",{"href":437,"dataGaName":428,"dataGaLocation":408},"/platform/",{"title":439,"description":440,"link":441},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":442,"config":443},"Meet GitLab Duo",{"href":444,"dataGaName":445,"dataGaLocation":408},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":447,"description":448,"link":449},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":450,"config":451},"Learn more",{"href":452,"dataGaName":453,"dataGaLocation":408},"/why-gitlab/","why gitlab",{"text":455,"left":386,"config":456,"menu":458},"Product",{"dataNavLevelOne":457},"solutions",{"type":459,"link":460,"columns":464,"feature":533},"lists",{"text":461,"config":462},"View all Solutions",{"href":463,"dataGaName":457,"dataGaLocation":408},"/solutions/",[465,489,512],{"title":466,"description":467,"link":468,"items":473},"Automation","CI/CD and automation to accelerate deployment",{"config":469},{"icon":470,"href":471,"dataGaName":472,"dataGaLocation":408},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[474,478,481,485],{"text":475,"config":476},"CI/CD",{"href":477,"dataGaLocation":408,"dataGaName":475},"/solutions/continuous-integration/",{"text":439,"config":479},{"href":444,"dataGaLocation":408,"dataGaName":480},"gitlab duo agent platform - product menu",{"text":482,"config":483},"Source Code Management",{"href":484,"dataGaLocation":408,"dataGaName":482},"/solutions/source-code-management/",{"text":486,"config":487},"Automated Software Delivery",{"href":471,"dataGaLocation":408,"dataGaName":488},"Automated software delivery",{"title":490,"description":491,"link":492,"items":497},"Security","Deliver code faster without compromising security",{"config":493},{"href":494,"dataGaName":495,"dataGaLocation":408,"icon":496},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[498,502,507],{"text":499,"config":500},"Application Security Testing",{"href":494,"dataGaName":501,"dataGaLocation":408},"Application security testing",{"text":503,"config":504},"Software Supply Chain Security",{"href":505,"dataGaLocation":408,"dataGaName":506},"/solutions/supply-chain/","Software supply chain security",{"text":508,"config":509},"Software Compliance",{"href":510,"dataGaName":511,"dataGaLocation":408},"/solutions/software-compliance/","software compliance",{"title":513,"link":514,"items":519},"Measurement",{"config":515},{"icon":516,"href":517,"dataGaName":518,"dataGaLocation":408},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[520,524,528],{"text":521,"config":522},"Visibility & Measurement",{"href":517,"dataGaLocation":408,"dataGaName":523},"Visibility and Measurement",{"text":525,"config":526},"Value Stream Management",{"href":527,"dataGaLocation":408,"dataGaName":525},"/solutions/value-stream-management/",{"text":529,"config":530},"Analytics & Insights",{"href":531,"dataGaLocation":408,"dataGaName":532},"/solutions/analytics-and-insights/","Analytics and insights",{"title":534,"type":459,"items":535},"GitLab for",[536,542,548],{"text":537,"config":538},"Enterprise",{"icon":539,"href":540,"dataGaLocation":408,"dataGaName":541},"Building","/enterprise/","enterprise",{"text":543,"config":544},"Small Business",{"icon":545,"href":546,"dataGaLocation":408,"dataGaName":547},"Work","/small-business/","small business",{"text":549,"config":550},"Public Sector",{"icon":551,"href":552,"dataGaLocation":408,"dataGaName":400},"Organization","/solutions/public-sector/",{"text":554,"config":555},"Pricing",{"href":556,"dataGaName":557,"dataGaLocation":408,"dataNavLevelOne":557},"/pricing/","pricing",{"text":559,"config":560,"menu":562},"Resources",{"dataNavLevelOne":561},"resources",{"type":459,"link":563,"columns":567,"feature":661},{"text":564,"config":565},"View all resources",{"href":566,"dataGaName":561,"dataGaLocation":408},"/resources/",[568,601,628],{"title":569,"items":570},"Getting started",[571,576,581,586,591,596],{"text":572,"config":573},"Install",{"href":574,"dataGaName":575,"dataGaLocation":408},"/install/","install",{"text":577,"config":578},"Quick start guides",{"href":579,"dataGaName":580,"dataGaLocation":408},"/get-started/","quick setup checklists",{"text":582,"config":583},"Learn",{"href":584,"dataGaLocation":408,"dataGaName":585},"https://university.gitlab.com/","learn",{"text":587,"config":588},"Product documentation",{"href":589,"dataGaName":590,"dataGaLocation":408},"https://docs.gitlab.com/","product documentation",{"text":592,"config":593},"Best practice videos",{"href":594,"dataGaName":595,"dataGaLocation":408},"/getting-started-videos/","best practice videos",{"text":597,"config":598},"Integrations",{"href":599,"dataGaName":600,"dataGaLocation":408},"/integrations/","integrations",{"title":602,"items":603},"Discover",[604,609,614,619,623],{"text":605,"config":606},"Customer success stories",{"href":607,"dataGaName":608,"dataGaLocation":408},"/customers/","customer success stories",{"text":610,"config":611},"Blog",{"href":612,"dataGaName":613,"dataGaLocation":408},"/blog/","blog",{"text":615,"config":616},"Demo Hub",{"href":617,"dataGaName":618,"dataGaLocation":408},"/demo-hub/","demo hub",{"text":620,"config":621},"The Source",{"href":622,"dataGaName":613,"dataGaLocation":408},"/the-source/",{"text":624,"config":625},"Remote",{"href":626,"dataGaName":627,"dataGaLocation":408},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":629,"items":630},"Connect",[631,636,641,646,651,656],{"text":632,"config":633},"GitLab Services",{"href":634,"dataGaName":635,"dataGaLocation":408},"/services/","services",{"text":637,"config":638},"Contribute",{"href":639,"dataGaName":640,"dataGaLocation":408},"https://contributors.gitlab.com","contribute",{"text":642,"config":643},"Community",{"href":644,"dataGaName":645,"dataGaLocation":408},"/community/","community",{"text":647,"config":648},"Forum",{"href":649,"dataGaName":650,"dataGaLocation":408},"https://forum.gitlab.com/","forum",{"text":652,"config":653},"Events",{"href":654,"dataGaName":655,"dataGaLocation":408},"/events/","events",{"text":657,"config":658},"Partners",{"href":659,"dataGaName":660,"dataGaLocation":408},"/partners/","partners",{"config":662,"title":665,"text":666,"link":667},{"background":663,"textColor":664},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":668,"config":669},"Read the latest",{"href":211,"dataGaName":670,"dataGaLocation":408},"whats new",{"text":672,"config":673,"menu":675},"Company",{"dataNavLevelOne":674},"company",{"type":459,"columns":676},[677],{"items":678},[679,684,690,692,697,702,707,712,717,722],{"text":680,"config":681},"About",{"href":682,"dataGaName":683,"dataGaLocation":408},"/company/","about",{"text":685,"config":686,"footerGa":689},"Jobs",{"href":687,"dataGaName":688,"dataGaLocation":408},"/jobs/","jobs",{"dataGaName":688},{"text":652,"config":691},{"href":654,"dataGaName":655,"dataGaLocation":408},{"text":693,"config":694},"Leadership",{"href":695,"dataGaName":696,"dataGaLocation":408},"/company/team/e-group/","leadership",{"text":698,"config":699},"Handbook",{"href":700,"dataGaName":701,"dataGaLocation":408},"https://handbook.gitlab.com/","handbook",{"text":703,"config":704},"Investor relations",{"href":705,"dataGaName":706,"dataGaLocation":408},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":708,"config":709},"Trust Center",{"href":710,"dataGaName":711,"dataGaLocation":408},"/security/","trust center",{"text":713,"config":714},"AI Transparency Center",{"href":715,"dataGaName":716,"dataGaLocation":408},"/ai-transparency-center/","ai transparency center",{"text":718,"config":719},"Newsletter",{"href":720,"dataGaName":721,"dataGaLocation":408},"/company/contact/#contact-forms","newsletter",{"text":723,"config":724},"Press",{"href":725,"dataGaName":726,"dataGaLocation":408},"/press/","press",{"text":728,"config":729,"menu":730},"Contact us",{"dataNavLevelOne":674},{"type":459,"columns":731},[732],{"items":733},[734,739,744],{"text":735,"config":736},"Talk to sales",{"href":737,"dataGaName":738,"dataGaLocation":408},"/sales/","talk to sales",{"text":740,"config":741},"Support portal",{"href":742,"dataGaName":743,"dataGaLocation":408},"https://support.gitlab.com/hc/en-us","support portal",{"text":745,"config":746},"Customer portal",{"href":747,"dataGaName":748,"dataGaLocation":408},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":750,"login":751,"suggestions":758},"Close",{"text":752,"link":753},"To search repositories and projects, login to",{"text":754,"config":755},"gitlab.com",{"href":422,"dataGaName":756,"dataGaLocation":757},"search login","search",{"text":759,"default":760},"Suggestions",[761,763,767,769,773,777],{"text":439,"config":762},{"href":444,"dataGaName":439,"dataGaLocation":757},{"text":764,"config":765},"Code Suggestions (AI)",{"href":766,"dataGaName":764,"dataGaLocation":757},"/solutions/code-suggestions/",{"text":475,"config":768},{"href":477,"dataGaName":475,"dataGaLocation":757},{"text":770,"config":771},"GitLab on AWS",{"href":772,"dataGaName":770,"dataGaLocation":757},"/partners/technology-partners/aws/",{"text":774,"config":775},"GitLab on Google Cloud",{"href":776,"dataGaName":774,"dataGaLocation":757},"/partners/technology-partners/google-cloud-platform/",{"text":778,"config":779},"Why GitLab?",{"href":452,"dataGaName":778,"dataGaLocation":757},{"freeTrial":781,"mobileIcon":786,"desktopIcon":791,"secondaryButton":794},{"text":782,"config":783},"Start free trial",{"href":784,"dataGaName":413,"dataGaLocation":785},"https://gitlab.com/-/trials/new/","nav",{"altText":787,"config":788},"Gitlab Icon",{"src":789,"dataGaName":790,"dataGaLocation":785},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":787,"config":792},{"src":793,"dataGaName":790,"dataGaLocation":785},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":795,"config":796},"Get Started",{"href":797,"dataGaName":798,"dataGaLocation":785},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":800,"mobileIcon":804,"desktopIcon":806},{"text":801,"config":802},"Learn more about GitLab Duo",{"href":444,"dataGaName":803,"dataGaLocation":785},"gitlab duo",{"altText":787,"config":805},{"src":789,"dataGaName":790,"dataGaLocation":785},{"altText":787,"config":807},{"src":793,"dataGaName":790,"dataGaLocation":785},{"button":809,"mobileIcon":814,"desktopIcon":816},{"text":810,"config":811},"/switch",{"href":812,"dataGaName":813,"dataGaLocation":785},"#contact","switch",{"altText":787,"config":815},{"src":789,"dataGaName":790,"dataGaLocation":785},{"altText":787,"config":817},{"src":818,"dataGaName":790,"dataGaLocation":785},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":820,"mobileIcon":825,"desktopIcon":827},{"text":821,"config":822},"Back to pricing",{"href":556,"dataGaName":823,"dataGaLocation":785,"icon":824},"back to pricing","GoBack",{"altText":787,"config":826},{"src":789,"dataGaName":790,"dataGaLocation":785},{"altText":787,"config":828},{"src":793,"dataGaName":790,"dataGaLocation":785},{"title":830,"titleMobile":831,"button":832,"config":837},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":450,"config":833},{"href":834,"dataGaName":835,"dataGaLocation":836},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":838,"disabled":391},"release",{"data":840},{"text":841,"source":842,"edit":848,"contribute":853,"config":858,"items":863,"minimal":1071},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":843,"config":844},"View page source",{"href":845,"dataGaName":846,"dataGaLocation":847},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":849,"config":850},"Edit this page",{"href":851,"dataGaName":852,"dataGaLocation":847},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":854,"config":855},"Please contribute",{"href":856,"dataGaName":857,"dataGaLocation":847},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":859,"facebook":860,"youtube":861,"linkedin":862},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[864,911,963,1007,1039],{"title":554,"links":865,"subMenu":880},[866,870,875],{"text":867,"config":868},"View plans",{"href":556,"dataGaName":869,"dataGaLocation":847},"view plans",{"text":871,"config":872},"Why Premium?",{"href":873,"dataGaName":874,"dataGaLocation":847},"/pricing/premium/","why premium",{"text":876,"config":877},"Why Ultimate?",{"href":878,"dataGaName":879,"dataGaLocation":847},"/pricing/ultimate/","why ultimate",[881],{"title":882,"links":883},"Contact Us",[884,887,889,891,896,901,906],{"text":885,"config":886},"Contact sales",{"href":737,"dataGaName":418,"dataGaLocation":847},{"text":740,"config":888},{"href":742,"dataGaName":743,"dataGaLocation":847},{"text":745,"config":890},{"href":747,"dataGaName":748,"dataGaLocation":847},{"text":892,"config":893},"Status",{"href":894,"dataGaName":895,"dataGaLocation":847},"https://status.gitlab.com/","status",{"text":897,"config":898},"Terms of use",{"href":899,"dataGaName":900,"dataGaLocation":847},"/terms/","terms of use",{"text":902,"config":903},"Privacy statement",{"href":904,"dataGaName":905,"dataGaLocation":847},"/privacy/","privacy statement",{"text":907,"config":908},"Cookie preferences",{"dataGaName":909,"dataGaLocation":847,"id":910,"isOneTrustButton":386},"cookie preferences","ot-sdk-btn",{"title":455,"links":912,"subMenu":920},[913,916],{"text":399,"config":914},{"href":437,"dataGaName":915,"dataGaLocation":847},"devsecops platform",{"text":917,"config":918},"AI-Assisted Development",{"href":444,"dataGaName":919,"dataGaLocation":847},"ai-assisted development",[921],{"title":922,"links":923},"Topics",[924,929,934,939,944,948,953,958],{"text":925,"config":926},"CICD",{"href":927,"dataGaName":928,"dataGaLocation":847},"/topics/ci-cd/","cicd",{"text":930,"config":931},"GitOps",{"href":932,"dataGaName":933,"dataGaLocation":847},"/topics/gitops/","gitops",{"text":935,"config":936},"DevOps",{"href":937,"dataGaName":938,"dataGaLocation":847},"/topics/devops/","devops",{"text":940,"config":941},"Version Control",{"href":942,"dataGaName":943,"dataGaLocation":847},"/topics/version-control/","version control",{"text":398,"config":945},{"href":946,"dataGaName":947,"dataGaLocation":847},"/topics/devsecops/","devsecops",{"text":949,"config":950},"Cloud Native",{"href":951,"dataGaName":952,"dataGaLocation":847},"/topics/cloud-native/","cloud native",{"text":954,"config":955},"AI for Coding",{"href":956,"dataGaName":957,"dataGaLocation":847},"/topics/devops/ai-for-coding/","ai for coding",{"text":959,"config":960},"Agentic AI",{"href":961,"dataGaName":962,"dataGaLocation":847},"/topics/agentic-ai/","agentic ai",{"title":964,"links":965},"Solutions",[966,968,970,975,979,982,986,989,991,994,997,1002],{"text":499,"config":967},{"href":494,"dataGaName":499,"dataGaLocation":847},{"text":488,"config":969},{"href":471,"dataGaName":472,"dataGaLocation":847},{"text":971,"config":972},"Agile development",{"href":973,"dataGaName":974,"dataGaLocation":847},"/solutions/agile-delivery/","agile delivery",{"text":976,"config":977},"SCM",{"href":484,"dataGaName":978,"dataGaLocation":847},"source code management",{"text":925,"config":980},{"href":477,"dataGaName":981,"dataGaLocation":847},"continuous integration & delivery",{"text":983,"config":984},"Value stream management",{"href":527,"dataGaName":985,"dataGaLocation":847},"value stream management",{"text":930,"config":987},{"href":988,"dataGaName":933,"dataGaLocation":847},"/solutions/gitops/",{"text":537,"config":990},{"href":540,"dataGaName":541,"dataGaLocation":847},{"text":992,"config":993},"Small business",{"href":546,"dataGaName":547,"dataGaLocation":847},{"text":995,"config":996},"Public sector",{"href":552,"dataGaName":400,"dataGaLocation":847},{"text":998,"config":999},"Education",{"href":1000,"dataGaName":1001,"dataGaLocation":847},"/solutions/education/","education",{"text":1003,"config":1004},"Financial services",{"href":1005,"dataGaName":1006,"dataGaLocation":847},"/solutions/finance/","financial services",{"title":559,"links":1008},[1009,1011,1013,1015,1018,1020,1023,1025,1027,1029,1031,1033,1035,1037],{"text":572,"config":1010},{"href":574,"dataGaName":575,"dataGaLocation":847},{"text":577,"config":1012},{"href":579,"dataGaName":580,"dataGaLocation":847},{"text":582,"config":1014},{"href":584,"dataGaName":585,"dataGaLocation":847},{"text":587,"config":1016},{"href":589,"dataGaName":1017,"dataGaLocation":847},"docs",{"text":610,"config":1019},{"href":612,"dataGaName":613,"dataGaLocation":847},{"text":1021,"config":1022},"What's new",{"href":211,"dataGaName":670,"dataGaLocation":847},{"text":605,"config":1024},{"href":607,"dataGaName":608,"dataGaLocation":847},{"text":624,"config":1026},{"href":626,"dataGaName":627,"dataGaLocation":847},{"text":632,"config":1028},{"href":634,"dataGaName":635,"dataGaLocation":847},{"text":637,"config":1030},{"href":639,"dataGaName":640,"dataGaLocation":847},{"text":642,"config":1032},{"href":644,"dataGaName":645,"dataGaLocation":847},{"text":647,"config":1034},{"href":649,"dataGaName":650,"dataGaLocation":847},{"text":652,"config":1036},{"href":654,"dataGaName":655,"dataGaLocation":847},{"text":657,"config":1038},{"href":659,"dataGaName":660,"dataGaLocation":847},{"title":672,"links":1040},[1041,1043,1045,1047,1049,1051,1055,1060,1062,1064,1066],{"text":680,"config":1042},{"href":682,"dataGaName":674,"dataGaLocation":847},{"text":685,"config":1044},{"href":687,"dataGaName":688,"dataGaLocation":847},{"text":693,"config":1046},{"href":695,"dataGaName":696,"dataGaLocation":847},{"text":698,"config":1048},{"href":700,"dataGaName":701,"dataGaLocation":847},{"text":703,"config":1050},{"href":705,"dataGaName":706,"dataGaLocation":847},{"text":1052,"config":1053},"Sustainability",{"href":1054,"dataGaName":1052,"dataGaLocation":847},"/sustainability/",{"text":1056,"config":1057},"Diversity, inclusion and belonging (DIB)",{"href":1058,"dataGaName":1059,"dataGaLocation":847},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":708,"config":1061},{"href":710,"dataGaName":711,"dataGaLocation":847},{"text":718,"config":1063},{"href":720,"dataGaName":721,"dataGaLocation":847},{"text":723,"config":1065},{"href":725,"dataGaName":726,"dataGaLocation":847},{"text":1067,"config":1068},"Modern Slavery Transparency Statement",{"href":1069,"dataGaName":1070,"dataGaLocation":847},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1072},[1073,1076,1079],{"text":1074,"config":1075},"Terms",{"href":899,"dataGaName":900,"dataGaLocation":847},{"text":1077,"config":1078},"Cookies",{"dataGaName":909,"dataGaLocation":847,"id":910,"isOneTrustButton":386},{"text":1080,"config":1081},"Privacy",{"href":904,"dataGaName":905,"dataGaLocation":847},[1083],{"id":1084,"title":7,"body":385,"config":1085,"content":1087,"description":385,"extension":1091,"meta":1092,"navigation":386,"path":1093,"seo":1094,"stem":1095,"__hash__":1096},"blogAuthors/en-us/blog/authors/joseph-longo.yml",{"template":1086},"BlogAuthor",{"name":7,"config":1088},{"headshot":1089,"ctfId":1090},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659681/Blog/Author%20Headshots/jlongo_gitlab-headshot.jpg","jlongogitlab","yml",{},"/en-us/blog/authors/joseph-longo",{},"en-us/blog/authors/joseph-longo","VIlsk9hPcH3cl865aygtOArC3lR9vjVvQqDgvE-S7qU",[1098,1106,1114],{"title":1099,"description":1100,"heroImage":1101,"category":381,"date":1102,"authors":1103,"slug":1105,"externalUrl":385},"How GitLab tracks vulnerabilities through refactors and reformatting","Learn how GitLab's improved Scope+Offset fingerprinting keeps vulnerability tracking stable across comments, blank lines, and reformatting.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1759320418/xjmqcozxzt4frx0hori3.png","2026-08-12",[1104],"Julian Thome","improved-scope-offset-fingerprinting",{"title":1107,"description":1108,"heroImage":1101,"category":381,"date":1109,"authors":1110,"slug":1113,"externalUrl":385},"GitLab Secrets Manager adds ESO, Terraform, API support","Simplify credential management across your stack. GitLab Secrets Manager provides secure retrieval in Kubernetes, Terraform, and external workflows.","2026-08-06",[1111,1112],"Erick Bajao","Joe Randazzo","gitlab-secrets-manager-add-eso-terraform-api-support",{"title":1115,"description":1116,"heroImage":1117,"category":381,"date":1118,"authors":1119,"slug":1121,"externalUrl":385},"Secure every commit to production with Claude and GitLab","Claude Security catches vulnerabilities inside a coding session. GitLab picks up from there, scanning, enforcing policy, and producing audit evidence for the software lifecycle. ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756122536/akivvcnafog9c4dhhzkp.png","2026-08-03",[1120],"Alisa Ho","claude-security-and-gitlab",{"promotions":1123},[1124,1138,1150,1161],{"id":1125,"categories":1126,"header":1128,"text":1129,"button":1130,"image":1135},"ai-modernization",[1127],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":1131,"config":1132},"Get your AI maturity score",{"href":1133,"dataGaName":1134,"dataGaLocation":613},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":1136},{"src":1137},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1139,"categories":1140,"header":1142,"text":1129,"button":1143,"image":1147},"devops-modernization",[1141,947],"product","Are you just managing tools or shipping innovation?",{"text":1144,"config":1145},"Get your DevOps maturity score",{"href":1146,"dataGaName":1134,"dataGaLocation":613},"/assessments/devops-modernization-assessment/",{"config":1148},{"src":1149},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1151,"categories":1152,"header":1153,"text":1129,"button":1154,"image":1158},"security-modernization",[381],"Are you trading speed for security?",{"text":1155,"config":1156},"Get your security maturity score",{"href":1157,"dataGaName":1134,"dataGaLocation":613},"/assessments/security-modernization-assessment/",{"config":1159},{"src":1160},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1162,"paths":1163,"header":1166,"text":1167,"button":1168,"image":1173},"github-azure-migration",[1164,1165],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":1169,"config":1170},"See how GitLab compares to GitHub",{"href":1171,"dataGaName":1172,"dataGaLocation":613},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1174},{"src":1149},{"header":1176,"blurb":1177,"button":1178,"secondaryButton":1183},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1179,"config":1180},"Get your free trial",{"href":1181,"dataGaName":413,"dataGaLocation":1182},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":885,"config":1184},{"href":737,"dataGaName":418,"dataGaLocation":1182},1786803753055]