[{"data":1,"prerenderedAt":820},["ShallowReactive",2],{"/topics/context-graph":3,"navigation-en-us":128,"banner-en-us":556,"footer-en-us":566,"next-steps-en-us":810},{"id":4,"title":5,"body":6,"category":6,"config":6,"content":7,"description":6,"extension":119,"meta":120,"navigation":121,"path":122,"seo":123,"slug":6,"stem":126,"testContent":6,"type":6,"__hash__":127},"pages/en-us/topics/context-graph/index.yml","",null,[8,18,24,95,117],{"type":9,"componentName":9,"componentContent":10},"CommonBreadcrumbs",{"crumbs":11},[12,16],{"title":13,"config":14},"Topics",{"href":15},"/topics/",{"title":17},"Context graphs",{"type":19,"componentName":19,"componentContent":20},"CommonArticleHero",{"title":17,"text":21,"config":22},"A context graph is a structured map of relationships between code, issues, and pipelines that AI agents use to understand context.",{"id":23},"context-graphs",{"type":25,"componentName":25,"componentContent":26},"CommonSideNavigationWithTree",{"anchors":27,"components":58},{"text":28,"data":29},"On this page",[30,34,38,42,46,50,54],{"config":31,"text":33},{"href":32},"#what-are-context-graphs","What are context graphs?",{"config":35,"text":37},{"href":36},"#why-context-graphs-matter","Why context graphs matter",{"config":39,"text":41},{"href":40},"#how-context-graphs-differ-from-traditional-retrieval","How context graphs differ from traditional retrieval",{"config":43,"text":45},{"href":44},"#what-a-context-graph-can-include","What a context graph can include",{"config":47,"text":49},{"href":48},"#common-context-graph-use-cases","Common context graph use cases",{"config":51,"text":53},{"href":52},"#what-to-look-for-in-a-context-graph-platform","What to look for in a context graph platform",{"config":55,"text":57},{"href":56},"#the-context-layer-for-ai-agents-gitlab-orbit","The context layer for AI agents: GitLab Orbit",[59,65,70,75,80,85,90],{"type":60,"componentName":60,"componentContent":61},"TopicsCopy",{"header":33,"text":62,"config":63},"A context graph is a structured, queryable model of your organization: the entities (people, services, projects), the relationships between them, how that state changes over time, and the decision events that explain why something happened. \n\nRather than just storing information, a context graph stores the connections between pieces of information as queryable relationships, so an AI agent can ask \"how does this connect to that?\" and traverse the answer instead of making an assumption.\n\nThink of a typical enterprise as an iceberg. A small, clean layer sits above the waterline with information like CRM records, ERP transactions, and pipeline metrics. Below it sits a much larger mass that most systems never capture: the exceptions, approvals, and judgment calls that run the business.\n\n\u003Cimg src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1785952852/smlrmoeuxe0z7db9c7ng.png\" alt=\"Iceberg showing a small tip of structured data (ERP, pipeline, CRM) above water and a far larger hidden mass of approvals, judgement calls, exceptions, and cross-system syntheses below.\">\n\nIn the modern enterprise, data is rarely static. It is a sprawling web of interconnected signals, yet our most critical decisions are often made in a vacuum, isolated from the very history that informs them.\n\nAI agents are increasingly tasked with complex reasoning, but they frequently fail because they lack access to the \"tribal knowledge\" locked away in Slack threads, side-conversations, and the people who have worked with the company for years. This is where the context graph becomes essential.",{"id":64},"what-are-context-graphs",{"type":60,"componentName":60,"componentContent":66},{"header":37,"text":67,"config":68},"Most enterprise organizations only manage what's above the waterline. Data sits in a warehouse or scattered across SaaS platforms, but it isn't formatted in a way that lets machines interpret it across disparate workflows, so the reasoning beneath it stays exactly where it always was: undocumented. Context graphs pull that submerged layer up into the light, turning fragmented records into connected, machine-readable relationships that people and agents can query directly.\n\n**This matters because, in the age of generative AI, context is the primary currency.** When that context is incomplete, agents may create believable output, but they can still miss dependencies, ownership, policy rules, or downstream impact. Context graphs provide the necessary governance policies and decision context to ground agentic reasoning in reality.\n\nThey ensure that when an AI suggests a change, it does so with a full understanding of the impact analysis and risk profiles involved, above the waterline and below it.",{"id":69},"why-context-graphs-matter",{"type":60,"componentName":60,"componentContent":71},{"header":41,"text":72,"config":73},"Unlike traditional vector search which finds isolated but similar documents, context graphs map the explicit relationships between data points, allowing AI to traverse known connections.\n\nTraditional retrieval, such as standard vector search in vector stores, excels at finding documents similar to a query. However, it often lacks the structural awareness required for complex enterprise logic. Traditional retrieval gathers logs or snippets and asks the model to \"infer\" relationships, which is inherently error-prone.\n\nContext graphs take a different approach: they preserve the graph structure in advance using Resource Description Framework (RDF) triples and typed relationships. By leveraging knowledge graphs and multi-vector search, these systems allow an orchestration layer to traverse known connections instead of guessing them at runtime.\n\nThis creates a semantic layer where the model understands where the data came from and what shaped it, not just the semantic similarity of text.",{"id":74},"how-context-graphs-differ-from-traditional-retrieval",{"type":60,"componentName":60,"componentContent":76},{"header":45,"text":77,"config":78},"A context graph can represent many kinds of entities and relationships. In a software environment, that may include:\n\n* files, directories, classes, functions, and modules  \n* relationships such as dependencies, inheritance, and function calls  \n* lifecycle data such as code, merge requests, pipelines, deployments, vulnerabilities, and ownership  \n* broader operational and organizational signals, including incidents, environments, and team context\n\n\u003Cbr>\u003C/br> In software environments, this broader model becomes especially valuable in a [developer context graph](/topics/context-graph/developer-context-graph/), where code, CI/CD, security, deployments, and ownership can all be queried together rather than understood as separate systems.\n\nSome teams push the model further by treating decision events as first-class records. That means not only capturing what exists and how it connects, but also preserving why a decision was made, what policy was applied, which exception was granted, and who approved it.\n\n### **The impact of decision events in software development and agentic AI**\n\nHear from Nitin Singhal, the VP of Engineering at GitLab, how context from the decision layer influences software development. \n\n\u003Cdiv style=\"padding:56.25% 0 0 0;position:relative;\">\u003Ciframe src=\"https://player.vimeo.com/video/1205963534?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"The Decision Layer\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n\u003Cbr>\u003C/br> That is why [decision events](/topics/context-graph/decision-events/) matter: they turn organizational judgment into something durable, queryable, and reusable across future actions.\n\n[Learn more about the decision layer](https://learn.gitlab.com/transcend-evergreen/whitepaper-use-case-for-context-graphs) and how enterprises can capture decision events so AI agents can reason from judgement, not just data.",{"id":79},"what-a-context-graph-can-include",{"type":60,"componentName":60,"componentContent":81},{"header":49,"text":82,"config":83},"Context graphs are very useful when teams and agents need answers that cover repositories, services, pipelines, and ownership boundaries.\n\n### **Uncover hidden risk in code review**\n\nBehind every merge request approval is reasoning that normally disappears: a deferred risk, a deadline-driven shortcut, or a concern raised once and forgotten. A context graph can record that reasoning as a structured decision event, so the next reviewer builds on what was already considered instead of starting over.\n\n### **Plan and scope migrations**\n\nPlatform teams can map complex service dependencies before a major infrastructure shift. By querying the lineage traversal of an application, they can visualize potential bottlenecks before a single line of code is moved.\n\n### **Trace vulnerabilities**\n\nSecurity teams can find where a vulnerable function, library, or pattern appears across repositories. They can also identify affected owners faster, significantly reducing the \"mean time to remediate\" for critical security flaws. \n\n### **Triage pipeline failure**\n\nEngineers can investigate a failed CI job using one shared graph instead of piecing together logs, merge requests, and configuration changes across five or six systems. They do not have to piece together the path from multiple systems, as the decision lineage provides an immediate audit trail.\n\n### **Receive analytics on demand**\n\nEngineers ask natural language questions about their data in agentic chat and get charts and tables back instantly, covering relationships across code, pipelines, and deployments that previously required manual assembly.",{"id":84},"common-context-graph-use-cases",{"type":60,"componentName":60,"componentContent":86},{"header":53,"text":87,"config":88},"A useful context graph should do more than index files. It should stay current as work changes, support direct querying, and expose structured relationships that AI systems and humans can use consistently.\n\nImportant capabilities include:\n\n* a live, continuously updated graph rather than a static export  \n* coverage across the software lifecycle, not only source code  \n* support for multiple access patterns such as UI, CLI, REST, or MCP  \n* queryable relationships that return exact nodes and edges rather than long unstructured dumps  \n* governance and access controls so agents only reach authorized context\n\n\u003Cbr>\u003C/br> In practice, this means [architecting a context graph for AI agents](/topics/context-graph/ai-agent-decision-making/) so it can stay current, support multiple query patterns, and preserve the relationships agents need at decision time.",{"id":89},"what-to-look-for-in-a-context-graph-platform",{"type":60,"componentName":60,"componentContent":91},{"header":57,"text":92,"config":93},"The distinction between a \"smart\" agent and an \"enterprise-ready\" agent will be its access to a high-fidelity context graph.\n\nBy anchoring generative AI in a semantic backbone of RDF statements and decision lineage, organizations can transform their systems of record into true systems of intelligence.\n\nWhether you are managing a massive supply chain model or a simple service migration, the power to map what’s below the iceberg’s waterline is the next frontier of enterprise software.\n\nGitLab Orbit is how we’re building that layer for the software delivery lifecycle.\n\nIt's a live, queryable graph of all your code, merge requests, pipelines, deployments, vulnerabilities, and ownership, with every relationship between them kept current as your team works. Agents reason from first-party GitLab data instead of stitched-together tool calls. Engineers can query the same graph to trace changes, investigate incidents, and answer the cross-system questions that today take hours of manual reconstruction.\n\n[Explore GitLab Orbit](https://about.gitlab.com/gitlab-orbit/) to discover the context your team is missing.",{"id":94},"the-context-layer-for-ai-agents-gitlab-orbit",{"type":96,"componentName":96,"componentContent":97},"CommonFaq",{"header":98,"groups":99},"Frequently Asked Questions",[100],{"questions":101},[102,105,108,111,114],{"question":103,"answer":104},"What is a context graph?","A context graph is a structured, queryable model of an organization's entities (people, services, projects), the relationships between them, how that state changes over time, and the decision events that explain why something happened. It stores connections as queryable relationships, so AI agents can traverse answers instead of assuming them.",{"question":106,"answer":107},"How is a context graph different from traditional vector search?","Traditional vector search finds isolated documents similar to a query, then asks the model to infer relationships—an inherently error-prone process. Context graphs instead preserve explicit relationships in advance using RDF triples and typed connections, letting AI traverse known links rather than guessing them at runtime.",{"question":109,"answer":110},"What data can a context graph include?","In software environments, a context graph can include files, directories, classes, functions, and modules; relationships such as dependencies, inheritance, and function calls; lifecycle data like merge requests, pipelines, deployments, and vulnerabilities; and broader signals including incidents, environments, ownership, and team context.",{"question":112,"answer":113},"What are common context graph use cases?","Common uses include uncovering hidden risk in code review, planning and scoping migrations by mapping service dependencies, tracing vulnerabilities across repositories, triaging pipeline failures from one shared graph, and receiving on-demand analytics through natural-language questions about code, pipelines, and deployments.",{"question":115,"answer":116},"What should you look for in a context graph platform?","Look for a live, continuously updated graph rather than a static export; coverage across the full software lifecycle, not just source code; multiple access patterns like UI, CLI, REST, or MCP; queryable relationships returning exact nodes and edges; and governance controls so agents only reach authorized context.",{"type":118,"componentName":118},"CommonNextSteps","yml",{},true,"/en-us/topics/context-graph",{"config":124,"title":33,"ogTitle":33,"description":21,"ogDescription":21},{"noIndex":125},false,"en-us/topics/context-graph/index","_pRdihRz7dEBSu7NDpC0CXbv-pg7L_RNRHWMc6aG32M",{"logo":129,"freeTrial":134,"sales":139,"login":144,"items":149,"search":476,"minimal":507,"duo":526,"switchNav":535,"pricingDeployment":546},{"config":130},{"href":131,"dataGaName":132,"dataGaLocation":133},"/","gitlab logo","header",{"text":135,"config":136},"Get free trial",{"href":137,"dataGaName":138,"dataGaLocation":133},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":140,"config":141},"Request a demo",{"href":142,"dataGaName":143,"dataGaLocation":133},"/sales/?contact-topic=request-demo","sales",{"text":145,"config":146},"Sign in",{"href":147,"dataGaName":148,"dataGaLocation":133},"https://gitlab.com/users/sign_in/","sign in",[150,179,279,284,398,454],{"text":151,"config":152,"menu":154},"Platform",{"dataNavLevelOne":153},"platform",{"type":155,"columns":156},"cards",[157,163,171],{"title":151,"description":158,"link":159},"The intelligent orchestration platform for DevSecOps",{"text":160,"config":161},"Explore our Platform",{"href":162,"dataGaName":153,"dataGaLocation":133},"/platform/",{"title":164,"description":165,"link":166},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":167,"config":168},"Meet GitLab Duo",{"href":169,"dataGaName":170,"dataGaLocation":133},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":172,"description":173,"link":174},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":175,"config":176},"Learn more",{"href":177,"dataGaName":178,"dataGaLocation":133},"/why-gitlab/","why gitlab",{"text":180,"left":121,"config":181,"menu":183},"Product",{"dataNavLevelOne":182},"solutions",{"type":184,"link":185,"columns":189,"feature":258},"lists",{"text":186,"config":187},"View all Solutions",{"href":188,"dataGaName":182,"dataGaLocation":133},"/solutions/",[190,214,237],{"title":191,"description":192,"link":193,"items":198},"Automation","CI/CD and automation to accelerate deployment",{"config":194},{"icon":195,"href":196,"dataGaName":197,"dataGaLocation":133},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[199,203,206,210],{"text":200,"config":201},"CI/CD",{"href":202,"dataGaLocation":133,"dataGaName":200},"/solutions/continuous-integration/",{"text":164,"config":204},{"href":169,"dataGaLocation":133,"dataGaName":205},"gitlab duo agent platform - product menu",{"text":207,"config":208},"Source Code Management",{"href":209,"dataGaLocation":133,"dataGaName":207},"/solutions/source-code-management/",{"text":211,"config":212},"Automated Software Delivery",{"href":196,"dataGaLocation":133,"dataGaName":213},"Automated software delivery",{"title":215,"description":216,"link":217,"items":222},"Security","Deliver code faster without compromising security",{"config":218},{"href":219,"dataGaName":220,"dataGaLocation":133,"icon":221},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[223,227,232],{"text":224,"config":225},"Application Security Testing",{"href":219,"dataGaName":226,"dataGaLocation":133},"Application security testing",{"text":228,"config":229},"Software Supply Chain Security",{"href":230,"dataGaLocation":133,"dataGaName":231},"/solutions/supply-chain/","Software supply chain security",{"text":233,"config":234},"Software Compliance",{"href":235,"dataGaName":236,"dataGaLocation":133},"/solutions/software-compliance/","software compliance",{"title":238,"link":239,"items":244},"Measurement",{"config":240},{"icon":241,"href":242,"dataGaName":243,"dataGaLocation":133},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[245,249,253],{"text":246,"config":247},"Visibility & Measurement",{"href":242,"dataGaLocation":133,"dataGaName":248},"Visibility and Measurement",{"text":250,"config":251},"Value Stream Management",{"href":252,"dataGaLocation":133,"dataGaName":250},"/solutions/value-stream-management/",{"text":254,"config":255},"Analytics & Insights",{"href":256,"dataGaLocation":133,"dataGaName":257},"/solutions/analytics-and-insights/","Analytics and insights",{"title":259,"type":184,"items":260},"GitLab for",[261,267,273],{"text":262,"config":263},"Enterprise",{"icon":264,"href":265,"dataGaLocation":133,"dataGaName":266},"Building","/enterprise/","enterprise",{"text":268,"config":269},"Small Business",{"icon":270,"href":271,"dataGaLocation":133,"dataGaName":272},"Work","/small-business/","small business",{"text":274,"config":275},"Public Sector",{"icon":276,"href":277,"dataGaLocation":133,"dataGaName":278},"Organization","/solutions/public-sector/","public sector",{"text":280,"config":281},"Pricing",{"href":282,"dataGaName":283,"dataGaLocation":133,"dataNavLevelOne":283},"/pricing/","pricing",{"text":285,"config":286,"menu":288},"Resources",{"dataNavLevelOne":287},"resources",{"type":184,"link":289,"columns":293,"feature":387},{"text":290,"config":291},"View all resources",{"href":292,"dataGaName":287,"dataGaLocation":133},"/resources/",[294,327,354],{"title":295,"items":296},"Getting started",[297,302,307,312,317,322],{"text":298,"config":299},"Install",{"href":300,"dataGaName":301,"dataGaLocation":133},"/install/","install",{"text":303,"config":304},"Quick start guides",{"href":305,"dataGaName":306,"dataGaLocation":133},"/get-started/","quick setup checklists",{"text":308,"config":309},"Learn",{"href":310,"dataGaLocation":133,"dataGaName":311},"https://university.gitlab.com/","learn",{"text":313,"config":314},"Product documentation",{"href":315,"dataGaName":316,"dataGaLocation":133},"https://docs.gitlab.com/","product documentation",{"text":318,"config":319},"Best practice videos",{"href":320,"dataGaName":321,"dataGaLocation":133},"/getting-started-videos/","best practice videos",{"text":323,"config":324},"Integrations",{"href":325,"dataGaName":326,"dataGaLocation":133},"/integrations/","integrations",{"title":328,"items":329},"Discover",[330,335,340,345,349],{"text":331,"config":332},"Customer success stories",{"href":333,"dataGaName":334,"dataGaLocation":133},"/customers/","customer success stories",{"text":336,"config":337},"Blog",{"href":338,"dataGaName":339,"dataGaLocation":133},"/blog/","blog",{"text":341,"config":342},"Demo Hub",{"href":343,"dataGaName":344,"dataGaLocation":133},"/demo-hub/","demo hub",{"text":346,"config":347},"The Source",{"href":348,"dataGaName":339,"dataGaLocation":133},"/the-source/",{"text":350,"config":351},"Remote",{"href":352,"dataGaName":353,"dataGaLocation":133},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":355,"items":356},"Connect",[357,362,367,372,377,382],{"text":358,"config":359},"GitLab Services",{"href":360,"dataGaName":361,"dataGaLocation":133},"/services/","services",{"text":363,"config":364},"Contribute",{"href":365,"dataGaName":366,"dataGaLocation":133},"https://contributors.gitlab.com","contribute",{"text":368,"config":369},"Community",{"href":370,"dataGaName":371,"dataGaLocation":133},"/community/","community",{"text":373,"config":374},"Forum",{"href":375,"dataGaName":376,"dataGaLocation":133},"https://forum.gitlab.com/","forum",{"text":378,"config":379},"Events",{"href":380,"dataGaName":381,"dataGaLocation":133},"/events/","events",{"text":383,"config":384},"Partners",{"href":385,"dataGaName":386,"dataGaLocation":133},"/partners/","partners",{"config":388,"title":391,"text":392,"link":393},{"background":389,"textColor":390},"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":394,"config":395},"Read the latest",{"href":396,"dataGaName":397,"dataGaLocation":133},"/whats-new/","whats new",{"text":399,"config":400,"menu":402},"Company",{"dataNavLevelOne":401},"company",{"type":184,"columns":403},[404],{"items":405},[406,411,417,419,424,429,434,439,444,449],{"text":407,"config":408},"About",{"href":409,"dataGaName":410,"dataGaLocation":133},"/company/","about",{"text":412,"config":413,"footerGa":416},"Jobs",{"href":414,"dataGaName":415,"dataGaLocation":133},"/jobs/","jobs",{"dataGaName":415},{"text":378,"config":418},{"href":380,"dataGaName":381,"dataGaLocation":133},{"text":420,"config":421},"Leadership",{"href":422,"dataGaName":423,"dataGaLocation":133},"/company/team/e-group/","leadership",{"text":425,"config":426},"Handbook",{"href":427,"dataGaName":428,"dataGaLocation":133},"https://handbook.gitlab.com/","handbook",{"text":430,"config":431},"Investor relations",{"href":432,"dataGaName":433,"dataGaLocation":133},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":435,"config":436},"Trust Center",{"href":437,"dataGaName":438,"dataGaLocation":133},"/security/","trust center",{"text":440,"config":441},"AI Transparency Center",{"href":442,"dataGaName":443,"dataGaLocation":133},"/ai-transparency-center/","ai transparency center",{"text":445,"config":446},"Newsletter",{"href":447,"dataGaName":448,"dataGaLocation":133},"/company/contact/#contact-forms","newsletter",{"text":450,"config":451},"Press",{"href":452,"dataGaName":453,"dataGaLocation":133},"/press/","press",{"text":455,"config":456,"menu":457},"Contact us",{"dataNavLevelOne":401},{"type":184,"columns":458},[459],{"items":460},[461,466,471],{"text":462,"config":463},"Talk to sales",{"href":464,"dataGaName":465,"dataGaLocation":133},"/sales/","talk to sales",{"text":467,"config":468},"Support portal",{"href":469,"dataGaName":470,"dataGaLocation":133},"https://support.gitlab.com/hc/en-us","support portal",{"text":472,"config":473},"Customer portal",{"href":474,"dataGaName":475,"dataGaLocation":133},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":477,"login":478,"suggestions":485},"Close",{"text":479,"link":480},"To search repositories and projects, login to",{"text":481,"config":482},"gitlab.com",{"href":147,"dataGaName":483,"dataGaLocation":484},"search login","search",{"text":486,"default":487},"Suggestions",[488,490,494,496,500,504],{"text":164,"config":489},{"href":169,"dataGaName":164,"dataGaLocation":484},{"text":491,"config":492},"Code Suggestions (AI)",{"href":493,"dataGaName":491,"dataGaLocation":484},"/solutions/code-suggestions/",{"text":200,"config":495},{"href":202,"dataGaName":200,"dataGaLocation":484},{"text":497,"config":498},"GitLab on AWS",{"href":499,"dataGaName":497,"dataGaLocation":484},"/partners/technology-partners/aws/",{"text":501,"config":502},"GitLab on Google Cloud",{"href":503,"dataGaName":501,"dataGaLocation":484},"/partners/technology-partners/google-cloud-platform/",{"text":505,"config":506},"Why GitLab?",{"href":177,"dataGaName":505,"dataGaLocation":484},{"freeTrial":508,"mobileIcon":513,"desktopIcon":518,"secondaryButton":521},{"text":509,"config":510},"Start free trial",{"href":511,"dataGaName":138,"dataGaLocation":512},"https://gitlab.com/-/trials/new/","nav",{"altText":514,"config":515},"Gitlab Icon",{"src":516,"dataGaName":517,"dataGaLocation":512},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":514,"config":519},{"src":520,"dataGaName":517,"dataGaLocation":512},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":522,"config":523},"Get Started",{"href":524,"dataGaName":525,"dataGaLocation":512},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":527,"mobileIcon":531,"desktopIcon":533},{"text":528,"config":529},"Learn more about GitLab Duo",{"href":169,"dataGaName":530,"dataGaLocation":512},"gitlab duo",{"altText":514,"config":532},{"src":516,"dataGaName":517,"dataGaLocation":512},{"altText":514,"config":534},{"src":520,"dataGaName":517,"dataGaLocation":512},{"button":536,"mobileIcon":541,"desktopIcon":543},{"text":537,"config":538},"/switch",{"href":539,"dataGaName":540,"dataGaLocation":512},"#contact","switch",{"altText":514,"config":542},{"src":516,"dataGaName":517,"dataGaLocation":512},{"altText":514,"config":544},{"src":545,"dataGaName":517,"dataGaLocation":512},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":547,"mobileIcon":552,"desktopIcon":554},{"text":548,"config":549},"Back to pricing",{"href":282,"dataGaName":550,"dataGaLocation":512,"icon":551},"back to pricing","GoBack",{"altText":514,"config":553},{"src":516,"dataGaName":517,"dataGaLocation":512},{"altText":514,"config":555},{"src":520,"dataGaName":517,"dataGaLocation":512},{"title":557,"titleMobile":558,"button":559,"config":564},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":175,"config":560},{"href":561,"dataGaName":562,"dataGaLocation":563},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":565,"disabled":125},"release",{"data":567},{"text":568,"source":569,"edit":575,"contribute":580,"config":585,"items":590,"minimal":799},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":570,"config":571},"View page source",{"href":572,"dataGaName":573,"dataGaLocation":574},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":576,"config":577},"Edit this page",{"href":578,"dataGaName":579,"dataGaLocation":574},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":581,"config":582},"Please contribute",{"href":583,"dataGaName":584,"dataGaLocation":574},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":586,"facebook":587,"youtube":588,"linkedin":589},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[591,638,691,735,767],{"title":280,"links":592,"subMenu":607},[593,597,602],{"text":594,"config":595},"View plans",{"href":282,"dataGaName":596,"dataGaLocation":574},"view plans",{"text":598,"config":599},"Why Premium?",{"href":600,"dataGaName":601,"dataGaLocation":574},"/pricing/premium/","why premium",{"text":603,"config":604},"Why Ultimate?",{"href":605,"dataGaName":606,"dataGaLocation":574},"/pricing/ultimate/","why ultimate",[608],{"title":609,"links":610},"Contact Us",[611,614,616,618,623,628,633],{"text":612,"config":613},"Contact sales",{"href":464,"dataGaName":143,"dataGaLocation":574},{"text":467,"config":615},{"href":469,"dataGaName":470,"dataGaLocation":574},{"text":472,"config":617},{"href":474,"dataGaName":475,"dataGaLocation":574},{"text":619,"config":620},"Status",{"href":621,"dataGaName":622,"dataGaLocation":574},"https://status.gitlab.com/","status",{"text":624,"config":625},"Terms of use",{"href":626,"dataGaName":627,"dataGaLocation":574},"/terms/","terms of use",{"text":629,"config":630},"Privacy statement",{"href":631,"dataGaName":632,"dataGaLocation":574},"/privacy/","privacy statement",{"text":634,"config":635},"Cookie preferences",{"dataGaName":636,"dataGaLocation":574,"id":637,"isOneTrustButton":121},"cookie preferences","ot-sdk-btn",{"title":180,"links":639,"subMenu":648},[640,644],{"text":641,"config":642},"DevSecOps platform",{"href":162,"dataGaName":643,"dataGaLocation":574},"devsecops platform",{"text":645,"config":646},"AI-Assisted Development",{"href":169,"dataGaName":647,"dataGaLocation":574},"ai-assisted development",[649],{"title":13,"links":650},[651,656,661,666,671,676,681,686],{"text":652,"config":653},"CICD",{"href":654,"dataGaName":655,"dataGaLocation":574},"/topics/ci-cd/","cicd",{"text":657,"config":658},"GitOps",{"href":659,"dataGaName":660,"dataGaLocation":574},"/topics/gitops/","gitops",{"text":662,"config":663},"DevOps",{"href":664,"dataGaName":665,"dataGaLocation":574},"/topics/devops/","devops",{"text":667,"config":668},"Version Control",{"href":669,"dataGaName":670,"dataGaLocation":574},"/topics/version-control/","version control",{"text":672,"config":673},"DevSecOps",{"href":674,"dataGaName":675,"dataGaLocation":574},"/topics/devsecops/","devsecops",{"text":677,"config":678},"Cloud Native",{"href":679,"dataGaName":680,"dataGaLocation":574},"/topics/cloud-native/","cloud native",{"text":682,"config":683},"AI for Coding",{"href":684,"dataGaName":685,"dataGaLocation":574},"/topics/devops/ai-for-coding/","ai for coding",{"text":687,"config":688},"Agentic AI",{"href":689,"dataGaName":690,"dataGaLocation":574},"/topics/agentic-ai/","agentic ai",{"title":692,"links":693},"Solutions",[694,696,698,703,707,710,714,717,719,722,725,730],{"text":224,"config":695},{"href":219,"dataGaName":224,"dataGaLocation":574},{"text":213,"config":697},{"href":196,"dataGaName":197,"dataGaLocation":574},{"text":699,"config":700},"Agile development",{"href":701,"dataGaName":702,"dataGaLocation":574},"/solutions/agile-delivery/","agile delivery",{"text":704,"config":705},"SCM",{"href":209,"dataGaName":706,"dataGaLocation":574},"source code management",{"text":652,"config":708},{"href":202,"dataGaName":709,"dataGaLocation":574},"continuous integration & delivery",{"text":711,"config":712},"Value stream management",{"href":252,"dataGaName":713,"dataGaLocation":574},"value stream management",{"text":657,"config":715},{"href":716,"dataGaName":660,"dataGaLocation":574},"/solutions/gitops/",{"text":262,"config":718},{"href":265,"dataGaName":266,"dataGaLocation":574},{"text":720,"config":721},"Small business",{"href":271,"dataGaName":272,"dataGaLocation":574},{"text":723,"config":724},"Public sector",{"href":277,"dataGaName":278,"dataGaLocation":574},{"text":726,"config":727},"Education",{"href":728,"dataGaName":729,"dataGaLocation":574},"/solutions/education/","education",{"text":731,"config":732},"Financial services",{"href":733,"dataGaName":734,"dataGaLocation":574},"/solutions/finance/","financial services",{"title":285,"links":736},[737,739,741,743,746,748,751,753,755,757,759,761,763,765],{"text":298,"config":738},{"href":300,"dataGaName":301,"dataGaLocation":574},{"text":303,"config":740},{"href":305,"dataGaName":306,"dataGaLocation":574},{"text":308,"config":742},{"href":310,"dataGaName":311,"dataGaLocation":574},{"text":313,"config":744},{"href":315,"dataGaName":745,"dataGaLocation":574},"docs",{"text":336,"config":747},{"href":338,"dataGaName":339,"dataGaLocation":574},{"text":749,"config":750},"What's new",{"href":396,"dataGaName":397,"dataGaLocation":574},{"text":331,"config":752},{"href":333,"dataGaName":334,"dataGaLocation":574},{"text":350,"config":754},{"href":352,"dataGaName":353,"dataGaLocation":574},{"text":358,"config":756},{"href":360,"dataGaName":361,"dataGaLocation":574},{"text":363,"config":758},{"href":365,"dataGaName":366,"dataGaLocation":574},{"text":368,"config":760},{"href":370,"dataGaName":371,"dataGaLocation":574},{"text":373,"config":762},{"href":375,"dataGaName":376,"dataGaLocation":574},{"text":378,"config":764},{"href":380,"dataGaName":381,"dataGaLocation":574},{"text":383,"config":766},{"href":385,"dataGaName":386,"dataGaLocation":574},{"title":399,"links":768},[769,771,773,775,777,779,783,788,790,792,794],{"text":407,"config":770},{"href":409,"dataGaName":401,"dataGaLocation":574},{"text":412,"config":772},{"href":414,"dataGaName":415,"dataGaLocation":574},{"text":420,"config":774},{"href":422,"dataGaName":423,"dataGaLocation":574},{"text":425,"config":776},{"href":427,"dataGaName":428,"dataGaLocation":574},{"text":430,"config":778},{"href":432,"dataGaName":433,"dataGaLocation":574},{"text":780,"config":781},"Sustainability",{"href":782,"dataGaName":780,"dataGaLocation":574},"/sustainability/",{"text":784,"config":785},"Diversity, inclusion and belonging (DIB)",{"href":786,"dataGaName":787,"dataGaLocation":574},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":435,"config":789},{"href":437,"dataGaName":438,"dataGaLocation":574},{"text":445,"config":791},{"href":447,"dataGaName":448,"dataGaLocation":574},{"text":450,"config":793},{"href":452,"dataGaName":453,"dataGaLocation":574},{"text":795,"config":796},"Modern Slavery Transparency Statement",{"href":797,"dataGaName":798,"dataGaLocation":574},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":800},[801,804,807],{"text":802,"config":803},"Terms",{"href":626,"dataGaName":627,"dataGaLocation":574},{"text":805,"config":806},"Cookies",{"dataGaName":636,"dataGaLocation":574,"id":637,"isOneTrustButton":121},{"text":808,"config":809},"Privacy",{"href":631,"dataGaName":632,"dataGaLocation":574},{"header":811,"blurb":812,"button":813,"secondaryButton":818},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":814,"config":815},"Get your free trial",{"href":816,"dataGaName":138,"dataGaLocation":817},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":612,"config":819},{"href":464,"dataGaName":143,"dataGaLocation":817},1787864632324]