[{"data":1,"prerenderedAt":1015},["ShallowReactive",2],{"/blog/security-features-in-ultimate":3,"navigation-en-us":232,"banner-en-us":659,"footer-en-us":669,"blog-post-authors-en-us-Cindy Blake":912,"blog-related-posts-en-us-security-features-in-ultimate":927,"blog-promotions-en-us":952,"next-steps-en-us":1005},{"id":4,"title":5,"authors":6,"body":8,"category":210,"date":211,"description":212,"extension":213,"externalUrl":214,"faq":214,"featured":215,"heroImage":216,"meta":217,"navigation":218,"path":219,"seo":220,"slug":224,"stem":225,"tags":226,"template":230,"updatedDate":214,"__hash__":231},"blogPosts/en-us/blog/security-features-in-ultimate.md","Tired of afterthought security? Take a fresh look at GitLab Ultimate",[7],"Cindy Blake",{"type":9,"value":10,"toc":202},"minimark",[11,31,67,70,78,83,147,151,160,163,167,176,180,188],[12,13,14,15,20,21,25,26,30],"p",{},"At GitLab, we have worked hard to make ",[16,17,19],"a",{"href":18},"/topics/devsecops/","application security testing"," a natural by-product of software development. We started with the developer, bringing scan results into their native workflow, then we added a dashboard for the security pro. We acquired Gemnasium and most recently ",[16,22,24],{"href":23},"/blog/fuzz-testing/","Peach Tech and Fuzzit",". We have a board goal to be a world-class security product and have allocated just under 25% of our R&D budget to these capabilities.\nWe know our SAST, dependency, container, and other scanners are great but we’d also bought into the idea that people choose to use our ",[16,27,29],{"href":28},"/solutions/devops-platform/","DevOps platform"," largely because of CI or SCM and our security is just an added bonus.\nBut it seems we are our own worst critic, especially on how we determine product maturity. Data points include:",[32,33,34,58],"ul",{},[35,36,37,38,43,44,49,50],"li",{},"The technology review site G2 shows ",[16,39,42],{"href":40,"rel":41},"https://www.g2.com/categories/static-application-security-testing-sast#grid",[],"GitLab’s static application security testing (SAST) is top rated",". * As of Dec. 4, 2020, GitLab has an Overall Rating of 4.6 out of 5 in the Application Security Testing market on ",[16,45,48],{"href":46,"rel":47},"https://www.gartner.com/reviews/market/application-security-testing/vendor/gitlab/product/gitlab",[],"Gartner Peer Insights",", based on 32 reviews.\n",[32,51,52],{},[35,53,54],{},[55,56,57],"em",{},"Gartner Peer Insights reviews constitute the subjective opinions of individual end users based on their own experiences and do not represent the views of Gartner or its affiliates.",[35,59,60,61,66],{},"Dev-Insider 2020 Platinum award for ",[16,62,65],{"href":63,"rel":64},"https://www.storage-insider.de/die-leser-haben-entschieden-die-gewinner-der-it-awards-2020-a-973498/",[],"best code and composition analysis",".",[12,68,69],{},"And customers are noticing too:",[32,71,72,75],{},[35,73,74],{},"“GitLab Secure replaced Veracode, Checkmarx, and Fortify in my DevOps toolchain. GitLab scans faster, is more accurate, and doesn’t require my developers to learn new tools.”",[35,76,77],{},"“GitLab Secure enables us to ship faster. Our other scanner tools could take up to a day to finish scanning whereas GitLab scans finish in as little a few minutes.”\nHere’s a look at other built-in security features in Ultimate for self hosted and Gold for SaaS.",[79,80,82],"h2",{"id":81},"vulnerability-scans-no-assembly-required","Vulnerability scans (no assembly required)",[12,84,85,86,91,92,97,98,103,104,103,109,114,115,120,121,126,127,131,132,137,138,140,141,146],{},"If there are two truths in security, it’s these: The more you scan, the less risk you will have, and it’s cheaper to find and fix vulnerabilities in development than later in the lifecycle. Developers need access to that data in their workflow. GitLab Ultimate/Gold offers comprehensive scanning, out of the box with no integration required: ",[16,87,90],{"href":88,"rel":89},"https://docs.gitlab.com/user/application_security/dast/",[],"dynamic"," and ",[16,93,96],{"href":94,"rel":95},"https://docs.gitlab.com/user/application_security/sast/",[],"static"," (now including mobile apps), ",[16,99,102],{"href":100,"rel":101},"https://docs.gitlab.com/user/application_security/container_scanning/",[],"container scanning",", ",[16,105,108],{"href":106,"rel":107},"https://docs.gitlab.com/user/application_security/dependency_scanning/",[],"dependency scanning",[16,110,113],{"href":111,"rel":112},"https://docs.gitlab.com/user/application_security/dast/#api-scan",[],"API scanning",", and ",[16,116,119],{"href":117,"rel":118},"https://docs.gitlab.com/user/application_security/coverage_fuzzing/",[],"fuzz testing",", along with scanning for ",[16,122,125],{"href":123,"rel":124},"https://docs.gitlab.com/user/application_security/secret_detection/",[],"secrets"," and license compliance. All of these scans are built into the workflow with results presented in the MR pipeline – meaning busy developers don’t have to go hunting for results.\nThe scans are also easy to apply for security pros. With one click, you can choose what to do via AutoDevOps, or add in third-party scanners via the ",[128,129,130],"code",{},"ci.yml",". Just start with a ",[16,133,136],{"href":134,"rel":135},"https://docs.gitlab.com/development/integrations/secure/#job-definition",[],"CI job definition",". We’ve even added a handy UX so non-developers can modify the ",[128,139,130],{}," without coding (add link). By using CI templates you can easily set and apply security policies for merge approvals and more. You can also ",[16,142,145],{"href":143,"rel":144},"https://docs.gitlab.com/user/application_security/offline_deployments/",[],"limit security scanning to running offline"," for highly sensitive environments.",[79,148,150],{"id":149},"comprehensive-dashboards","Comprehensive dashboards",[12,152,153,154,159],{},"While this developer-first perspective will reduce vulnerabilities, they can’t all be fixed on the spot. So our ",[16,155,158],{"href":156,"rel":157},"https://docs.gitlab.com/user/application_security/security_dashboard/",[],"security dashboard"," capability (included with GitLab Ultimate/Gold) helps security pros manage remaining vulnerabilities. It provides a single source of truth, eliminating translation and friction between development and security, and makes it simple for anyone to see the status of remediation work, who changed what, where and when, and even who approved merge requests across the entire software development lifecycle.",[12,161,162],{},"And because we know compliance also plays a key role in security, we have a dedicated compliance dashboard that gathers key data to ensure quick and accurate reporting.",[79,164,166],{"id":165},"container-monitoring","Container monitoring",[12,168,169,170,175],{},"DevOps teams taking advantage of the modularity of containers also need a way to keep all the moving parts safe. Gitlab Ultimate offers ",[16,171,174],{"href":172,"rel":173},"https://docs.gitlab.com/user/application_security/",[],"container threat monitoring"," in addition to container scanning.",[79,177,179],{"id":178},"integrated-fuzz-testing","Integrated fuzz testing",[12,181,182,183,187],{},"Thanks to our acquisition of Peach and FuzzIt, GitLab Ultimate now offers integrated ",[16,184,186],{"href":185},"/topics/devsecops/what-is-fuzz-testing/","coverage-guided fuzzing and continuous fuzzing",", adding new types of testing previously unavailable.",[12,189,190,191,196,197],{},"Cover image by ",[16,192,195],{"href":193,"rel":194},"https://unsplash.com/@zhenhu2424",[],"Zhen Hu"," on ",[16,198,201],{"href":199,"rel":200},"https://unsplash.com",[],"Unsplash",{"title":203,"searchDepth":204,"depth":204,"links":205},"",2,[206,207,208,209],{"id":81,"depth":204,"text":82},{"id":149,"depth":204,"text":150},{"id":165,"depth":204,"text":166},{"id":178,"depth":204,"text":179},"security","2020-12-08","Security may not be the first thing that comes to mind when thinking of our DevOps platform, but we’re going to make the case it should be. Here’s a look at some of the too-often-overlooked security features in GitLab Ultimate.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667202/Blog/Hero%20Images/gitlabultimatesecurity.jpg",{},true,"/en-us/blog/security-features-in-ultimate",{"title":5,"description":212,"ogTitle":5,"ogDescription":212,"noIndex":215,"ogImage":216,"ogUrl":221,"ogSiteName":222,"ogType":223,"canonicalUrls":221},"https://about.gitlab.com/blog/security-features-in-ultimate","https://about.gitlab.com","article","security-features-in-ultimate","en-us/blog/security-features-in-ultimate",[210,227,228,229],"DevOps","features","integrations","BlogPost","9UnCMW2SR51sxYNp3QI1iIa6sfDodnnduG3bPjwRA6k",{"logo":233,"freeTrial":238,"sales":243,"login":248,"items":253,"search":579,"minimal":610,"duo":629,"switchNav":638,"pricingDeployment":649},{"config":234},{"href":235,"dataGaName":236,"dataGaLocation":237},"/","gitlab logo","header",{"text":239,"config":240},"Get free trial",{"href":241,"dataGaName":242,"dataGaLocation":237},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":244,"config":245},"Request a demo",{"href":246,"dataGaName":247,"dataGaLocation":237},"/sales/?contact-topic=request-demo","sales",{"text":249,"config":250},"Sign in",{"href":251,"dataGaName":252,"dataGaLocation":237},"https://gitlab.com/users/sign_in/","sign in",[254,283,383,388,501,557],{"text":255,"config":256,"menu":258},"Platform",{"dataNavLevelOne":257},"platform",{"type":259,"columns":260},"cards",[261,267,275],{"title":255,"description":262,"link":263},"The intelligent orchestration platform for DevSecOps",{"text":264,"config":265},"Explore our Platform",{"href":266,"dataGaName":257,"dataGaLocation":237},"/platform/",{"title":268,"description":269,"link":270},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":271,"config":272},"Meet GitLab Duo",{"href":273,"dataGaName":274,"dataGaLocation":237},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":276,"description":277,"link":278},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":279,"config":280},"Learn more",{"href":281,"dataGaName":282,"dataGaLocation":237},"/why-gitlab/","why gitlab",{"text":284,"left":218,"config":285,"menu":287},"Product",{"dataNavLevelOne":286},"solutions",{"type":288,"link":289,"columns":293,"feature":362},"lists",{"text":290,"config":291},"View all Solutions",{"href":292,"dataGaName":286,"dataGaLocation":237},"/solutions/",[294,318,341],{"title":295,"description":296,"link":297,"items":302},"Automation","CI/CD and automation to accelerate deployment",{"config":298},{"icon":299,"href":300,"dataGaName":301,"dataGaLocation":237},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[303,307,310,314],{"text":304,"config":305},"CI/CD",{"href":306,"dataGaLocation":237,"dataGaName":304},"/solutions/continuous-integration/",{"text":268,"config":308},{"href":273,"dataGaLocation":237,"dataGaName":309},"gitlab duo agent platform - product menu",{"text":311,"config":312},"Source Code Management",{"href":313,"dataGaLocation":237,"dataGaName":311},"/solutions/source-code-management/",{"text":315,"config":316},"Automated Software Delivery",{"href":300,"dataGaLocation":237,"dataGaName":317},"Automated software delivery",{"title":319,"description":320,"link":321,"items":326},"Security","Deliver code faster without compromising security",{"config":322},{"href":323,"dataGaName":324,"dataGaLocation":237,"icon":325},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[327,331,336],{"text":328,"config":329},"Application Security Testing",{"href":323,"dataGaName":330,"dataGaLocation":237},"Application security testing",{"text":332,"config":333},"Software Supply Chain Security",{"href":334,"dataGaLocation":237,"dataGaName":335},"/solutions/supply-chain/","Software supply chain security",{"text":337,"config":338},"Software Compliance",{"href":339,"dataGaName":340,"dataGaLocation":237},"/solutions/software-compliance/","software compliance",{"title":342,"link":343,"items":348},"Measurement",{"config":344},{"icon":345,"href":346,"dataGaName":347,"dataGaLocation":237},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[349,353,357],{"text":350,"config":351},"Visibility & Measurement",{"href":346,"dataGaLocation":237,"dataGaName":352},"Visibility and Measurement",{"text":354,"config":355},"Value Stream Management",{"href":356,"dataGaLocation":237,"dataGaName":354},"/solutions/value-stream-management/",{"text":358,"config":359},"Analytics & Insights",{"href":360,"dataGaLocation":237,"dataGaName":361},"/solutions/analytics-and-insights/","Analytics and insights",{"title":363,"type":288,"items":364},"GitLab for",[365,371,377],{"text":366,"config":367},"Enterprise",{"icon":368,"href":369,"dataGaLocation":237,"dataGaName":370},"Building","/enterprise/","enterprise",{"text":372,"config":373},"Small Business",{"icon":374,"href":375,"dataGaLocation":237,"dataGaName":376},"Work","/small-business/","small business",{"text":378,"config":379},"Public Sector",{"icon":380,"href":381,"dataGaLocation":237,"dataGaName":382},"Organization","/solutions/public-sector/","public sector",{"text":384,"config":385},"Pricing",{"href":386,"dataGaName":387,"dataGaLocation":237,"dataNavLevelOne":387},"/pricing/","pricing",{"text":389,"config":390,"menu":392},"Resources",{"dataNavLevelOne":391},"resources",{"type":288,"link":393,"columns":397,"feature":490},{"text":394,"config":395},"View all resources",{"href":396,"dataGaName":391,"dataGaLocation":237},"/resources/",[398,430,457],{"title":399,"items":400},"Getting started",[401,406,411,416,421,426],{"text":402,"config":403},"Install",{"href":404,"dataGaName":405,"dataGaLocation":237},"/install/","install",{"text":407,"config":408},"Quick start guides",{"href":409,"dataGaName":410,"dataGaLocation":237},"/get-started/","quick setup checklists",{"text":412,"config":413},"Learn",{"href":414,"dataGaLocation":237,"dataGaName":415},"https://university.gitlab.com/","learn",{"text":417,"config":418},"Product documentation",{"href":419,"dataGaName":420,"dataGaLocation":237},"https://docs.gitlab.com/","product documentation",{"text":422,"config":423},"Best practice videos",{"href":424,"dataGaName":425,"dataGaLocation":237},"/getting-started-videos/","best practice videos",{"text":427,"config":428},"Integrations",{"href":429,"dataGaName":229,"dataGaLocation":237},"/integrations/",{"title":431,"items":432},"Discover",[433,438,443,448,452],{"text":434,"config":435},"Customer success stories",{"href":436,"dataGaName":437,"dataGaLocation":237},"/customers/","customer success stories",{"text":439,"config":440},"Blog",{"href":441,"dataGaName":442,"dataGaLocation":237},"/blog/","blog",{"text":444,"config":445},"Demo Hub",{"href":446,"dataGaName":447,"dataGaLocation":237},"/demo-hub/","demo hub",{"text":449,"config":450},"The Source",{"href":451,"dataGaName":442,"dataGaLocation":237},"/the-source/",{"text":453,"config":454},"Remote",{"href":455,"dataGaName":456,"dataGaLocation":237},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":458,"items":459},"Connect",[460,465,470,475,480,485],{"text":461,"config":462},"GitLab Services",{"href":463,"dataGaName":464,"dataGaLocation":237},"/services/","services",{"text":466,"config":467},"Contribute",{"href":468,"dataGaName":469,"dataGaLocation":237},"https://contributors.gitlab.com","contribute",{"text":471,"config":472},"Community",{"href":473,"dataGaName":474,"dataGaLocation":237},"/community/","community",{"text":476,"config":477},"Forum",{"href":478,"dataGaName":479,"dataGaLocation":237},"https://forum.gitlab.com/","forum",{"text":481,"config":482},"Events",{"href":483,"dataGaName":484,"dataGaLocation":237},"/events/","events",{"text":486,"config":487},"Partners",{"href":488,"dataGaName":489,"dataGaLocation":237},"/partners/","partners",{"config":491,"title":494,"text":495,"link":496},{"background":492,"textColor":493},"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":497,"config":498},"Read the latest",{"href":499,"dataGaName":500,"dataGaLocation":237},"/whats-new/","whats new",{"text":502,"config":503,"menu":505},"Company",{"dataNavLevelOne":504},"company",{"type":288,"columns":506},[507],{"items":508},[509,514,520,522,527,532,537,542,547,552],{"text":510,"config":511},"About",{"href":512,"dataGaName":513,"dataGaLocation":237},"/company/","about",{"text":515,"config":516,"footerGa":519},"Jobs",{"href":517,"dataGaName":518,"dataGaLocation":237},"/jobs/","jobs",{"dataGaName":518},{"text":481,"config":521},{"href":483,"dataGaName":484,"dataGaLocation":237},{"text":523,"config":524},"Leadership",{"href":525,"dataGaName":526,"dataGaLocation":237},"/company/team/e-group/","leadership",{"text":528,"config":529},"Handbook",{"href":530,"dataGaName":531,"dataGaLocation":237},"https://handbook.gitlab.com/","handbook",{"text":533,"config":534},"Investor relations",{"href":535,"dataGaName":536,"dataGaLocation":237},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":538,"config":539},"Trust Center",{"href":540,"dataGaName":541,"dataGaLocation":237},"/security/","trust center",{"text":543,"config":544},"AI Transparency Center",{"href":545,"dataGaName":546,"dataGaLocation":237},"/ai-transparency-center/","ai transparency center",{"text":548,"config":549},"Newsletter",{"href":550,"dataGaName":551,"dataGaLocation":237},"/company/contact/#contact-forms","newsletter",{"text":553,"config":554},"Press",{"href":555,"dataGaName":556,"dataGaLocation":237},"/press/","press",{"text":558,"config":559,"menu":560},"Contact us",{"dataNavLevelOne":504},{"type":288,"columns":561},[562],{"items":563},[564,569,574],{"text":565,"config":566},"Talk to sales",{"href":567,"dataGaName":568,"dataGaLocation":237},"/sales/","talk to sales",{"text":570,"config":571},"Support portal",{"href":572,"dataGaName":573,"dataGaLocation":237},"https://support.gitlab.com/hc/en-us","support portal",{"text":575,"config":576},"Customer portal",{"href":577,"dataGaName":578,"dataGaLocation":237},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":580,"login":581,"suggestions":588},"Close",{"text":582,"link":583},"To search repositories and projects, login to",{"text":584,"config":585},"gitlab.com",{"href":251,"dataGaName":586,"dataGaLocation":587},"search login","search",{"text":589,"default":590},"Suggestions",[591,593,597,599,603,607],{"text":268,"config":592},{"href":273,"dataGaName":268,"dataGaLocation":587},{"text":594,"config":595},"Code Suggestions (AI)",{"href":596,"dataGaName":594,"dataGaLocation":587},"/solutions/code-suggestions/",{"text":304,"config":598},{"href":306,"dataGaName":304,"dataGaLocation":587},{"text":600,"config":601},"GitLab on AWS",{"href":602,"dataGaName":600,"dataGaLocation":587},"/partners/technology-partners/aws/",{"text":604,"config":605},"GitLab on Google Cloud",{"href":606,"dataGaName":604,"dataGaLocation":587},"/partners/technology-partners/google-cloud-platform/",{"text":608,"config":609},"Why GitLab?",{"href":281,"dataGaName":608,"dataGaLocation":587},{"freeTrial":611,"mobileIcon":616,"desktopIcon":621,"secondaryButton":624},{"text":612,"config":613},"Start free trial",{"href":614,"dataGaName":242,"dataGaLocation":615},"https://gitlab.com/-/trials/new/","nav",{"altText":617,"config":618},"Gitlab Icon",{"src":619,"dataGaName":620,"dataGaLocation":615},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":617,"config":622},{"src":623,"dataGaName":620,"dataGaLocation":615},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":625,"config":626},"Get Started",{"href":627,"dataGaName":628,"dataGaLocation":615},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":630,"mobileIcon":634,"desktopIcon":636},{"text":631,"config":632},"Learn more about GitLab Duo",{"href":273,"dataGaName":633,"dataGaLocation":615},"gitlab duo",{"altText":617,"config":635},{"src":619,"dataGaName":620,"dataGaLocation":615},{"altText":617,"config":637},{"src":623,"dataGaName":620,"dataGaLocation":615},{"button":639,"mobileIcon":644,"desktopIcon":646},{"text":640,"config":641},"/switch",{"href":642,"dataGaName":643,"dataGaLocation":615},"#contact","switch",{"altText":617,"config":645},{"src":619,"dataGaName":620,"dataGaLocation":615},{"altText":617,"config":647},{"src":648,"dataGaName":620,"dataGaLocation":615},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":650,"mobileIcon":655,"desktopIcon":657},{"text":651,"config":652},"Back to pricing",{"href":386,"dataGaName":653,"dataGaLocation":615,"icon":654},"back to pricing","GoBack",{"altText":617,"config":656},{"src":619,"dataGaName":620,"dataGaLocation":615},{"altText":617,"config":658},{"src":623,"dataGaName":620,"dataGaLocation":615},{"title":660,"titleMobile":661,"button":662,"config":667},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":279,"config":663},{"href":664,"dataGaName":665,"dataGaLocation":666},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":668,"disabled":215},"release",{"data":670},{"text":671,"source":672,"edit":678,"contribute":683,"config":688,"items":693,"minimal":901},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":673,"config":674},"View page source",{"href":675,"dataGaName":676,"dataGaLocation":677},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":679,"config":680},"Edit this page",{"href":681,"dataGaName":682,"dataGaLocation":677},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":684,"config":685},"Please contribute",{"href":686,"dataGaName":687,"dataGaLocation":677},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":689,"facebook":690,"youtube":691,"linkedin":692},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[694,741,793,837,869],{"title":384,"links":695,"subMenu":710},[696,700,705],{"text":697,"config":698},"View plans",{"href":386,"dataGaName":699,"dataGaLocation":677},"view plans",{"text":701,"config":702},"Why Premium?",{"href":703,"dataGaName":704,"dataGaLocation":677},"/pricing/premium/","why premium",{"text":706,"config":707},"Why Ultimate?",{"href":708,"dataGaName":709,"dataGaLocation":677},"/pricing/ultimate/","why ultimate",[711],{"title":712,"links":713},"Contact Us",[714,717,719,721,726,731,736],{"text":715,"config":716},"Contact sales",{"href":567,"dataGaName":247,"dataGaLocation":677},{"text":570,"config":718},{"href":572,"dataGaName":573,"dataGaLocation":677},{"text":575,"config":720},{"href":577,"dataGaName":578,"dataGaLocation":677},{"text":722,"config":723},"Status",{"href":724,"dataGaName":725,"dataGaLocation":677},"https://status.gitlab.com/","status",{"text":727,"config":728},"Terms of use",{"href":729,"dataGaName":730,"dataGaLocation":677},"/terms/","terms of use",{"text":732,"config":733},"Privacy statement",{"href":734,"dataGaName":735,"dataGaLocation":677},"/privacy/","privacy statement",{"text":737,"config":738},"Cookie preferences",{"dataGaName":739,"dataGaLocation":677,"id":740,"isOneTrustButton":218},"cookie preferences","ot-sdk-btn",{"title":284,"links":742,"subMenu":751},[743,747],{"text":744,"config":745},"DevSecOps platform",{"href":266,"dataGaName":746,"dataGaLocation":677},"devsecops platform",{"text":748,"config":749},"AI-Assisted Development",{"href":273,"dataGaName":750,"dataGaLocation":677},"ai-assisted development",[752],{"title":753,"links":754},"Topics",[755,760,765,769,774,778,783,788],{"text":756,"config":757},"CICD",{"href":758,"dataGaName":759,"dataGaLocation":677},"/topics/ci-cd/","cicd",{"text":761,"config":762},"GitOps",{"href":763,"dataGaName":764,"dataGaLocation":677},"/topics/gitops/","gitops",{"text":227,"config":766},{"href":767,"dataGaName":768,"dataGaLocation":677},"/topics/devops/","devops",{"text":770,"config":771},"Version Control",{"href":772,"dataGaName":773,"dataGaLocation":677},"/topics/version-control/","version control",{"text":775,"config":776},"DevSecOps",{"href":18,"dataGaName":777,"dataGaLocation":677},"devsecops",{"text":779,"config":780},"Cloud Native",{"href":781,"dataGaName":782,"dataGaLocation":677},"/topics/cloud-native/","cloud native",{"text":784,"config":785},"AI for Coding",{"href":786,"dataGaName":787,"dataGaLocation":677},"/topics/devops/ai-for-coding/","ai for coding",{"text":789,"config":790},"Agentic AI",{"href":791,"dataGaName":792,"dataGaLocation":677},"/topics/agentic-ai/","agentic ai",{"title":794,"links":795},"Solutions",[796,798,800,805,809,812,816,819,821,824,827,832],{"text":328,"config":797},{"href":323,"dataGaName":328,"dataGaLocation":677},{"text":317,"config":799},{"href":300,"dataGaName":301,"dataGaLocation":677},{"text":801,"config":802},"Agile development",{"href":803,"dataGaName":804,"dataGaLocation":677},"/solutions/agile-delivery/","agile delivery",{"text":806,"config":807},"SCM",{"href":313,"dataGaName":808,"dataGaLocation":677},"source code management",{"text":756,"config":810},{"href":306,"dataGaName":811,"dataGaLocation":677},"continuous integration & delivery",{"text":813,"config":814},"Value stream management",{"href":356,"dataGaName":815,"dataGaLocation":677},"value stream management",{"text":761,"config":817},{"href":818,"dataGaName":764,"dataGaLocation":677},"/solutions/gitops/",{"text":366,"config":820},{"href":369,"dataGaName":370,"dataGaLocation":677},{"text":822,"config":823},"Small business",{"href":375,"dataGaName":376,"dataGaLocation":677},{"text":825,"config":826},"Public sector",{"href":381,"dataGaName":382,"dataGaLocation":677},{"text":828,"config":829},"Education",{"href":830,"dataGaName":831,"dataGaLocation":677},"/solutions/education/","education",{"text":833,"config":834},"Financial services",{"href":835,"dataGaName":836,"dataGaLocation":677},"/solutions/finance/","financial services",{"title":389,"links":838},[839,841,843,845,848,850,853,855,857,859,861,863,865,867],{"text":402,"config":840},{"href":404,"dataGaName":405,"dataGaLocation":677},{"text":407,"config":842},{"href":409,"dataGaName":410,"dataGaLocation":677},{"text":412,"config":844},{"href":414,"dataGaName":415,"dataGaLocation":677},{"text":417,"config":846},{"href":419,"dataGaName":847,"dataGaLocation":677},"docs",{"text":439,"config":849},{"href":441,"dataGaName":442,"dataGaLocation":677},{"text":851,"config":852},"What's new",{"href":499,"dataGaName":500,"dataGaLocation":677},{"text":434,"config":854},{"href":436,"dataGaName":437,"dataGaLocation":677},{"text":453,"config":856},{"href":455,"dataGaName":456,"dataGaLocation":677},{"text":461,"config":858},{"href":463,"dataGaName":464,"dataGaLocation":677},{"text":466,"config":860},{"href":468,"dataGaName":469,"dataGaLocation":677},{"text":471,"config":862},{"href":473,"dataGaName":474,"dataGaLocation":677},{"text":476,"config":864},{"href":478,"dataGaName":479,"dataGaLocation":677},{"text":481,"config":866},{"href":483,"dataGaName":484,"dataGaLocation":677},{"text":486,"config":868},{"href":488,"dataGaName":489,"dataGaLocation":677},{"title":502,"links":870},[871,873,875,877,879,881,885,890,892,894,896],{"text":510,"config":872},{"href":512,"dataGaName":504,"dataGaLocation":677},{"text":515,"config":874},{"href":517,"dataGaName":518,"dataGaLocation":677},{"text":523,"config":876},{"href":525,"dataGaName":526,"dataGaLocation":677},{"text":528,"config":878},{"href":530,"dataGaName":531,"dataGaLocation":677},{"text":533,"config":880},{"href":535,"dataGaName":536,"dataGaLocation":677},{"text":882,"config":883},"Sustainability",{"href":884,"dataGaName":882,"dataGaLocation":677},"/sustainability/",{"text":886,"config":887},"Diversity, inclusion and belonging (DIB)",{"href":888,"dataGaName":889,"dataGaLocation":677},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":538,"config":891},{"href":540,"dataGaName":541,"dataGaLocation":677},{"text":548,"config":893},{"href":550,"dataGaName":551,"dataGaLocation":677},{"text":553,"config":895},{"href":555,"dataGaName":556,"dataGaLocation":677},{"text":897,"config":898},"Modern Slavery Transparency Statement",{"href":899,"dataGaName":900,"dataGaLocation":677},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":902},[903,906,909],{"text":904,"config":905},"Terms",{"href":729,"dataGaName":730,"dataGaLocation":677},{"text":907,"config":908},"Cookies",{"dataGaName":739,"dataGaLocation":677,"id":740,"isOneTrustButton":218},{"text":910,"config":911},"Privacy",{"href":734,"dataGaName":735,"dataGaLocation":677},[913],{"id":914,"title":7,"body":214,"config":915,"content":917,"description":214,"extension":921,"meta":922,"navigation":218,"path":923,"seo":924,"stem":925,"__hash__":926},"blogAuthors/en-us/blog/authors/cindy-blake.yml",{"template":916},"BlogAuthor",{"name":7,"config":918},{"headshot":919,"ctfId":920},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","cblake","yml",{},"/en-us/blog/authors/cindy-blake",{},"en-us/blog/authors/cindy-blake","y5o31WArVEOahArNxG6BRDGe-6ajjKeVuZ483c9qkmA",[928,936,944],{"title":929,"description":930,"heroImage":931,"category":210,"date":932,"authors":933,"slug":935,"externalUrl":214},"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",[934],"Julian Thome","improved-scope-offset-fingerprinting",{"title":937,"description":938,"heroImage":931,"category":210,"date":939,"authors":940,"slug":943,"externalUrl":214},"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",[941,942],"Erick Bajao","Joe Randazzo","gitlab-secrets-manager-add-eso-terraform-api-support",{"title":945,"description":946,"heroImage":947,"category":210,"date":948,"authors":949,"slug":951,"externalUrl":214},"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",[950],"Alisa Ho","claude-security-and-gitlab",{"promotions":953},[954,968,980,991],{"id":955,"categories":956,"header":958,"text":959,"button":960,"image":965},"ai-modernization",[957],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":961,"config":962},"Get your AI maturity score",{"href":963,"dataGaName":964,"dataGaLocation":442},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":966},{"src":967},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":969,"categories":970,"header":972,"text":959,"button":973,"image":977},"devops-modernization",[971,777],"product","Are you just managing tools or shipping innovation?",{"text":974,"config":975},"Get your DevOps maturity score",{"href":976,"dataGaName":964,"dataGaLocation":442},"/assessments/devops-modernization-assessment/",{"config":978},{"src":979},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":981,"categories":982,"header":983,"text":959,"button":984,"image":988},"security-modernization",[210],"Are you trading speed for security?",{"text":985,"config":986},"Get your security maturity score",{"href":987,"dataGaName":964,"dataGaLocation":442},"/assessments/security-modernization-assessment/",{"config":989},{"src":990},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":992,"paths":993,"header":996,"text":997,"button":998,"image":1003},"github-azure-migration",[994,995],"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":999,"config":1000},"See how GitLab compares to GitHub",{"href":1001,"dataGaName":1002,"dataGaLocation":442},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1004},{"src":979},{"header":1006,"blurb":1007,"button":1008,"secondaryButton":1013},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1009,"config":1010},"Get your free trial",{"href":1011,"dataGaName":242,"dataGaLocation":1012},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":715,"config":1014},{"href":567,"dataGaName":247,"dataGaLocation":1012},1786803772936]