[{"data":1,"prerenderedAt":998},["ShallowReactive",2],{"/blog/how-secret-detection-can-proactively-revoke-leaked-credentials":3,"navigation-en-us":214,"banner-en-us":641,"footer-en-us":651,"blog-post-authors-en-us-Connor Gilbert":895,"blog-related-posts-en-us-how-secret-detection-can-proactively-revoke-leaked-credentials":910,"blog-promotions-en-us":935,"next-steps-en-us":988},{"id":4,"title":5,"authors":6,"body":8,"category":193,"date":194,"description":195,"extension":196,"externalUrl":197,"faq":197,"featured":198,"heroImage":199,"meta":200,"navigation":201,"path":202,"seo":203,"slug":207,"stem":208,"tags":209,"template":212,"updatedDate":197,"__hash__":213},"blogPosts/en-us/blog/how-secret-detection-can-proactively-revoke-leaked-credentials.md","How Secret Detection can proactively revoke leaked credentials",[7],"Connor Gilbert",{"type":9,"value":10,"toc":183},"minimark",[11,15,20,29,32,36,57,66,70,79,83,86,99,102,126,129,133,141,160,164,172],[12,13,14],"p",{},"Modern applications don’t run on their own: They rely on databases, cloud services, APIs, and other services. To connect to those systems, the applications use credentials like private keys and API tokens. These credentials have to be kept secret – if they’re leaked, adversaries can abuse them to steal data, mine cryptocurrency, or disable important systems. Today, we’re increasing the level of protection we offer GitLab Ultimate users against this serious risk via an expansion of our partnership with Google Cloud.",[16,17,19],"h2",{"id":18},"how-gitlab-addresses-this-risk","How GitLab addresses this risk",[12,21,22,28],{},[23,24,27],"a",{"href":25,"rel":26},"https://docs.gitlab.com/user/application_security/secret_detection/",[],"GitLab Secret Detection"," addresses the risk of leaked secrets by detecting when keys, tokens, and other sensitive values are exposed in code and helping DevSecOps teams respond. It’s imperative to respond quickly when credentials are leaked, especially for keys to cloud provider accounts, since adversaries can do a lot of damage quickly.",[12,30,31],{},"With our expanded partnership, we’ve integrated GitLab Secret Detection with Google Cloud to better protect customers who use GitLab to develop applications on Google Cloud. Now, if an organization leaks a Google Cloud credential to a public project on GitLab.com, GitLab can automatically protect the organization by working with Google Cloud to protect the account. This protection is available in GitLab Ultimate.",[16,33,35],{"id":34},"gitlabs-investment-in-automated-response","GitLab’s investment in automated response",[12,37,38,39,44,45,50,51,56],{},"GitLab has added support for multiple cloud platforms with ",[23,40,43],{"href":41,"rel":42},"https://docs.gitlab.com/user/application_security/secret_detection/automatic_response/",[],"automatic response to leaked secrets",", including the ",[23,46,49],{"href":47,"rel":48},"https://about.gitlab.com/blog/pat-revocation-coming-soon/",[],"automatic revocation of GitLab Personal Access Tokens (PATs)",". We’re working on more integrations now, and are always looking for more cloud service vendors seeking similar protection to join ",[23,52,55],{"href":53,"rel":54},"https://docs.gitlab.com/user/application_security/secret_detection/automatic_response/#partner-program-for-leaked-credential-notifications",[],"our partner program",".",[12,58,59,60,65],{},"We’ve also ",[23,61,64],{"href":62,"rel":63},"https://docs.gitlab.com/releases/#automatic-response-to-leaked-secrets-on-any-public-branch",[],"recently expanded"," the places automatic responses are triggered. Secret Detection users are now protected from credential leaks as soon as they appear in any public branch on GitLab.com.",[16,67,69],{"id":68},"why-were-investing-here","Why we’re investing here",[12,71,72,73,78],{},"Security is better when it’s integrated throughout the software development lifecycle. GitLab’s ",[23,74,77],{"href":75,"rel":76},"https://about.gitlab.com/press/releases/2023-04-20-gitlab-seventh-devsecops-report-security-without-sacrifices/",[],"2023 Security Without Sacrifices report"," found that security is one of the top benefits of a DevSecOps platform. GitLab’s DevSecOps platform enhances secure software development by helping developers and security professionals collaborate to prevent business-critical vulnerabilities. Now, in collaboration with Google Cloud, we’re adding an additional layer of protection for our mutual customers.",[16,80,82],{"id":81},"better-protection-for-gitlabgoogle-cloud-customers","Better protection for GitLab/Google Cloud customers",[12,84,85],{},"Google Cloud users on GitLab.com are now better protected. The new integration protects projects that:",[87,88,89,93,96],"ul",{},[90,91,92],"li",{},"are public. Private projects are unaffected by this change.",[90,94,95],{},"are hosted on GitLab.com. Projects on GitLab Dedicated or self-managed instances are unaffected.",[90,97,98],{},"use Secret Detection. If you haven't enabled Secret Detection for a project, we currently won't search it for secrets to revoke.",[12,100,101],{},"Secret Detection searches for three types of secrets issued by Google Cloud:",[103,104,105,112,119],"ol",{},[90,106,107],{},[23,108,111],{"href":109,"rel":110},"https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys",[],"Service account keys",[90,113,114],{},[23,115,118],{"href":116,"rel":117},"https://cloud.google.com/docs/authentication/api-keys",[],"API keys",[90,120,121],{},[23,122,125],{"href":123,"rel":124},"https://support.google.com/cloud/answer/6158849#rotate-client-secret",[],"OAuth client secrets",[12,127,128],{},"Publicly leaked secrets are sent to Google Cloud after they’re discovered. Google Cloud verifies the leaks, then works to protect customer accounts against abuse.",[16,130,132],{"id":131},"how-the-google-cloud-integration-works","How the Google Cloud integration works",[12,134,135,136,56],{},"Our Google Cloud integration is on by default for projects that use GitLab Secret Detection on GitLab.com. Secret Detection scanning is available in all GitLab tiers, but an automatic response to leaked secrets is currently ",[23,137,140],{"href":138,"rel":139},"https://docs.gitlab.com/user/application_security/secret_detection/automatic_response/#feature-availability",[],"only available in Ultimate projects",[87,142,143,151],{},[90,144,145,146,56],{},"To protect a project, ",[23,147,150],{"href":148,"rel":149},"https://docs.gitlab.com/user/application_security/secret_detection/#enable-secret-detection",[],"enable GitLab Secret Detection",[90,152,153,154,159],{},"To protect your entire organization, consider ",[23,155,158],{"href":156,"rel":157},"https://docs.gitlab.com/user/application_security/#enforce-scan-execution",[],"enforcing scan execution"," to run Secret Detection in all of your projects.",[16,161,163],{"id":162},"whats-next","What’s next",[12,165,166,167,171],{},"We’re excited to improve Secret Detection with this integration, but we aren’t stopping here. Check our ",[23,168,170],{"href":25,"rel":169},[],"strategy and plans"," to learn more about where we’re headed.",[12,173,174],{},[175,176,177,178,56],"em",{},"GitLab can help secure your applications, whether they run on Google Cloud or elsewhere. Learn more about our ",[23,179,182],{"href":180,"rel":181},"https://about.gitlab.com/solutions/application-security-testing/",[],"security and governance solutions",{"title":184,"searchDepth":185,"depth":185,"links":186},"",2,[187,188,189,190,191,192],{"id":18,"depth":185,"text":19},{"id":34,"depth":185,"text":35},{"id":68,"depth":185,"text":69},{"id":81,"depth":185,"text":82},{"id":131,"depth":185,"text":132},{"id":162,"depth":185,"text":163},"security","2023-06-13","GitLab extends Secret Detection capabilities to customers on Google Cloud.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664923/Blog/Hero%20Images/security-checklist.png",{},true,"/en-us/blog/how-secret-detection-can-proactively-revoke-leaked-credentials",{"title":5,"description":195,"ogTitle":5,"ogDescription":195,"noIndex":198,"ogImage":199,"ogUrl":204,"ogSiteName":205,"ogType":206,"canonicalUrls":204},"https://about.gitlab.com/blog/how-secret-detection-can-proactively-revoke-leaked-credentials","https://about.gitlab.com","article","how-secret-detection-can-proactively-revoke-leaked-credentials","en-us/blog/how-secret-detection-can-proactively-revoke-leaked-credentials",[193,210,211],"cloud native","partners","BlogPost","gza-8SSHt4eXE59mxD1uYLtHxq-CKhBDlCsib1NIOWA",{"logo":215,"freeTrial":220,"sales":225,"login":230,"items":235,"search":561,"minimal":592,"duo":611,"switchNav":620,"pricingDeployment":631},{"config":216},{"href":217,"dataGaName":218,"dataGaLocation":219},"/","gitlab logo","header",{"text":221,"config":222},"Get free trial",{"href":223,"dataGaName":224,"dataGaLocation":219},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":226,"config":227},"Request a demo",{"href":228,"dataGaName":229,"dataGaLocation":219},"/sales/?contact-topic=request-demo","sales",{"text":231,"config":232},"Sign in",{"href":233,"dataGaName":234,"dataGaLocation":219},"https://gitlab.com/users/sign_in/","sign in",[236,265,365,370,483,539],{"text":237,"config":238,"menu":240},"Platform",{"dataNavLevelOne":239},"platform",{"type":241,"columns":242},"cards",[243,249,257],{"title":237,"description":244,"link":245},"The intelligent orchestration platform for DevSecOps",{"text":246,"config":247},"Explore our Platform",{"href":248,"dataGaName":239,"dataGaLocation":219},"/platform/",{"title":250,"description":251,"link":252},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":253,"config":254},"Meet GitLab Duo",{"href":255,"dataGaName":256,"dataGaLocation":219},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":258,"description":259,"link":260},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":261,"config":262},"Learn more",{"href":263,"dataGaName":264,"dataGaLocation":219},"/why-gitlab/","why gitlab",{"text":266,"left":201,"config":267,"menu":269},"Product",{"dataNavLevelOne":268},"solutions",{"type":270,"link":271,"columns":275,"feature":344},"lists",{"text":272,"config":273},"View all Solutions",{"href":274,"dataGaName":268,"dataGaLocation":219},"/solutions/",[276,300,323],{"title":277,"description":278,"link":279,"items":284},"Automation","CI/CD and automation to accelerate deployment",{"config":280},{"icon":281,"href":282,"dataGaName":283,"dataGaLocation":219},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[285,289,292,296],{"text":286,"config":287},"CI/CD",{"href":288,"dataGaLocation":219,"dataGaName":286},"/solutions/continuous-integration/",{"text":250,"config":290},{"href":255,"dataGaLocation":219,"dataGaName":291},"gitlab duo agent platform - product menu",{"text":293,"config":294},"Source Code Management",{"href":295,"dataGaLocation":219,"dataGaName":293},"/solutions/source-code-management/",{"text":297,"config":298},"Automated Software Delivery",{"href":282,"dataGaLocation":219,"dataGaName":299},"Automated software delivery",{"title":301,"description":302,"link":303,"items":308},"Security","Deliver code faster without compromising security",{"config":304},{"href":305,"dataGaName":306,"dataGaLocation":219,"icon":307},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[309,313,318],{"text":310,"config":311},"Application Security Testing",{"href":305,"dataGaName":312,"dataGaLocation":219},"Application security testing",{"text":314,"config":315},"Software Supply Chain Security",{"href":316,"dataGaLocation":219,"dataGaName":317},"/solutions/supply-chain/","Software supply chain security",{"text":319,"config":320},"Software Compliance",{"href":321,"dataGaName":322,"dataGaLocation":219},"/solutions/software-compliance/","software compliance",{"title":324,"link":325,"items":330},"Measurement",{"config":326},{"icon":327,"href":328,"dataGaName":329,"dataGaLocation":219},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[331,335,339],{"text":332,"config":333},"Visibility & Measurement",{"href":328,"dataGaLocation":219,"dataGaName":334},"Visibility and Measurement",{"text":336,"config":337},"Value Stream Management",{"href":338,"dataGaLocation":219,"dataGaName":336},"/solutions/value-stream-management/",{"text":340,"config":341},"Analytics & Insights",{"href":342,"dataGaLocation":219,"dataGaName":343},"/solutions/analytics-and-insights/","Analytics and insights",{"title":345,"type":270,"items":346},"GitLab for",[347,353,359],{"text":348,"config":349},"Enterprise",{"icon":350,"href":351,"dataGaLocation":219,"dataGaName":352},"Building","/enterprise/","enterprise",{"text":354,"config":355},"Small Business",{"icon":356,"href":357,"dataGaLocation":219,"dataGaName":358},"Work","/small-business/","small business",{"text":360,"config":361},"Public Sector",{"icon":362,"href":363,"dataGaLocation":219,"dataGaName":364},"Organization","/solutions/public-sector/","public sector",{"text":366,"config":367},"Pricing",{"href":368,"dataGaName":369,"dataGaLocation":219,"dataNavLevelOne":369},"/pricing/","pricing",{"text":371,"config":372,"menu":374},"Resources",{"dataNavLevelOne":373},"resources",{"type":270,"link":375,"columns":379,"feature":472},{"text":376,"config":377},"View all resources",{"href":378,"dataGaName":373,"dataGaLocation":219},"/resources/",[380,413,440],{"title":381,"items":382},"Getting started",[383,388,393,398,403,408],{"text":384,"config":385},"Install",{"href":386,"dataGaName":387,"dataGaLocation":219},"/install/","install",{"text":389,"config":390},"Quick start guides",{"href":391,"dataGaName":392,"dataGaLocation":219},"/get-started/","quick setup checklists",{"text":394,"config":395},"Learn",{"href":396,"dataGaLocation":219,"dataGaName":397},"https://university.gitlab.com/","learn",{"text":399,"config":400},"Product documentation",{"href":401,"dataGaName":402,"dataGaLocation":219},"https://docs.gitlab.com/","product documentation",{"text":404,"config":405},"Best practice videos",{"href":406,"dataGaName":407,"dataGaLocation":219},"/getting-started-videos/","best practice videos",{"text":409,"config":410},"Integrations",{"href":411,"dataGaName":412,"dataGaLocation":219},"/integrations/","integrations",{"title":414,"items":415},"Discover",[416,421,426,431,435],{"text":417,"config":418},"Customer success stories",{"href":419,"dataGaName":420,"dataGaLocation":219},"/customers/","customer success stories",{"text":422,"config":423},"Blog",{"href":424,"dataGaName":425,"dataGaLocation":219},"/blog/","blog",{"text":427,"config":428},"Demo Hub",{"href":429,"dataGaName":430,"dataGaLocation":219},"/demo-hub/","demo hub",{"text":432,"config":433},"The Source",{"href":434,"dataGaName":425,"dataGaLocation":219},"/the-source/",{"text":436,"config":437},"Remote",{"href":438,"dataGaName":439,"dataGaLocation":219},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":441,"items":442},"Connect",[443,448,453,458,463,468],{"text":444,"config":445},"GitLab Services",{"href":446,"dataGaName":447,"dataGaLocation":219},"/services/","services",{"text":449,"config":450},"Contribute",{"href":451,"dataGaName":452,"dataGaLocation":219},"https://contributors.gitlab.com","contribute",{"text":454,"config":455},"Community",{"href":456,"dataGaName":457,"dataGaLocation":219},"/community/","community",{"text":459,"config":460},"Forum",{"href":461,"dataGaName":462,"dataGaLocation":219},"https://forum.gitlab.com/","forum",{"text":464,"config":465},"Events",{"href":466,"dataGaName":467,"dataGaLocation":219},"/events/","events",{"text":469,"config":470},"Partners",{"href":471,"dataGaName":211,"dataGaLocation":219},"/partners/",{"config":473,"title":476,"text":477,"link":478},{"background":474,"textColor":475},"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":479,"config":480},"Read the latest",{"href":481,"dataGaName":482,"dataGaLocation":219},"/whats-new/","whats new",{"text":484,"config":485,"menu":487},"Company",{"dataNavLevelOne":486},"company",{"type":270,"columns":488},[489],{"items":490},[491,496,502,504,509,514,519,524,529,534],{"text":492,"config":493},"About",{"href":494,"dataGaName":495,"dataGaLocation":219},"/company/","about",{"text":497,"config":498,"footerGa":501},"Jobs",{"href":499,"dataGaName":500,"dataGaLocation":219},"/jobs/","jobs",{"dataGaName":500},{"text":464,"config":503},{"href":466,"dataGaName":467,"dataGaLocation":219},{"text":505,"config":506},"Leadership",{"href":507,"dataGaName":508,"dataGaLocation":219},"/company/team/e-group/","leadership",{"text":510,"config":511},"Handbook",{"href":512,"dataGaName":513,"dataGaLocation":219},"https://handbook.gitlab.com/","handbook",{"text":515,"config":516},"Investor relations",{"href":517,"dataGaName":518,"dataGaLocation":219},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":520,"config":521},"Trust Center",{"href":522,"dataGaName":523,"dataGaLocation":219},"/security/","trust center",{"text":525,"config":526},"AI Transparency Center",{"href":527,"dataGaName":528,"dataGaLocation":219},"/ai-transparency-center/","ai transparency center",{"text":530,"config":531},"Newsletter",{"href":532,"dataGaName":533,"dataGaLocation":219},"/company/contact/#contact-forms","newsletter",{"text":535,"config":536},"Press",{"href":537,"dataGaName":538,"dataGaLocation":219},"/press/","press",{"text":540,"config":541,"menu":542},"Contact us",{"dataNavLevelOne":486},{"type":270,"columns":543},[544],{"items":545},[546,551,556],{"text":547,"config":548},"Talk to sales",{"href":549,"dataGaName":550,"dataGaLocation":219},"/sales/","talk to sales",{"text":552,"config":553},"Support portal",{"href":554,"dataGaName":555,"dataGaLocation":219},"https://support.gitlab.com/hc/en-us","support portal",{"text":557,"config":558},"Customer portal",{"href":559,"dataGaName":560,"dataGaLocation":219},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":562,"login":563,"suggestions":570},"Close",{"text":564,"link":565},"To search repositories and projects, login to",{"text":566,"config":567},"gitlab.com",{"href":233,"dataGaName":568,"dataGaLocation":569},"search login","search",{"text":571,"default":572},"Suggestions",[573,575,579,581,585,589],{"text":250,"config":574},{"href":255,"dataGaName":250,"dataGaLocation":569},{"text":576,"config":577},"Code Suggestions (AI)",{"href":578,"dataGaName":576,"dataGaLocation":569},"/solutions/code-suggestions/",{"text":286,"config":580},{"href":288,"dataGaName":286,"dataGaLocation":569},{"text":582,"config":583},"GitLab on AWS",{"href":584,"dataGaName":582,"dataGaLocation":569},"/partners/technology-partners/aws/",{"text":586,"config":587},"GitLab on Google Cloud",{"href":588,"dataGaName":586,"dataGaLocation":569},"/partners/technology-partners/google-cloud-platform/",{"text":590,"config":591},"Why GitLab?",{"href":263,"dataGaName":590,"dataGaLocation":569},{"freeTrial":593,"mobileIcon":598,"desktopIcon":603,"secondaryButton":606},{"text":594,"config":595},"Start free trial",{"href":596,"dataGaName":224,"dataGaLocation":597},"https://gitlab.com/-/trials/new/","nav",{"altText":599,"config":600},"Gitlab Icon",{"src":601,"dataGaName":602,"dataGaLocation":597},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":599,"config":604},{"src":605,"dataGaName":602,"dataGaLocation":597},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":607,"config":608},"Get Started",{"href":609,"dataGaName":610,"dataGaLocation":597},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":612,"mobileIcon":616,"desktopIcon":618},{"text":613,"config":614},"Learn more about GitLab Duo",{"href":255,"dataGaName":615,"dataGaLocation":597},"gitlab duo",{"altText":599,"config":617},{"src":601,"dataGaName":602,"dataGaLocation":597},{"altText":599,"config":619},{"src":605,"dataGaName":602,"dataGaLocation":597},{"button":621,"mobileIcon":626,"desktopIcon":628},{"text":622,"config":623},"/switch",{"href":624,"dataGaName":625,"dataGaLocation":597},"#contact","switch",{"altText":599,"config":627},{"src":601,"dataGaName":602,"dataGaLocation":597},{"altText":599,"config":629},{"src":630,"dataGaName":602,"dataGaLocation":597},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":632,"mobileIcon":637,"desktopIcon":639},{"text":633,"config":634},"Back to pricing",{"href":368,"dataGaName":635,"dataGaLocation":597,"icon":636},"back to pricing","GoBack",{"altText":599,"config":638},{"src":601,"dataGaName":602,"dataGaLocation":597},{"altText":599,"config":640},{"src":605,"dataGaName":602,"dataGaLocation":597},{"title":642,"titleMobile":643,"button":644,"config":649},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":261,"config":645},{"href":646,"dataGaName":647,"dataGaLocation":648},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":650,"disabled":198},"release",{"data":652},{"text":653,"source":654,"edit":660,"contribute":665,"config":670,"items":675,"minimal":884},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":655,"config":656},"View page source",{"href":657,"dataGaName":658,"dataGaLocation":659},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":661,"config":662},"Edit this page",{"href":663,"dataGaName":664,"dataGaLocation":659},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":666,"config":667},"Please contribute",{"href":668,"dataGaName":669,"dataGaLocation":659},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":671,"facebook":672,"youtube":673,"linkedin":674},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[676,723,776,820,852],{"title":366,"links":677,"subMenu":692},[678,682,687],{"text":679,"config":680},"View plans",{"href":368,"dataGaName":681,"dataGaLocation":659},"view plans",{"text":683,"config":684},"Why Premium?",{"href":685,"dataGaName":686,"dataGaLocation":659},"/pricing/premium/","why premium",{"text":688,"config":689},"Why Ultimate?",{"href":690,"dataGaName":691,"dataGaLocation":659},"/pricing/ultimate/","why ultimate",[693],{"title":694,"links":695},"Contact Us",[696,699,701,703,708,713,718],{"text":697,"config":698},"Contact sales",{"href":549,"dataGaName":229,"dataGaLocation":659},{"text":552,"config":700},{"href":554,"dataGaName":555,"dataGaLocation":659},{"text":557,"config":702},{"href":559,"dataGaName":560,"dataGaLocation":659},{"text":704,"config":705},"Status",{"href":706,"dataGaName":707,"dataGaLocation":659},"https://status.gitlab.com/","status",{"text":709,"config":710},"Terms of use",{"href":711,"dataGaName":712,"dataGaLocation":659},"/terms/","terms of use",{"text":714,"config":715},"Privacy statement",{"href":716,"dataGaName":717,"dataGaLocation":659},"/privacy/","privacy statement",{"text":719,"config":720},"Cookie preferences",{"dataGaName":721,"dataGaLocation":659,"id":722,"isOneTrustButton":201},"cookie preferences","ot-sdk-btn",{"title":266,"links":724,"subMenu":733},[725,729],{"text":726,"config":727},"DevSecOps platform",{"href":248,"dataGaName":728,"dataGaLocation":659},"devsecops platform",{"text":730,"config":731},"AI-Assisted Development",{"href":255,"dataGaName":732,"dataGaLocation":659},"ai-assisted development",[734],{"title":735,"links":736},"Topics",[737,742,747,752,757,762,766,771],{"text":738,"config":739},"CICD",{"href":740,"dataGaName":741,"dataGaLocation":659},"/topics/ci-cd/","cicd",{"text":743,"config":744},"GitOps",{"href":745,"dataGaName":746,"dataGaLocation":659},"/topics/gitops/","gitops",{"text":748,"config":749},"DevOps",{"href":750,"dataGaName":751,"dataGaLocation":659},"/topics/devops/","devops",{"text":753,"config":754},"Version Control",{"href":755,"dataGaName":756,"dataGaLocation":659},"/topics/version-control/","version control",{"text":758,"config":759},"DevSecOps",{"href":760,"dataGaName":761,"dataGaLocation":659},"/topics/devsecops/","devsecops",{"text":763,"config":764},"Cloud Native",{"href":765,"dataGaName":210,"dataGaLocation":659},"/topics/cloud-native/",{"text":767,"config":768},"AI for Coding",{"href":769,"dataGaName":770,"dataGaLocation":659},"/topics/devops/ai-for-coding/","ai for coding",{"text":772,"config":773},"Agentic AI",{"href":774,"dataGaName":775,"dataGaLocation":659},"/topics/agentic-ai/","agentic ai",{"title":777,"links":778},"Solutions",[779,781,783,788,792,795,799,802,804,807,810,815],{"text":310,"config":780},{"href":305,"dataGaName":310,"dataGaLocation":659},{"text":299,"config":782},{"href":282,"dataGaName":283,"dataGaLocation":659},{"text":784,"config":785},"Agile development",{"href":786,"dataGaName":787,"dataGaLocation":659},"/solutions/agile-delivery/","agile delivery",{"text":789,"config":790},"SCM",{"href":295,"dataGaName":791,"dataGaLocation":659},"source code management",{"text":738,"config":793},{"href":288,"dataGaName":794,"dataGaLocation":659},"continuous integration & delivery",{"text":796,"config":797},"Value stream management",{"href":338,"dataGaName":798,"dataGaLocation":659},"value stream management",{"text":743,"config":800},{"href":801,"dataGaName":746,"dataGaLocation":659},"/solutions/gitops/",{"text":348,"config":803},{"href":351,"dataGaName":352,"dataGaLocation":659},{"text":805,"config":806},"Small business",{"href":357,"dataGaName":358,"dataGaLocation":659},{"text":808,"config":809},"Public sector",{"href":363,"dataGaName":364,"dataGaLocation":659},{"text":811,"config":812},"Education",{"href":813,"dataGaName":814,"dataGaLocation":659},"/solutions/education/","education",{"text":816,"config":817},"Financial services",{"href":818,"dataGaName":819,"dataGaLocation":659},"/solutions/finance/","financial services",{"title":371,"links":821},[822,824,826,828,831,833,836,838,840,842,844,846,848,850],{"text":384,"config":823},{"href":386,"dataGaName":387,"dataGaLocation":659},{"text":389,"config":825},{"href":391,"dataGaName":392,"dataGaLocation":659},{"text":394,"config":827},{"href":396,"dataGaName":397,"dataGaLocation":659},{"text":399,"config":829},{"href":401,"dataGaName":830,"dataGaLocation":659},"docs",{"text":422,"config":832},{"href":424,"dataGaName":425,"dataGaLocation":659},{"text":834,"config":835},"What's new",{"href":481,"dataGaName":482,"dataGaLocation":659},{"text":417,"config":837},{"href":419,"dataGaName":420,"dataGaLocation":659},{"text":436,"config":839},{"href":438,"dataGaName":439,"dataGaLocation":659},{"text":444,"config":841},{"href":446,"dataGaName":447,"dataGaLocation":659},{"text":449,"config":843},{"href":451,"dataGaName":452,"dataGaLocation":659},{"text":454,"config":845},{"href":456,"dataGaName":457,"dataGaLocation":659},{"text":459,"config":847},{"href":461,"dataGaName":462,"dataGaLocation":659},{"text":464,"config":849},{"href":466,"dataGaName":467,"dataGaLocation":659},{"text":469,"config":851},{"href":471,"dataGaName":211,"dataGaLocation":659},{"title":484,"links":853},[854,856,858,860,862,864,868,873,875,877,879],{"text":492,"config":855},{"href":494,"dataGaName":486,"dataGaLocation":659},{"text":497,"config":857},{"href":499,"dataGaName":500,"dataGaLocation":659},{"text":505,"config":859},{"href":507,"dataGaName":508,"dataGaLocation":659},{"text":510,"config":861},{"href":512,"dataGaName":513,"dataGaLocation":659},{"text":515,"config":863},{"href":517,"dataGaName":518,"dataGaLocation":659},{"text":865,"config":866},"Sustainability",{"href":867,"dataGaName":865,"dataGaLocation":659},"/sustainability/",{"text":869,"config":870},"Diversity, inclusion and belonging (DIB)",{"href":871,"dataGaName":872,"dataGaLocation":659},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":520,"config":874},{"href":522,"dataGaName":523,"dataGaLocation":659},{"text":530,"config":876},{"href":532,"dataGaName":533,"dataGaLocation":659},{"text":535,"config":878},{"href":537,"dataGaName":538,"dataGaLocation":659},{"text":880,"config":881},"Modern Slavery Transparency Statement",{"href":882,"dataGaName":883,"dataGaLocation":659},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":885},[886,889,892],{"text":887,"config":888},"Terms",{"href":711,"dataGaName":712,"dataGaLocation":659},{"text":890,"config":891},"Cookies",{"dataGaName":721,"dataGaLocation":659,"id":722,"isOneTrustButton":201},{"text":893,"config":894},"Privacy",{"href":716,"dataGaName":717,"dataGaLocation":659},[896],{"id":897,"title":7,"body":197,"config":898,"content":900,"description":197,"extension":904,"meta":905,"navigation":201,"path":906,"seo":907,"stem":908,"__hash__":909},"blogAuthors/en-us/blog/authors/connor-gilbert.yml",{"template":899},"BlogAuthor",{"name":7,"config":901},{"headshot":902,"ctfId":903},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665913/Blog/Author%20Headshots/connorgilbert-headshot.jpg","connorgilbert","yml",{},"/en-us/blog/authors/connor-gilbert",{},"en-us/blog/authors/connor-gilbert","soinUPqOzk3kZYa3WT3Mvtag9Q4jsdHXSLOxrv2JfGs",[911,919,927],{"title":912,"description":913,"heroImage":914,"category":193,"date":915,"authors":916,"slug":918,"externalUrl":197},"How GitLab tracks vulnerabilities through refactors and reformatting","Learn how GitLab's improved Scope+Offset fingerprinting keeps vulnerability tracking stable across comments, blank lines, and reformatting.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1759320418/xjmqcozxzt4frx0hori3.png","2026-08-12",[917],"Julian Thome","improved-scope-offset-fingerprinting",{"title":920,"description":921,"heroImage":914,"category":193,"date":922,"authors":923,"slug":926,"externalUrl":197},"GitLab Secrets Manager adds ESO, Terraform, API support","Simplify credential management across your stack. GitLab Secrets Manager provides secure retrieval in Kubernetes, Terraform, and external workflows.","2026-08-06",[924,925],"Erick Bajao","Joe Randazzo","gitlab-secrets-manager-add-eso-terraform-api-support",{"title":928,"description":929,"heroImage":930,"category":193,"date":931,"authors":932,"slug":934,"externalUrl":197},"Secure every commit to production with Claude and GitLab","Claude Security catches vulnerabilities inside a coding session. GitLab picks up from there, scanning, enforcing policy, and producing audit evidence for the software lifecycle. ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756122536/akivvcnafog9c4dhhzkp.png","2026-08-03",[933],"Alisa Ho","claude-security-and-gitlab",{"promotions":936},[937,951,963,974],{"id":938,"categories":939,"header":941,"text":942,"button":943,"image":948},"ai-modernization",[940],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":944,"config":945},"Get your AI maturity score",{"href":946,"dataGaName":947,"dataGaLocation":425},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":949},{"src":950},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":952,"categories":953,"header":955,"text":942,"button":956,"image":960},"devops-modernization",[954,761],"product","Are you just managing tools or shipping innovation?",{"text":957,"config":958},"Get your DevOps maturity score",{"href":959,"dataGaName":947,"dataGaLocation":425},"/assessments/devops-modernization-assessment/",{"config":961},{"src":962},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":964,"categories":965,"header":966,"text":942,"button":967,"image":971},"security-modernization",[193],"Are you trading speed for security?",{"text":968,"config":969},"Get your security maturity score",{"href":970,"dataGaName":947,"dataGaLocation":425},"/assessments/security-modernization-assessment/",{"config":972},{"src":973},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":975,"paths":976,"header":979,"text":980,"button":981,"image":986},"github-azure-migration",[977,978],"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":982,"config":983},"See how GitLab compares to GitHub",{"href":984,"dataGaName":985,"dataGaLocation":425},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":987},{"src":962},{"header":989,"blurb":990,"button":991,"secondaryButton":996},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":992,"config":993},"Get your free trial",{"href":994,"dataGaName":224,"dataGaLocation":995},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":697,"config":997},{"href":549,"dataGaName":229,"dataGaLocation":995},1786803734713]