[{"data":1,"prerenderedAt":1133},["ShallowReactive",2],{"/blog/secure-stage-for-appsec":3,"navigation-en-us":351,"banner-en-us":778,"footer-en-us":788,"blog-post-authors-en-us-Fernando Diaz":1029,"blog-related-posts-en-us-secure-stage-for-appsec":1044,"blog-promotions-en-us":1070,"next-steps-en-us":1123},{"id":4,"title":5,"authors":6,"body":8,"category":328,"date":329,"description":330,"extension":331,"externalUrl":332,"faq":332,"featured":333,"heroImage":334,"meta":335,"navigation":336,"path":337,"seo":338,"slug":342,"stem":343,"tags":344,"template":349,"updatedDate":332,"__hash__":350},"blogPosts/en-us/blog/secure-stage-for-appsec.md","How GitLab's application security dashboard helps AppSec engineers",[7],"Fernando Diaz",{"type":9,"value":10,"toc":316},"minimark",[11,30,33,36,39,44,49,52,87,95,116,119,123,132,145,151,158,161,164,171,180,184,187,198,205,214,221,225,228,231,234,240,254,259,276,290,294,313],[12,13,14,19,20,24,25,29],"p",{},[15,16,18],"a",{"href":17},"/topics/devsecops/","Application Security (AppSec)"," engineers focus on enhancing an application's security, by\nfinding, resolving, and preventing vulnerabilities. But managing all these\nvulnerabilities across different teams and projects is not an easy process. Managing vulnerabilities\ncan be simplified by using the ",[15,21,23],{"href":22},"/stages-devops-lifecycle/secure/","GitLab Secure","\nfeatures found in ",[15,26,28],{"href":27},"/pricing/ultimate/","GitLab Ultimate",".",[12,31,32],{},"One of the significant capabilities of GitLab Secure is the accurate, automated, and continuous assessment of the\nsecurity of your applications and services through a unified dashboard.",[12,34,35],{},"In this blog post, I will show four ways GitLab Secure makes life easier for the AppSec\nengineer.",[37,38],"hr",{},[40,41,43],"h2",{"id":42},"finding-vulnerabilities-with-security-scans","Finding vulnerabilities with security scans",[12,45,46,47,29],{},"The first capability that AppSec engineers will find useful is the robust security scanning capabilities in ",[15,48,28],{"href":27},[12,50,51],{},"These capabilities allow you to proactively identify vulnerabilities and weaknesses to minimize your security risk\nusing a variety of defense-in-depth techniques. The security scans include the following:",[53,54,55,63,70,77,84],"ul",{},[56,57,58],"li",{},[15,59,62],{"href":60,"rel":61},"https://docs.gitlab.com/user/application_security/sast/",[],"Static Application Security Testing (SAST)",[56,64,65],{},[15,66,69],{"href":67,"rel":68},"https://docs.gitlab.com/user/application_security/dast/",[],"Dynamic Application Security Testing (DAST)",[56,71,72],{},[15,73,76],{"href":74,"rel":75},"https://docs.gitlab.com/user/application_security/container_scanning/",[],"Container Scanning",[56,78,79],{},[15,80,83],{"href":81,"rel":82},"https://docs.gitlab.com/user/application_security/dependency_scanning/",[],"Dependency Scanning",[56,85,86],{},"License Scanning",[12,88,89,94],{},[90,91],"img",{"alt":92,"src":93},"pipeline with security scans","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398997/blog/Content%20Images/secure-stage-for-infosec-professionals/pipeline.png","\nGitLab pipeline running security scans",[12,96,97,98,103,104,109,110,115],{},"Simply add a ",[15,99,102],{"href":100,"rel":101},"https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/ci/templates/Security",[],"template","\nto your ",[15,105,108],{"href":106,"rel":107},"https://docs.gitlab.com/ci/yaml/#includetemplate",[],".gitlab-ci.yml"," or by enable ",[15,111,114],{"href":112,"rel":113},"https://docs.gitlab.com/topics/autodevops/",[],"Auto DevOps"," to set-up the scans.",[12,117,118],{},"When submitting a merge request (MR), the security scans will run and populate the MR with\ndata on the vulnerabilities detected and how to resolve them. This data allows AppSec engineers\nto begin risk analysis and remediation.",[40,120,122],{"id":121},"managing-vulnerabilities-with-the-security-dashboard","Managing vulnerabilities with the Security Dashboard",[12,124,125,126,131],{},"The second most useful capability for AppSec engineers is the ",[15,127,130],{"href":128,"rel":129},"https://docs.gitlab.com/user/application_security/security_dashboard/",[],"Security Dashboard",", which helps\nkeep projects organized and summarizes the relevant security details for an application, all in one place.",[133,134,137,138],"figure",{"className":135},[136],"video_container","\n  ",[139,140,144],"iframe",{"src":141,"frameBorder":142,"allowFullScreen":143},"https://www.youtube-nocookie.com/embed/t-3TSlChHy4","0","true"," ",[12,146,147,148,150],{},"The Security Dashboard in ",[15,149,28],{"href":27}," provides a high-level overview of the status of all the vulnerabilities\ndetected in groups, projects, and pipelines.",[12,152,153,157],{},[90,154],{"alt":155,"src":156},"security dashboard with group view","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398982/blog/Content%20Images/secure-stage-for-infosec-professionals/dashboard-group.png","\nSecurity Dashboard Group-Level view",[12,159,160],{},"By using the Security Dashboard, an AppSec engineer can drill down into each\nvulnerability to obtain additional information, such as how to resolve the vulnerability,\nhow it was handled by the developer, and if a work ticket (or GitLab issue) has been opened\nfor remediation.",[12,162,163],{},"The Security Dashboard also shows which file the vulnerability was detected in. Each vulnerability\nis assigned a severity and a report type. By using this information an AppSec Engineer\ncan quickly identify which items is the most critical for the team to tackle first.",[12,165,166,170],{},[90,167],{"alt":168,"src":169},"security dashboard with project view","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398997/blog/Content%20Images/secure-stage-for-infosec-professionals/dashboard-project.png","\nSecurity Dashboard project-level view",[12,172,173,174,179],{},"It's important to note the Security Dashboard supports integrations with third-party scanners.\nFor example, if you are using ",[15,175,178],{"href":176,"rel":177},"https://www.whitesourcesoftware.com/gitlab/",[],"WhiteSource",", the\nscans results can added to and managed in the Security Dashboard.",[40,181,183],{"id":182},"auditing-with-the-security-dashboard","Auditing with the Security Dashboard",[12,185,186],{},"A third capability GitLab Secure offers AppSec engineers is auditing. The engineer can use this capability to audit\na project or group based on the vulnerabilities revealed in various tests. By using the Security Dashboard,\nthe AppSec engineer can see which vulnerabilities have been dismissed, the developer who dismissed them, as\nwell as the reason why they were dismissed. This is helpful for several reasons:",[53,188,189,192,195],{},[56,190,191],{},"Check to make sure the development team is practicing secure coding",[56,193,194],{},"Confirm there are no malicious actors dismissing issues",[56,196,197],{},"Keep track of the status of vulnerabilities which could not be immediately resolved",[12,199,200,204],{},[90,201],{"alt":202,"src":203},"security dashboard vulnerability info","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398996/blog/Content%20Images/secure-stage-for-infosec-professionals/dashboard-info.png","\nVulnerability info displayed in Security Dashboard",[12,206,207,208,213],{},"An AppSec engineer can also track and create ",[15,209,212],{"href":210,"rel":211},"https://docs.gitlab.com/user/project/issues/confidential_issues/",[],"confidential issues"," from the\nSecurity Dashboard. A team can keep track of the status\nof a vulnerability in private, and make sure it is still on track to being resolved when using confidential issues. A\nconfidential branch can be created along with the issue, so that the development team\ncan work on a resolution without tipping off malicious actors.",[12,215,216,220],{},[90,217],{"alt":218,"src":219},"security dashboard confidential issue creation","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398997/blog/Content%20Images/secure-stage-for-infosec-professionals/dashboard-issue-creation.png","\nConfidential issues created via Security Dashboard",[40,222,224],{"id":223},"managing-software-licenses","Managing software licenses",[12,226,227],{},"The final capability we recommend AppSec engineers use is our license management.",[12,229,230],{},"Typically, developers will use a variety of open source dependencies instead of reinventing the wheel.\nThere is a problem though: using a dependency with a restrictive license can invalidate your application.",[12,232,233],{},"An AppSec engineer is able to add a policy to mark licenses as acceptable or unacceptable for a project and its dependencies.\nIf an unacceptable license is found, the MR can be blocked. The video below provides\nan overview:",[133,235,137,237],{"className":236},[136],[139,238,144],{"src":239,"frameBorder":142,"allowFullScreen":143},"https://www.youtube-nocookie.com/embed/42f9LiP5J_4",[12,241,242,243,247,248,253],{},"GitLab Secure capabilities enhance the effiency of AppSec engineers, ultimately\nleading to the production of more secure applications and a more security-empowered\ndevelopment team. Learn more at ",[15,244,246],{"href":245},"/solutions/application-security-testing/","DevSecOps"," and\ncheckout the ",[15,249,252],{"href":250,"rel":251},"https://docs.gitlab.com/user/application_security/",[],"GitLab Secure direction page"," for more\ninformation on the upcoming features and integrations.",[255,256,258],"h3",{"id":257},"level-up-your-devsecops-knowledge","Level up your DevSecOps knowledge:",[12,260,261,266,271],{},[15,262,265],{"href":263,"rel":264},"https://about.gitlab.com/blog/gitlab-security-tools-and-the-hipaa-risk-analysis/",[],"GitLab's security tools and the HIPAA risk analysis",[15,267,270],{"href":268,"rel":269},"https://about.gitlab.com/blog/a-deep-dive-into-the-security-analyst-persona/",[],"A deep dive into the Security Analyst persona",[15,272,275],{"href":273,"rel":274},"https://about.gitlab.com/blog/compliance-made-easy/",[],"Compliance made easy with GitLab",[12,277,278,279,284,285],{},"Cover image by ",[15,280,283],{"href":281,"rel":282},"https://unsplash.com/@ralphkayden",[],"Ralph Kayden"," on ",[15,286,289],{"href":287,"rel":288},"https://unsplash.com/photos/4Cg5T03B_8s",[],"Unsplash",[40,291,293],{"id":292},"learn-more-about-devsecops","Learn more about DevSecOps",[53,295,296,302,308],{},[56,297,298],{},[15,299,301],{"href":300},"/blog/efficient-devsecops-nine-tips-shift-left/","Efficient DevSecOps: 9 tips for shifting left",[56,303,304],{},[15,305,307],{"href":306},"/blog/achieve-devsecops-collaboration/","Want better DevSecOps? Try cross-functional collaboration",[56,309,310],{},[15,311,275],{"href":312},"/blog/compliance-made-easy/",[12,314,315],{},"\u003C%= partial \"includes/blog/blog-merch-banner\" %>",{"title":317,"searchDepth":318,"depth":318,"links":319},"",2,[320,321,322,323,327],{"id":42,"depth":318,"text":43},{"id":121,"depth":318,"text":122},{"id":182,"depth":318,"text":183},{"id":223,"depth":318,"text":224,"children":324},[325],{"id":257,"depth":326,"text":258},3,{"id":292,"depth":318,"text":293},"engineering","2020-07-07","GitLab Security features help application security engineers collaborate more efficiently and better assess the security posture of the projects they oversee.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663482/Blog/Hero%20Images/ralph-kayden-4Cg5T03B_8s-unsplash.jpg",{},true,"/en-us/blog/secure-stage-for-appsec",{"title":5,"description":330,"ogTitle":5,"ogDescription":330,"noIndex":333,"ogImage":334,"ogUrl":339,"ogSiteName":340,"ogType":341,"canonicalUrls":339},"https://about.gitlab.com/blog/secure-stage-for-appsec","https://about.gitlab.com","article","secure-stage-for-appsec","en-us/blog/secure-stage-for-appsec",[345,346,347,348],"security","DevOps","workflow","agile","BlogPost","L3nGgMtpvElM9djw-QnCnx27nzIf97Y6oqU5lSqjh0I",{"logo":352,"freeTrial":357,"sales":362,"login":367,"items":372,"search":698,"minimal":729,"duo":748,"switchNav":757,"pricingDeployment":768},{"config":353},{"href":354,"dataGaName":355,"dataGaLocation":356},"/","gitlab logo","header",{"text":358,"config":359},"Get free trial",{"href":360,"dataGaName":361,"dataGaLocation":356},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":363,"config":364},"Request a demo",{"href":365,"dataGaName":366,"dataGaLocation":356},"/sales/?contact-topic=request-demo","sales",{"text":368,"config":369},"Sign in",{"href":370,"dataGaName":371,"dataGaLocation":356},"https://gitlab.com/users/sign_in/","sign in",[373,402,501,506,620,676],{"text":374,"config":375,"menu":377},"Platform",{"dataNavLevelOne":376},"platform",{"type":378,"columns":379},"cards",[380,386,394],{"title":374,"description":381,"link":382},"The intelligent orchestration platform for DevSecOps",{"text":383,"config":384},"Explore our Platform",{"href":385,"dataGaName":376,"dataGaLocation":356},"/platform/",{"title":387,"description":388,"link":389},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":390,"config":391},"Meet GitLab Duo",{"href":392,"dataGaName":393,"dataGaLocation":356},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":395,"description":396,"link":397},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":398,"config":399},"Learn more",{"href":400,"dataGaName":401,"dataGaLocation":356},"/why-gitlab/","why gitlab",{"text":403,"left":336,"config":404,"menu":406},"Product",{"dataNavLevelOne":405},"solutions",{"type":407,"link":408,"columns":412,"feature":480},"lists",{"text":409,"config":410},"View all Solutions",{"href":411,"dataGaName":405,"dataGaLocation":356},"/solutions/",[413,437,459],{"title":414,"description":415,"link":416,"items":421},"Automation","CI/CD and automation to accelerate deployment",{"config":417},{"icon":418,"href":419,"dataGaName":420,"dataGaLocation":356},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[422,426,429,433],{"text":423,"config":424},"CI/CD",{"href":425,"dataGaLocation":356,"dataGaName":423},"/solutions/continuous-integration/",{"text":387,"config":427},{"href":392,"dataGaLocation":356,"dataGaName":428},"gitlab duo agent platform - product menu",{"text":430,"config":431},"Source Code Management",{"href":432,"dataGaLocation":356,"dataGaName":430},"/solutions/source-code-management/",{"text":434,"config":435},"Automated Software Delivery",{"href":419,"dataGaLocation":356,"dataGaName":436},"Automated software delivery",{"title":438,"description":439,"link":440,"items":444},"Security","Deliver code faster without compromising security",{"config":441},{"href":245,"dataGaName":442,"dataGaLocation":356,"icon":443},"security and compliance","ShieldCheckLight",[445,449,454],{"text":446,"config":447},"Application Security Testing",{"href":245,"dataGaName":448,"dataGaLocation":356},"Application security testing",{"text":450,"config":451},"Software Supply Chain Security",{"href":452,"dataGaLocation":356,"dataGaName":453},"/solutions/supply-chain/","Software supply chain security",{"text":455,"config":456},"Software Compliance",{"href":457,"dataGaName":458,"dataGaLocation":356},"/solutions/software-compliance/","software compliance",{"title":460,"link":461,"items":466},"Measurement",{"config":462},{"icon":463,"href":464,"dataGaName":465,"dataGaLocation":356},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[467,471,475],{"text":468,"config":469},"Visibility & Measurement",{"href":464,"dataGaLocation":356,"dataGaName":470},"Visibility and Measurement",{"text":472,"config":473},"Value Stream Management",{"href":474,"dataGaLocation":356,"dataGaName":472},"/solutions/value-stream-management/",{"text":476,"config":477},"Analytics & Insights",{"href":478,"dataGaLocation":356,"dataGaName":479},"/solutions/analytics-and-insights/","Analytics and insights",{"title":481,"type":407,"items":482},"GitLab for",[483,489,495],{"text":484,"config":485},"Enterprise",{"icon":486,"href":487,"dataGaLocation":356,"dataGaName":488},"Building","/enterprise/","enterprise",{"text":490,"config":491},"Small Business",{"icon":492,"href":493,"dataGaLocation":356,"dataGaName":494},"Work","/small-business/","small business",{"text":496,"config":497},"Public Sector",{"icon":498,"href":499,"dataGaLocation":356,"dataGaName":500},"Organization","/solutions/public-sector/","public sector",{"text":502,"config":503},"Pricing",{"href":504,"dataGaName":505,"dataGaLocation":356,"dataNavLevelOne":505},"/pricing/","pricing",{"text":507,"config":508,"menu":510},"Resources",{"dataNavLevelOne":509},"resources",{"type":407,"link":511,"columns":515,"feature":609},{"text":512,"config":513},"View all resources",{"href":514,"dataGaName":509,"dataGaLocation":356},"/resources/",[516,549,576],{"title":517,"items":518},"Getting started",[519,524,529,534,539,544],{"text":520,"config":521},"Install",{"href":522,"dataGaName":523,"dataGaLocation":356},"/install/","install",{"text":525,"config":526},"Quick start guides",{"href":527,"dataGaName":528,"dataGaLocation":356},"/get-started/","quick setup checklists",{"text":530,"config":531},"Learn",{"href":532,"dataGaLocation":356,"dataGaName":533},"https://university.gitlab.com/","learn",{"text":535,"config":536},"Product documentation",{"href":537,"dataGaName":538,"dataGaLocation":356},"https://docs.gitlab.com/","product documentation",{"text":540,"config":541},"Best practice videos",{"href":542,"dataGaName":543,"dataGaLocation":356},"/getting-started-videos/","best practice videos",{"text":545,"config":546},"Integrations",{"href":547,"dataGaName":548,"dataGaLocation":356},"/integrations/","integrations",{"title":550,"items":551},"Discover",[552,557,562,567,571],{"text":553,"config":554},"Customer success stories",{"href":555,"dataGaName":556,"dataGaLocation":356},"/customers/","customer success stories",{"text":558,"config":559},"Blog",{"href":560,"dataGaName":561,"dataGaLocation":356},"/blog/","blog",{"text":563,"config":564},"Demo Hub",{"href":565,"dataGaName":566,"dataGaLocation":356},"/demo-hub/","demo hub",{"text":568,"config":569},"The Source",{"href":570,"dataGaName":561,"dataGaLocation":356},"/the-source/",{"text":572,"config":573},"Remote",{"href":574,"dataGaName":575,"dataGaLocation":356},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":577,"items":578},"Connect",[579,584,589,594,599,604],{"text":580,"config":581},"GitLab Services",{"href":582,"dataGaName":583,"dataGaLocation":356},"/services/","services",{"text":585,"config":586},"Contribute",{"href":587,"dataGaName":588,"dataGaLocation":356},"https://contributors.gitlab.com","contribute",{"text":590,"config":591},"Community",{"href":592,"dataGaName":593,"dataGaLocation":356},"/community/","community",{"text":595,"config":596},"Forum",{"href":597,"dataGaName":598,"dataGaLocation":356},"https://forum.gitlab.com/","forum",{"text":600,"config":601},"Events",{"href":602,"dataGaName":603,"dataGaLocation":356},"/events/","events",{"text":605,"config":606},"Partners",{"href":607,"dataGaName":608,"dataGaLocation":356},"/partners/","partners",{"config":610,"title":613,"text":614,"link":615},{"background":611,"textColor":612},"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":616,"config":617},"Read the latest",{"href":618,"dataGaName":619,"dataGaLocation":356},"/whats-new/","whats new",{"text":621,"config":622,"menu":624},"Company",{"dataNavLevelOne":623},"company",{"type":407,"columns":625},[626],{"items":627},[628,633,639,641,646,651,656,661,666,671],{"text":629,"config":630},"About",{"href":631,"dataGaName":632,"dataGaLocation":356},"/company/","about",{"text":634,"config":635,"footerGa":638},"Jobs",{"href":636,"dataGaName":637,"dataGaLocation":356},"/jobs/","jobs",{"dataGaName":637},{"text":600,"config":640},{"href":602,"dataGaName":603,"dataGaLocation":356},{"text":642,"config":643},"Leadership",{"href":644,"dataGaName":645,"dataGaLocation":356},"/company/team/e-group/","leadership",{"text":647,"config":648},"Handbook",{"href":649,"dataGaName":650,"dataGaLocation":356},"https://handbook.gitlab.com/","handbook",{"text":652,"config":653},"Investor relations",{"href":654,"dataGaName":655,"dataGaLocation":356},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":657,"config":658},"Trust Center",{"href":659,"dataGaName":660,"dataGaLocation":356},"/security/","trust center",{"text":662,"config":663},"AI Transparency Center",{"href":664,"dataGaName":665,"dataGaLocation":356},"/ai-transparency-center/","ai transparency center",{"text":667,"config":668},"Newsletter",{"href":669,"dataGaName":670,"dataGaLocation":356},"/company/contact/#contact-forms","newsletter",{"text":672,"config":673},"Press",{"href":674,"dataGaName":675,"dataGaLocation":356},"/press/","press",{"text":677,"config":678,"menu":679},"Contact us",{"dataNavLevelOne":623},{"type":407,"columns":680},[681],{"items":682},[683,688,693],{"text":684,"config":685},"Talk to sales",{"href":686,"dataGaName":687,"dataGaLocation":356},"/sales/","talk to sales",{"text":689,"config":690},"Support portal",{"href":691,"dataGaName":692,"dataGaLocation":356},"https://support.gitlab.com/hc/en-us","support portal",{"text":694,"config":695},"Customer portal",{"href":696,"dataGaName":697,"dataGaLocation":356},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":699,"login":700,"suggestions":707},"Close",{"text":701,"link":702},"To search repositories and projects, login to",{"text":703,"config":704},"gitlab.com",{"href":370,"dataGaName":705,"dataGaLocation":706},"search login","search",{"text":708,"default":709},"Suggestions",[710,712,716,718,722,726],{"text":387,"config":711},{"href":392,"dataGaName":387,"dataGaLocation":706},{"text":713,"config":714},"Code Suggestions (AI)",{"href":715,"dataGaName":713,"dataGaLocation":706},"/solutions/code-suggestions/",{"text":423,"config":717},{"href":425,"dataGaName":423,"dataGaLocation":706},{"text":719,"config":720},"GitLab on AWS",{"href":721,"dataGaName":719,"dataGaLocation":706},"/partners/technology-partners/aws/",{"text":723,"config":724},"GitLab on Google Cloud",{"href":725,"dataGaName":723,"dataGaLocation":706},"/partners/technology-partners/google-cloud-platform/",{"text":727,"config":728},"Why GitLab?",{"href":400,"dataGaName":727,"dataGaLocation":706},{"freeTrial":730,"mobileIcon":735,"desktopIcon":740,"secondaryButton":743},{"text":731,"config":732},"Start free trial",{"href":733,"dataGaName":361,"dataGaLocation":734},"https://gitlab.com/-/trials/new/","nav",{"altText":736,"config":737},"Gitlab Icon",{"src":738,"dataGaName":739,"dataGaLocation":734},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":736,"config":741},{"src":742,"dataGaName":739,"dataGaLocation":734},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":744,"config":745},"Get Started",{"href":746,"dataGaName":747,"dataGaLocation":734},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":749,"mobileIcon":753,"desktopIcon":755},{"text":750,"config":751},"Learn more about GitLab Duo",{"href":392,"dataGaName":752,"dataGaLocation":734},"gitlab duo",{"altText":736,"config":754},{"src":738,"dataGaName":739,"dataGaLocation":734},{"altText":736,"config":756},{"src":742,"dataGaName":739,"dataGaLocation":734},{"button":758,"mobileIcon":763,"desktopIcon":765},{"text":759,"config":760},"/switch",{"href":761,"dataGaName":762,"dataGaLocation":734},"#contact","switch",{"altText":736,"config":764},{"src":738,"dataGaName":739,"dataGaLocation":734},{"altText":736,"config":766},{"src":767,"dataGaName":739,"dataGaLocation":734},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":769,"mobileIcon":774,"desktopIcon":776},{"text":770,"config":771},"Back to pricing",{"href":504,"dataGaName":772,"dataGaLocation":734,"icon":773},"back to pricing","GoBack",{"altText":736,"config":775},{"src":738,"dataGaName":739,"dataGaLocation":734},{"altText":736,"config":777},{"src":742,"dataGaName":739,"dataGaLocation":734},{"title":779,"titleMobile":780,"button":781,"config":786},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":398,"config":782},{"href":783,"dataGaName":784,"dataGaLocation":785},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":787,"disabled":333},"release",{"data":789},{"text":790,"source":791,"edit":797,"contribute":802,"config":807,"items":812,"minimal":1018},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":792,"config":793},"View page source",{"href":794,"dataGaName":795,"dataGaLocation":796},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":798,"config":799},"Edit this page",{"href":800,"dataGaName":801,"dataGaLocation":796},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":803,"config":804},"Please contribute",{"href":805,"dataGaName":806,"dataGaLocation":796},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":808,"facebook":809,"youtube":810,"linkedin":811},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[813,859,910,954,986],{"title":502,"links":814,"subMenu":828},[815,819,824],{"text":816,"config":817},"View plans",{"href":504,"dataGaName":818,"dataGaLocation":796},"view plans",{"text":820,"config":821},"Why Premium?",{"href":822,"dataGaName":823,"dataGaLocation":796},"/pricing/premium/","why premium",{"text":825,"config":826},"Why Ultimate?",{"href":27,"dataGaName":827,"dataGaLocation":796},"why ultimate",[829],{"title":830,"links":831},"Contact Us",[832,835,837,839,844,849,854],{"text":833,"config":834},"Contact sales",{"href":686,"dataGaName":366,"dataGaLocation":796},{"text":689,"config":836},{"href":691,"dataGaName":692,"dataGaLocation":796},{"text":694,"config":838},{"href":696,"dataGaName":697,"dataGaLocation":796},{"text":840,"config":841},"Status",{"href":842,"dataGaName":843,"dataGaLocation":796},"https://status.gitlab.com/","status",{"text":845,"config":846},"Terms of use",{"href":847,"dataGaName":848,"dataGaLocation":796},"/terms/","terms of use",{"text":850,"config":851},"Privacy statement",{"href":852,"dataGaName":853,"dataGaLocation":796},"/privacy/","privacy statement",{"text":855,"config":856},"Cookie preferences",{"dataGaName":857,"dataGaLocation":796,"id":858,"isOneTrustButton":336},"cookie preferences","ot-sdk-btn",{"title":403,"links":860,"subMenu":869},[861,865],{"text":862,"config":863},"DevSecOps platform",{"href":385,"dataGaName":864,"dataGaLocation":796},"devsecops platform",{"text":866,"config":867},"AI-Assisted Development",{"href":392,"dataGaName":868,"dataGaLocation":796},"ai-assisted development",[870],{"title":871,"links":872},"Topics",[873,878,883,887,892,895,900,905],{"text":874,"config":875},"CICD",{"href":876,"dataGaName":877,"dataGaLocation":796},"/topics/ci-cd/","cicd",{"text":879,"config":880},"GitOps",{"href":881,"dataGaName":882,"dataGaLocation":796},"/topics/gitops/","gitops",{"text":346,"config":884},{"href":885,"dataGaName":886,"dataGaLocation":796},"/topics/devops/","devops",{"text":888,"config":889},"Version Control",{"href":890,"dataGaName":891,"dataGaLocation":796},"/topics/version-control/","version control",{"text":246,"config":893},{"href":17,"dataGaName":894,"dataGaLocation":796},"devsecops",{"text":896,"config":897},"Cloud Native",{"href":898,"dataGaName":899,"dataGaLocation":796},"/topics/cloud-native/","cloud native",{"text":901,"config":902},"AI for Coding",{"href":903,"dataGaName":904,"dataGaLocation":796},"/topics/devops/ai-for-coding/","ai for coding",{"text":906,"config":907},"Agentic AI",{"href":908,"dataGaName":909,"dataGaLocation":796},"/topics/agentic-ai/","agentic ai",{"title":911,"links":912},"Solutions",[913,915,917,922,926,929,933,936,938,941,944,949],{"text":446,"config":914},{"href":245,"dataGaName":446,"dataGaLocation":796},{"text":436,"config":916},{"href":419,"dataGaName":420,"dataGaLocation":796},{"text":918,"config":919},"Agile development",{"href":920,"dataGaName":921,"dataGaLocation":796},"/solutions/agile-delivery/","agile delivery",{"text":923,"config":924},"SCM",{"href":432,"dataGaName":925,"dataGaLocation":796},"source code management",{"text":874,"config":927},{"href":425,"dataGaName":928,"dataGaLocation":796},"continuous integration & delivery",{"text":930,"config":931},"Value stream management",{"href":474,"dataGaName":932,"dataGaLocation":796},"value stream management",{"text":879,"config":934},{"href":935,"dataGaName":882,"dataGaLocation":796},"/solutions/gitops/",{"text":484,"config":937},{"href":487,"dataGaName":488,"dataGaLocation":796},{"text":939,"config":940},"Small business",{"href":493,"dataGaName":494,"dataGaLocation":796},{"text":942,"config":943},"Public sector",{"href":499,"dataGaName":500,"dataGaLocation":796},{"text":945,"config":946},"Education",{"href":947,"dataGaName":948,"dataGaLocation":796},"/solutions/education/","education",{"text":950,"config":951},"Financial services",{"href":952,"dataGaName":953,"dataGaLocation":796},"/solutions/finance/","financial services",{"title":507,"links":955},[956,958,960,962,965,967,970,972,974,976,978,980,982,984],{"text":520,"config":957},{"href":522,"dataGaName":523,"dataGaLocation":796},{"text":525,"config":959},{"href":527,"dataGaName":528,"dataGaLocation":796},{"text":530,"config":961},{"href":532,"dataGaName":533,"dataGaLocation":796},{"text":535,"config":963},{"href":537,"dataGaName":964,"dataGaLocation":796},"docs",{"text":558,"config":966},{"href":560,"dataGaName":561,"dataGaLocation":796},{"text":968,"config":969},"What's new",{"href":618,"dataGaName":619,"dataGaLocation":796},{"text":553,"config":971},{"href":555,"dataGaName":556,"dataGaLocation":796},{"text":572,"config":973},{"href":574,"dataGaName":575,"dataGaLocation":796},{"text":580,"config":975},{"href":582,"dataGaName":583,"dataGaLocation":796},{"text":585,"config":977},{"href":587,"dataGaName":588,"dataGaLocation":796},{"text":590,"config":979},{"href":592,"dataGaName":593,"dataGaLocation":796},{"text":595,"config":981},{"href":597,"dataGaName":598,"dataGaLocation":796},{"text":600,"config":983},{"href":602,"dataGaName":603,"dataGaLocation":796},{"text":605,"config":985},{"href":607,"dataGaName":608,"dataGaLocation":796},{"title":621,"links":987},[988,990,992,994,996,998,1002,1007,1009,1011,1013],{"text":629,"config":989},{"href":631,"dataGaName":623,"dataGaLocation":796},{"text":634,"config":991},{"href":636,"dataGaName":637,"dataGaLocation":796},{"text":642,"config":993},{"href":644,"dataGaName":645,"dataGaLocation":796},{"text":647,"config":995},{"href":649,"dataGaName":650,"dataGaLocation":796},{"text":652,"config":997},{"href":654,"dataGaName":655,"dataGaLocation":796},{"text":999,"config":1000},"Sustainability",{"href":1001,"dataGaName":999,"dataGaLocation":796},"/sustainability/",{"text":1003,"config":1004},"Diversity, inclusion and belonging (DIB)",{"href":1005,"dataGaName":1006,"dataGaLocation":796},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":657,"config":1008},{"href":659,"dataGaName":660,"dataGaLocation":796},{"text":667,"config":1010},{"href":669,"dataGaName":670,"dataGaLocation":796},{"text":672,"config":1012},{"href":674,"dataGaName":675,"dataGaLocation":796},{"text":1014,"config":1015},"Modern Slavery Transparency Statement",{"href":1016,"dataGaName":1017,"dataGaLocation":796},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1019},[1020,1023,1026],{"text":1021,"config":1022},"Terms",{"href":847,"dataGaName":848,"dataGaLocation":796},{"text":1024,"config":1025},"Cookies",{"dataGaName":857,"dataGaLocation":796,"id":858,"isOneTrustButton":336},{"text":1027,"config":1028},"Privacy",{"href":852,"dataGaName":853,"dataGaLocation":796},[1030],{"id":1031,"title":7,"body":332,"config":1032,"content":1034,"description":332,"extension":1038,"meta":1039,"navigation":336,"path":1040,"seo":1041,"stem":1042,"__hash__":1043},"blogAuthors/en-us/blog/authors/fernando-diaz.yml",{"template":1033},"BlogAuthor",{"name":7,"config":1035},{"headshot":1036,"ctfId":1037},"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",[1045,1054,1062],{"title":1046,"description":1047,"heroImage":1048,"category":328,"date":1049,"authors":1050,"slug":1053,"externalUrl":332},"Confidential AI for GitLab Self-Hosted","Give developers AI coding agents in GitLab Duo without source code leaving a hardware-encrypted boundary — no GPUs needed.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773866173/vte9qh8rriznvyclhkes.png","2026-08-06",[1051,1052],"Mathias Ewald","Martin Paloncy, Edgeless Systems","confidential-ai-for-gitlab-self-hosted",{"title":1055,"description":1056,"heroImage":1057,"category":328,"date":1058,"authors":1059,"slug":1061,"externalUrl":332},"Green DevOps: Why carbon measurement belongs in your CI/CD pipeline","CI/CD pipelines have a hidden carbon cost. Here's why measuring it matters, and how you can get started with Eco CI and Carmen in GitLab.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1765809212/noh0mdfn9o94ry9ykura.png","2026-07-09",[1060],"Lysanne Pinto","green-devops-carbon-measurement-cicd-pipeline",{"title":1063,"description":1064,"heroImage":1065,"category":328,"date":1066,"authors":1067,"slug":1069,"externalUrl":332},"How to build CI/CD observability at scale","This practical guide to GitLab pipeline analytics helps self-managed users gain operational insights using Prometheus and Grafana.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-04-28",[1068],"Paul Meresanu","how-to-build-ci-cd-observability-at-scale",{"promotions":1071},[1072,1086,1098,1109],{"id":1073,"categories":1074,"header":1076,"text":1077,"button":1078,"image":1083},"ai-modernization",[1075],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":1079,"config":1080},"Get your AI maturity score",{"href":1081,"dataGaName":1082,"dataGaLocation":561},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":1084},{"src":1085},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1087,"categories":1088,"header":1090,"text":1077,"button":1091,"image":1095},"devops-modernization",[1089,894],"product","Are you just managing tools or shipping innovation?",{"text":1092,"config":1093},"Get your DevOps maturity score",{"href":1094,"dataGaName":1082,"dataGaLocation":561},"/assessments/devops-modernization-assessment/",{"config":1096},{"src":1097},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1099,"categories":1100,"header":1101,"text":1077,"button":1102,"image":1106},"security-modernization",[345],"Are you trading speed for security?",{"text":1103,"config":1104},"Get your security maturity score",{"href":1105,"dataGaName":1082,"dataGaLocation":561},"/assessments/security-modernization-assessment/",{"config":1107},{"src":1108},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1110,"paths":1111,"header":1114,"text":1115,"button":1116,"image":1121},"github-azure-migration",[1112,1113],"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":1117,"config":1118},"See how GitLab compares to GitHub",{"href":1119,"dataGaName":1120,"dataGaLocation":561},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1122},{"src":1097},{"header":1124,"blurb":1125,"button":1126,"secondaryButton":1131},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1127,"config":1128},"Get your free trial",{"href":1129,"dataGaName":361,"dataGaLocation":1130},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":833,"config":1132},{"href":686,"dataGaName":366,"dataGaLocation":1130},1786803765158]