[{"data":1,"prerenderedAt":1014},["ShallowReactive",2],{"/blog/devsecops-security-standardization":3,"navigation-en-us":233,"banner-en-us":660,"footer-en-us":670,"blog-post-authors-en-us-Vanessa Wegner":912,"blog-related-posts-en-us-devsecops-security-standardization":926,"blog-promotions-en-us":951,"next-steps-en-us":1004},{"id":4,"title":5,"authors":6,"body":8,"category":210,"date":211,"description":212,"extension":213,"externalUrl":214,"faq":214,"featured":215,"heroImage":216,"meta":217,"navigation":218,"path":219,"seo":220,"slug":224,"stem":225,"tags":226,"template":231,"updatedDate":214,"__hash__":232},"blogPosts/en-us/blog/devsecops-security-standardization.md","DevSecOps basics: 5 steps to standardize (and then scale) security",[7],"Vanessa Wegner",{"type":9,"value":10,"toc":201},"minimark",[11,48,51,54,59,80,85,92,97,105,109,112,116,119,123,126,130,139,143,146,156,162,187],[12,13,14],"p",{},[15,16,17,18,23,24,29,30,35,36,41,42,47],"em",{},"This is the fifth in our five-part series on ",[19,20,22],"a",{"href":21},"/topics/devsecops/","DevSecOps"," basics. Part one offers nine tips to truly ",[19,25,28],{"href":26,"rel":27},"https://about.gitlab.com/blog/efficient-devsecops-nine-tips-shift-left/",[],"shift left",". Part two outlines the steps needed to create ",[19,31,34],{"href":32,"rel":33},"https://about.gitlab.com/blog/achieve-devsecops-collaboration/",[],"silo-free collaboration",". Part three looks at the importance of ",[19,37,40],{"href":38,"rel":39},"https://about.gitlab.com/blog/devsecops-security-automation/",[],"automated security testing",". And part four details how to create a ",[19,43,46],{"href":44,"rel":45},"https://about.gitlab.com/blog/security-culture-devsecops/",[],"strong security culture",".",[12,49,50],{},"Standardizing security policies comes in a variety of forms: regulatory compliance, access controls, acceptable use policies, security as code, and automation, to name a few. Ultimately, the idea is that your security team knows exactly what policies and methods have been used or applied to each project.",[12,52,53],{},"The goals of standardization are consistency, traceability, and repeatability. By consistently using the same security methods across all work, security knows what has been protected and what hasn’t. This helps them apply additional measures where necessary, and makes them aware of any needed exceptions. Ensuring that security methods are repeatable helps to expand adoption and scale security to the entire organization or enterprise.",[55,56,58],"h2",{"id":57},"building-a-standardized-security-program","Building a standardized security program",[12,60,61,62,67,68,73,74,79],{},"A holistic security program should be composed of different levels of policies and compliance. Some policies should be company-wide, such as an ",[19,63,66],{"href":64,"rel":65},"https://whatis.techtarget.com/definition/acceptable-use-policy-AUP",[],"acceptable use policy",", some will fulfill regulations like the ",[19,69,72],{"href":70,"rel":71},"https://gdpr-info.eu/",[],"GDPR"," or ",[19,75,78],{"href":76,"rel":77},"https://oag.ca.gov/privacy/ccpa",[],"CCPA",", and some will be specific to certain organizations within your business.",[81,82,84],"h3",{"id":83},"standardizing-security-in-devops","Standardizing security in DevOps",[12,86,87,91],{},[19,88,90],{"href":89},"/solutions/application-security-testing/","DevSecOps can be executed sustainably"," at scale with standardized security practices. Here are five ways to standardize security across all of your development projects.",[93,94,96],"h4",{"id":95},"educate","Educate",[12,98,99,100,104],{},"Provide security training and education to every employee. Companywide security initiatives ",[19,101,103],{"href":44,"rel":102},[],"help to build a security culture"," and empower employees to take responsibility for security in their own work. Standardized training also spreads awareness of mandatory policies and alerts employees to the actions taken to both secure day-to-day operations and protect their customers.",[93,106,108],{"id":107},"coordinate","Coordinate",[12,110,111],{},"Coordinate a predefined set of security requirements among dev, sec, and ops that can be coded into your pipeline and applied to every project. These can ensure regulatory compliance, foster secure coding practices, trigger red flags or notifications, and educate employees on security best practices.",[93,113,115],{"id":114},"authenticate","Authenticate",[12,117,118],{},"Access controls are a critical component of any security framework, and should be continually monitored and evaluated. By keeping close tabs on who needs access to what, you’re able to build a solid wall around your most critical processes and assets. This eliminates unnecessary access to sensitive data, and helps streamline tracing, recovery, and remediation efforts when something goes wrong. Access control policies also help defend your business by enhancing authentication requirements.",[93,120,122],{"id":121},"integrate","Integrate",[12,124,125],{},"Embed scan and test tools within your development pipeline. Static and dynamic application security testing (SAST and DAST, respectively) can be set to run at every code commit and in the review app. Other tools and tests include IAST, fuzzing, licence compliance, container scanning, and dependency scanning (among others). Embedding tools directly into the pipeline allows you to know exactly what the code has been evaluated for, and also what the code has not been checked for.",[93,127,129],{"id":128},"automate","Automate",[12,131,132,133,138],{},"In DevSecOps, automation is the true key to standardized security practices as it allows for fast, secure development at scale. There are a number of ways to automate security within and around your development pipeline – the trick is to find an appropriate balance between automation and manual intervention. Automated policies should serve as guardrails that guide development smoothly from one security check to the next, but they should also allow for exceptions when needed. These guardrails should automatically generate reports from code scans and consolidate them into a ",[19,134,137],{"href":135,"rel":136},"https://docs.gitlab.com/user/application_security/security_dashboard/",[],"security dashboard"," for review. This helps to minimize human error and any false positives or negatives, allows for consistent vulnerability reporting, and can be used to measure a team’s performance against secure coding expectations. Automation also helps to prevent overly complex security programs by reducing ad-hoc policies and redundant work.",[55,140,142],{"id":141},"the-best-security-programs-will-change","The best security programs will change",[12,144,145],{},"Security will never be a set-it-and-forget-it practice. The threat landscape is constantly changing, external regulations will continue to evolve, and internal business requirements will always keep you on your toes. While setting standards for security will help your team manage the workload, these standards need to be constantly re-evaluated and updated. Outdated security practices will undermine even the most solid programs, so it’s important to use part of the time saved from standardizing and automating to plan for the future.",[12,147,148],{},[15,149,150,151],{},"How efficient are your DevSecOps practices? ",[19,152,155],{"href":153,"rel":154},"https://about.gitlab.com/devsecops/",[],"Take our DevSecOps Maturity Assessment to find out.",[12,157,158],{},[159,160,161],"strong",{},"Learn more about DevSecOps:",[163,164,165,173,180],"ul",{},[166,167,168],"li",{},[19,169,172],{"href":170,"rel":171},"https://about.gitlab.com/customers/jasper-solutions/",[],"Case Study: How Jasper Solutions offers “DevSecOps in a box” with GitLab”",[166,174,175],{},[19,176,179],{"href":177,"rel":178},"https://docs.gitlab.com/integration/jenkins/",[],"How to capitalize on GitLab Security tools with external CI",[166,181,182],{},[19,183,186],{"href":184,"rel":185},"https://about.gitlab.com/blog/toolchain-security-with-gitlab/",[],"How to overcome toolchain security challenges with GitLab",[12,188,189,190,195,196],{},"Cover image by ",[19,191,194],{"href":192,"rel":193},"https://unsplash.com/@aridley88",[],"Andrew Ridley"," on ",[19,197,200],{"href":198,"rel":199},"https://unsplash.com/photos/jR4Zf-riEjI",[],"Unsplash",{"title":202,"searchDepth":203,"depth":203,"links":204},"",2,[205,209],{"id":57,"depth":203,"text":58,"children":206},[207],{"id":83,"depth":208,"text":84},3,{"id":141,"depth":203,"text":142},"insights","2020-07-20","DevSecOps is incomplete without speed and scale. Standardize security to make it happen.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663613/Blog/Hero%20Images/devsecops-security-standardization.jpg",{},true,"/en-us/blog/devsecops-security-standardization",{"title":5,"description":212,"ogTitle":5,"ogDescription":212,"noIndex":215,"ogImage":216,"ogUrl":221,"ogSiteName":222,"ogType":223,"canonicalUrls":221},"https://about.gitlab.com/blog/devsecops-security-standardization","https://about.gitlab.com","article","devsecops-security-standardization","en-us/blog/devsecops-security-standardization",[227,228,229,230],"DevOps","security","workflow","zero trust","BlogPost","sRBwThhHjyezNkI3RqpwxrF-p_-kHd25LJCxZbDNUG4",{"logo":234,"freeTrial":239,"sales":244,"login":249,"items":254,"search":580,"minimal":611,"duo":630,"switchNav":639,"pricingDeployment":650},{"config":235},{"href":236,"dataGaName":237,"dataGaLocation":238},"/","gitlab logo","header",{"text":240,"config":241},"Get free trial",{"href":242,"dataGaName":243,"dataGaLocation":238},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":245,"config":246},"Request a demo",{"href":247,"dataGaName":248,"dataGaLocation":238},"/sales/?contact-topic=request-demo","sales",{"text":250,"config":251},"Sign in",{"href":252,"dataGaName":253,"dataGaLocation":238},"https://gitlab.com/users/sign_in/","sign in",[255,284,383,388,502,558],{"text":256,"config":257,"menu":259},"Platform",{"dataNavLevelOne":258},"platform",{"type":260,"columns":261},"cards",[262,268,276],{"title":256,"description":263,"link":264},"The intelligent orchestration platform for DevSecOps",{"text":265,"config":266},"Explore our Platform",{"href":267,"dataGaName":258,"dataGaLocation":238},"/platform/",{"title":269,"description":270,"link":271},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":272,"config":273},"Meet GitLab Duo",{"href":274,"dataGaName":275,"dataGaLocation":238},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":277,"description":278,"link":279},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":280,"config":281},"Learn more",{"href":282,"dataGaName":283,"dataGaLocation":238},"/why-gitlab/","why gitlab",{"text":285,"left":218,"config":286,"menu":288},"Product",{"dataNavLevelOne":287},"solutions",{"type":289,"link":290,"columns":294,"feature":362},"lists",{"text":291,"config":292},"View all Solutions",{"href":293,"dataGaName":287,"dataGaLocation":238},"/solutions/",[295,319,341],{"title":296,"description":297,"link":298,"items":303},"Automation","CI/CD and automation to accelerate deployment",{"config":299},{"icon":300,"href":301,"dataGaName":302,"dataGaLocation":238},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[304,308,311,315],{"text":305,"config":306},"CI/CD",{"href":307,"dataGaLocation":238,"dataGaName":305},"/solutions/continuous-integration/",{"text":269,"config":309},{"href":274,"dataGaLocation":238,"dataGaName":310},"gitlab duo agent platform - product menu",{"text":312,"config":313},"Source Code Management",{"href":314,"dataGaLocation":238,"dataGaName":312},"/solutions/source-code-management/",{"text":316,"config":317},"Automated Software Delivery",{"href":301,"dataGaLocation":238,"dataGaName":318},"Automated software delivery",{"title":320,"description":321,"link":322,"items":326},"Security","Deliver code faster without compromising security",{"config":323},{"href":89,"dataGaName":324,"dataGaLocation":238,"icon":325},"security and compliance","ShieldCheckLight",[327,331,336],{"text":328,"config":329},"Application Security Testing",{"href":89,"dataGaName":330,"dataGaLocation":238},"Application security testing",{"text":332,"config":333},"Software Supply Chain Security",{"href":334,"dataGaLocation":238,"dataGaName":335},"/solutions/supply-chain/","Software supply chain security",{"text":337,"config":338},"Software Compliance",{"href":339,"dataGaName":340,"dataGaLocation":238},"/solutions/software-compliance/","software compliance",{"title":342,"link":343,"items":348},"Measurement",{"config":344},{"icon":345,"href":346,"dataGaName":347,"dataGaLocation":238},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[349,353,357],{"text":350,"config":351},"Visibility & Measurement",{"href":346,"dataGaLocation":238,"dataGaName":352},"Visibility and Measurement",{"text":354,"config":355},"Value Stream Management",{"href":356,"dataGaLocation":238,"dataGaName":354},"/solutions/value-stream-management/",{"text":358,"config":359},"Analytics & Insights",{"href":360,"dataGaLocation":238,"dataGaName":361},"/solutions/analytics-and-insights/","Analytics and insights",{"title":363,"type":289,"items":364},"GitLab for",[365,371,377],{"text":366,"config":367},"Enterprise",{"icon":368,"href":369,"dataGaLocation":238,"dataGaName":370},"Building","/enterprise/","enterprise",{"text":372,"config":373},"Small Business",{"icon":374,"href":375,"dataGaLocation":238,"dataGaName":376},"Work","/small-business/","small business",{"text":378,"config":379},"Public Sector",{"icon":380,"href":381,"dataGaLocation":238,"dataGaName":382},"Organization","/solutions/public-sector/","public sector",{"text":384,"config":385},"Pricing",{"href":386,"dataGaName":387,"dataGaLocation":238,"dataNavLevelOne":387},"/pricing/","pricing",{"text":389,"config":390,"menu":392},"Resources",{"dataNavLevelOne":391},"resources",{"type":289,"link":393,"columns":397,"feature":491},{"text":394,"config":395},"View all resources",{"href":396,"dataGaName":391,"dataGaLocation":238},"/resources/",[398,431,458],{"title":399,"items":400},"Getting started",[401,406,411,416,421,426],{"text":402,"config":403},"Install",{"href":404,"dataGaName":405,"dataGaLocation":238},"/install/","install",{"text":407,"config":408},"Quick start guides",{"href":409,"dataGaName":410,"dataGaLocation":238},"/get-started/","quick setup checklists",{"text":412,"config":413},"Learn",{"href":414,"dataGaLocation":238,"dataGaName":415},"https://university.gitlab.com/","learn",{"text":417,"config":418},"Product documentation",{"href":419,"dataGaName":420,"dataGaLocation":238},"https://docs.gitlab.com/","product documentation",{"text":422,"config":423},"Best practice videos",{"href":424,"dataGaName":425,"dataGaLocation":238},"/getting-started-videos/","best practice videos",{"text":427,"config":428},"Integrations",{"href":429,"dataGaName":430,"dataGaLocation":238},"/integrations/","integrations",{"title":432,"items":433},"Discover",[434,439,444,449,453],{"text":435,"config":436},"Customer success stories",{"href":437,"dataGaName":438,"dataGaLocation":238},"/customers/","customer success stories",{"text":440,"config":441},"Blog",{"href":442,"dataGaName":443,"dataGaLocation":238},"/blog/","blog",{"text":445,"config":446},"Demo Hub",{"href":447,"dataGaName":448,"dataGaLocation":238},"/demo-hub/","demo hub",{"text":450,"config":451},"The Source",{"href":452,"dataGaName":443,"dataGaLocation":238},"/the-source/",{"text":454,"config":455},"Remote",{"href":456,"dataGaName":457,"dataGaLocation":238},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":459,"items":460},"Connect",[461,466,471,476,481,486],{"text":462,"config":463},"GitLab Services",{"href":464,"dataGaName":465,"dataGaLocation":238},"/services/","services",{"text":467,"config":468},"Contribute",{"href":469,"dataGaName":470,"dataGaLocation":238},"https://contributors.gitlab.com","contribute",{"text":472,"config":473},"Community",{"href":474,"dataGaName":475,"dataGaLocation":238},"/community/","community",{"text":477,"config":478},"Forum",{"href":479,"dataGaName":480,"dataGaLocation":238},"https://forum.gitlab.com/","forum",{"text":482,"config":483},"Events",{"href":484,"dataGaName":485,"dataGaLocation":238},"/events/","events",{"text":487,"config":488},"Partners",{"href":489,"dataGaName":490,"dataGaLocation":238},"/partners/","partners",{"config":492,"title":495,"text":496,"link":497},{"background":493,"textColor":494},"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":498,"config":499},"Read the latest",{"href":500,"dataGaName":501,"dataGaLocation":238},"/whats-new/","whats new",{"text":503,"config":504,"menu":506},"Company",{"dataNavLevelOne":505},"company",{"type":289,"columns":507},[508],{"items":509},[510,515,521,523,528,533,538,543,548,553],{"text":511,"config":512},"About",{"href":513,"dataGaName":514,"dataGaLocation":238},"/company/","about",{"text":516,"config":517,"footerGa":520},"Jobs",{"href":518,"dataGaName":519,"dataGaLocation":238},"/jobs/","jobs",{"dataGaName":519},{"text":482,"config":522},{"href":484,"dataGaName":485,"dataGaLocation":238},{"text":524,"config":525},"Leadership",{"href":526,"dataGaName":527,"dataGaLocation":238},"/company/team/e-group/","leadership",{"text":529,"config":530},"Handbook",{"href":531,"dataGaName":532,"dataGaLocation":238},"https://handbook.gitlab.com/","handbook",{"text":534,"config":535},"Investor relations",{"href":536,"dataGaName":537,"dataGaLocation":238},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":539,"config":540},"Trust Center",{"href":541,"dataGaName":542,"dataGaLocation":238},"/security/","trust center",{"text":544,"config":545},"AI Transparency Center",{"href":546,"dataGaName":547,"dataGaLocation":238},"/ai-transparency-center/","ai transparency center",{"text":549,"config":550},"Newsletter",{"href":551,"dataGaName":552,"dataGaLocation":238},"/company/contact/#contact-forms","newsletter",{"text":554,"config":555},"Press",{"href":556,"dataGaName":557,"dataGaLocation":238},"/press/","press",{"text":559,"config":560,"menu":561},"Contact us",{"dataNavLevelOne":505},{"type":289,"columns":562},[563],{"items":564},[565,570,575],{"text":566,"config":567},"Talk to sales",{"href":568,"dataGaName":569,"dataGaLocation":238},"/sales/","talk to sales",{"text":571,"config":572},"Support portal",{"href":573,"dataGaName":574,"dataGaLocation":238},"https://support.gitlab.com/hc/en-us","support portal",{"text":576,"config":577},"Customer portal",{"href":578,"dataGaName":579,"dataGaLocation":238},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":581,"login":582,"suggestions":589},"Close",{"text":583,"link":584},"To search repositories and projects, login to",{"text":585,"config":586},"gitlab.com",{"href":252,"dataGaName":587,"dataGaLocation":588},"search login","search",{"text":590,"default":591},"Suggestions",[592,594,598,600,604,608],{"text":269,"config":593},{"href":274,"dataGaName":269,"dataGaLocation":588},{"text":595,"config":596},"Code Suggestions (AI)",{"href":597,"dataGaName":595,"dataGaLocation":588},"/solutions/code-suggestions/",{"text":305,"config":599},{"href":307,"dataGaName":305,"dataGaLocation":588},{"text":601,"config":602},"GitLab on AWS",{"href":603,"dataGaName":601,"dataGaLocation":588},"/partners/technology-partners/aws/",{"text":605,"config":606},"GitLab on Google Cloud",{"href":607,"dataGaName":605,"dataGaLocation":588},"/partners/technology-partners/google-cloud-platform/",{"text":609,"config":610},"Why GitLab?",{"href":282,"dataGaName":609,"dataGaLocation":588},{"freeTrial":612,"mobileIcon":617,"desktopIcon":622,"secondaryButton":625},{"text":613,"config":614},"Start free trial",{"href":615,"dataGaName":243,"dataGaLocation":616},"https://gitlab.com/-/trials/new/","nav",{"altText":618,"config":619},"Gitlab Icon",{"src":620,"dataGaName":621,"dataGaLocation":616},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":618,"config":623},{"src":624,"dataGaName":621,"dataGaLocation":616},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":626,"config":627},"Get Started",{"href":628,"dataGaName":629,"dataGaLocation":616},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":631,"mobileIcon":635,"desktopIcon":637},{"text":632,"config":633},"Learn more about GitLab Duo",{"href":274,"dataGaName":634,"dataGaLocation":616},"gitlab duo",{"altText":618,"config":636},{"src":620,"dataGaName":621,"dataGaLocation":616},{"altText":618,"config":638},{"src":624,"dataGaName":621,"dataGaLocation":616},{"button":640,"mobileIcon":645,"desktopIcon":647},{"text":641,"config":642},"/switch",{"href":643,"dataGaName":644,"dataGaLocation":616},"#contact","switch",{"altText":618,"config":646},{"src":620,"dataGaName":621,"dataGaLocation":616},{"altText":618,"config":648},{"src":649,"dataGaName":621,"dataGaLocation":616},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":651,"mobileIcon":656,"desktopIcon":658},{"text":652,"config":653},"Back to pricing",{"href":386,"dataGaName":654,"dataGaLocation":616,"icon":655},"back to pricing","GoBack",{"altText":618,"config":657},{"src":620,"dataGaName":621,"dataGaLocation":616},{"altText":618,"config":659},{"src":624,"dataGaName":621,"dataGaLocation":616},{"title":661,"titleMobile":662,"button":663,"config":668},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":280,"config":664},{"href":665,"dataGaName":666,"dataGaLocation":667},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":669,"disabled":215},"release",{"data":671},{"text":672,"source":673,"edit":679,"contribute":684,"config":689,"items":694,"minimal":901},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":674,"config":675},"View page source",{"href":676,"dataGaName":677,"dataGaLocation":678},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":680,"config":681},"Edit this page",{"href":682,"dataGaName":683,"dataGaLocation":678},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":685,"config":686},"Please contribute",{"href":687,"dataGaName":688,"dataGaLocation":678},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":690,"facebook":691,"youtube":692,"linkedin":693},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[695,742,793,837,869],{"title":384,"links":696,"subMenu":711},[697,701,706],{"text":698,"config":699},"View plans",{"href":386,"dataGaName":700,"dataGaLocation":678},"view plans",{"text":702,"config":703},"Why Premium?",{"href":704,"dataGaName":705,"dataGaLocation":678},"/pricing/premium/","why premium",{"text":707,"config":708},"Why Ultimate?",{"href":709,"dataGaName":710,"dataGaLocation":678},"/pricing/ultimate/","why ultimate",[712],{"title":713,"links":714},"Contact Us",[715,718,720,722,727,732,737],{"text":716,"config":717},"Contact sales",{"href":568,"dataGaName":248,"dataGaLocation":678},{"text":571,"config":719},{"href":573,"dataGaName":574,"dataGaLocation":678},{"text":576,"config":721},{"href":578,"dataGaName":579,"dataGaLocation":678},{"text":723,"config":724},"Status",{"href":725,"dataGaName":726,"dataGaLocation":678},"https://status.gitlab.com/","status",{"text":728,"config":729},"Terms of use",{"href":730,"dataGaName":731,"dataGaLocation":678},"/terms/","terms of use",{"text":733,"config":734},"Privacy statement",{"href":735,"dataGaName":736,"dataGaLocation":678},"/privacy/","privacy statement",{"text":738,"config":739},"Cookie preferences",{"dataGaName":740,"dataGaLocation":678,"id":741,"isOneTrustButton":218},"cookie preferences","ot-sdk-btn",{"title":285,"links":743,"subMenu":752},[744,748],{"text":745,"config":746},"DevSecOps platform",{"href":267,"dataGaName":747,"dataGaLocation":678},"devsecops platform",{"text":749,"config":750},"AI-Assisted Development",{"href":274,"dataGaName":751,"dataGaLocation":678},"ai-assisted development",[753],{"title":754,"links":755},"Topics",[756,761,766,770,775,778,783,788],{"text":757,"config":758},"CICD",{"href":759,"dataGaName":760,"dataGaLocation":678},"/topics/ci-cd/","cicd",{"text":762,"config":763},"GitOps",{"href":764,"dataGaName":765,"dataGaLocation":678},"/topics/gitops/","gitops",{"text":227,"config":767},{"href":768,"dataGaName":769,"dataGaLocation":678},"/topics/devops/","devops",{"text":771,"config":772},"Version Control",{"href":773,"dataGaName":774,"dataGaLocation":678},"/topics/version-control/","version control",{"text":22,"config":776},{"href":21,"dataGaName":777,"dataGaLocation":678},"devsecops",{"text":779,"config":780},"Cloud Native",{"href":781,"dataGaName":782,"dataGaLocation":678},"/topics/cloud-native/","cloud native",{"text":784,"config":785},"AI for Coding",{"href":786,"dataGaName":787,"dataGaLocation":678},"/topics/devops/ai-for-coding/","ai for coding",{"text":789,"config":790},"Agentic AI",{"href":791,"dataGaName":792,"dataGaLocation":678},"/topics/agentic-ai/","agentic ai",{"title":794,"links":795},"Solutions",[796,798,800,805,809,812,816,819,821,824,827,832],{"text":328,"config":797},{"href":89,"dataGaName":328,"dataGaLocation":678},{"text":318,"config":799},{"href":301,"dataGaName":302,"dataGaLocation":678},{"text":801,"config":802},"Agile development",{"href":803,"dataGaName":804,"dataGaLocation":678},"/solutions/agile-delivery/","agile delivery",{"text":806,"config":807},"SCM",{"href":314,"dataGaName":808,"dataGaLocation":678},"source code management",{"text":757,"config":810},{"href":307,"dataGaName":811,"dataGaLocation":678},"continuous integration & delivery",{"text":813,"config":814},"Value stream management",{"href":356,"dataGaName":815,"dataGaLocation":678},"value stream management",{"text":762,"config":817},{"href":818,"dataGaName":765,"dataGaLocation":678},"/solutions/gitops/",{"text":366,"config":820},{"href":369,"dataGaName":370,"dataGaLocation":678},{"text":822,"config":823},"Small business",{"href":375,"dataGaName":376,"dataGaLocation":678},{"text":825,"config":826},"Public sector",{"href":381,"dataGaName":382,"dataGaLocation":678},{"text":828,"config":829},"Education",{"href":830,"dataGaName":831,"dataGaLocation":678},"/solutions/education/","education",{"text":833,"config":834},"Financial services",{"href":835,"dataGaName":836,"dataGaLocation":678},"/solutions/finance/","financial services",{"title":389,"links":838},[839,841,843,845,848,850,853,855,857,859,861,863,865,867],{"text":402,"config":840},{"href":404,"dataGaName":405,"dataGaLocation":678},{"text":407,"config":842},{"href":409,"dataGaName":410,"dataGaLocation":678},{"text":412,"config":844},{"href":414,"dataGaName":415,"dataGaLocation":678},{"text":417,"config":846},{"href":419,"dataGaName":847,"dataGaLocation":678},"docs",{"text":440,"config":849},{"href":442,"dataGaName":443,"dataGaLocation":678},{"text":851,"config":852},"What's new",{"href":500,"dataGaName":501,"dataGaLocation":678},{"text":435,"config":854},{"href":437,"dataGaName":438,"dataGaLocation":678},{"text":454,"config":856},{"href":456,"dataGaName":457,"dataGaLocation":678},{"text":462,"config":858},{"href":464,"dataGaName":465,"dataGaLocation":678},{"text":467,"config":860},{"href":469,"dataGaName":470,"dataGaLocation":678},{"text":472,"config":862},{"href":474,"dataGaName":475,"dataGaLocation":678},{"text":477,"config":864},{"href":479,"dataGaName":480,"dataGaLocation":678},{"text":482,"config":866},{"href":484,"dataGaName":485,"dataGaLocation":678},{"text":487,"config":868},{"href":489,"dataGaName":490,"dataGaLocation":678},{"title":503,"links":870},[871,873,875,877,879,881,885,890,892,894,896],{"text":511,"config":872},{"href":513,"dataGaName":505,"dataGaLocation":678},{"text":516,"config":874},{"href":518,"dataGaName":519,"dataGaLocation":678},{"text":524,"config":876},{"href":526,"dataGaName":527,"dataGaLocation":678},{"text":529,"config":878},{"href":531,"dataGaName":532,"dataGaLocation":678},{"text":534,"config":880},{"href":536,"dataGaName":537,"dataGaLocation":678},{"text":882,"config":883},"Sustainability",{"href":884,"dataGaName":882,"dataGaLocation":678},"/sustainability/",{"text":886,"config":887},"Diversity, inclusion and belonging (DIB)",{"href":888,"dataGaName":889,"dataGaLocation":678},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":539,"config":891},{"href":541,"dataGaName":542,"dataGaLocation":678},{"text":549,"config":893},{"href":551,"dataGaName":552,"dataGaLocation":678},{"text":554,"config":895},{"href":556,"dataGaName":557,"dataGaLocation":678},{"text":897,"config":898},"Modern Slavery Transparency Statement",{"href":899,"dataGaName":900,"dataGaLocation":678},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":902},[903,906,909],{"text":904,"config":905},"Terms",{"href":730,"dataGaName":731,"dataGaLocation":678},{"text":907,"config":908},"Cookies",{"dataGaName":740,"dataGaLocation":678,"id":741,"isOneTrustButton":218},{"text":910,"config":911},"Privacy",{"href":735,"dataGaName":736,"dataGaLocation":678},[913],{"id":914,"title":7,"body":214,"config":915,"content":917,"description":214,"extension":920,"meta":921,"navigation":218,"path":922,"seo":923,"stem":924,"__hash__":925},"blogAuthors/en-us/blog/authors/vanessa-wegner.yml",{"template":916},"BlogAuthor",{"name":7,"config":918},{"headshot":202,"ctfId":919},"vwegner","yml",{},"/en-us/blog/authors/vanessa-wegner",{},"en-us/blog/authors/vanessa-wegner","g7HCM0Grx5gV_2xQsDV9uteKV2uGLbv0_gKd-wvL26M",[927,935,943],{"title":928,"description":929,"heroImage":930,"category":210,"date":931,"authors":932,"slug":934,"externalUrl":214},"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",[933],"Ashley Knobloch","navigation-research-blog-post",{"title":936,"description":937,"heroImage":938,"category":210,"date":939,"authors":940,"slug":942,"externalUrl":214},"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",[941],"Veethika Mishra","beautifying-of-our-ui",{"title":944,"description":945,"heroImage":946,"category":210,"date":947,"authors":948,"slug":950,"externalUrl":214},"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",[949],"Kristina Weis","best-practices-leading-orgs-to-release-software-faster",{"promotions":952},[953,967,979,990],{"id":954,"categories":955,"header":957,"text":958,"button":959,"image":964},"ai-modernization",[956],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":960,"config":961},"Get your AI maturity score",{"href":962,"dataGaName":963,"dataGaLocation":443},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":965},{"src":966},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":968,"categories":969,"header":971,"text":958,"button":972,"image":976},"devops-modernization",[970,777],"product","Are you just managing tools or shipping innovation?",{"text":973,"config":974},"Get your DevOps maturity score",{"href":975,"dataGaName":963,"dataGaLocation":443},"/assessments/devops-modernization-assessment/",{"config":977},{"src":978},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":980,"categories":981,"header":982,"text":958,"button":983,"image":987},"security-modernization",[228],"Are you trading speed for security?",{"text":984,"config":985},"Get your security maturity score",{"href":986,"dataGaName":963,"dataGaLocation":443},"/assessments/security-modernization-assessment/",{"config":988},{"src":989},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":991,"paths":992,"header":995,"text":996,"button":997,"image":1002},"github-azure-migration",[993,994],"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":998,"config":999},"See how GitLab compares to GitHub",{"href":1000,"dataGaName":1001,"dataGaLocation":443},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1003},{"src":978},{"header":1005,"blurb":1006,"button":1007,"secondaryButton":1012},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1008,"config":1009},"Get your free trial",{"href":1010,"dataGaName":243,"dataGaLocation":1011},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":716,"config":1013},{"href":568,"dataGaName":248,"dataGaLocation":1011},1786803758892]