[{"data":1,"prerenderedAt":702},["ShallowReactive",2],{"/en-us/blog/3-best-practices-for-building-software-in-the-era-of-llms/":3,"navigation-en-us":32,"banner-en-us":448,"footer-en-us":463,"Salman Ladha":674,"next-steps-en-us":687},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":11,"config":21,"_id":25,"_type":26,"title":27,"_source":28,"_file":29,"_stem":30,"_extension":31},"/en-us/blog/3-best-practices-for-building-software-in-the-era-of-llms","blog",false,"",{"noIndex":6,"title":9,"description":10},"3 best practices for building software in the era of LLMs","With AI transforming coding speed, developers need new security habits. Learn what they are and how to deploy them throughout the DevSecOps workflow.",{"title":9,"description":10,"authors":12,"heroImage":14,"body":15,"date":16,"category":17,"tags":18},[13],"Salman Ladha","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662523/Blog/Hero%20Images/Gartner_DevOps_Blog_Post_Cover_Image_1800x945__2_.png","AI has rapidly become a core part of modern software development. Not only is it helping developers code faster than ever, but it’s also automating low-level tasks like writing test cases or summarizing documentation. According to our [2024 Global DevSecOps Survey](https://about.gitlab.com/developer-survey/), 81% of developers are already using AI in their workflows or plan to in the next two years.\n\nAs code is written with less manual effort, we’re seeing a subtle but important behavioral change: Developers are beginning to trust AI-generated code with less scrutiny. That confidence — understandable as it may be — can quietly introduce security risks, especially as the overall volume of code increases. Developers can’t be expected to stay on top of every vulnerability or exploit, which is why we need systems and safeguards that scale with them. AI tools are here to stay. So, as security professionals, it’s incumbent on you to empower developers to adopt them in a way that improves both speed and security.\n\nHere are three practical ways to do that. \n\n## Never trust, always verify\n\nAs mentioned above, developers are beginning to trust AI-generated code more readily, especially when it looks clean and compiles without error. To combat this, adopt a zero-trust mindset. While we often talk about [zero trust](https://about.gitlab.com/blog/why-devops-and-zero-trust-go-together/) in the context of identity and access management, the same principle can be applied here with a slightly different framing. Treat AI-generated code like input from a junior developer: helpful, but not production-ready without a proper review. \n\nA developer should be able to explain what the code is doing and why it’s safe before it gets merged. Reviewing AI-generated code might even shape up to be an emerging skillset required in the world of software development. The developers who excel at this will be indispensable because they’ll marry the speed of LLMs with the risk reduction mindset to produce secure code, faster. \n\nThis is where tools like [GitLab Duo Code Review](https://docs.gitlab.com/user/project/merge_requests/duo_in_merge_requests/) can help. As a feature of our AI companion across the software development lifecycle, it brings AI into the code review process, not to replace human judgment, but to enhance it. By surfacing questions, inconsistencies, and overlooked issues in the merge requests, AI can help developers keep up with the very AI that’s accelerating development cycles. \n\n## Prompt for secure patterns\n\nLarge language models ([LLMs](https://about.gitlab.com/blog/what-is-a-large-language-model-llm/))  are powerful, but only as precise as the prompts they’re given. That’s why prompt engineering is becoming a core part of working with AI tools. In the world of LLMs, your input *is* the interface. Developers who learn to write clear, security-aware prompts will play a key role in building safer software from the start.\n\nFor example, vague requests like “build a login form” often produce insecure or overly simplistic results. However, by including more context, such as “build a login form **with** input validation, rate limiting, and hashing, **and** support phishing-resistant authentication methods like passkeys,” you’re more likely to produce an output that meets the security standards of your organization. \n\nRecent [research](https://www.backslash.security/press-releases/backslash-security-reveals-in-new-research-that-gpt-4-1-other-popular-llms-generate-insecure-code-unless-explicitly-prompted) from Backlash Security backs this up. They found that secure prompting improved results across popular LLMs. When developers simply asked models to “write secure code,” success rates remained low. However, when prompts referenced [OWASP best practices](https://cheatsheetseries.owasp.org/cheatsheets/LLM_Prompt_Injection_Prevention_Cheat_Sheet.html), the rate of secure code generation increased. \n\nPrompt engineering should be part of how we train and empower security champions within development teams. Just like we teach secure coding patterns and threat modeling, we should also be teaching developers how to guide AI tools with the same security mindset. \n\n> Learn more with these helpful [prompt engineering tips](https://docs.gitlab.com/development/ai_features/prompt_engineering/).\n\n## Scan everything, no exceptions\n\nThe rise of AI means we’re writing more code, quicker, with the same number of humans. That shift should change how we think about security, not just as a final check, but as an always-on safeguard woven into every aspect of the development process.\n\nMore code means a wider attack surface. And when that code is partially or fully generated, we can’t solely rely on secure coding practices or individual intuition to spot risks. That’s where automated scanning comes in. [Static Application Security Testing (SAST)](https://docs.gitlab.com/user/application_security/sast/), [Software Composition Analysis (SCA)](https://docs.gitlab.com/user/application_security/dependency_scanning/), and [Secret Detection](https://docs.gitlab.com/user/application_security/secret_detection/) become critical controls to mitigate the risk of secret leaks, supply chain attacks, and weaknesses like SQL injections. With platforms like GitLab, [application security](https://about.gitlab.com/solutions/security-compliance/) is natively built into the developer's workflow, making it a natural part of the development lifecycle. Scanners can also trace through the entire program to make sure new AI-generated code is secure *in the context of all the other code* — that can be hard to spot if you’re just looking at some new code in your IDE or in an AI-generated patch.\n\nBut it’s not just about scanning, it’s about keeping pace. If development teams are going to match the speed of AI-assisted development, they need scans that are fast, accurate, and built to scale. Accuracy especially matters. If scanners overwhelm developers with false positives, there’s a risk of losing trust in the system altogether. \n\nThe only way to move fast *and* stay secure is to make scanning non-negotiable. \n\nEvery commit. Every branch. No exceptions.\n\n## Secure your AI-generated code with GitLab\n\nAI is changing the way we build software, but the fundamentals of secure software development still apply. Code still needs to be reviewed. Threats still need to be tested. And security still needs to be embedded in the way we work. At GitLab, that’s exactly what we’ve done. \n\nAs a developer platform, we’re not bolting security onto the workflow — we’re embedding it directly where developers already work: in the IDE, in merge requests, and in the pipeline. Scans run automatically and relevant security context is surfaced to facilitate faster remediation cycles. And, because it’s part of the same platform where developers build, test, and deploy software, there are fewer tools to juggle, less context switching, and a much smoother path to secure code.\n\nAI features like [Duo Vulnerability Explanation and Vulnerability Resolution](https://about.gitlab.com/the-source/ai/understand-and-resolve-vulnerabilities-with-ai-powered-gitlab-duo/) add another layer of speed and insight, helping developers understand risks and fix them faster, without breaking their flow.\n\nAI isn’t a shortcut to security. But with the right practices — and a platform that meets developers where they are — it can absolutely be part of building software that’s fast, secure, and scalable. \n\n> Start your [free 60-day trial of GitLab Ultimate with Duo Enterprise](https://about.gitlab.com/free-trial/) and experience what it’s like to build secure software, faster. With native security scanning, AI-powered insights, and a seamless developer experience, GitLab helps you shift security left without slowing down.","2025-07-10","ai-ml",[19,20],"AI/ML","security",{"featured":22,"template":23,"slug":24},true,"BlogPost","3-best-practices-for-building-software-in-the-era-of-llms","content:en-us:blog:3-best-practices-for-building-software-in-the-era-of-llms.yml","yaml","3 Best Practices For Building Software In The Era Of Llms","content","en-us/blog/3-best-practices-for-building-software-in-the-era-of-llms.yml","en-us/blog/3-best-practices-for-building-software-in-the-era-of-llms","yml",{"_path":33,"_dir":34,"_draft":6,"_partial":6,"_locale":7,"data":35,"_id":444,"_type":26,"title":445,"_source":28,"_file":446,"_stem":447,"_extension":31},"/shared/en-us/main-navigation","en-us",{"logo":36,"freeTrial":41,"sales":46,"login":51,"items":56,"search":385,"minimal":416,"duo":435},{"config":37},{"href":38,"dataGaName":39,"dataGaLocation":40},"/","gitlab logo","header",{"text":42,"config":43},"Get free trial",{"href":44,"dataGaName":45,"dataGaLocation":40},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":47,"config":48},"Talk to sales",{"href":49,"dataGaName":50,"dataGaLocation":40},"/sales/","sales",{"text":52,"config":53},"Sign in",{"href":54,"dataGaName":55,"dataGaLocation":40},"https://gitlab.com/users/sign_in/","sign in",[57,101,196,201,306,366],{"text":58,"config":59,"cards":61,"footer":84},"Platform",{"dataNavLevelOne":60},"platform",[62,68,76],{"title":58,"description":63,"link":64},"The most comprehensive AI-powered DevSecOps Platform",{"text":65,"config":66},"Explore our Platform",{"href":67,"dataGaName":60,"dataGaLocation":40},"/platform/",{"title":69,"description":70,"link":71},"GitLab Duo (AI)","Build software faster with AI at every stage of development",{"text":72,"config":73},"Meet GitLab Duo",{"href":74,"dataGaName":75,"dataGaLocation":40},"/gitlab-duo/","gitlab duo ai",{"title":77,"description":78,"link":79},"Why GitLab","10 reasons why Enterprises choose GitLab",{"text":80,"config":81},"Learn more",{"href":82,"dataGaName":83,"dataGaLocation":40},"/why-gitlab/","why gitlab",{"title":85,"items":86},"Get started with",[87,92,97],{"text":88,"config":89},"Platform Engineering",{"href":90,"dataGaName":91,"dataGaLocation":40},"/solutions/platform-engineering/","platform engineering",{"text":93,"config":94},"Developer Experience",{"href":95,"dataGaName":96,"dataGaLocation":40},"/developer-experience/","Developer experience",{"text":98,"config":99},"MLOps",{"href":100,"dataGaName":98,"dataGaLocation":40},"/topics/devops/the-role-of-ai-in-devops/",{"text":102,"left":22,"config":103,"link":105,"lists":109,"footer":178},"Product",{"dataNavLevelOne":104},"solutions",{"text":106,"config":107},"View all Solutions",{"href":108,"dataGaName":104,"dataGaLocation":40},"/solutions/",[110,135,157],{"title":111,"description":112,"link":113,"items":118},"Automation","CI/CD and automation to accelerate deployment",{"config":114},{"icon":115,"href":116,"dataGaName":117,"dataGaLocation":40},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[119,123,127,131],{"text":120,"config":121},"CI/CD",{"href":122,"dataGaLocation":40,"dataGaName":120},"/solutions/continuous-integration/",{"text":124,"config":125},"AI-Assisted Development",{"href":74,"dataGaLocation":40,"dataGaName":126},"AI assisted development",{"text":128,"config":129},"Source Code Management",{"href":130,"dataGaLocation":40,"dataGaName":128},"/solutions/source-code-management/",{"text":132,"config":133},"Automated Software Delivery",{"href":116,"dataGaLocation":40,"dataGaName":134},"Automated software delivery",{"title":136,"description":137,"link":138,"items":143},"Security","Deliver code faster without compromising security",{"config":139},{"href":140,"dataGaName":141,"dataGaLocation":40,"icon":142},"/solutions/security-compliance/","security and compliance","ShieldCheckLight",[144,147,152],{"text":145,"config":146},"Security & Compliance",{"href":140,"dataGaLocation":40,"dataGaName":145},{"text":148,"config":149},"Software Supply Chain Security",{"href":150,"dataGaLocation":40,"dataGaName":151},"/solutions/supply-chain/","Software supply chain security",{"text":153,"config":154},"Compliance & Governance",{"href":155,"dataGaLocation":40,"dataGaName":156},"/solutions/continuous-software-compliance/","Compliance and governance",{"title":158,"link":159,"items":164},"Measurement",{"config":160},{"icon":161,"href":162,"dataGaName":163,"dataGaLocation":40},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[165,169,173],{"text":166,"config":167},"Visibility & Measurement",{"href":162,"dataGaLocation":40,"dataGaName":168},"Visibility and Measurement",{"text":170,"config":171},"Value Stream Management",{"href":172,"dataGaLocation":40,"dataGaName":170},"/solutions/value-stream-management/",{"text":174,"config":175},"Analytics & Insights",{"href":176,"dataGaLocation":40,"dataGaName":177},"/solutions/analytics-and-insights/","Analytics and insights",{"title":179,"items":180},"GitLab for",[181,186,191],{"text":182,"config":183},"Enterprise",{"href":184,"dataGaLocation":40,"dataGaName":185},"/enterprise/","enterprise",{"text":187,"config":188},"Small Business",{"href":189,"dataGaLocation":40,"dataGaName":190},"/small-business/","small business",{"text":192,"config":193},"Public Sector",{"href":194,"dataGaLocation":40,"dataGaName":195},"/solutions/public-sector/","public sector",{"text":197,"config":198},"Pricing",{"href":199,"dataGaName":200,"dataGaLocation":40,"dataNavLevelOne":200},"/pricing/","pricing",{"text":202,"config":203,"link":205,"lists":209,"feature":293},"Resources",{"dataNavLevelOne":204},"resources",{"text":206,"config":207},"View all resources",{"href":208,"dataGaName":204,"dataGaLocation":40},"/resources/",[210,243,265],{"title":211,"items":212},"Getting started",[213,218,223,228,233,238],{"text":214,"config":215},"Install",{"href":216,"dataGaName":217,"dataGaLocation":40},"/install/","install",{"text":219,"config":220},"Quick start guides",{"href":221,"dataGaName":222,"dataGaLocation":40},"/get-started/","quick setup checklists",{"text":224,"config":225},"Learn",{"href":226,"dataGaLocation":40,"dataGaName":227},"https://university.gitlab.com/","learn",{"text":229,"config":230},"Product documentation",{"href":231,"dataGaName":232,"dataGaLocation":40},"https://docs.gitlab.com/","product documentation",{"text":234,"config":235},"Best practice videos",{"href":236,"dataGaName":237,"dataGaLocation":40},"/getting-started-videos/","best practice videos",{"text":239,"config":240},"Integrations",{"href":241,"dataGaName":242,"dataGaLocation":40},"/integrations/","integrations",{"title":244,"items":245},"Discover",[246,251,255,260],{"text":247,"config":248},"Customer success stories",{"href":249,"dataGaName":250,"dataGaLocation":40},"/customers/","customer success stories",{"text":252,"config":253},"Blog",{"href":254,"dataGaName":5,"dataGaLocation":40},"/blog/",{"text":256,"config":257},"Remote",{"href":258,"dataGaName":259,"dataGaLocation":40},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":261,"config":262},"TeamOps",{"href":263,"dataGaName":264,"dataGaLocation":40},"/teamops/","teamops",{"title":266,"items":267},"Connect",[268,273,278,283,288],{"text":269,"config":270},"GitLab Services",{"href":271,"dataGaName":272,"dataGaLocation":40},"/services/","services",{"text":274,"config":275},"Community",{"href":276,"dataGaName":277,"dataGaLocation":40},"/community/","community",{"text":279,"config":280},"Forum",{"href":281,"dataGaName":282,"dataGaLocation":40},"https://forum.gitlab.com/","forum",{"text":284,"config":285},"Events",{"href":286,"dataGaName":287,"dataGaLocation":40},"/events/","events",{"text":289,"config":290},"Partners",{"href":291,"dataGaName":292,"dataGaLocation":40},"/partners/","partners",{"backgroundColor":294,"textColor":295,"text":296,"image":297,"link":301},"#2f2a6b","#fff","Insights for the future of software development",{"altText":298,"config":299},"the source promo card",{"src":300},"/images/navigation/the-source-promo-card.svg",{"text":302,"config":303},"Read the latest",{"href":304,"dataGaName":305,"dataGaLocation":40},"/the-source/","the source",{"text":307,"config":308,"lists":310},"Company",{"dataNavLevelOne":309},"company",[311],{"items":312},[313,318,324,326,331,336,341,346,351,356,361],{"text":314,"config":315},"About",{"href":316,"dataGaName":317,"dataGaLocation":40},"/company/","about",{"text":319,"config":320,"footerGa":323},"Jobs",{"href":321,"dataGaName":322,"dataGaLocation":40},"/jobs/","jobs",{"dataGaName":322},{"text":284,"config":325},{"href":286,"dataGaName":287,"dataGaLocation":40},{"text":327,"config":328},"Leadership",{"href":329,"dataGaName":330,"dataGaLocation":40},"/company/team/e-group/","leadership",{"text":332,"config":333},"Team",{"href":334,"dataGaName":335,"dataGaLocation":40},"/company/team/","team",{"text":337,"config":338},"Handbook",{"href":339,"dataGaName":340,"dataGaLocation":40},"https://handbook.gitlab.com/","handbook",{"text":342,"config":343},"Investor relations",{"href":344,"dataGaName":345,"dataGaLocation":40},"https://ir.gitlab.com/","investor relations",{"text":347,"config":348},"Trust Center",{"href":349,"dataGaName":350,"dataGaLocation":40},"/security/","trust center",{"text":352,"config":353},"AI Transparency Center",{"href":354,"dataGaName":355,"dataGaLocation":40},"/ai-transparency-center/","ai transparency center",{"text":357,"config":358},"Newsletter",{"href":359,"dataGaName":360,"dataGaLocation":40},"/company/contact/","newsletter",{"text":362,"config":363},"Press",{"href":364,"dataGaName":365,"dataGaLocation":40},"/press/","press",{"text":367,"config":368,"lists":369},"Contact us",{"dataNavLevelOne":309},[370],{"items":371},[372,375,380],{"text":47,"config":373},{"href":49,"dataGaName":374,"dataGaLocation":40},"talk to sales",{"text":376,"config":377},"Get help",{"href":378,"dataGaName":379,"dataGaLocation":40},"/support/","get help",{"text":381,"config":382},"Customer portal",{"href":383,"dataGaName":384,"dataGaLocation":40},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":386,"login":387,"suggestions":394},"Close",{"text":388,"link":389},"To search repositories and projects, login to",{"text":390,"config":391},"gitlab.com",{"href":54,"dataGaName":392,"dataGaLocation":393},"search login","search",{"text":395,"default":396},"Suggestions",[397,399,403,405,409,413],{"text":69,"config":398},{"href":74,"dataGaName":69,"dataGaLocation":393},{"text":400,"config":401},"Code Suggestions (AI)",{"href":402,"dataGaName":400,"dataGaLocation":393},"/solutions/code-suggestions/",{"text":120,"config":404},{"href":122,"dataGaName":120,"dataGaLocation":393},{"text":406,"config":407},"GitLab on AWS",{"href":408,"dataGaName":406,"dataGaLocation":393},"/partners/technology-partners/aws/",{"text":410,"config":411},"GitLab on Google Cloud",{"href":412,"dataGaName":410,"dataGaLocation":393},"/partners/technology-partners/google-cloud-platform/",{"text":414,"config":415},"Why GitLab?",{"href":82,"dataGaName":414,"dataGaLocation":393},{"freeTrial":417,"mobileIcon":422,"desktopIcon":427,"secondaryButton":430},{"text":418,"config":419},"Start free trial",{"href":420,"dataGaName":45,"dataGaLocation":421},"https://gitlab.com/-/trials/new/","nav",{"altText":423,"config":424},"Gitlab Icon",{"src":425,"dataGaName":426,"dataGaLocation":421},"/images/brand/gitlab-logo-tanuki.svg","gitlab icon",{"altText":423,"config":428},{"src":429,"dataGaName":426,"dataGaLocation":421},"/images/brand/gitlab-logo-type.svg",{"text":431,"config":432},"Get Started",{"href":433,"dataGaName":434,"dataGaLocation":421},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/compare/gitlab-vs-github/","get started",{"freeTrial":436,"mobileIcon":440,"desktopIcon":442},{"text":437,"config":438},"Learn more about GitLab Duo",{"href":74,"dataGaName":439,"dataGaLocation":421},"gitlab duo",{"altText":423,"config":441},{"src":425,"dataGaName":426,"dataGaLocation":421},{"altText":423,"config":443},{"src":429,"dataGaName":426,"dataGaLocation":421},"content:shared:en-us:main-navigation.yml","Main Navigation","shared/en-us/main-navigation.yml","shared/en-us/main-navigation",{"_path":449,"_dir":34,"_draft":6,"_partial":6,"_locale":7,"title":450,"button":451,"image":455,"config":458,"_id":460,"_type":26,"_source":28,"_file":461,"_stem":462,"_extension":31},"/shared/en-us/banner","is now in public beta!",{"text":80,"config":452},{"href":453,"dataGaName":454,"dataGaLocation":40},"/gitlab-duo/agent-platform/","duo banner",{"config":456},{"src":457},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1753720689/somrf9zaunk0xlt7ne4x.svg",{"layout":459},"release","content:shared:en-us:banner.yml","shared/en-us/banner.yml","shared/en-us/banner",{"_path":464,"_dir":34,"_draft":6,"_partial":6,"_locale":7,"data":465,"_id":670,"_type":26,"title":671,"_source":28,"_file":672,"_stem":673,"_extension":31},"/shared/en-us/main-footer",{"text":466,"source":467,"edit":473,"contribute":478,"config":483,"items":488,"minimal":662},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":468,"config":469},"View page source",{"href":470,"dataGaName":471,"dataGaLocation":472},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":474,"config":475},"Edit this page",{"href":476,"dataGaName":477,"dataGaLocation":472},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":479,"config":480},"Please contribute",{"href":481,"dataGaName":482,"dataGaLocation":472},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":484,"facebook":485,"youtube":486,"linkedin":487},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[489,512,569,598,632],{"title":58,"links":490,"subMenu":495},[491],{"text":492,"config":493},"DevSecOps platform",{"href":67,"dataGaName":494,"dataGaLocation":472},"devsecops platform",[496],{"title":197,"links":497},[498,502,507],{"text":499,"config":500},"View plans",{"href":199,"dataGaName":501,"dataGaLocation":472},"view plans",{"text":503,"config":504},"Why Premium?",{"href":505,"dataGaName":506,"dataGaLocation":472},"/pricing/premium/","why premium",{"text":508,"config":509},"Why Ultimate?",{"href":510,"dataGaName":511,"dataGaLocation":472},"/pricing/ultimate/","why ultimate",{"title":513,"links":514},"Solutions",[515,520,523,525,530,535,539,542,546,551,553,556,559,564],{"text":516,"config":517},"Digital transformation",{"href":518,"dataGaName":519,"dataGaLocation":472},"/topics/digital-transformation/","digital transformation",{"text":145,"config":521},{"href":140,"dataGaName":522,"dataGaLocation":472},"security & compliance",{"text":134,"config":524},{"href":116,"dataGaName":117,"dataGaLocation":472},{"text":526,"config":527},"Agile development",{"href":528,"dataGaName":529,"dataGaLocation":472},"/solutions/agile-delivery/","agile delivery",{"text":531,"config":532},"Cloud transformation",{"href":533,"dataGaName":534,"dataGaLocation":472},"/topics/cloud-native/","cloud transformation",{"text":536,"config":537},"SCM",{"href":130,"dataGaName":538,"dataGaLocation":472},"source code management",{"text":120,"config":540},{"href":122,"dataGaName":541,"dataGaLocation":472},"continuous integration & delivery",{"text":543,"config":544},"Value stream management",{"href":172,"dataGaName":545,"dataGaLocation":472},"value stream management",{"text":547,"config":548},"GitOps",{"href":549,"dataGaName":550,"dataGaLocation":472},"/solutions/gitops/","gitops",{"text":182,"config":552},{"href":184,"dataGaName":185,"dataGaLocation":472},{"text":554,"config":555},"Small business",{"href":189,"dataGaName":190,"dataGaLocation":472},{"text":557,"config":558},"Public sector",{"href":194,"dataGaName":195,"dataGaLocation":472},{"text":560,"config":561},"Education",{"href":562,"dataGaName":563,"dataGaLocation":472},"/solutions/education/","education",{"text":565,"config":566},"Financial services",{"href":567,"dataGaName":568,"dataGaLocation":472},"/solutions/finance/","financial services",{"title":202,"links":570},[571,573,575,577,580,582,584,586,588,590,592,594,596],{"text":214,"config":572},{"href":216,"dataGaName":217,"dataGaLocation":472},{"text":219,"config":574},{"href":221,"dataGaName":222,"dataGaLocation":472},{"text":224,"config":576},{"href":226,"dataGaName":227,"dataGaLocation":472},{"text":229,"config":578},{"href":231,"dataGaName":579,"dataGaLocation":472},"docs",{"text":252,"config":581},{"href":254,"dataGaName":5,"dataGaLocation":472},{"text":247,"config":583},{"href":249,"dataGaName":250,"dataGaLocation":472},{"text":256,"config":585},{"href":258,"dataGaName":259,"dataGaLocation":472},{"text":269,"config":587},{"href":271,"dataGaName":272,"dataGaLocation":472},{"text":261,"config":589},{"href":263,"dataGaName":264,"dataGaLocation":472},{"text":274,"config":591},{"href":276,"dataGaName":277,"dataGaLocation":472},{"text":279,"config":593},{"href":281,"dataGaName":282,"dataGaLocation":472},{"text":284,"config":595},{"href":286,"dataGaName":287,"dataGaLocation":472},{"text":289,"config":597},{"href":291,"dataGaName":292,"dataGaLocation":472},{"title":307,"links":599},[600,602,604,606,608,610,612,616,621,623,625,627],{"text":314,"config":601},{"href":316,"dataGaName":309,"dataGaLocation":472},{"text":319,"config":603},{"href":321,"dataGaName":322,"dataGaLocation":472},{"text":327,"config":605},{"href":329,"dataGaName":330,"dataGaLocation":472},{"text":332,"config":607},{"href":334,"dataGaName":335,"dataGaLocation":472},{"text":337,"config":609},{"href":339,"dataGaName":340,"dataGaLocation":472},{"text":342,"config":611},{"href":344,"dataGaName":345,"dataGaLocation":472},{"text":613,"config":614},"Sustainability",{"href":615,"dataGaName":613,"dataGaLocation":472},"/sustainability/",{"text":617,"config":618},"Diversity, inclusion and belonging (DIB)",{"href":619,"dataGaName":620,"dataGaLocation":472},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":347,"config":622},{"href":349,"dataGaName":350,"dataGaLocation":472},{"text":357,"config":624},{"href":359,"dataGaName":360,"dataGaLocation":472},{"text":362,"config":626},{"href":364,"dataGaName":365,"dataGaLocation":472},{"text":628,"config":629},"Modern Slavery Transparency Statement",{"href":630,"dataGaName":631,"dataGaLocation":472},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":633,"links":634},"Contact Us",[635,638,640,642,647,652,657],{"text":636,"config":637},"Contact an expert",{"href":49,"dataGaName":50,"dataGaLocation":472},{"text":376,"config":639},{"href":378,"dataGaName":379,"dataGaLocation":472},{"text":381,"config":641},{"href":383,"dataGaName":384,"dataGaLocation":472},{"text":643,"config":644},"Status",{"href":645,"dataGaName":646,"dataGaLocation":472},"https://status.gitlab.com/","status",{"text":648,"config":649},"Terms of use",{"href":650,"dataGaName":651,"dataGaLocation":472},"/terms/","terms of use",{"text":653,"config":654},"Privacy statement",{"href":655,"dataGaName":656,"dataGaLocation":472},"/privacy/","privacy statement",{"text":658,"config":659},"Cookie preferences",{"dataGaName":660,"dataGaLocation":472,"id":661,"isOneTrustButton":22},"cookie preferences","ot-sdk-btn",{"items":663},[664,666,668],{"text":648,"config":665},{"href":650,"dataGaName":651,"dataGaLocation":472},{"text":653,"config":667},{"href":655,"dataGaName":656,"dataGaLocation":472},{"text":658,"config":669},{"dataGaName":660,"dataGaLocation":472,"id":661,"isOneTrustButton":22},"content:shared:en-us:main-footer.yml","Main Footer","shared/en-us/main-footer.yml","shared/en-us/main-footer",[675],{"_path":676,"_dir":677,"_draft":6,"_partial":6,"_locale":7,"content":678,"config":682,"_id":684,"_type":26,"title":13,"_source":28,"_file":685,"_stem":686,"_extension":31},"/en-us/blog/authors/salman-ladha","authors",{"name":13,"config":679},{"headshot":680,"ctfId":681},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662937/Blog/Author%20Headshots/salman_ladha_headshot.png","2AYyG99S9PBB8PQIJ6aKuq",{"template":683},"BlogAuthor","content:en-us:blog:authors:salman-ladha.yml","en-us/blog/authors/salman-ladha.yml","en-us/blog/authors/salman-ladha",{"_path":688,"_dir":34,"_draft":6,"_partial":6,"_locale":7,"header":689,"eyebrow":690,"blurb":691,"button":692,"secondaryButton":696,"_id":698,"_type":26,"title":699,"_source":28,"_file":700,"_stem":701,"_extension":31},"/shared/en-us/next-steps","Start shipping better software faster","50%+ of the Fortune 100 trust GitLab","See what your team can do with the intelligent\n\n\nDevSecOps platform.\n",{"text":42,"config":693},{"href":694,"dataGaName":45,"dataGaLocation":695},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":47,"config":697},{"href":49,"dataGaName":50,"dataGaLocation":695},"content:shared:en-us:next-steps.yml","Next Steps","shared/en-us/next-steps.yml","shared/en-us/next-steps",1753733098034]