[{"data":1,"prerenderedAt":931},["ShallowReactive",2],{"/blog/developer-intro-sast-dast":3,"navigation-en-us":149,"banner-en-us":576,"footer-en-us":586,"blog-post-authors-en-us-Vanessa Wegner":829,"blog-related-posts-en-us-developer-intro-sast-dast":843,"blog-promotions-en-us":868,"next-steps-en-us":921},{"id":4,"title":5,"authors":6,"body":8,"category":126,"date":127,"description":128,"extension":129,"externalUrl":130,"faq":130,"featured":131,"heroImage":132,"meta":133,"navigation":134,"path":135,"seo":136,"slug":141,"stem":142,"tags":143,"template":147,"updatedDate":130,"__hash__":148},"blogPosts/en-us/blog/developer-intro-sast-dast.md","Why you need static and dynamic application security testing in your development workflows",[7],"Vanessa Wegner",{"type":9,"value":10,"toc":115},"minimark",[11,21,29,34,37,40,44,47,50,55,63,70,73,76,80,88,91,94,98,101],[12,13,14,15,20],"p",{},"DevOps is a quickly growing practice for companies in almost every market. With\nthe influx of cyber attacks over the past decade, security has slowly crept\nforward in the SDLC to the point where we’re now hearing the term ",[16,17,19],"a",{"href":18},"/blog/announcing-gitlab-devsecops/","DevSecOps"," in developer circles.",[12,22,23,24,28],{},"To keep things tidy and help developers manage additional security\nresponsibilities, tools for static and dynamic ",[16,25,27],{"href":26},"/topics/devsecops/","application security"," testing\n(SAST and DAST) have made their way into the fray. In this post, we’ll\nexplain what SAST and DAST are, how they fit into developers’ workflows, and\nwhen they should be used.",[30,31,33],"h2",{"id":32},"what-is-application-security-testing-ast","What is application security testing (AST)?",[12,35,36],{},"Application security testing (AST) refers to the process of testing code to make sure it is free of vulnerabilities. There are many ways to test code, though static application security testing (SAST) and dynamic application security testing (DAST) are two of the more well-known options.",[12,38,39],{},"Application security testing has traditionally been a manual (and time-consuming) process, but the growing popularity of DevOps and the risk of insecure code have driven the majority of development teams to automate at least some of the processes. These days, most organizations use a variety of security testing tools to complete AST.",[30,41,43],{"id":42},"what-are-sast-and-dast","What are SAST and DAST?",[12,45,46],{},"What are SAST and DAST? As previously mentioned, under the AST umbrella, there live two different security testing approaches: SAST and DAST. Though different, neither is better than the other and the security\ntesting outcome is superior when both are used together to detect security vulnerabilities in web applications and source code. SAST is a security testing approach that is performed on the application's code, while DAST is an approach that is performed on the running application. Both SAST and DAST are\nessential components of a comprehensive security testing strategy for software applications.",[12,48,49],{},"In summary, SAST and DAST help to ensure that computer systems are both safe and secure. These security measures help make sure that information is protected from hackers and other people who may try to steal it. They are critical tools for successful DevSecOps. Each runs a set\nof automated tests, and both introduce security at the beginning of the\nsoftware development lifecycle.",[51,52,54],"h3",{"id":53},"static-application-security-testing-sast","Static application security testing (SAST)",[12,56,57,62],{},[16,58,61],{"href":59,"rel":60},"https://docs.gitlab.com/user/application_security/sast/",[],"SAST"," can\nbe used to analyze source code for known vulnerabilities – and is also a type\nof white box testing. The test will run before your code is deployed, ensuring\nthat developers are alerted to fixes during the development phase.\nSAST can help remediate situations where your code has a potentially dangerous\nattribute in a class or unsafe code that can lead to unintended code execution.",[12,64,65],{},[66,67],"img",{"alt":68,"src":69},"An example of a SAST summary within a GitLab merge request","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782404914/site/Content%20Images/secure/sast.png",[12,71,72],{},"Within GitLab, SAST will automatically generate a summary of fixes and unresolved\nvulnerabilities following every code commit, but before your code is merged to the target\nbranch. Tools that allow SAST reports to sit within the developer’s work\ninterface enable ease of remediation and streamline testing procedures within\nthe development phase.",[12,74,75],{},"SAST takes an inside-looking-out approach, looking for security problems that might have been missed during source code development. It is effective when used after development is complete but before the finished project (and any missed security vulnerabilities) is deployed. Lots of developers nowadays integrate SAST testing into their CI/CD pipelines.",[51,77,79],{"id":78},"dynamic-application-security-testing-dast","Dynamic application security testing (DAST)",[12,81,82,87],{},[16,83,86],{"href":84,"rel":85},"https://docs.gitlab.com/user/application_security/dast/",[],"DAST",", a\ntype of black box testing, analyzes your running web applications or known\nruntime vulnerabilities. GitLab’s DAST tool runs live attacks on a review app\nduring QA, meaning developers can iterate on new apps and updates earlier and\nfaster.",[12,89,90],{},"As with SAST, DAST should auto-run so that the developer doesn’t have to take measures to initiate the test. In other situations, DAST can also be used to\ncontinuously monitor live web applications for issues like cross-site scripting\nor broken authentication flaws. Test results should inform developers of\npotential vulnerabilities and serve as a catalyst for ongoing updates.",[12,92,93],{},"DAST tools help you see your web application through the eyes of a hacker in a deployed environment. It constantly scans for security vulnerabilities during web application runtime, as well as checking the other API or web services that your application connects to. This makes DAST excellent for testing your complete IT environment where your application or web services run.",[30,95,97],{"id":96},"test-early-and-often-using-sast-and-dast","Test early and often using SAST and DAST",[12,99,100],{},"Static and dynamic application security testing are two helpful tools to keep\nyour code secure, but don’t rely on them to handle all of your security needs.\nIt’s still important to do manual code reviews, test high-level behaviors and\nfunctionality, conduct database scanning, and ensure that your whole team is\noperating with a security-first mindset.",[12,102,103,104,109,110],{},"Cover image by ",[16,105,108],{"href":106,"rel":107},"https://unsplash.com/@mikael_k?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText",[],"Mikael Kristenson","\non ",[16,111,114],{"href":112,"rel":113},"https://unsplash.com/?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText",[],"Unsplash",{"title":116,"searchDepth":117,"depth":117,"links":118},"",2,[119,120,125],{"id":32,"depth":117,"text":33},{"id":42,"depth":117,"text":43,"children":121},[122,124],{"id":53,"depth":123,"text":54},3,{"id":78,"depth":123,"text":79},{"id":96,"depth":117,"text":97},"insights","2019-08-12","Bolster your code quality with static and dynamic application security testing. Learn why you need SAST and DAST for your projects.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680714/Blog/Hero%20Images/intro-developer-sast-dast.jpg",{},true,"/en-us/blog/developer-intro-sast-dast",{"title":137,"description":128,"ogTitle":137,"ogDescription":128,"noIndex":131,"ogImage":132,"ogUrl":138,"ogSiteName":139,"ogType":140,"canonicalUrls":138},"SAST & DAST: Key security tests for development workflows","https://about.gitlab.com/blog/developer-intro-sast-dast","https://about.gitlab.com","article","developer-intro-sast-dast","en-us/blog/developer-intro-sast-dast",[144,145,146],"testing","security","CI/CD","BlogPost","BGOwAWI15wD7EwwEf08neMhdYOKUjDhx9TmkXOY-0nE",{"logo":150,"freeTrial":155,"sales":160,"login":165,"items":170,"search":496,"minimal":527,"duo":546,"switchNav":555,"pricingDeployment":566},{"config":151},{"href":152,"dataGaName":153,"dataGaLocation":154},"/","gitlab logo","header",{"text":156,"config":157},"Get free trial",{"href":158,"dataGaName":159,"dataGaLocation":154},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":161,"config":162},"Request a demo",{"href":163,"dataGaName":164,"dataGaLocation":154},"/sales/?contact-topic=request-demo","sales",{"text":166,"config":167},"Sign in",{"href":168,"dataGaName":169,"dataGaLocation":154},"https://gitlab.com/users/sign_in/","sign in",[171,200,299,304,418,474],{"text":172,"config":173,"menu":175},"Platform",{"dataNavLevelOne":174},"platform",{"type":176,"columns":177},"cards",[178,184,192],{"title":172,"description":179,"link":180},"The intelligent orchestration platform for DevSecOps",{"text":181,"config":182},"Explore our Platform",{"href":183,"dataGaName":174,"dataGaLocation":154},"/platform/",{"title":185,"description":186,"link":187},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":188,"config":189},"Meet GitLab Duo",{"href":190,"dataGaName":191,"dataGaLocation":154},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":193,"description":194,"link":195},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":196,"config":197},"Learn more",{"href":198,"dataGaName":199,"dataGaLocation":154},"/why-gitlab/","why gitlab",{"text":201,"left":134,"config":202,"menu":204},"Product",{"dataNavLevelOne":203},"solutions",{"type":205,"link":206,"columns":210,"feature":278},"lists",{"text":207,"config":208},"View all Solutions",{"href":209,"dataGaName":203,"dataGaLocation":154},"/solutions/",[211,234,257],{"title":212,"description":213,"link":214,"items":219},"Automation","CI/CD and automation to accelerate deployment",{"config":215},{"icon":216,"href":217,"dataGaName":218,"dataGaLocation":154},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[220,223,226,230],{"text":146,"config":221},{"href":222,"dataGaLocation":154,"dataGaName":146},"/solutions/continuous-integration/",{"text":185,"config":224},{"href":190,"dataGaLocation":154,"dataGaName":225},"gitlab duo agent platform - product menu",{"text":227,"config":228},"Source Code Management",{"href":229,"dataGaLocation":154,"dataGaName":227},"/solutions/source-code-management/",{"text":231,"config":232},"Automated Software Delivery",{"href":217,"dataGaLocation":154,"dataGaName":233},"Automated software delivery",{"title":235,"description":236,"link":237,"items":242},"Security","Deliver code faster without compromising security",{"config":238},{"href":239,"dataGaName":240,"dataGaLocation":154,"icon":241},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[243,247,252],{"text":244,"config":245},"Application Security Testing",{"href":239,"dataGaName":246,"dataGaLocation":154},"Application security testing",{"text":248,"config":249},"Software Supply Chain Security",{"href":250,"dataGaLocation":154,"dataGaName":251},"/solutions/supply-chain/","Software supply chain security",{"text":253,"config":254},"Software Compliance",{"href":255,"dataGaName":256,"dataGaLocation":154},"/solutions/software-compliance/","software compliance",{"title":258,"link":259,"items":264},"Measurement",{"config":260},{"icon":261,"href":262,"dataGaName":263,"dataGaLocation":154},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[265,269,273],{"text":266,"config":267},"Visibility & Measurement",{"href":262,"dataGaLocation":154,"dataGaName":268},"Visibility and Measurement",{"text":270,"config":271},"Value Stream Management",{"href":272,"dataGaLocation":154,"dataGaName":270},"/solutions/value-stream-management/",{"text":274,"config":275},"Analytics & Insights",{"href":276,"dataGaLocation":154,"dataGaName":277},"/solutions/analytics-and-insights/","Analytics and insights",{"title":279,"type":205,"items":280},"GitLab for",[281,287,293],{"text":282,"config":283},"Enterprise",{"icon":284,"href":285,"dataGaLocation":154,"dataGaName":286},"Building","/enterprise/","enterprise",{"text":288,"config":289},"Small Business",{"icon":290,"href":291,"dataGaLocation":154,"dataGaName":292},"Work","/small-business/","small business",{"text":294,"config":295},"Public Sector",{"icon":296,"href":297,"dataGaLocation":154,"dataGaName":298},"Organization","/solutions/public-sector/","public sector",{"text":300,"config":301},"Pricing",{"href":302,"dataGaName":303,"dataGaLocation":154,"dataNavLevelOne":303},"/pricing/","pricing",{"text":305,"config":306,"menu":308},"Resources",{"dataNavLevelOne":307},"resources",{"type":205,"link":309,"columns":313,"feature":407},{"text":310,"config":311},"View all resources",{"href":312,"dataGaName":307,"dataGaLocation":154},"/resources/",[314,347,374],{"title":315,"items":316},"Getting started",[317,322,327,332,337,342],{"text":318,"config":319},"Install",{"href":320,"dataGaName":321,"dataGaLocation":154},"/install/","install",{"text":323,"config":324},"Quick start guides",{"href":325,"dataGaName":326,"dataGaLocation":154},"/get-started/","quick setup checklists",{"text":328,"config":329},"Learn",{"href":330,"dataGaLocation":154,"dataGaName":331},"https://university.gitlab.com/","learn",{"text":333,"config":334},"Product documentation",{"href":335,"dataGaName":336,"dataGaLocation":154},"https://docs.gitlab.com/","product documentation",{"text":338,"config":339},"Best practice videos",{"href":340,"dataGaName":341,"dataGaLocation":154},"/getting-started-videos/","best practice videos",{"text":343,"config":344},"Integrations",{"href":345,"dataGaName":346,"dataGaLocation":154},"/integrations/","integrations",{"title":348,"items":349},"Discover",[350,355,360,365,369],{"text":351,"config":352},"Customer success stories",{"href":353,"dataGaName":354,"dataGaLocation":154},"/customers/","customer success stories",{"text":356,"config":357},"Blog",{"href":358,"dataGaName":359,"dataGaLocation":154},"/blog/","blog",{"text":361,"config":362},"Demo Hub",{"href":363,"dataGaName":364,"dataGaLocation":154},"/demo-hub/","demo hub",{"text":366,"config":367},"The Source",{"href":368,"dataGaName":359,"dataGaLocation":154},"/the-source/",{"text":370,"config":371},"Remote",{"href":372,"dataGaName":373,"dataGaLocation":154},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":375,"items":376},"Connect",[377,382,387,392,397,402],{"text":378,"config":379},"GitLab Services",{"href":380,"dataGaName":381,"dataGaLocation":154},"/services/","services",{"text":383,"config":384},"Contribute",{"href":385,"dataGaName":386,"dataGaLocation":154},"https://contributors.gitlab.com","contribute",{"text":388,"config":389},"Community",{"href":390,"dataGaName":391,"dataGaLocation":154},"/community/","community",{"text":393,"config":394},"Forum",{"href":395,"dataGaName":396,"dataGaLocation":154},"https://forum.gitlab.com/","forum",{"text":398,"config":399},"Events",{"href":400,"dataGaName":401,"dataGaLocation":154},"/events/","events",{"text":403,"config":404},"Partners",{"href":405,"dataGaName":406,"dataGaLocation":154},"/partners/","partners",{"config":408,"title":411,"text":412,"link":413},{"background":409,"textColor":410},"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":414,"config":415},"Read the latest",{"href":416,"dataGaName":417,"dataGaLocation":154},"/whats-new/","whats new",{"text":419,"config":420,"menu":422},"Company",{"dataNavLevelOne":421},"company",{"type":205,"columns":423},[424],{"items":425},[426,431,437,439,444,449,454,459,464,469],{"text":427,"config":428},"About",{"href":429,"dataGaName":430,"dataGaLocation":154},"/company/","about",{"text":432,"config":433,"footerGa":436},"Jobs",{"href":434,"dataGaName":435,"dataGaLocation":154},"/jobs/","jobs",{"dataGaName":435},{"text":398,"config":438},{"href":400,"dataGaName":401,"dataGaLocation":154},{"text":440,"config":441},"Leadership",{"href":442,"dataGaName":443,"dataGaLocation":154},"/company/team/e-group/","leadership",{"text":445,"config":446},"Handbook",{"href":447,"dataGaName":448,"dataGaLocation":154},"https://handbook.gitlab.com/","handbook",{"text":450,"config":451},"Investor relations",{"href":452,"dataGaName":453,"dataGaLocation":154},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":455,"config":456},"Trust Center",{"href":457,"dataGaName":458,"dataGaLocation":154},"/security/","trust center",{"text":460,"config":461},"AI Transparency Center",{"href":462,"dataGaName":463,"dataGaLocation":154},"/ai-transparency-center/","ai transparency center",{"text":465,"config":466},"Newsletter",{"href":467,"dataGaName":468,"dataGaLocation":154},"/company/contact/#contact-forms","newsletter",{"text":470,"config":471},"Press",{"href":472,"dataGaName":473,"dataGaLocation":154},"/press/","press",{"text":475,"config":476,"menu":477},"Contact us",{"dataNavLevelOne":421},{"type":205,"columns":478},[479],{"items":480},[481,486,491],{"text":482,"config":483},"Talk to sales",{"href":484,"dataGaName":485,"dataGaLocation":154},"/sales/","talk to sales",{"text":487,"config":488},"Support portal",{"href":489,"dataGaName":490,"dataGaLocation":154},"https://support.gitlab.com/hc/en-us","support portal",{"text":492,"config":493},"Customer portal",{"href":494,"dataGaName":495,"dataGaLocation":154},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":497,"login":498,"suggestions":505},"Close",{"text":499,"link":500},"To search repositories and projects, login to",{"text":501,"config":502},"gitlab.com",{"href":168,"dataGaName":503,"dataGaLocation":504},"search login","search",{"text":506,"default":507},"Suggestions",[508,510,514,516,520,524],{"text":185,"config":509},{"href":190,"dataGaName":185,"dataGaLocation":504},{"text":511,"config":512},"Code Suggestions (AI)",{"href":513,"dataGaName":511,"dataGaLocation":504},"/solutions/code-suggestions/",{"text":146,"config":515},{"href":222,"dataGaName":146,"dataGaLocation":504},{"text":517,"config":518},"GitLab on AWS",{"href":519,"dataGaName":517,"dataGaLocation":504},"/partners/technology-partners/aws/",{"text":521,"config":522},"GitLab on Google Cloud",{"href":523,"dataGaName":521,"dataGaLocation":504},"/partners/technology-partners/google-cloud-platform/",{"text":525,"config":526},"Why GitLab?",{"href":198,"dataGaName":525,"dataGaLocation":504},{"freeTrial":528,"mobileIcon":533,"desktopIcon":538,"secondaryButton":541},{"text":529,"config":530},"Start free trial",{"href":531,"dataGaName":159,"dataGaLocation":532},"https://gitlab.com/-/trials/new/","nav",{"altText":534,"config":535},"Gitlab Icon",{"src":536,"dataGaName":537,"dataGaLocation":532},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":534,"config":539},{"src":540,"dataGaName":537,"dataGaLocation":532},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":542,"config":543},"Get Started",{"href":544,"dataGaName":545,"dataGaLocation":532},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":547,"mobileIcon":551,"desktopIcon":553},{"text":548,"config":549},"Learn more about GitLab Duo",{"href":190,"dataGaName":550,"dataGaLocation":532},"gitlab duo",{"altText":534,"config":552},{"src":536,"dataGaName":537,"dataGaLocation":532},{"altText":534,"config":554},{"src":540,"dataGaName":537,"dataGaLocation":532},{"button":556,"mobileIcon":561,"desktopIcon":563},{"text":557,"config":558},"/switch",{"href":559,"dataGaName":560,"dataGaLocation":532},"#contact","switch",{"altText":534,"config":562},{"src":536,"dataGaName":537,"dataGaLocation":532},{"altText":534,"config":564},{"src":565,"dataGaName":537,"dataGaLocation":532},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":567,"mobileIcon":572,"desktopIcon":574},{"text":568,"config":569},"Back to pricing",{"href":302,"dataGaName":570,"dataGaLocation":532,"icon":571},"back to pricing","GoBack",{"altText":534,"config":573},{"src":536,"dataGaName":537,"dataGaLocation":532},{"altText":534,"config":575},{"src":540,"dataGaName":537,"dataGaLocation":532},{"title":577,"titleMobile":578,"button":579,"config":584},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":196,"config":580},{"href":581,"dataGaName":582,"dataGaLocation":583},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":585,"disabled":131},"release",{"data":587},{"text":588,"source":589,"edit":595,"contribute":600,"config":605,"items":610,"minimal":818},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":590,"config":591},"View page source",{"href":592,"dataGaName":593,"dataGaLocation":594},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":596,"config":597},"Edit this page",{"href":598,"dataGaName":599,"dataGaLocation":594},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":601,"config":602},"Please contribute",{"href":603,"dataGaName":604,"dataGaLocation":594},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":606,"facebook":607,"youtube":608,"linkedin":609},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[611,658,710,754,786],{"title":300,"links":612,"subMenu":627},[613,617,622],{"text":614,"config":615},"View plans",{"href":302,"dataGaName":616,"dataGaLocation":594},"view plans",{"text":618,"config":619},"Why Premium?",{"href":620,"dataGaName":621,"dataGaLocation":594},"/pricing/premium/","why premium",{"text":623,"config":624},"Why Ultimate?",{"href":625,"dataGaName":626,"dataGaLocation":594},"/pricing/ultimate/","why ultimate",[628],{"title":629,"links":630},"Contact Us",[631,634,636,638,643,648,653],{"text":632,"config":633},"Contact sales",{"href":484,"dataGaName":164,"dataGaLocation":594},{"text":487,"config":635},{"href":489,"dataGaName":490,"dataGaLocation":594},{"text":492,"config":637},{"href":494,"dataGaName":495,"dataGaLocation":594},{"text":639,"config":640},"Status",{"href":641,"dataGaName":642,"dataGaLocation":594},"https://status.gitlab.com/","status",{"text":644,"config":645},"Terms of use",{"href":646,"dataGaName":647,"dataGaLocation":594},"/terms/","terms of use",{"text":649,"config":650},"Privacy statement",{"href":651,"dataGaName":652,"dataGaLocation":594},"/privacy/","privacy statement",{"text":654,"config":655},"Cookie preferences",{"dataGaName":656,"dataGaLocation":594,"id":657,"isOneTrustButton":134},"cookie preferences","ot-sdk-btn",{"title":201,"links":659,"subMenu":668},[660,664],{"text":661,"config":662},"DevSecOps platform",{"href":183,"dataGaName":663,"dataGaLocation":594},"devsecops platform",{"text":665,"config":666},"AI-Assisted Development",{"href":190,"dataGaName":667,"dataGaLocation":594},"ai-assisted development",[669],{"title":670,"links":671},"Topics",[672,677,682,687,692,695,700,705],{"text":673,"config":674},"CICD",{"href":675,"dataGaName":676,"dataGaLocation":594},"/topics/ci-cd/","cicd",{"text":678,"config":679},"GitOps",{"href":680,"dataGaName":681,"dataGaLocation":594},"/topics/gitops/","gitops",{"text":683,"config":684},"DevOps",{"href":685,"dataGaName":686,"dataGaLocation":594},"/topics/devops/","devops",{"text":688,"config":689},"Version Control",{"href":690,"dataGaName":691,"dataGaLocation":594},"/topics/version-control/","version control",{"text":19,"config":693},{"href":26,"dataGaName":694,"dataGaLocation":594},"devsecops",{"text":696,"config":697},"Cloud Native",{"href":698,"dataGaName":699,"dataGaLocation":594},"/topics/cloud-native/","cloud native",{"text":701,"config":702},"AI for Coding",{"href":703,"dataGaName":704,"dataGaLocation":594},"/topics/devops/ai-for-coding/","ai for coding",{"text":706,"config":707},"Agentic AI",{"href":708,"dataGaName":709,"dataGaLocation":594},"/topics/agentic-ai/","agentic ai",{"title":711,"links":712},"Solutions",[713,715,717,722,726,729,733,736,738,741,744,749],{"text":244,"config":714},{"href":239,"dataGaName":244,"dataGaLocation":594},{"text":233,"config":716},{"href":217,"dataGaName":218,"dataGaLocation":594},{"text":718,"config":719},"Agile development",{"href":720,"dataGaName":721,"dataGaLocation":594},"/solutions/agile-delivery/","agile delivery",{"text":723,"config":724},"SCM",{"href":229,"dataGaName":725,"dataGaLocation":594},"source code management",{"text":673,"config":727},{"href":222,"dataGaName":728,"dataGaLocation":594},"continuous integration & delivery",{"text":730,"config":731},"Value stream management",{"href":272,"dataGaName":732,"dataGaLocation":594},"value stream management",{"text":678,"config":734},{"href":735,"dataGaName":681,"dataGaLocation":594},"/solutions/gitops/",{"text":282,"config":737},{"href":285,"dataGaName":286,"dataGaLocation":594},{"text":739,"config":740},"Small business",{"href":291,"dataGaName":292,"dataGaLocation":594},{"text":742,"config":743},"Public sector",{"href":297,"dataGaName":298,"dataGaLocation":594},{"text":745,"config":746},"Education",{"href":747,"dataGaName":748,"dataGaLocation":594},"/solutions/education/","education",{"text":750,"config":751},"Financial services",{"href":752,"dataGaName":753,"dataGaLocation":594},"/solutions/finance/","financial services",{"title":305,"links":755},[756,758,760,762,765,767,770,772,774,776,778,780,782,784],{"text":318,"config":757},{"href":320,"dataGaName":321,"dataGaLocation":594},{"text":323,"config":759},{"href":325,"dataGaName":326,"dataGaLocation":594},{"text":328,"config":761},{"href":330,"dataGaName":331,"dataGaLocation":594},{"text":333,"config":763},{"href":335,"dataGaName":764,"dataGaLocation":594},"docs",{"text":356,"config":766},{"href":358,"dataGaName":359,"dataGaLocation":594},{"text":768,"config":769},"What's new",{"href":416,"dataGaName":417,"dataGaLocation":594},{"text":351,"config":771},{"href":353,"dataGaName":354,"dataGaLocation":594},{"text":370,"config":773},{"href":372,"dataGaName":373,"dataGaLocation":594},{"text":378,"config":775},{"href":380,"dataGaName":381,"dataGaLocation":594},{"text":383,"config":777},{"href":385,"dataGaName":386,"dataGaLocation":594},{"text":388,"config":779},{"href":390,"dataGaName":391,"dataGaLocation":594},{"text":393,"config":781},{"href":395,"dataGaName":396,"dataGaLocation":594},{"text":398,"config":783},{"href":400,"dataGaName":401,"dataGaLocation":594},{"text":403,"config":785},{"href":405,"dataGaName":406,"dataGaLocation":594},{"title":419,"links":787},[788,790,792,794,796,798,802,807,809,811,813],{"text":427,"config":789},{"href":429,"dataGaName":421,"dataGaLocation":594},{"text":432,"config":791},{"href":434,"dataGaName":435,"dataGaLocation":594},{"text":440,"config":793},{"href":442,"dataGaName":443,"dataGaLocation":594},{"text":445,"config":795},{"href":447,"dataGaName":448,"dataGaLocation":594},{"text":450,"config":797},{"href":452,"dataGaName":453,"dataGaLocation":594},{"text":799,"config":800},"Sustainability",{"href":801,"dataGaName":799,"dataGaLocation":594},"/sustainability/",{"text":803,"config":804},"Diversity, inclusion and belonging (DIB)",{"href":805,"dataGaName":806,"dataGaLocation":594},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":455,"config":808},{"href":457,"dataGaName":458,"dataGaLocation":594},{"text":465,"config":810},{"href":467,"dataGaName":468,"dataGaLocation":594},{"text":470,"config":812},{"href":472,"dataGaName":473,"dataGaLocation":594},{"text":814,"config":815},"Modern Slavery Transparency Statement",{"href":816,"dataGaName":817,"dataGaLocation":594},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":819},[820,823,826],{"text":821,"config":822},"Terms",{"href":646,"dataGaName":647,"dataGaLocation":594},{"text":824,"config":825},"Cookies",{"dataGaName":656,"dataGaLocation":594,"id":657,"isOneTrustButton":134},{"text":827,"config":828},"Privacy",{"href":651,"dataGaName":652,"dataGaLocation":594},[830],{"id":831,"title":7,"body":130,"config":832,"content":834,"description":130,"extension":837,"meta":838,"navigation":134,"path":839,"seo":840,"stem":841,"__hash__":842},"blogAuthors/en-us/blog/authors/vanessa-wegner.yml",{"template":833},"BlogAuthor",{"name":7,"config":835},{"headshot":116,"ctfId":836},"vwegner","yml",{},"/en-us/blog/authors/vanessa-wegner",{},"en-us/blog/authors/vanessa-wegner","g7HCM0Grx5gV_2xQsDV9uteKV2uGLbv0_gKd-wvL26M",[844,852,860],{"title":845,"description":846,"heroImage":847,"category":126,"date":848,"authors":849,"slug":851,"externalUrl":130},"How we overhauled GitLab navigation","Users weren't getting what they needed from our navigation. Here are the steps we took to turn that experience around.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682884/Blog/Hero%20Images/navigation.jpg","2023-08-15",[850],"Ashley Knobloch","navigation-research-blog-post",{"title":853,"description":854,"heroImage":855,"category":126,"date":856,"authors":857,"slug":859,"externalUrl":130},"Beautifying our UI: Giving GitLab build features a fresh look","Get an inside look at how we are improving the usability of GitLab build features with multiple visual design improvements.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682807/Blog/Hero%20Images/beautify.jpg","2023-07-05",[858],"Veethika Mishra","beautifying-of-our-ui",{"title":861,"description":862,"heroImage":863,"category":126,"date":864,"authors":865,"slug":867,"externalUrl":130},"4 best practices leading orgs to release software faster","GitLab's 2023 Global DevSecOps Survey illuminates the strategies that organizations deploying more frequently have in common.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663908/Blog/Hero%20Images/2023-devsecops-report-blog-banner2.png","2023-06-08",[866],"Kristina Weis","best-practices-leading-orgs-to-release-software-faster",{"promotions":869},[870,884,896,907],{"id":871,"categories":872,"header":874,"text":875,"button":876,"image":881},"ai-modernization",[873],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":877,"config":878},"Get your AI maturity score",{"href":879,"dataGaName":880,"dataGaLocation":359},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":882},{"src":883},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":885,"categories":886,"header":888,"text":875,"button":889,"image":893},"devops-modernization",[887,694],"product","Are you just managing tools or shipping innovation?",{"text":890,"config":891},"Get your DevOps maturity score",{"href":892,"dataGaName":880,"dataGaLocation":359},"/assessments/devops-modernization-assessment/",{"config":894},{"src":895},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":897,"categories":898,"header":899,"text":875,"button":900,"image":904},"security-modernization",[145],"Are you trading speed for security?",{"text":901,"config":902},"Get your security maturity score",{"href":903,"dataGaName":880,"dataGaLocation":359},"/assessments/security-modernization-assessment/",{"config":905},{"src":906},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":908,"paths":909,"header":912,"text":913,"button":914,"image":919},"github-azure-migration",[910,911],"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":915,"config":916},"See how GitLab compares to GitHub",{"href":917,"dataGaName":918,"dataGaLocation":359},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":920},{"src":895},{"header":922,"blurb":923,"button":924,"secondaryButton":929},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":925,"config":926},"Get your free trial",{"href":927,"dataGaName":159,"dataGaLocation":928},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":632,"config":930},{"href":484,"dataGaName":164,"dataGaLocation":928},1786803748852]