[{"data":1,"prerenderedAt":932},["ShallowReactive",2],{"/blog/feature-highlihght-confidential-issues":3,"navigation-en-us":145,"banner-en-us":573,"footer-en-us":583,"blog-post-authors-en-us-Douglas Alexandre":828,"blog-related-posts-en-us-feature-highlihght-confidential-issues":843,"blog-promotions-en-us":868,"next-steps-en-us":922},{"id":4,"title":5,"authors":6,"body":8,"category":121,"date":122,"description":123,"extension":124,"externalUrl":125,"faq":125,"featured":126,"heroImage":127,"meta":128,"navigation":135,"path":136,"seo":137,"slug":141,"stem":142,"tags":125,"template":143,"updatedDate":125,"__hash__":144},"blogPosts/en-us/blog/feature-highlihght-confidential-issues.md","Feature Highlight: Confidential issues",[7],"Douglas Alexandre",{"type":9,"value":10,"toc":114},"minimark",[11,15,18,23,26,39,49,60,63,66,69,77,81,84,87,90,93,96,100],[12,13,14],"p",{},"Since GitLab 8.6, in both Community and Enterprise edition, there is a small\ncheckbox available when you create or edit an issue, allowing you to mark an\nissue as confidential.",[12,16,17],{},"In some ways it’s a simple feature, but there are complex considerations.\nThe main point is to keep the confidential issues secure.\nHowever, taking care of those considerations caused some problems during\ndevelopment which are typical when you develop a feature for a relatively\nlong time (in this case two weeks). We'll look at that in this feature highlight.",[19,20,22],"h2",{"id":21},"about-confidential-issues","About Confidential Issues",[12,24,25],{},"In the course of maintaining a project, it may be necessary to keep some\ninformation from public view. A typical use case for confidential issues would\nbe a security report. Different projects support different ways to report\nsecurity issues, so if someone needed to report a security issue, they would\nhave to:",[27,28,29,33,36],"ul",{},[30,31,32],"li",{},"Follow the instructions for security vulnerabilities, if there are any.",[30,34,35],{},"File an issue with their findings and a request to get in contact with the\nproject maintainer.",[30,37,38],{},"Find other means to contact the maintainer.",[12,40,41,42,48],{},"In general, most of the projects advise to not use the issue tracker, and\ninstead send an email to a specific email address. As you might imagine before\nthis release we, as an open source project, advised the same\n",[43,44,47],"a",{"href":45,"rel":46},"https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#security-vulnerability-disclosure",[],"security vulnerability disclosure"," in our contributing guide:",[50,51,52],"blockquote",{},[12,53,54,55,59],{},"Please report suspected security vulnerabilities in private to\n",[43,56,58],{"href":57},"mailto:support@gitlab.com","support@gitlab.com",", also see the disclosure section on the GitLab.com website.\nPlease do NOT create publicly viewable issues for suspected security\nvulnerabilities.",[12,61,62],{},"This generated a lot of overhead.",[12,64,65],{},"Behind the scenes, when we got a security report email, we would immediately\ncreate an issue in our internal issue tracker to discuss possible fixes. So in\nthat case, we needed to keep in track two issues trackers: a public one on\nGitLab.com and another private. In addition, the process to report a security\nissue would be more complex than it is now. First, you need to discover how to\nreport the issue, and then report the issue itself.",[12,67,68],{},"Now, with Confidential Issues, the reporter can mark an issue as confidential\nwhen creating or editing an issue, and only project members can see the issue,\nas well as those who are assigned to it. As it turns out, the process is\nconsiderably easier, since reporters don't need to find how to report security\nissues anymore, and we don't need to work on two different issue trackers for\nthe vulnerability disclosures.",[12,70,71,72,76],{},"When an issue is marked as confidential, it is only visible to the team members.\nIt will be hidden from the public view, which means the issue tracker, the\nactivity feed, the milestone views, the auto-complete options, etc. Even if you\nget a ",[73,74,75],"code",{},"@mention",", and you don’t have explicit access to the project, you won't\nreceive any kind of notification (in this case emails, and todos).",[19,78,80],{"id":79},"behind-the-scenes-resolving-merge-conflicts-as-you-go","Behind the scenes: Resolving merge conflicts as you go",[12,82,83],{},"While this is a simple feature, it created an interesting problem, and I'm not\ntalking code-wise.",[12,85,86],{},"Because it causes lots of concern about security, we needed to very careful\nwith this. I had the branch open for a relatively long time (about two weeks),\nand over time, I was running into merge conflicts almost daily. My work was\naffected by other features being developed at the same time, for example\nsubscribe to labels. This happens very often if you have a merge request open\nfor a long time.",[12,88,89],{},"I do try and avoid this when I can. I check everyday if my merge request has\nconflicts and I resolve these as I work, that is, instead of waiting until\nthe final release to merge.",[12,91,92],{},"It also helps a lot to do development with automated tests. As you work in\nparallel with other developers and constantly update the feature, you can tell\nif something is going to break.",[12,94,95],{},"Normally, you don’t work a long time on issues like this but in this case it\nwas unavoidable due to the security nature of the feature. Again, using tests\nmade this a lot easier.",[19,97,99],{"id":98},"more-about-gitlab-86","More about GitLab 8.6",[12,101,102,103,107,108,113],{},"This ",[104,105,106],"em",{},"confidential issues"," feature is just one of the many recent changes in GitLab.\nFind out more ",[43,109,112],{"href":110,"rel":111},"https://docs.gitlab.com/releases/",[],"about our latest release, 8.6"," with new improvements\nand features.",{"title":115,"searchDepth":116,"depth":116,"links":117},"",2,[118,119,120],{"id":21,"depth":116,"text":22},{"id":79,"depth":116,"text":80},{"id":98,"depth":116,"text":99},"insights","2016-03-31","Since GitLab 8.6, in both Community and Enterprise edition, there is a small checkbox available when you create or edit an issue, allowing you to mark an issue as confidential.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684753/Blog/Hero%20Images/door.jpg",{"excerpt":129},{"type":9,"value":130},[131,133],[12,132,14],{},[12,134,17],{},true,"/en-us/blog/feature-highlihght-confidential-issues",{"title":5,"description":123,"ogTitle":5,"ogDescription":123,"noIndex":126,"ogImage":127,"ogUrl":138,"ogSiteName":139,"ogType":140,"canonicalUrls":138},"https://about.gitlab.com/blog/feature-highlihght-confidential-issues","https://about.gitlab.com","article","feature-highlihght-confidential-issues","en-us/blog/feature-highlihght-confidential-issues","BlogPost","0YNhk5msIzmDUsA_B6H7_1_cKE-KIAazkREps4dLpos",{"logo":146,"freeTrial":151,"sales":156,"login":161,"items":166,"search":493,"minimal":524,"duo":543,"switchNav":552,"pricingDeployment":563},{"config":147},{"href":148,"dataGaName":149,"dataGaLocation":150},"/","gitlab logo","header",{"text":152,"config":153},"Get free trial",{"href":154,"dataGaName":155,"dataGaLocation":150},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":157,"config":158},"Request a demo",{"href":159,"dataGaName":160,"dataGaLocation":150},"/sales/?contact-topic=request-demo","sales",{"text":162,"config":163},"Sign in",{"href":164,"dataGaName":165,"dataGaLocation":150},"https://gitlab.com/users/sign_in/","sign in",[167,196,296,301,415,471],{"text":168,"config":169,"menu":171},"Platform",{"dataNavLevelOne":170},"platform",{"type":172,"columns":173},"cards",[174,180,188],{"title":168,"description":175,"link":176},"The intelligent orchestration platform for DevSecOps",{"text":177,"config":178},"Explore our Platform",{"href":179,"dataGaName":170,"dataGaLocation":150},"/platform/",{"title":181,"description":182,"link":183},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":184,"config":185},"Meet GitLab Duo",{"href":186,"dataGaName":187,"dataGaLocation":150},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":189,"description":190,"link":191},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":192,"config":193},"Learn more",{"href":194,"dataGaName":195,"dataGaLocation":150},"/why-gitlab/","why gitlab",{"text":197,"left":135,"config":198,"menu":200},"Product",{"dataNavLevelOne":199},"solutions",{"type":201,"link":202,"columns":206,"feature":275},"lists",{"text":203,"config":204},"View all Solutions",{"href":205,"dataGaName":199,"dataGaLocation":150},"/solutions/",[207,231,254],{"title":208,"description":209,"link":210,"items":215},"Automation","CI/CD and automation to accelerate deployment",{"config":211},{"icon":212,"href":213,"dataGaName":214,"dataGaLocation":150},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[216,220,223,227],{"text":217,"config":218},"CI/CD",{"href":219,"dataGaLocation":150,"dataGaName":217},"/solutions/continuous-integration/",{"text":181,"config":221},{"href":186,"dataGaLocation":150,"dataGaName":222},"gitlab duo agent platform - product menu",{"text":224,"config":225},"Source Code Management",{"href":226,"dataGaLocation":150,"dataGaName":224},"/solutions/source-code-management/",{"text":228,"config":229},"Automated Software Delivery",{"href":213,"dataGaLocation":150,"dataGaName":230},"Automated software delivery",{"title":232,"description":233,"link":234,"items":239},"Security","Deliver code faster without compromising security",{"config":235},{"href":236,"dataGaName":237,"dataGaLocation":150,"icon":238},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[240,244,249],{"text":241,"config":242},"Application Security Testing",{"href":236,"dataGaName":243,"dataGaLocation":150},"Application security testing",{"text":245,"config":246},"Software Supply Chain Security",{"href":247,"dataGaLocation":150,"dataGaName":248},"/solutions/supply-chain/","Software supply chain security",{"text":250,"config":251},"Software Compliance",{"href":252,"dataGaName":253,"dataGaLocation":150},"/solutions/software-compliance/","software compliance",{"title":255,"link":256,"items":261},"Measurement",{"config":257},{"icon":258,"href":259,"dataGaName":260,"dataGaLocation":150},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[262,266,270],{"text":263,"config":264},"Visibility & Measurement",{"href":259,"dataGaLocation":150,"dataGaName":265},"Visibility and Measurement",{"text":267,"config":268},"Value Stream Management",{"href":269,"dataGaLocation":150,"dataGaName":267},"/solutions/value-stream-management/",{"text":271,"config":272},"Analytics & Insights",{"href":273,"dataGaLocation":150,"dataGaName":274},"/solutions/analytics-and-insights/","Analytics and insights",{"title":276,"type":201,"items":277},"GitLab for",[278,284,290],{"text":279,"config":280},"Enterprise",{"icon":281,"href":282,"dataGaLocation":150,"dataGaName":283},"Building","/enterprise/","enterprise",{"text":285,"config":286},"Small Business",{"icon":287,"href":288,"dataGaLocation":150,"dataGaName":289},"Work","/small-business/","small business",{"text":291,"config":292},"Public Sector",{"icon":293,"href":294,"dataGaLocation":150,"dataGaName":295},"Organization","/solutions/public-sector/","public sector",{"text":297,"config":298},"Pricing",{"href":299,"dataGaName":300,"dataGaLocation":150,"dataNavLevelOne":300},"/pricing/","pricing",{"text":302,"config":303,"menu":305},"Resources",{"dataNavLevelOne":304},"resources",{"type":201,"link":306,"columns":310,"feature":404},{"text":307,"config":308},"View all resources",{"href":309,"dataGaName":304,"dataGaLocation":150},"/resources/",[311,344,371],{"title":312,"items":313},"Getting started",[314,319,324,329,334,339],{"text":315,"config":316},"Install",{"href":317,"dataGaName":318,"dataGaLocation":150},"/install/","install",{"text":320,"config":321},"Quick start guides",{"href":322,"dataGaName":323,"dataGaLocation":150},"/get-started/","quick setup checklists",{"text":325,"config":326},"Learn",{"href":327,"dataGaLocation":150,"dataGaName":328},"https://university.gitlab.com/","learn",{"text":330,"config":331},"Product documentation",{"href":332,"dataGaName":333,"dataGaLocation":150},"https://docs.gitlab.com/","product documentation",{"text":335,"config":336},"Best practice videos",{"href":337,"dataGaName":338,"dataGaLocation":150},"/getting-started-videos/","best practice videos",{"text":340,"config":341},"Integrations",{"href":342,"dataGaName":343,"dataGaLocation":150},"/integrations/","integrations",{"title":345,"items":346},"Discover",[347,352,357,362,366],{"text":348,"config":349},"Customer success stories",{"href":350,"dataGaName":351,"dataGaLocation":150},"/customers/","customer success stories",{"text":353,"config":354},"Blog",{"href":355,"dataGaName":356,"dataGaLocation":150},"/blog/","blog",{"text":358,"config":359},"Demo Hub",{"href":360,"dataGaName":361,"dataGaLocation":150},"/demo-hub/","demo hub",{"text":363,"config":364},"The Source",{"href":365,"dataGaName":356,"dataGaLocation":150},"/the-source/",{"text":367,"config":368},"Remote",{"href":369,"dataGaName":370,"dataGaLocation":150},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":372,"items":373},"Connect",[374,379,384,389,394,399],{"text":375,"config":376},"GitLab Services",{"href":377,"dataGaName":378,"dataGaLocation":150},"/services/","services",{"text":380,"config":381},"Contribute",{"href":382,"dataGaName":383,"dataGaLocation":150},"https://contributors.gitlab.com","contribute",{"text":385,"config":386},"Community",{"href":387,"dataGaName":388,"dataGaLocation":150},"/community/","community",{"text":390,"config":391},"Forum",{"href":392,"dataGaName":393,"dataGaLocation":150},"https://forum.gitlab.com/","forum",{"text":395,"config":396},"Events",{"href":397,"dataGaName":398,"dataGaLocation":150},"/events/","events",{"text":400,"config":401},"Partners",{"href":402,"dataGaName":403,"dataGaLocation":150},"/partners/","partners",{"config":405,"title":408,"text":409,"link":410},{"background":406,"textColor":407},"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":411,"config":412},"Read the latest",{"href":413,"dataGaName":414,"dataGaLocation":150},"/whats-new/","whats new",{"text":416,"config":417,"menu":419},"Company",{"dataNavLevelOne":418},"company",{"type":201,"columns":420},[421],{"items":422},[423,428,434,436,441,446,451,456,461,466],{"text":424,"config":425},"About",{"href":426,"dataGaName":427,"dataGaLocation":150},"/company/","about",{"text":429,"config":430,"footerGa":433},"Jobs",{"href":431,"dataGaName":432,"dataGaLocation":150},"/jobs/","jobs",{"dataGaName":432},{"text":395,"config":435},{"href":397,"dataGaName":398,"dataGaLocation":150},{"text":437,"config":438},"Leadership",{"href":439,"dataGaName":440,"dataGaLocation":150},"/company/team/e-group/","leadership",{"text":442,"config":443},"Handbook",{"href":444,"dataGaName":445,"dataGaLocation":150},"https://handbook.gitlab.com/","handbook",{"text":447,"config":448},"Investor relations",{"href":449,"dataGaName":450,"dataGaLocation":150},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":452,"config":453},"Trust Center",{"href":454,"dataGaName":455,"dataGaLocation":150},"/security/","trust center",{"text":457,"config":458},"AI Transparency Center",{"href":459,"dataGaName":460,"dataGaLocation":150},"/ai-transparency-center/","ai transparency center",{"text":462,"config":463},"Newsletter",{"href":464,"dataGaName":465,"dataGaLocation":150},"/company/contact/#contact-forms","newsletter",{"text":467,"config":468},"Press",{"href":469,"dataGaName":470,"dataGaLocation":150},"/press/","press",{"text":472,"config":473,"menu":474},"Contact us",{"dataNavLevelOne":418},{"type":201,"columns":475},[476],{"items":477},[478,483,488],{"text":479,"config":480},"Talk to sales",{"href":481,"dataGaName":482,"dataGaLocation":150},"/sales/","talk to sales",{"text":484,"config":485},"Support portal",{"href":486,"dataGaName":487,"dataGaLocation":150},"https://support.gitlab.com/hc/en-us","support portal",{"text":489,"config":490},"Customer portal",{"href":491,"dataGaName":492,"dataGaLocation":150},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":494,"login":495,"suggestions":502},"Close",{"text":496,"link":497},"To search repositories and projects, login to",{"text":498,"config":499},"gitlab.com",{"href":164,"dataGaName":500,"dataGaLocation":501},"search login","search",{"text":503,"default":504},"Suggestions",[505,507,511,513,517,521],{"text":181,"config":506},{"href":186,"dataGaName":181,"dataGaLocation":501},{"text":508,"config":509},"Code Suggestions (AI)",{"href":510,"dataGaName":508,"dataGaLocation":501},"/solutions/code-suggestions/",{"text":217,"config":512},{"href":219,"dataGaName":217,"dataGaLocation":501},{"text":514,"config":515},"GitLab on AWS",{"href":516,"dataGaName":514,"dataGaLocation":501},"/partners/technology-partners/aws/",{"text":518,"config":519},"GitLab on Google Cloud",{"href":520,"dataGaName":518,"dataGaLocation":501},"/partners/technology-partners/google-cloud-platform/",{"text":522,"config":523},"Why GitLab?",{"href":194,"dataGaName":522,"dataGaLocation":501},{"freeTrial":525,"mobileIcon":530,"desktopIcon":535,"secondaryButton":538},{"text":526,"config":527},"Start free trial",{"href":528,"dataGaName":155,"dataGaLocation":529},"https://gitlab.com/-/trials/new/","nav",{"altText":531,"config":532},"Gitlab Icon",{"src":533,"dataGaName":534,"dataGaLocation":529},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":531,"config":536},{"src":537,"dataGaName":534,"dataGaLocation":529},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":539,"config":540},"Get Started",{"href":541,"dataGaName":542,"dataGaLocation":529},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":544,"mobileIcon":548,"desktopIcon":550},{"text":545,"config":546},"Learn more about GitLab Duo",{"href":186,"dataGaName":547,"dataGaLocation":529},"gitlab duo",{"altText":531,"config":549},{"src":533,"dataGaName":534,"dataGaLocation":529},{"altText":531,"config":551},{"src":537,"dataGaName":534,"dataGaLocation":529},{"button":553,"mobileIcon":558,"desktopIcon":560},{"text":554,"config":555},"/switch",{"href":556,"dataGaName":557,"dataGaLocation":529},"#contact","switch",{"altText":531,"config":559},{"src":533,"dataGaName":534,"dataGaLocation":529},{"altText":531,"config":561},{"src":562,"dataGaName":534,"dataGaLocation":529},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":564,"mobileIcon":569,"desktopIcon":571},{"text":565,"config":566},"Back to pricing",{"href":299,"dataGaName":567,"dataGaLocation":529,"icon":568},"back to pricing","GoBack",{"altText":531,"config":570},{"src":533,"dataGaName":534,"dataGaLocation":529},{"altText":531,"config":572},{"src":537,"dataGaName":534,"dataGaLocation":529},{"title":574,"titleMobile":575,"button":576,"config":581},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":192,"config":577},{"href":578,"dataGaName":579,"dataGaLocation":580},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":582,"disabled":126},"release",{"data":584},{"text":585,"source":586,"edit":592,"contribute":597,"config":602,"items":607,"minimal":817},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":587,"config":588},"View page source",{"href":589,"dataGaName":590,"dataGaLocation":591},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":593,"config":594},"Edit this page",{"href":595,"dataGaName":596,"dataGaLocation":591},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":598,"config":599},"Please contribute",{"href":600,"dataGaName":601,"dataGaLocation":591},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":603,"facebook":604,"youtube":605,"linkedin":606},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[608,655,709,753,785],{"title":297,"links":609,"subMenu":624},[610,614,619],{"text":611,"config":612},"View plans",{"href":299,"dataGaName":613,"dataGaLocation":591},"view plans",{"text":615,"config":616},"Why Premium?",{"href":617,"dataGaName":618,"dataGaLocation":591},"/pricing/premium/","why premium",{"text":620,"config":621},"Why Ultimate?",{"href":622,"dataGaName":623,"dataGaLocation":591},"/pricing/ultimate/","why ultimate",[625],{"title":626,"links":627},"Contact Us",[628,631,633,635,640,645,650],{"text":629,"config":630},"Contact sales",{"href":481,"dataGaName":160,"dataGaLocation":591},{"text":484,"config":632},{"href":486,"dataGaName":487,"dataGaLocation":591},{"text":489,"config":634},{"href":491,"dataGaName":492,"dataGaLocation":591},{"text":636,"config":637},"Status",{"href":638,"dataGaName":639,"dataGaLocation":591},"https://status.gitlab.com/","status",{"text":641,"config":642},"Terms of use",{"href":643,"dataGaName":644,"dataGaLocation":591},"/terms/","terms of use",{"text":646,"config":647},"Privacy statement",{"href":648,"dataGaName":649,"dataGaLocation":591},"/privacy/","privacy statement",{"text":651,"config":652},"Cookie preferences",{"dataGaName":653,"dataGaLocation":591,"id":654,"isOneTrustButton":135},"cookie preferences","ot-sdk-btn",{"title":197,"links":656,"subMenu":665},[657,661],{"text":658,"config":659},"DevSecOps platform",{"href":179,"dataGaName":660,"dataGaLocation":591},"devsecops platform",{"text":662,"config":663},"AI-Assisted Development",{"href":186,"dataGaName":664,"dataGaLocation":591},"ai-assisted development",[666],{"title":667,"links":668},"Topics",[669,674,679,684,689,694,699,704],{"text":670,"config":671},"CICD",{"href":672,"dataGaName":673,"dataGaLocation":591},"/topics/ci-cd/","cicd",{"text":675,"config":676},"GitOps",{"href":677,"dataGaName":678,"dataGaLocation":591},"/topics/gitops/","gitops",{"text":680,"config":681},"DevOps",{"href":682,"dataGaName":683,"dataGaLocation":591},"/topics/devops/","devops",{"text":685,"config":686},"Version Control",{"href":687,"dataGaName":688,"dataGaLocation":591},"/topics/version-control/","version control",{"text":690,"config":691},"DevSecOps",{"href":692,"dataGaName":693,"dataGaLocation":591},"/topics/devsecops/","devsecops",{"text":695,"config":696},"Cloud Native",{"href":697,"dataGaName":698,"dataGaLocation":591},"/topics/cloud-native/","cloud native",{"text":700,"config":701},"AI for Coding",{"href":702,"dataGaName":703,"dataGaLocation":591},"/topics/devops/ai-for-coding/","ai for coding",{"text":705,"config":706},"Agentic AI",{"href":707,"dataGaName":708,"dataGaLocation":591},"/topics/agentic-ai/","agentic ai",{"title":710,"links":711},"Solutions",[712,714,716,721,725,728,732,735,737,740,743,748],{"text":241,"config":713},{"href":236,"dataGaName":241,"dataGaLocation":591},{"text":230,"config":715},{"href":213,"dataGaName":214,"dataGaLocation":591},{"text":717,"config":718},"Agile development",{"href":719,"dataGaName":720,"dataGaLocation":591},"/solutions/agile-delivery/","agile delivery",{"text":722,"config":723},"SCM",{"href":226,"dataGaName":724,"dataGaLocation":591},"source code management",{"text":670,"config":726},{"href":219,"dataGaName":727,"dataGaLocation":591},"continuous integration & delivery",{"text":729,"config":730},"Value stream management",{"href":269,"dataGaName":731,"dataGaLocation":591},"value stream management",{"text":675,"config":733},{"href":734,"dataGaName":678,"dataGaLocation":591},"/solutions/gitops/",{"text":279,"config":736},{"href":282,"dataGaName":283,"dataGaLocation":591},{"text":738,"config":739},"Small business",{"href":288,"dataGaName":289,"dataGaLocation":591},{"text":741,"config":742},"Public sector",{"href":294,"dataGaName":295,"dataGaLocation":591},{"text":744,"config":745},"Education",{"href":746,"dataGaName":747,"dataGaLocation":591},"/solutions/education/","education",{"text":749,"config":750},"Financial services",{"href":751,"dataGaName":752,"dataGaLocation":591},"/solutions/finance/","financial services",{"title":302,"links":754},[755,757,759,761,764,766,769,771,773,775,777,779,781,783],{"text":315,"config":756},{"href":317,"dataGaName":318,"dataGaLocation":591},{"text":320,"config":758},{"href":322,"dataGaName":323,"dataGaLocation":591},{"text":325,"config":760},{"href":327,"dataGaName":328,"dataGaLocation":591},{"text":330,"config":762},{"href":332,"dataGaName":763,"dataGaLocation":591},"docs",{"text":353,"config":765},{"href":355,"dataGaName":356,"dataGaLocation":591},{"text":767,"config":768},"What's new",{"href":413,"dataGaName":414,"dataGaLocation":591},{"text":348,"config":770},{"href":350,"dataGaName":351,"dataGaLocation":591},{"text":367,"config":772},{"href":369,"dataGaName":370,"dataGaLocation":591},{"text":375,"config":774},{"href":377,"dataGaName":378,"dataGaLocation":591},{"text":380,"config":776},{"href":382,"dataGaName":383,"dataGaLocation":591},{"text":385,"config":778},{"href":387,"dataGaName":388,"dataGaLocation":591},{"text":390,"config":780},{"href":392,"dataGaName":393,"dataGaLocation":591},{"text":395,"config":782},{"href":397,"dataGaName":398,"dataGaLocation":591},{"text":400,"config":784},{"href":402,"dataGaName":403,"dataGaLocation":591},{"title":416,"links":786},[787,789,791,793,795,797,801,806,808,810,812],{"text":424,"config":788},{"href":426,"dataGaName":418,"dataGaLocation":591},{"text":429,"config":790},{"href":431,"dataGaName":432,"dataGaLocation":591},{"text":437,"config":792},{"href":439,"dataGaName":440,"dataGaLocation":591},{"text":442,"config":794},{"href":444,"dataGaName":445,"dataGaLocation":591},{"text":447,"config":796},{"href":449,"dataGaName":450,"dataGaLocation":591},{"text":798,"config":799},"Sustainability",{"href":800,"dataGaName":798,"dataGaLocation":591},"/sustainability/",{"text":802,"config":803},"Diversity, inclusion and belonging (DIB)",{"href":804,"dataGaName":805,"dataGaLocation":591},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":452,"config":807},{"href":454,"dataGaName":455,"dataGaLocation":591},{"text":462,"config":809},{"href":464,"dataGaName":465,"dataGaLocation":591},{"text":467,"config":811},{"href":469,"dataGaName":470,"dataGaLocation":591},{"text":813,"config":814},"Modern Slavery Transparency Statement",{"href":815,"dataGaName":816,"dataGaLocation":591},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":818},[819,822,825],{"text":820,"config":821},"Terms",{"href":643,"dataGaName":644,"dataGaLocation":591},{"text":823,"config":824},"Cookies",{"dataGaName":653,"dataGaLocation":591,"id":654,"isOneTrustButton":135},{"text":826,"config":827},"Privacy",{"href":648,"dataGaName":649,"dataGaLocation":591},[829],{"id":830,"title":7,"body":125,"config":831,"content":833,"description":125,"extension":837,"meta":838,"navigation":135,"path":839,"seo":840,"stem":841,"__hash__":842},"blogAuthors/en-us/blog/authors/douglas-alexandre.yml",{"template":832},"BlogAuthor",{"name":7,"config":834},{"headshot":835,"ctfId":836},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","Douglas-Alexandre","yml",{},"/en-us/blog/authors/douglas-alexandre",{},"en-us/blog/authors/douglas-alexandre","9oIVDz8T3S38e4STEdDnYFoN7NNjji5DBqDlbWomMxo",[844,852,860],{"title":845,"description":846,"heroImage":847,"category":121,"date":848,"authors":849,"slug":851,"externalUrl":125},"How we overhauled GitLab navigation","Users weren't getting what they needed from our navigation. Here are the steps we took to turn that experience around.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682884/Blog/Hero%20Images/navigation.jpg","2023-08-15",[850],"Ashley Knobloch","navigation-research-blog-post",{"title":853,"description":854,"heroImage":855,"category":121,"date":856,"authors":857,"slug":859,"externalUrl":125},"Beautifying our UI: Giving GitLab build features a fresh look","Get an inside look at how we are improving the usability of GitLab build features with multiple visual design improvements.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682807/Blog/Hero%20Images/beautify.jpg","2023-07-05",[858],"Veethika Mishra","beautifying-of-our-ui",{"title":861,"description":862,"heroImage":863,"category":121,"date":864,"authors":865,"slug":867,"externalUrl":125},"4 best practices leading orgs to release software faster","GitLab's 2023 Global DevSecOps Survey illuminates the strategies that organizations deploying more frequently have in common.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663908/Blog/Hero%20Images/2023-devsecops-report-blog-banner2.png","2023-06-08",[866],"Kristina Weis","best-practices-leading-orgs-to-release-software-faster",{"promotions":869},[870,884,896,908],{"id":871,"categories":872,"header":874,"text":875,"button":876,"image":881},"ai-modernization",[873],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":877,"config":878},"Get your AI maturity score",{"href":879,"dataGaName":880,"dataGaLocation":356},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":882},{"src":883},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":885,"categories":886,"header":888,"text":875,"button":889,"image":893},"devops-modernization",[887,693],"product","Are you just managing tools or shipping innovation?",{"text":890,"config":891},"Get your DevOps maturity score",{"href":892,"dataGaName":880,"dataGaLocation":356},"/assessments/devops-modernization-assessment/",{"config":894},{"src":895},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":897,"categories":898,"header":900,"text":875,"button":901,"image":905},"security-modernization",[899],"security","Are you trading speed for security?",{"text":902,"config":903},"Get your security maturity score",{"href":904,"dataGaName":880,"dataGaLocation":356},"/assessments/security-modernization-assessment/",{"config":906},{"src":907},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":909,"paths":910,"header":913,"text":914,"button":915,"image":920},"github-azure-migration",[911,912],"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":916,"config":917},"See how GitLab compares to GitHub",{"href":918,"dataGaName":919,"dataGaLocation":356},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":921},{"src":895},{"header":923,"blurb":924,"button":925,"secondaryButton":930},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":926,"config":927},"Get your free trial",{"href":928,"dataGaName":155,"dataGaLocation":929},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":629,"config":931},{"href":481,"dataGaName":160,"dataGaLocation":929},1786803749405]