[{"data":1,"prerenderedAt":946},["ShallowReactive",2],{"/blog/what-south-africa-taught-me-about-cybersecurity":3,"navigation-en-us":164,"banner-en-us":590,"footer-en-us":600,"blog-post-authors-en-us-Cindy Blake":843,"blog-related-posts-en-us-what-south-africa-taught-me-about-cybersecurity":858,"blog-promotions-en-us":883,"next-steps-en-us":936},{"id":4,"title":5,"authors":6,"body":8,"category":142,"date":143,"description":144,"extension":145,"externalUrl":146,"faq":146,"featured":147,"heroImage":148,"meta":149,"navigation":150,"path":151,"seo":152,"slug":156,"stem":157,"tags":158,"template":162,"updatedDate":146,"__hash__":163},"blogPosts/en-us/blog/what-south-africa-taught-me-about-cybersecurity.md","What our summit in South Africa taught me about cybersecurity",[7],"Cindy Blake",{"type":9,"value":10,"toc":131},"minimark",[11,22,25,28,33,36,40,43,47,50,53,57,65,68,73,76,84,91,94,100,103,111,117],[12,13,14,15,21],"p",{},"The GitLab team ",[16,17,20],"a",{"href":18,"rel":19},"https://handbook.gitlab.com/handbook/company/culture/summit/",[],"summit"," recently took place in Cape Town, South Africa, which, as you can imagine, promised to be memorable.\nWhen preparing to cross three continents over 22 hours on airplanes, you think carefully about what to pack. You are anticipating the most beautiful scenery ever and want to make sure you capture it in pictures. So you find your camera – the one you haven't used in a long time because you've grown accustomed to using your cellphone. After careful debate, you decide to take it because those awesome experiences and scenery deserve the best camera.",[12,23,24],{},"The camera requires certain things: You have to make sure it's charged or has batteries; it needs to have adequate storage; you may need additional lenses which also require special care. Everything must be protected and carefully packed, and requires additional space and weight to carry on board with you because it's too precious to put in checked baggage.",[12,26,27],{},"When you get to South Africa and you see this incredible scenery, you take out your wonderful camera and you realize a few things:",[29,30,32],"h2",{"id":31},"_1-you-have-only-a-precious-few-moments-to-capture-the-image","1. You have only a precious few moments to capture the image",[12,34,35],{},"Do I really have time to fidget with f-stops and customizations, or do I just want to capture the picture and perhaps customize it a bit later by cropping and adjusting the light?",[29,37,39],{"id":38},"_2-its-difficult-to-share-camera-photos-immediately","2. It's difficult to share camera photos immediately",[12,41,42],{},"I'm anxious to share these images with friends and family back home. It occurs to me that with my phone I can share images immediately and effortlessly by email, text, Slack, or a variety of social media. If I take the pictures on my expensive camera, I can't share them immediately because it's not connected to anything. I'll have to wait until I get back to my hotel room so I can take the flash drive and put it in my laptop, log on to the Wi-Fi, and then share my images.",[29,44,46],{"id":45},"_3-my-camera-photos-arent-secure","3. My camera photos aren't secure",[12,48,49],{},"If I lose that flash drive, all of my images are gone (unless I back them up immediately after capturing them – not likely!). While it is possible I could lose my cell phone and lose my pictures, it's less likely. My phone is an integral part of my daily workflow – an appendage even. How often do we feel naked if we forget our phone at home or even in the other room? I'm much less likely to leave my phone on the bus when I get off to explore then to leave my camera behind.",[12,51,52],{},"So, I choose to use my phone to capture these magnificent images. My primary objective is not taking fabulous pictures worthy of publication that I can sell or frame on my wall, but to take pictures that are good enough, that capture the special place, and that I can share with friends and family easily and effortlessly. If it's too hard to share, I may not do it, or it may take me a long time. In addition, I don't have to think ahead about how my phone will capture an image in such a way to send it to friends; the images automatically integrate with all of the other sharing mechanisms on my phone. It simply works. I am free to focus on my primary effort of capturing the images while I soak up the moments.",[29,54,56],{"id":55},"now-how-does-this-relate-to-cybersecurity","Now, how does this relate to cybersecurity?",[12,58,59,60,64],{},"Companies invest a great deal in ",[16,61,63],{"href":62},"/topics/devsecops/","application security to test their software"," for security vulnerabilities. It's a separate application that requires its own budget and maintenance. Like the specialized camera, the information it creates must be shared in order to be most useful. The security team can use it by itself, but to be truly effective, the vulnerabilities found must be shared with development so that they can be corrected. Yet developers have little interest in logging onto a security system to access the data. Would your friends and family want to physically turn on your camera to look at your pictures? Maybe, but it's very limiting as to whom you can reach.",[12,66,67],{},"The challenge then is how do you get the data found by the application security system into the hands of the developers? Today that is one of the greatest challenges to overcome, even in rare cases where the objectives of security and dev totally align.",[69,70,72],"h3",{"id":71},"what-if-you-looked-at-application-security-the-same-way-we-look-at-photographing-images","What if you looked at application security the same way we look at photographing images?",[12,74,75],{},"Is the prime objective to do the most eloquent job of finding the vulnerabilities? Or, is the prime objective to get the vulnerabilities that we do find fixed? If it is the latter then the primary issue must be integrating with the developers’ workflow.",[12,77,78,79,83],{},"With ",[16,80,82],{"href":81},"/solutions/application-security-testing/","GitLab application security testing",", it is like the camera on your phone – maybe not superior to a dedicated tool in isolation, but good quality, and more importantly, integrated into the workflow to be the most useful. It is easily and efficiently used without added thought. With GitLab, every commit and every merge request is tested. There isn't even a separate step – it's all automated for you without additional effort.",[12,85,86],{},[87,88],"img",{"alt":89,"src":90},"GitLab security dashboard","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782399002/blog/Content%20Images/security-dashboard.png",[12,92,93],{},"As with photography, the most important thing is that you capture those moments before they escape you; with application security testing, it's important that you capture those vulnerabilities so that you can act upon them. With GitLab, the vulnerabilities are shown right there in the developers' workflow. They don't have to log into a different system nor interrupt their work. The security vulnerabilities are shown right alongside any other application flaws in the pipeline results of each merge request. The developer can choose to fix them now or continue the build, but either way, the vulnerabilities are captured and logged. And now with the security dashboard, the security team can evaluate further and create an issue for remediation if needed.",[95,96,97],"blockquote",{},[12,98,99],{},"The vulnerabilities are shown right there in the developers' workflow. They don't have to log into a different system nor interrupt their work",[12,101,102],{},"This really does turn application security on its head! It puts the insight and tools for action into the hands of the developer and then shares results with security, rather than the other way around. It makes so much more sense because the developer must do the remediation, not the security pro. Imagine the efficiency gains if most of the effort was placed on eliminating the vulnerabilities up front, rather than on finding and tracking them later in the SDLC! Sound familiar? This has been imagined before and cost savings even estimated. It's the \"shift left\" mantra. While everyone embraces it, few actually achieve it. Why? Because they lack the tools to enable such a seismic shift where the only gate is the merge request.",[12,104,105,106,110],{},"Albert Einstein said that the definition of insanity was doing the same thing and expecting a different result. So how can we expect traditional application security methods to meet the needs of modern, cloud-first DevOps environments? We can't. With GitLab, our single application helps users efficiently develop and deploy secure code by leveraging the power of integration across the entire SDLC. ",[16,107,109],{"href":108},"/","No more stitching together complex DevOps tool chains",". Microsoft did something similar years ago. Remember Word Perfect? It succumbed to Word because content could be copied/pasted and integrated across the Microsoft suite of documents, spreadsheets and slides. GitLab is on track to do the same thing for software development – including application security testing.",[12,112,113],{},[114,115,116],"em",{},"What do you think? Is this a new era of app security?",[12,118,119,120,125,126],{},"Photo by ",[16,121,124],{"href":122,"rel":123},"https://unsplash.com/photos/8plz1xK_Wmk?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyTexts",[],"Clyde Thoma"," on ",[16,127,130],{"href":128,"rel":129},"https://unsplash.com/search/photos/cape-town?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText",[],"Unsplash",{"title":132,"searchDepth":133,"depth":133,"links":134},"",2,[135,136,137,138],{"id":31,"depth":133,"text":32},{"id":38,"depth":133,"text":39},{"id":45,"depth":133,"text":46},{"id":55,"depth":133,"text":56,"children":139},[140],{"id":71,"depth":141,"text":72},3,"insights","2018-09-11","Cybersecurity is a necessity, but it's often treated as an afterthought. What it has in common with modern photography could tell us how to make it less painful to achieve.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749671140/Blog/Hero%20Images/south-africa-cyber-security.jpg",{},true,"/en-us/blog/what-south-africa-taught-me-about-cybersecurity",{"title":5,"description":144,"ogTitle":5,"ogDescription":144,"noIndex":147,"ogImage":148,"ogUrl":153,"ogSiteName":154,"ogType":155,"canonicalUrls":153},"https://about.gitlab.com/blog/what-south-africa-taught-me-about-cybersecurity","https://about.gitlab.com","article","what-south-africa-taught-me-about-cybersecurity","en-us/blog/what-south-africa-taught-me-about-cybersecurity",[159,160,161],"security","DevOps","user stories","BlogPost","ZdnP9s5y7dkiYLMY6ZMvPLC-h4ZinBCCvckiAdSDj6Y",{"logo":165,"freeTrial":169,"sales":174,"login":179,"items":184,"search":510,"minimal":541,"duo":560,"switchNav":569,"pricingDeployment":580},{"config":166},{"href":108,"dataGaName":167,"dataGaLocation":168},"gitlab logo","header",{"text":170,"config":171},"Get free trial",{"href":172,"dataGaName":173,"dataGaLocation":168},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":175,"config":176},"Request a demo",{"href":177,"dataGaName":178,"dataGaLocation":168},"/sales/?contact-topic=request-demo","sales",{"text":180,"config":181},"Sign in",{"href":182,"dataGaName":183,"dataGaLocation":168},"https://gitlab.com/users/sign_in/","sign in",[185,214,313,318,432,488],{"text":186,"config":187,"menu":189},"Platform",{"dataNavLevelOne":188},"platform",{"type":190,"columns":191},"cards",[192,198,206],{"title":186,"description":193,"link":194},"The intelligent orchestration platform for DevSecOps",{"text":195,"config":196},"Explore our Platform",{"href":197,"dataGaName":188,"dataGaLocation":168},"/platform/",{"title":199,"description":200,"link":201},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":202,"config":203},"Meet GitLab Duo",{"href":204,"dataGaName":205,"dataGaLocation":168},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":207,"description":208,"link":209},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":210,"config":211},"Learn more",{"href":212,"dataGaName":213,"dataGaLocation":168},"/why-gitlab/","why gitlab",{"text":215,"left":150,"config":216,"menu":218},"Product",{"dataNavLevelOne":217},"solutions",{"type":219,"link":220,"columns":224,"feature":292},"lists",{"text":221,"config":222},"View all Solutions",{"href":223,"dataGaName":217,"dataGaLocation":168},"/solutions/",[225,249,271],{"title":226,"description":227,"link":228,"items":233},"Automation","CI/CD and automation to accelerate deployment",{"config":229},{"icon":230,"href":231,"dataGaName":232,"dataGaLocation":168},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[234,238,241,245],{"text":235,"config":236},"CI/CD",{"href":237,"dataGaLocation":168,"dataGaName":235},"/solutions/continuous-integration/",{"text":199,"config":239},{"href":204,"dataGaLocation":168,"dataGaName":240},"gitlab duo agent platform - product menu",{"text":242,"config":243},"Source Code Management",{"href":244,"dataGaLocation":168,"dataGaName":242},"/solutions/source-code-management/",{"text":246,"config":247},"Automated Software Delivery",{"href":231,"dataGaLocation":168,"dataGaName":248},"Automated software delivery",{"title":250,"description":251,"link":252,"items":256},"Security","Deliver code faster without compromising security",{"config":253},{"href":81,"dataGaName":254,"dataGaLocation":168,"icon":255},"security and compliance","ShieldCheckLight",[257,261,266],{"text":258,"config":259},"Application Security Testing",{"href":81,"dataGaName":260,"dataGaLocation":168},"Application security testing",{"text":262,"config":263},"Software Supply Chain Security",{"href":264,"dataGaLocation":168,"dataGaName":265},"/solutions/supply-chain/","Software supply chain security",{"text":267,"config":268},"Software Compliance",{"href":269,"dataGaName":270,"dataGaLocation":168},"/solutions/software-compliance/","software compliance",{"title":272,"link":273,"items":278},"Measurement",{"config":274},{"icon":275,"href":276,"dataGaName":277,"dataGaLocation":168},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[279,283,287],{"text":280,"config":281},"Visibility & Measurement",{"href":276,"dataGaLocation":168,"dataGaName":282},"Visibility and Measurement",{"text":284,"config":285},"Value Stream Management",{"href":286,"dataGaLocation":168,"dataGaName":284},"/solutions/value-stream-management/",{"text":288,"config":289},"Analytics & Insights",{"href":290,"dataGaLocation":168,"dataGaName":291},"/solutions/analytics-and-insights/","Analytics and insights",{"title":293,"type":219,"items":294},"GitLab for",[295,301,307],{"text":296,"config":297},"Enterprise",{"icon":298,"href":299,"dataGaLocation":168,"dataGaName":300},"Building","/enterprise/","enterprise",{"text":302,"config":303},"Small Business",{"icon":304,"href":305,"dataGaLocation":168,"dataGaName":306},"Work","/small-business/","small business",{"text":308,"config":309},"Public Sector",{"icon":310,"href":311,"dataGaLocation":168,"dataGaName":312},"Organization","/solutions/public-sector/","public sector",{"text":314,"config":315},"Pricing",{"href":316,"dataGaName":317,"dataGaLocation":168,"dataNavLevelOne":317},"/pricing/","pricing",{"text":319,"config":320,"menu":322},"Resources",{"dataNavLevelOne":321},"resources",{"type":219,"link":323,"columns":327,"feature":421},{"text":324,"config":325},"View all resources",{"href":326,"dataGaName":321,"dataGaLocation":168},"/resources/",[328,361,388],{"title":329,"items":330},"Getting started",[331,336,341,346,351,356],{"text":332,"config":333},"Install",{"href":334,"dataGaName":335,"dataGaLocation":168},"/install/","install",{"text":337,"config":338},"Quick start guides",{"href":339,"dataGaName":340,"dataGaLocation":168},"/get-started/","quick setup checklists",{"text":342,"config":343},"Learn",{"href":344,"dataGaLocation":168,"dataGaName":345},"https://university.gitlab.com/","learn",{"text":347,"config":348},"Product documentation",{"href":349,"dataGaName":350,"dataGaLocation":168},"https://docs.gitlab.com/","product documentation",{"text":352,"config":353},"Best practice videos",{"href":354,"dataGaName":355,"dataGaLocation":168},"/getting-started-videos/","best practice videos",{"text":357,"config":358},"Integrations",{"href":359,"dataGaName":360,"dataGaLocation":168},"/integrations/","integrations",{"title":362,"items":363},"Discover",[364,369,374,379,383],{"text":365,"config":366},"Customer success stories",{"href":367,"dataGaName":368,"dataGaLocation":168},"/customers/","customer success stories",{"text":370,"config":371},"Blog",{"href":372,"dataGaName":373,"dataGaLocation":168},"/blog/","blog",{"text":375,"config":376},"Demo Hub",{"href":377,"dataGaName":378,"dataGaLocation":168},"/demo-hub/","demo hub",{"text":380,"config":381},"The Source",{"href":382,"dataGaName":373,"dataGaLocation":168},"/the-source/",{"text":384,"config":385},"Remote",{"href":386,"dataGaName":387,"dataGaLocation":168},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":389,"items":390},"Connect",[391,396,401,406,411,416],{"text":392,"config":393},"GitLab Services",{"href":394,"dataGaName":395,"dataGaLocation":168},"/services/","services",{"text":397,"config":398},"Contribute",{"href":399,"dataGaName":400,"dataGaLocation":168},"https://contributors.gitlab.com","contribute",{"text":402,"config":403},"Community",{"href":404,"dataGaName":405,"dataGaLocation":168},"/community/","community",{"text":407,"config":408},"Forum",{"href":409,"dataGaName":410,"dataGaLocation":168},"https://forum.gitlab.com/","forum",{"text":412,"config":413},"Events",{"href":414,"dataGaName":415,"dataGaLocation":168},"/events/","events",{"text":417,"config":418},"Partners",{"href":419,"dataGaName":420,"dataGaLocation":168},"/partners/","partners",{"config":422,"title":425,"text":426,"link":427},{"background":423,"textColor":424},"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":428,"config":429},"Read the latest",{"href":430,"dataGaName":431,"dataGaLocation":168},"/whats-new/","whats new",{"text":433,"config":434,"menu":436},"Company",{"dataNavLevelOne":435},"company",{"type":219,"columns":437},[438],{"items":439},[440,445,451,453,458,463,468,473,478,483],{"text":441,"config":442},"About",{"href":443,"dataGaName":444,"dataGaLocation":168},"/company/","about",{"text":446,"config":447,"footerGa":450},"Jobs",{"href":448,"dataGaName":449,"dataGaLocation":168},"/jobs/","jobs",{"dataGaName":449},{"text":412,"config":452},{"href":414,"dataGaName":415,"dataGaLocation":168},{"text":454,"config":455},"Leadership",{"href":456,"dataGaName":457,"dataGaLocation":168},"/company/team/e-group/","leadership",{"text":459,"config":460},"Handbook",{"href":461,"dataGaName":462,"dataGaLocation":168},"https://handbook.gitlab.com/","handbook",{"text":464,"config":465},"Investor relations",{"href":466,"dataGaName":467,"dataGaLocation":168},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":469,"config":470},"Trust Center",{"href":471,"dataGaName":472,"dataGaLocation":168},"/security/","trust center",{"text":474,"config":475},"AI Transparency Center",{"href":476,"dataGaName":477,"dataGaLocation":168},"/ai-transparency-center/","ai transparency center",{"text":479,"config":480},"Newsletter",{"href":481,"dataGaName":482,"dataGaLocation":168},"/company/contact/#contact-forms","newsletter",{"text":484,"config":485},"Press",{"href":486,"dataGaName":487,"dataGaLocation":168},"/press/","press",{"text":489,"config":490,"menu":491},"Contact us",{"dataNavLevelOne":435},{"type":219,"columns":492},[493],{"items":494},[495,500,505],{"text":496,"config":497},"Talk to sales",{"href":498,"dataGaName":499,"dataGaLocation":168},"/sales/","talk to sales",{"text":501,"config":502},"Support portal",{"href":503,"dataGaName":504,"dataGaLocation":168},"https://support.gitlab.com/hc/en-us","support portal",{"text":506,"config":507},"Customer portal",{"href":508,"dataGaName":509,"dataGaLocation":168},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":511,"login":512,"suggestions":519},"Close",{"text":513,"link":514},"To search repositories and projects, login to",{"text":515,"config":516},"gitlab.com",{"href":182,"dataGaName":517,"dataGaLocation":518},"search login","search",{"text":520,"default":521},"Suggestions",[522,524,528,530,534,538],{"text":199,"config":523},{"href":204,"dataGaName":199,"dataGaLocation":518},{"text":525,"config":526},"Code Suggestions (AI)",{"href":527,"dataGaName":525,"dataGaLocation":518},"/solutions/code-suggestions/",{"text":235,"config":529},{"href":237,"dataGaName":235,"dataGaLocation":518},{"text":531,"config":532},"GitLab on AWS",{"href":533,"dataGaName":531,"dataGaLocation":518},"/partners/technology-partners/aws/",{"text":535,"config":536},"GitLab on Google Cloud",{"href":537,"dataGaName":535,"dataGaLocation":518},"/partners/technology-partners/google-cloud-platform/",{"text":539,"config":540},"Why GitLab?",{"href":212,"dataGaName":539,"dataGaLocation":518},{"freeTrial":542,"mobileIcon":547,"desktopIcon":552,"secondaryButton":555},{"text":543,"config":544},"Start free trial",{"href":545,"dataGaName":173,"dataGaLocation":546},"https://gitlab.com/-/trials/new/","nav",{"altText":548,"config":549},"Gitlab Icon",{"src":550,"dataGaName":551,"dataGaLocation":546},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":548,"config":553},{"src":554,"dataGaName":551,"dataGaLocation":546},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":556,"config":557},"Get Started",{"href":558,"dataGaName":559,"dataGaLocation":546},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":561,"mobileIcon":565,"desktopIcon":567},{"text":562,"config":563},"Learn more about GitLab Duo",{"href":204,"dataGaName":564,"dataGaLocation":546},"gitlab duo",{"altText":548,"config":566},{"src":550,"dataGaName":551,"dataGaLocation":546},{"altText":548,"config":568},{"src":554,"dataGaName":551,"dataGaLocation":546},{"button":570,"mobileIcon":575,"desktopIcon":577},{"text":571,"config":572},"/switch",{"href":573,"dataGaName":574,"dataGaLocation":546},"#contact","switch",{"altText":548,"config":576},{"src":550,"dataGaName":551,"dataGaLocation":546},{"altText":548,"config":578},{"src":579,"dataGaName":551,"dataGaLocation":546},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":581,"mobileIcon":586,"desktopIcon":588},{"text":582,"config":583},"Back to pricing",{"href":316,"dataGaName":584,"dataGaLocation":546,"icon":585},"back to pricing","GoBack",{"altText":548,"config":587},{"src":550,"dataGaName":551,"dataGaLocation":546},{"altText":548,"config":589},{"src":554,"dataGaName":551,"dataGaLocation":546},{"title":591,"titleMobile":592,"button":593,"config":598},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":210,"config":594},{"href":595,"dataGaName":596,"dataGaLocation":597},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":599,"disabled":147},"release",{"data":601},{"text":602,"source":603,"edit":609,"contribute":614,"config":619,"items":624,"minimal":832},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":604,"config":605},"View page source",{"href":606,"dataGaName":607,"dataGaLocation":608},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":610,"config":611},"Edit this page",{"href":612,"dataGaName":613,"dataGaLocation":608},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":615,"config":616},"Please contribute",{"href":617,"dataGaName":618,"dataGaLocation":608},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":620,"facebook":621,"youtube":622,"linkedin":623},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[625,672,724,768,800],{"title":314,"links":626,"subMenu":641},[627,631,636],{"text":628,"config":629},"View plans",{"href":316,"dataGaName":630,"dataGaLocation":608},"view plans",{"text":632,"config":633},"Why Premium?",{"href":634,"dataGaName":635,"dataGaLocation":608},"/pricing/premium/","why premium",{"text":637,"config":638},"Why Ultimate?",{"href":639,"dataGaName":640,"dataGaLocation":608},"/pricing/ultimate/","why ultimate",[642],{"title":643,"links":644},"Contact Us",[645,648,650,652,657,662,667],{"text":646,"config":647},"Contact sales",{"href":498,"dataGaName":178,"dataGaLocation":608},{"text":501,"config":649},{"href":503,"dataGaName":504,"dataGaLocation":608},{"text":506,"config":651},{"href":508,"dataGaName":509,"dataGaLocation":608},{"text":653,"config":654},"Status",{"href":655,"dataGaName":656,"dataGaLocation":608},"https://status.gitlab.com/","status",{"text":658,"config":659},"Terms of use",{"href":660,"dataGaName":661,"dataGaLocation":608},"/terms/","terms of use",{"text":663,"config":664},"Privacy statement",{"href":665,"dataGaName":666,"dataGaLocation":608},"/privacy/","privacy statement",{"text":668,"config":669},"Cookie preferences",{"dataGaName":670,"dataGaLocation":608,"id":671,"isOneTrustButton":150},"cookie preferences","ot-sdk-btn",{"title":215,"links":673,"subMenu":682},[674,678],{"text":675,"config":676},"DevSecOps platform",{"href":197,"dataGaName":677,"dataGaLocation":608},"devsecops platform",{"text":679,"config":680},"AI-Assisted Development",{"href":204,"dataGaName":681,"dataGaLocation":608},"ai-assisted development",[683],{"title":684,"links":685},"Topics",[686,691,696,700,705,709,714,719],{"text":687,"config":688},"CICD",{"href":689,"dataGaName":690,"dataGaLocation":608},"/topics/ci-cd/","cicd",{"text":692,"config":693},"GitOps",{"href":694,"dataGaName":695,"dataGaLocation":608},"/topics/gitops/","gitops",{"text":160,"config":697},{"href":698,"dataGaName":699,"dataGaLocation":608},"/topics/devops/","devops",{"text":701,"config":702},"Version Control",{"href":703,"dataGaName":704,"dataGaLocation":608},"/topics/version-control/","version control",{"text":706,"config":707},"DevSecOps",{"href":62,"dataGaName":708,"dataGaLocation":608},"devsecops",{"text":710,"config":711},"Cloud Native",{"href":712,"dataGaName":713,"dataGaLocation":608},"/topics/cloud-native/","cloud native",{"text":715,"config":716},"AI for Coding",{"href":717,"dataGaName":718,"dataGaLocation":608},"/topics/devops/ai-for-coding/","ai for coding",{"text":720,"config":721},"Agentic AI",{"href":722,"dataGaName":723,"dataGaLocation":608},"/topics/agentic-ai/","agentic ai",{"title":725,"links":726},"Solutions",[727,729,731,736,740,743,747,750,752,755,758,763],{"text":258,"config":728},{"href":81,"dataGaName":258,"dataGaLocation":608},{"text":248,"config":730},{"href":231,"dataGaName":232,"dataGaLocation":608},{"text":732,"config":733},"Agile development",{"href":734,"dataGaName":735,"dataGaLocation":608},"/solutions/agile-delivery/","agile delivery",{"text":737,"config":738},"SCM",{"href":244,"dataGaName":739,"dataGaLocation":608},"source code management",{"text":687,"config":741},{"href":237,"dataGaName":742,"dataGaLocation":608},"continuous integration & delivery",{"text":744,"config":745},"Value stream management",{"href":286,"dataGaName":746,"dataGaLocation":608},"value stream management",{"text":692,"config":748},{"href":749,"dataGaName":695,"dataGaLocation":608},"/solutions/gitops/",{"text":296,"config":751},{"href":299,"dataGaName":300,"dataGaLocation":608},{"text":753,"config":754},"Small business",{"href":305,"dataGaName":306,"dataGaLocation":608},{"text":756,"config":757},"Public sector",{"href":311,"dataGaName":312,"dataGaLocation":608},{"text":759,"config":760},"Education",{"href":761,"dataGaName":762,"dataGaLocation":608},"/solutions/education/","education",{"text":764,"config":765},"Financial services",{"href":766,"dataGaName":767,"dataGaLocation":608},"/solutions/finance/","financial services",{"title":319,"links":769},[770,772,774,776,779,781,784,786,788,790,792,794,796,798],{"text":332,"config":771},{"href":334,"dataGaName":335,"dataGaLocation":608},{"text":337,"config":773},{"href":339,"dataGaName":340,"dataGaLocation":608},{"text":342,"config":775},{"href":344,"dataGaName":345,"dataGaLocation":608},{"text":347,"config":777},{"href":349,"dataGaName":778,"dataGaLocation":608},"docs",{"text":370,"config":780},{"href":372,"dataGaName":373,"dataGaLocation":608},{"text":782,"config":783},"What's new",{"href":430,"dataGaName":431,"dataGaLocation":608},{"text":365,"config":785},{"href":367,"dataGaName":368,"dataGaLocation":608},{"text":384,"config":787},{"href":386,"dataGaName":387,"dataGaLocation":608},{"text":392,"config":789},{"href":394,"dataGaName":395,"dataGaLocation":608},{"text":397,"config":791},{"href":399,"dataGaName":400,"dataGaLocation":608},{"text":402,"config":793},{"href":404,"dataGaName":405,"dataGaLocation":608},{"text":407,"config":795},{"href":409,"dataGaName":410,"dataGaLocation":608},{"text":412,"config":797},{"href":414,"dataGaName":415,"dataGaLocation":608},{"text":417,"config":799},{"href":419,"dataGaName":420,"dataGaLocation":608},{"title":433,"links":801},[802,804,806,808,810,812,816,821,823,825,827],{"text":441,"config":803},{"href":443,"dataGaName":435,"dataGaLocation":608},{"text":446,"config":805},{"href":448,"dataGaName":449,"dataGaLocation":608},{"text":454,"config":807},{"href":456,"dataGaName":457,"dataGaLocation":608},{"text":459,"config":809},{"href":461,"dataGaName":462,"dataGaLocation":608},{"text":464,"config":811},{"href":466,"dataGaName":467,"dataGaLocation":608},{"text":813,"config":814},"Sustainability",{"href":815,"dataGaName":813,"dataGaLocation":608},"/sustainability/",{"text":817,"config":818},"Diversity, inclusion and belonging (DIB)",{"href":819,"dataGaName":820,"dataGaLocation":608},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":469,"config":822},{"href":471,"dataGaName":472,"dataGaLocation":608},{"text":479,"config":824},{"href":481,"dataGaName":482,"dataGaLocation":608},{"text":484,"config":826},{"href":486,"dataGaName":487,"dataGaLocation":608},{"text":828,"config":829},"Modern Slavery Transparency Statement",{"href":830,"dataGaName":831,"dataGaLocation":608},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":833},[834,837,840],{"text":835,"config":836},"Terms",{"href":660,"dataGaName":661,"dataGaLocation":608},{"text":838,"config":839},"Cookies",{"dataGaName":670,"dataGaLocation":608,"id":671,"isOneTrustButton":150},{"text":841,"config":842},"Privacy",{"href":665,"dataGaName":666,"dataGaLocation":608},[844],{"id":845,"title":7,"body":146,"config":846,"content":848,"description":146,"extension":852,"meta":853,"navigation":150,"path":854,"seo":855,"stem":856,"__hash__":857},"blogAuthors/en-us/blog/authors/cindy-blake.yml",{"template":847},"BlogAuthor",{"name":7,"config":849},{"headshot":850,"ctfId":851},"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",[859,867,875],{"title":860,"description":861,"heroImage":862,"category":142,"date":863,"authors":864,"slug":866,"externalUrl":146},"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",[865],"Ashley Knobloch","navigation-research-blog-post",{"title":868,"description":869,"heroImage":870,"category":142,"date":871,"authors":872,"slug":874,"externalUrl":146},"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",[873],"Veethika Mishra","beautifying-of-our-ui",{"title":876,"description":877,"heroImage":878,"category":142,"date":879,"authors":880,"slug":882,"externalUrl":146},"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",[881],"Kristina Weis","best-practices-leading-orgs-to-release-software-faster",{"promotions":884},[885,899,911,922],{"id":886,"categories":887,"header":889,"text":890,"button":891,"image":896},"ai-modernization",[888],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":892,"config":893},"Get your AI maturity score",{"href":894,"dataGaName":895,"dataGaLocation":373},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":897},{"src":898},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":900,"categories":901,"header":903,"text":890,"button":904,"image":908},"devops-modernization",[902,708],"product","Are you just managing tools or shipping innovation?",{"text":905,"config":906},"Get your DevOps maturity score",{"href":907,"dataGaName":895,"dataGaLocation":373},"/assessments/devops-modernization-assessment/",{"config":909},{"src":910},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":912,"categories":913,"header":914,"text":890,"button":915,"image":919},"security-modernization",[159],"Are you trading speed for security?",{"text":916,"config":917},"Get your security maturity score",{"href":918,"dataGaName":895,"dataGaLocation":373},"/assessments/security-modernization-assessment/",{"config":920},{"src":921},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":923,"paths":924,"header":927,"text":928,"button":929,"image":934},"github-azure-migration",[925,926],"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":930,"config":931},"See how GitLab compares to GitHub",{"href":932,"dataGaName":933,"dataGaLocation":373},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":935},{"src":910},{"header":937,"blurb":938,"button":939,"secondaryButton":944},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":940,"config":941},"Get your free trial",{"href":942,"dataGaName":173,"dataGaLocation":943},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":646,"config":945},{"href":498,"dataGaName":178,"dataGaLocation":943},1786803775049]