🎉 GitGuardian raises $50M Series C to accelerate AI agent security and NHI governance 🤖

read the announcement

🎉 GitGuardian raises $50M Series C to accelerate AI agent security and NHI governance 🤖

read the announcement

Non-Human Identity Security for the AI Generation

GitGuardian protects the enterprises against leaked secrets and mismanaged identities. As you know, exposed secrets are exploited in more than 80% of today's breaches. We are the developer wingman at every step of the development life cycle and we enable security teams with automated vulnerability detection and remediation. We strive to develop a true collaborative Non-Human Identity security platform including Secrets Security, NHI Governance and AI Agents security.

2017

Year of founding

$106M

Funding

610K+

Users

What we do for the World

How it all started

When Eric and Jérémy founded GitGuardian in 2017, they were working full-time as data scientists and software engineers. GitGuardian—the secret detection platform—started as a side project they were passionate about, driven by the conviction they were creating real value for users. It began with collecting public GitHub commits in real time, and with that data (plus some manual review), they quickly realized the massive scale of secrets sprawl. Since day one, GitGuardian has been working to make hackers’ lives a bit tougher.

") .addClass(DEFAULT_CLASSES.rowContainer) .css("top", `${index * -3}px`); }; const isOdd = (index) => index % 2 === 1; const isEven = (index) => index % 2 === 0; const validEntries = (row) => row.children().filter(function () { return ( $(this).find(DOM_SELECTORS.timelineEntryContent) .length !== 0 ); }); const invalidEntries = (row) => row.children().filter(function () { return ( $(this).find(DOM_SELECTORS.timelineEntryContent) .length === 0 ); }); const addBorderClasses = ( children, isLastRowEven, classes ) => { if (isLastRowEven) { children.addClass(classes.borderTop); } else { children.slice(0, -1).addClass(classes.borderTop); children.last().addClass(classes.dashedBorderTop); } }; const needToAddPlaceholderOnGrid = (element) => element.children().length === 2; const reverseRowChildren = (rowContainer) => { rowContainer.children().each(function () { rowContainer.prepend($(this)); }); }; const appendEntriesToRows = (entries, wrapper) => { let rowIndex = 1; let rowContainer = createRowContainer(rowIndex); const timelineRows = []; const validEntriesCount = entries.length % 3 === 1 ? entries.length - 1 : entries.length; const totalRows = Math.ceil(validEntriesCount / 3); entries.each((index, entry) => { rowContainer.append($(entry)); if ((index + 1) % 3 === 0) { if (isEven(rowIndex)) { reverseRowChildren(rowContainer); const rowVisibleChildren = validEntries(rowContainer); if ( rowVisibleChildren.length === 3 && rowIndex === totalRows ) { rowContainer.addClass( DEFAULT_CLASSES.dashedBorderTop ); } } wrapper.append(rowContainer); timelineRows.push(rowContainer); rowIndex++; rowContainer = createRowContainer(rowIndex); } }); if (needToAddPlaceholderOnGrid && isEven(rowIndex)) { rowContainer.append( $("
").addClass("placeholder") ); } if (rowContainer.children().length > 0) { if (isEven(rowIndex)) { rowContainer.children().each(function () { rowContainer.prepend($(this)); }); } wrapper.append(rowContainer); timelineRows.push(rowContainer); } return timelineRows; }; const addBordersToEntries = (rows, classes) => { const lastRow = $(rows.pop()); const lastRowVisibleChildren = validEntries(lastRow); const lastRowInvisibleChildren = invalidEntries(lastRow); if (lastRowVisibleChildren.length === 0) { lastRow.remove(); const newLastRow = $(rows[rows.length - 1]); const newVisibleChildren = validEntries(newLastRow); const isNewLastRowEven = isEven(rows.length); addBorderClasses( newVisibleChildren, isNewLastRowEven, classes ); } else { rows.push(lastRow); const isLastRowEven = isEven(rows.length); addBorderClasses( lastRowVisibleChildren, isLastRowEven, classes ); if (isOdd(rows.length)) { if (lastRowVisibleChildren.length === 2) { lastRowInvisibleChildren.addClass( classes.dashedBorderTop ); } } else { if (lastRowVisibleChildren.length > 0) { lastRowInvisibleChildren.addClass( classes.dashedBorderTop ); } } } }; const timelineRows = appendEntriesToRows( timelineEntries, timelineWrapper ); addBordersToEntries(timelineRows, DEFAULT_CLASSES); }; const checkWindowSize = () => { const currentWidth = window.innerWidth; if (currentWidth > 991) { if (!hasInitializedTimeline) { initializeTimeline(); hasInitializedTimeline = true; } } else { if (windowPreviousWidth > 991 && currentWidth <= 991) { location.reload(); } hasInitializedTimeline = false; } windowPreviousWidth = currentWidth; }; checkWindowSize(); window.addEventListener("resize", checkWindowSize); });

2017

GitGuardian is created in Paris in November

2018

Public Secrets Monitoring launched

2019

Series A $12 million

2020

Internal Secrets Monitoring launched

2021

Series B $44 million

50 Guardians

2022

100 Guardians

2023

Honeytoken launched

2024

#1 App on GitHub Marketplace

130 Guardians

2025

NHI Governance launched

2026

Series C $50 million

Our investors

Balderton logobpifrance logoEurazeo logoFly Ventures logoInsight logoQuadrille logoSapphire logo

Awards and Memberships

GitHub #1 App Badge

#1 app on the

GitHub marketplace

Awards

Sifted Rising 100

2024

French Tech 2030

2025-2027

Fortune Cyber 60

2025-2026

Ecovadis

2025

Memberships

Silver Corporate Member

2026

AWS ISV Accelerate

2026

One-ISAC

2026

Health-ISAC

2026

Aviation Isac

2026

FS-ISAC

2026

RH-ISAC

2026

People working
People working