764 lines
155 KiB
HTML
764 lines
155 KiB
HTML
<!DOCTYPE html><!-- This site was created in Webflow. https://webflow.com --><!-- Last Published: Thu Sep 10 2026 15:21:01 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="www.harness.io" data-wf-page="6a041649c513ba11909346ed" data-wf-site="69e786e187c925d08ee02b90" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Harness Blog: DevOps, CI/CD Insights</title><meta content="Explore the Harness blog for insights on DevOps, CI/CD tools, technical deep dives, and tutorials. Stay updated on software delivery trends." name="description"/><meta content="Harness Blog: DevOps, CI/CD Insights" property="og:title"/><meta content="Explore the Harness blog for insights on DevOps, CI/CD tools, technical deep dives, and tutorials. Stay updated on software delivery trends." property="og:description"/><meta content="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a32ed107a12cfaf51c23a29_generic-og.png" property="og:image"/><meta content="Harness Blog: DevOps, CI/CD Insights" name="twitter:title"/><meta content="Explore the Harness blog for insights on DevOps, CI/CD tools, technical deep dives, and tutorials. Stay updated on software delivery trends." name="twitter:description"/><meta content="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a32ed107a12cfaf51c23a29_generic-og.png" name="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="Webflow" name="generator"/><link href="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/css/redesign-3dot0.webflow.shared.43ef1a4f9.min.css" rel="stylesheet" type="text/css" integrity="sha384-Q+8aT5yKAtH6oew7N02SYHnMWAaFkzt8Oso2jAzqcN7jK/09p1FMKGfwxiPpy/rb" crossorigin="anonymous"/><link href="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/css/redesign-3dot0.webflow.6a041649c513ba11909346ed.64463a345.opt.min.css" rel="stylesheet" type="text/css" integrity="sha384-ZEY6NFx326j6t9sSlDIddTo/0zVU7HzD1KnVNB3hZo5jPhS0fRUR1iZm0KXK17s6" crossorigin="anonymous"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/><script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script><script type="text/javascript">WebFont.load({ google: { families: ["Newsreader:400"] }});</script><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/6222ca42ea87e1bd1aa1d10c/62245ac848fd5d8f594f2167_favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/6222ca42ea87e1bd1aa1d10c/62245acc1b2f1040941f0d8f_webclip.png" rel="apple-touch-icon"/><link href="https://www.harness.io/blog" rel="canonical"/><script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "BreadcrumbList",
|
||
"itemListElement": [{
|
||
"@type": "ListItem",
|
||
"position": 1,
|
||
"name": "Home",
|
||
"item": "https://www.harness.io"
|
||
},{
|
||
"@type": "ListItem",
|
||
"position": 2,
|
||
"name": "Blog",
|
||
"item": "https://www.harness.io/blog"
|
||
}]
|
||
}
|
||
</script>
|
||
<meta name="twitter:card" content="summary_large_image">
|
||
<meta name="twitter:site" content="@harnessio">
|
||
<meta name="license" content="https://creativecommons.org/licenses/by/4.0/">
|
||
<meta property="og:locale" content="en_us">
|
||
<meta property="og:site_name" content="Harness.io">
|
||
|
||
<!-- GOOGLE TAG MANAGER | DO NOT REMOVE -->
|
||
<script data-rly-safe="true">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||
'https://www.googletagmanager.com/gtm.js?id='+i+dl;j.setAttribute('data-rly-safe','true');f.parentNode.insertBefore(j,f);
|
||
})(window,document,'script','dataLayer','GTM-MGL29QM');</script>
|
||
<!-- End of GOOGLE TAG MANAGER -->
|
||
|
||
<!-- Please refrain from placing any other scripts here. Instead, please contact web admin and place the script via GTM. Thank you! -->
|
||
|
||
<!-- Early connection to Webflow CDN -->
|
||
<link rel="preconnect" href="https://cdn.prod.website-files.com" crossorigin>
|
||
<link rel="dns-prefetch" href="https://cdn.prod.website-files.com">
|
||
|
||
|
||
|
||
<!-- Google Fonts CDN -->
|
||
<link rel="preconnect" href="https://ajax.googleapis.com" crossorigin>
|
||
<link rel="dns-prefetch" href="https://ajax.googleapis.com">
|
||
|
||
<!-- CSS styling for custom fields -->
|
||
<style>
|
||
/* ===== Shared design tokens (comparison-table, key-differentiators, tool-fits) ===== */
|
||
.cg-rd{
|
||
--brand-color:#00ADE4;--near-black:#14120b;--text-primary:#202020;--text-secondary:#5a5a62;
|
||
--text-tertiary:#484851;--text-muted:#6e6e74;--bg-canvas:#fafafa;--bg-surface:#f6f6f6;
|
||
--bg-white:#ffffff;--border-light:#e2e8f0;--text-h3:2rem;--text-body:1rem;--text-body-sm:0.875rem;
|
||
--text-label:0.75rem;--leading-tight:1.10;--leading-comfortable:1.20;--leading-ui:1.25;
|
||
--leading-relaxed:1.50;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;
|
||
--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;
|
||
--space-3xl:3rem;--space-4xl:4rem;--space-5xl:5rem;--radius-button:8px;--radius-card:8px;--radius-pill:9999px;
|
||
--transition-fast:0.2s ease;--font-sans:Geist,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
|
||
--font-serif:Newsreader,Georgia,'Times New Roman',Times,serif;
|
||
}
|
||
.cg-rd,.cg-rd *{box-sizing:border-box;}
|
||
.cg-rd .eyebrow{font-family:var(--font-sans);font-size:var(--text-label);font-weight:var(--weight-medium);line-height:var(--leading-ui);color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.14em;}
|
||
.cg-rd .heading-small{font-family:var(--font-serif);font-size:var(--text-h3);font-weight:var(--weight-normal);line-height:var(--leading-comfortable);color:var(--text-primary);letter-spacing:-0.01em;margin:0;}
|
||
.cg-rd .body-regular{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-normal);line-height:var(--leading-relaxed);color:var(--text-secondary);}
|
||
.cg-rd .body-small{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--weight-normal);line-height:var(--leading-relaxed);color:var(--text-secondary);}
|
||
.cg-rd .u_text-primary{color:var(--text-primary)!important;}
|
||
.cg-rd .u_text-secondary{color:var(--text-secondary)!important;}
|
||
.cg-rd .u_text-tertiary{color:var(--text-tertiary)!important;}
|
||
.cg-rd .u_text-muted{color:var(--text-muted)!important;}
|
||
.cg-rd .u_medium{font-weight:var(--weight-medium)!important;}
|
||
.cg-rd .u_semibold{font-weight:var(--weight-semibold)!important;}
|
||
|
||
/* ===== Comparison table ===== */
|
||
.cg-rd .cd-section{margin-bottom:var(--space-5xl);}
|
||
.cg-rd .cd-section__heading{margin-bottom:var(--space-xl);}
|
||
.cg-rd .cd-table-wrap{border:1px solid var(--border-light);border-radius:var(--radius-card);overflow:hidden;background:transparent;}
|
||
.cg-rd .cd-table{width:100%;border-collapse:collapse;table-layout:auto;}
|
||
.cg-rd .cd-th{padding:var(--space-md) var(--space-xl);background:transparent;text-align:left;border-bottom:1px solid var(--border-light);}
|
||
.cg-rd .cd-th-harness{text-align:center;background:rgba(0,171,228,0.10);color:var(--text-primary);border-bottom:1px solid var(--border-light);border-left:1px solid var(--border-light);width:30%;}
|
||
.cg-rd .cd-th-competitor{text-align:center;border-left:1px solid var(--border-light);width:30%;}
|
||
.cg-rd .cd-section-row td{padding:var(--space-md) var(--space-xl);background:var(--bg-surface);border-bottom:1px solid var(--border-light);border-top:1px solid var(--border-light);}
|
||
.cg-rd .cmp-cell-feat{padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--border-light);background:transparent;}
|
||
.cg-rd .cmp-cell-harness{padding:var(--space-md) var(--space-xl);text-align:center;border-bottom:1px solid var(--border-light);border-left:1px solid var(--border-light);background:rgba(0,171,228,0.06);}
|
||
.cg-rd .cmp-cell-competitor{padding:var(--space-md) var(--space-xl);text-align:center;border-bottom:1px solid var(--border-light);border-left:1px solid var(--border-light);background:transparent;}
|
||
.cg-rd .cmp-cell-stack{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);}
|
||
.cg-rd .cmp-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-button);}
|
||
.cg-rd .cmp-detail{font-family:var(--font-sans);font-size:var(--text-label);line-height:var(--leading-ui);color:var(--text-tertiary);display:block;}
|
||
.cg-rd .cd-row-last .cmp-cell-feat,.cg-rd .cd-row-last .cmp-cell-harness,.cg-rd .cd-row-last .cmp-cell-competitor{border-bottom:none;}
|
||
.cg-rd .cd-legend{display:flex;gap:var(--space-xl);margin-top:var(--space-md);}
|
||
.cg-rd .cd-legend__item{display:flex;align-items:center;gap:var(--space-xs);}
|
||
@media (max-width:768px){
|
||
.cg-rd .cd-table-wrap{overflow-x:auto;}
|
||
.cg-rd .cd-legend{flex-direction:column;gap:var(--space-sm);}
|
||
}
|
||
|
||
/* ===== Key differentiators ===== */
|
||
.cg-rd .diff-table{width:100%;border:1px solid var(--border-light);border-radius:var(--radius-card);overflow:hidden;}
|
||
.cg-rd .diff-header-row{display:grid;grid-template-columns:1fr 1fr;}
|
||
.cg-rd .diff-header-cell{padding:var(--space-md) var(--space-xl);text-align:left;}
|
||
.cg-rd .diff-header-harness{color:var(--text-primary);background:rgba(0,171,228,0.10);border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);}
|
||
.cg-rd .diff-header-competitor{color:var(--text-muted);background:transparent;border-bottom:1px solid var(--border-light);}
|
||
.cg-rd .diff-item{border-bottom:1px solid var(--border-light);}
|
||
.cg-rd .diff-item:last-child{border-bottom:none;}
|
||
.cg-rd .diff-item__title{padding:var(--space-md) var(--space-xl);background:var(--bg-surface);border-bottom:1px solid var(--border-light);}
|
||
.cg-rd .diff-item__title p{margin:0;}
|
||
.cg-rd .diff-row{display:grid;grid-template-columns:1fr 1fr;}
|
||
.cg-rd .diff-cell{padding:var(--space-md) var(--space-xl);}
|
||
.cg-rd .diff-cell-harness{background:transparent;border-right:1px solid var(--border-light);}
|
||
.cg-rd .diff-cell-competitor{background:transparent;}
|
||
.cg-rd .diff-cell p{margin:0;}
|
||
.cg-rd .diff-cell__mobile-label{display:none;}
|
||
@media (max-width:768px){
|
||
.cg-rd .diff-header-row{display:none;}
|
||
.cg-rd .diff-item__title{padding:var(--space-md) var(--space-lg);}
|
||
.cg-rd .diff-row{grid-template-columns:1fr;}
|
||
.cg-rd .diff-cell-harness{border-right:none;border-bottom:1px solid var(--border-light);}
|
||
.cg-rd .diff-cell{padding:var(--space-md) var(--space-lg);}
|
||
.cg-rd .diff-cell__mobile-label{display:block;margin-bottom:var(--space-sm);}
|
||
}
|
||
|
||
/* ===== Tool fits (which tool is best for…) ===== */
|
||
.cg-rd .choose-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border-light);border-radius:var(--radius-card);overflow:hidden;}
|
||
.cg-rd .choose-col{padding:var(--space-2xl);}
|
||
.cg-rd .choose-col-competitor{background:var(--bg-surface);border-right:1px solid var(--border-light);}
|
||
.cg-rd .choose-col-harness{background:var(--bg-canvas);display:flex;flex-direction:column;}
|
||
.cg-rd .choose-col__header{margin:0 0 var(--space-xl);}
|
||
.cg-rd .choose-header__suffix{font-weight:400;color:var(--text-primary);}
|
||
.cg-rd .choose-header__brand{color:var(--brand-color);}
|
||
.cg-rd .choose-list{list-style:none;padding:0;margin:0;flex:1;}
|
||
.cg-rd .choose-item{display:flex;gap:var(--space-sm);align-items:flex-start;padding:var(--space-md) 0;}
|
||
.cg-rd .choose-bullet{width:5px;height:5px;border-radius:50%;background:var(--text-muted);flex-shrink:0;margin-top:7px;}
|
||
.cg-rd .choose-cta{display:block;margin-top:var(--space-xl);padding:var(--space-md) var(--space-lg);background:var(--near-black);color:var(--bg-white);border-radius:var(--radius-button);text-align:center;font-family:var(--font-sans);font-size:14px;font-weight:500;text-decoration:none;transition:opacity var(--transition-fast);}
|
||
.cg-rd .choose-cta:hover{opacity:0.85;}
|
||
@media (max-width:768px){
|
||
.cg-rd .choose-card{grid-template-columns:1fr;border-radius:var(--radius-card);}
|
||
.cg-rd .choose-col-competitor{border-right:none;border-bottom:1px solid var(--border-light);}
|
||
.cg-rd .choose-col{padding:24px 16px 16px!important;}
|
||
.cg-rd .choose-col__header{margin:0 0 32px!important;}
|
||
.cg-rd .choose-item{padding:12px 0!important;}
|
||
}
|
||
|
||
/* ===== Scorecard (MetricsStrip) — standalone, no .cg-rd tokens ===== */
|
||
.cg-scorecard,.cg-scorecard *{box-sizing:border-box;}
|
||
.cg-scorecard{font-family:Geist,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#202020;display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 2.5rem;width:100%;}
|
||
.cg-scorecard .cg-scorecard_item{display:flex;flex-direction:column;gap:0.5rem;border-left:1px solid #e2e8f0;padding-left:2rem;}
|
||
.cg-scorecard .cg-scorecard_item:nth-child(2n+1){border-left:none;padding-left:0;}
|
||
.cg-scorecard .cg-scorecard_value{font-size:18px;font-weight:500;color:#202020;line-height:1.2;}
|
||
.cg-scorecard .cg-scorecard_label{font-size:14px;font-weight:400;color:#5a5a62;line-height:1.5;}
|
||
@media (max-width:768px){
|
||
.cg-scorecard{gap:1.5rem;}
|
||
.cg-scorecard .cg-scorecard_item{border-left:1px solid #e2e8f0;padding-left:1.5rem;}
|
||
.cg-scorecard .cg-scorecard_item:nth-child(2n+1){border-left:none;padding-left:0;}
|
||
}
|
||
|
||
/* ===== Learn toolkit (What You'll Learn) — standalone ===== */
|
||
.zero-day,.zero-day *{box-sizing:border-box;}
|
||
.zero-day{font-family:Geist,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#202020;--color-appsec:#0677d4;--border-light:#e2e8f0;--bg-surface:#f6f6f6;}
|
||
.zero-day .zero-day_learn-grid{grid-template-columns:repeat(3,1fr);display:grid;border:1px solid var(--border-light);border-radius:8px;overflow:hidden;}
|
||
.zero-day .zero-day_learn-card{padding:2rem;border-top:1px solid var(--border-light);border-left:1px solid var(--border-light);flex-direction:column;gap:0.5rem;display:flex;}
|
||
.zero-day .zero-day_learn-card--first{border-left-style:none;}
|
||
.zero-day .zero-day_learn-icon{width:36px;height:36px;margin-bottom:0.25rem;background-color:#0677d414;border:1px solid #0677d42e;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex;}
|
||
.zero-day .zero-day_learn-card>div:not(.zero-day_learn-icon){font-family:inherit;font-size:1rem;font-weight:600;line-height:1.4;color:#202020;margin:0.25rem 0 0.25rem;}
|
||
.zero-day .zero-day_learn-card .body-small{font-family:inherit;font-size:0.875rem;font-weight:400;line-height:1.5;color:#5a5a62;margin:0;}
|
||
@media (max-width:991px){
|
||
.zero-day .zero-day_learn-grid{grid-template-columns:repeat(2,1fr);}
|
||
.zero-day .zero-day_learn-card{border-left:1px solid var(--border-light);}
|
||
.zero-day .zero-day_learn-card:nth-child(2n+1){border-left-style:none;}
|
||
}
|
||
@media (max-width:640px){
|
||
.zero-day .zero-day_learn-grid{grid-template-columns:1fr;}
|
||
.zero-day .zero-day_learn-card{border-left-style:none!important;}
|
||
}
|
||
|
||
/* ===== Key takeaways (ALREADY externalized — include only if not already in a template) ===== */
|
||
.cg-takeaways-wrap,.cg-takeaways-wrap *{box-sizing:border-box;}
|
||
.cg-takeaways-wrap{font-family:Geist,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#202020;}
|
||
.cg-takeaways-wrap .cg-takeaways_header{text-align:center;margin:0 auto 2.5rem;max-width:720px;}
|
||
.cg-takeaways-wrap .cg-takeaways_eyebrow{font-size:0.75rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:#5a5a62;margin:0 0 0.75rem;}
|
||
.cg-takeaways-wrap .cg-takeaways_heading{font-family:Newsreader,Georgia,'Times New Roman',serif;font-size:2.75rem;font-weight:400;line-height:1.1;color:#14120b;margin:0;}
|
||
@media (max-width:640px){.cg-takeaways-wrap .cg-takeaways_heading{font-size:2rem;}}
|
||
.cg-takeaways{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;width:100%;}
|
||
.cg-takeaways .cg-takeaways_card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.5rem;padding:2rem;background:#ffffff;border:1px solid #e9e9ec;border-radius:16px;}
|
||
.cg-takeaways .cg-takeaways_icon{width:44px;height:44px;margin:0 auto 0.75rem;background:#f4f4f6;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
|
||
.cg-takeaways .cg-takeaways_icon svg{width:20px;height:20px;}
|
||
.cg-takeaways .cg-takeaways_title{font-size:1.125rem;font-weight:600;line-height:1.35;color:#14120b;margin:0;text-align:center;}
|
||
.cg-takeaways .cg-takeaways_body{font-size:0.9375rem;font-weight:400;line-height:1.55;color:#5a5a62;margin:0;text-align:center;}
|
||
@media (max-width:991px){.cg-takeaways{grid-template-columns:repeat(2,1fr);}}
|
||
@media (max-width:640px){.cg-takeaways{grid-template-columns:1fr;}}
|
||
</style>
|
||
|
||
<!-- Structured data so every page inherits one canonical entity graph -->
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@graph": [
|
||
{
|
||
"@type": "WebSite",
|
||
"@id": "https://www.harness.io/#website",
|
||
"url": "https://www.harness.io/",
|
||
"name": "Harness",
|
||
"alternateName": "Harness.io",
|
||
"description": "AI-native software delivery platform.",
|
||
"inLanguage": "en-US",
|
||
"publisher": { "@id": "https://www.harness.io/#organization" },
|
||
"potentialAction": {
|
||
"@type": "SearchAction",
|
||
"target": {
|
||
"@type": "EntryPoint",
|
||
"urlTemplate": "https://www.harness.io/search-results?query={search_term_string}"
|
||
},
|
||
"query-input": "required name=search_term_string"
|
||
}
|
||
},
|
||
{
|
||
"@type": "Organization",
|
||
"@id": "https://www.harness.io/#organization",
|
||
"name": "Harness",
|
||
"legalName": "Harness Inc.",
|
||
"alternateName": "Harness.io",
|
||
"url": "https://www.harness.io/",
|
||
"description": "AI-native software delivery platform automating CI/CD, infrastructure as code, testing, security and cloud cost management with AI agents.",
|
||
"slogan": "AI for everything after code",
|
||
"foundingDate": "2017-10-24",
|
||
"foundingLocation": {
|
||
"@type": "Place",
|
||
"address": {
|
||
"@type": "PostalAddress",
|
||
"addressLocality": "San Francisco",
|
||
"addressRegion": "CA",
|
||
"addressCountry": "US"
|
||
}
|
||
},
|
||
"founder": [
|
||
{ "@type": "Person", "name": "Jyoti Bansal", "jobTitle": "Co-Founder & CEO" }
|
||
],
|
||
"numberOfEmployees": { "@type": "QuantitativeValue", "value": 1200 },
|
||
"address": {
|
||
"@type": "PostalAddress",
|
||
"streetAddress": "55 Stockton Street, Floor 8",
|
||
"addressLocality": "San Francisco",
|
||
"addressRegion": "CA",
|
||
"postalCode": "94108",
|
||
"addressCountry": "US"
|
||
},
|
||
"logo": {
|
||
"@type": "ImageObject",
|
||
"@id": "https://www.harness.io/#logo",
|
||
"url": "https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/69e786e187c925d08ee046ca_harness%20logo.svg",
|
||
"contentUrl": "https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/69e786e187c925d08ee046ca_harness%20logo.svg",
|
||
"width": 512,
|
||
"height": 512,
|
||
"caption": "Harness"
|
||
},
|
||
"image": { "@id": "https://www.harness.io/#logo" },
|
||
"sameAs": [
|
||
"https://www.linkedin.com/company/harnessinc/",
|
||
"https://twitter.com/harnessio",
|
||
"https://github.com/harness",
|
||
"https://www.youtube.com/@Harnessio",
|
||
"https://en.wikipedia.org/wiki/Jyoti_Bansal"
|
||
],
|
||
"knowsAbout": [
|
||
"Continuous Integration",
|
||
"Continuous Delivery",
|
||
"GitOps",
|
||
"AI-Native DevOps",
|
||
"Platform Engineering",
|
||
"Feature Flags",
|
||
"Chaos Engineering",
|
||
"Cloud Cost Management",
|
||
"FinOps",
|
||
"DevSecOps",
|
||
"Software Supply Chain Security",
|
||
"Infrastructure as Code"
|
||
],
|
||
"areaServed": { "@type": "Place", "name": "Worldwide" },
|
||
"contactPoint": [
|
||
{
|
||
"@type": "ContactPoint",
|
||
"contactType": "sales",
|
||
"url": "https://www.harness.io/company/contact-sales",
|
||
"availableLanguage": ["en"]
|
||
},
|
||
{
|
||
"@type": "ContactPoint",
|
||
"contactType": "technical support",
|
||
"url": "https://www.harness.io/support",
|
||
"availableLanguage": ["en"]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
</script>
|
||
<!-- Finsweet Attributes -->
|
||
<script async type="module"
|
||
src="https://cdn.jsdelivr.net/npm/@finsweet/attributes@2/attributes.js"
|
||
fs-list
|
||
></script>
|
||
<style>
|
||
/* 1. Hides all reference items after the first one */
|
||
.multi-ref-item:nth-child(n+2) {
|
||
display: none;
|
||
}
|
||
|
||
/* 2. Hides the + more badge by default */
|
||
.more-badge {
|
||
display: none;
|
||
}
|
||
|
||
/* 3. Shows the badge ONLY if a 2nd multi-reference item exists */
|
||
.tags-wrapper:has(.multi-ref-item:nth-child(2)) .more-badge {
|
||
display: block;
|
||
}
|
||
</style>
|
||
|
||
<style>
|
||
.is-list-loading {
|
||
opacity: 0.5;
|
||
transition: opacity 0.2s ease;
|
||
}
|
||
|
||
.is-list-starting {
|
||
opacity: 0;
|
||
transform: translateY(8px);
|
||
}
|
||
|
||
.w-dyn-item {
|
||
opacity: 1;
|
||
transform: translateY(0);
|
||
transition: opacity 0.25s ease, transform 0.25s ease;
|
||
}
|
||
</style>
|
||
<script type="text/javascript">window.__WEBFLOW_CURRENCY_SETTINGS = {"currencyCode":"USD","symbol":"$","decimal":".","fractionDigits":2,"group":",","template":"{{wf {\"path\":\"symbol\",\"type\":\"PlainText\"} }} {{wf {\"path\":\"amount\",\"type\":\"CommercePrice\"} }} {{wf {\"path\":\"currencyCode\",\"type\":\"PlainText\"} }}","hideDecimalForWholeNumbers":false};</script></head><body class="body"><div class="blog_page-wrap bg-surface"><nav class="nav"><div class="nav_container-2"><div class="nav_desktop"><div class="nav_links"><a aria-label="Harness home" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a72f" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a72f" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/" class="nav_logo w-inline-block"><svg width="100" height="auto" viewBox="0 0 276 60" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><g><path fill="#00ADE4" d="M55.4842 19.6433L40.3707 4.50879C38.5809 2.81649 36.4489 1.52785 34.1188 0.729812C28.9552 -0.989599 23.8164 0.352522 19.6546 4.50879L4.50402 19.6433C2.812 21.4334 1.52356 23.5657 0.725652 25.8963C-0.999659 31.0607 0.34225 36.2004 4.50402 40.3567L19.6361 55.4912C21.423 57.1841 23.5531 58.4729 25.8818 59.2702C27.2925 59.7471 28.7709 59.9936 30.26 60C33.89 60 37.3653 58.4661 40.346 55.4912L55.4718 40.3567C57.1661 38.5671 58.4566 36.4348 59.2564 34.1037C60.9755 28.9393 59.6336 23.8058 55.4718 19.6433H55.4842ZM31.1567 8.9001C32.2998 9.26665 33.3532 9.86931 34.2486 10.669L38.7196 15.1469L30.0003 23.8614L21.281 15.1407L25.7767 10.6381C26.9825 9.43818 28.6831 8.16409 31.169 8.89391L31.1567 8.9001ZM8.90696 28.8279C9.27461 27.6838 9.87937 26.63 10.6818 25.7355L15.1527 21.2638L23.872 29.9845L15.1465 38.7053L10.6508 34.2026C9.44497 33.0028 8.17726 31.3019 8.90078 28.8156L8.90696 28.8279ZM28.8315 51.0813C27.687 50.718 26.6329 50.115 25.7396 49.3124L21.281 44.8902L30.0003 36.1633L38.7196 44.884L34.2239 49.3866C33.018 50.5865 31.3236 51.8606 28.8315 51.1308V51.0813ZM51.0936 31.1968C50.7261 32.3396 50.1237 33.393 49.325 34.2892L44.854 38.7053L36.1347 29.9845L44.854 21.2638L49.3497 25.7602C50.5556 26.9601 51.8233 28.6609 51.0998 31.1473"></path><path fill="#231F20" d="M88.1127 51.3111H95.923V29.6329C95.923 22.947 91.8602 18.0115 84.928 18.0115C81.5516 18.0115 77.934 19.5082 76.0541 22.2605V6.17969H68.25V51.2926H76.0541V34.1912C76.0541 30.1958 78.0577 25.1983 82.7389 25.1983C86.8636 25.1983 88.1127 27.5053 88.1127 31.2596V51.3111ZM119.651 38.4898C119.651 43.2583 116.243 45.8622 111.414 45.8622C108.996 45.8622 106.825 44.316 106.825 41.8358C106.825 39.2319 109.119 37.8094 111.476 37.6239L119.651 37.0054V38.4898ZM126.156 51.8121C127.489 51.8556 128.811 51.5575 129.996 50.9462V45.2437C129.672 45.32 129.34 45.3615 129.007 45.3674C127.708 45.3674 127.214 44.8107 127.214 43.3202V31.3647C127.311 29.1566 126.994 26.9497 126.28 24.8582C124.425 20.0215 119.712 18.2898 114.203 18.2898C107.011 18.2898 101.247 21.5121 100.814 28.7609H108.316C108.501 25.7859 110.604 24.1778 114.203 24.1778C118.599 24.1778 119.651 26.2189 119.651 29.2557V31.241L110.165 31.9028C104.03 32.3358 99.2623 35.8673 99.2623 42.0028C99.2623 47.2723 103.226 52.1028 110.913 52.1028C115.495 52.1028 119.212 49.8762 120.702 47.2724C120.949 49.6907 122.804 51.7935 126.15 51.7935L126.156 51.8121ZM150.49 25.9529C150.903 25.9559 151.316 25.9828 151.727 26.0333V18.7351C151.393 18.7351 151.059 18.6609 150.731 18.6609C146.946 18.6609 143.106 20.2071 141.622 23.9243L140.936 19.0938H134.362V51.3173H142.172V35.0819C142.172 29.8742 145.023 25.9715 150.471 25.9715L150.49 25.9529ZM174.929 51.3297H182.677V29.8123C182.677 23.1202 178.645 18.2898 171.769 18.2898C168.058 18.2898 164.212 19.836 162.289 23.2377L161.732 19.0876H155.245V51.3111H162.988V38.1805C162.988 35.453 162.926 32.1069 164.045 29.5649C165.096 27.2084 166.896 25.4767 169.61 25.4767C173.698 25.4767 174.935 27.7713 174.935 31.5503L174.929 51.3297ZM208.105 31.9956H194.179C194.145 30.1788 194.737 28.4055 195.855 26.9734C196.499 26.1694 197.322 25.527 198.258 25.0974C199.194 24.6679 200.218 24.4631 201.247 24.4994C202.147 24.4514 203.047 24.5916 203.889 24.9111C204.731 25.2306 205.497 25.7223 206.139 26.3549C207.376 27.7218 208.062 29.5773 208.124 31.9956H208.105ZM215.866 35.4653C215.99 31.4389 215.433 27.7836 213.077 24.2459C210.418 20.2195 206.077 18.3022 201.328 18.3022C199.425 18.2466 197.530 18.5806 195.761 19.2836C193.991 19.9866 192.384 21.0438 191.038 22.3904C187.946 25.5509 186.394 30.1339 186.394 35.2798C186.394 40.5493 188.125 45.0705 191.341 48.1692C192.686 49.4744 194.278 50.4975 196.024 51.1784C197.769 51.8592 199.634 52.184 201.507 52.1337C205.595 52.1337 209.62 50.8349 212.347 47.6125C213.584 46.122 214.889 43.5861 215.075 41.6626H207.654C207.393 42.6957 206.857 43.6386 206.102 44.3902C204.989 45.5035 203.628 45.9364 201.396 45.9364C199.606 45.9305 197.891 45.2194 196.622 43.9572C195.82 43.1194 195.197 42.1267 194.792 41.0398C194.387 39.9529 194.208 38.7947 194.266 37.6362H215.804C215.804 36.9497 215.866 35.4653 215.866 35.4653ZM226.267 28.0929C226.286 27.3411 226.532 26.6126 226.974 26.004C227.416 25.3954 228.032 24.9354 228.741 24.685C229.808 24.2847 230.949 24.116 232.087 24.1902C233.625 24.1473 235.126 24.6761 236.298 25.6746C237.108 26.4804 237.573 27.5691 237.596 28.7114H244.974C244.881 26.2236 243.865 23.8596 242.123 22.0811C239.773 19.5329 235.871 18.296 232.031 18.296C227.999 18.296 224.61 19.4711 222.242 21.5183C221.184 22.4014 220.34 23.512 219.771 24.7671C219.203 26.0222 218.925 27.3895 218.958 28.767C218.958 32.8553 221.933 36.4487 226.329 37.3826C229.18 38.0011 232.402 38.1867 235.253 38.6196C237.232 38.9289 238.474 40.1659 238.474 42.0275C238.474 45.5591 234.511 46.1158 231.907 46.1158C229.675 46.1158 228.252 45.6828 227.01 44.6932C226.153 43.9259 225.578 42.8938 225.377 41.7616H218.08C218.379 44.3035 219.566 46.658 221.432 48.4104C224.097 50.9524 227.752 52.1213 231.845 52.1213C236.242 52.1213 240.268 51.0081 242.871 48.4104C243.796 47.4859 244.522 46.3816 245.004 45.1658C245.486 43.9499 245.713 42.6482 245.673 41.341C245.673 36.257 241.962 33.0346 236.873 32.2306C233.713 31.7358 232.909 31.674 229.996 31.3029C228.265 31.0555 226.286 30.3689 226.286 28.0805L226.267 28.0929ZM267.322 28.699H274.675C274.583 26.2112 273.566 23.8473 271.824 22.0688C269.468 19.533 265.566 18.296 261.751 18.296C257.725 18.296 254.33 19.4711 251.962 21.5183C250.904 22.4014 250.06 23.512 249.491 24.7671C248.922 26.0222 248.644 27.3895 248.678 28.767C248.678 32.8553 251.652 36.4487 256.049 37.3826C258.9 38.0011 262.122 38.1867 264.973 38.6196C266.951 38.9289 268.194 40.1659 268.194 42.0275C268.194 45.5591 264.224 46.1158 261.627 46.1158C259.395 46.1158 257.972 45.6828 256.729 44.6932C255.873 43.9259 255.298 42.8938 255.097 41.7616H247.775C248.074 44.3049 249.264 46.6603 251.133 48.4104C253.792 50.9524 257.447 52.1213 261.54 52.1213C265.937 52.1213 269.963 51.0081 272.566 48.4104C273.489 47.4848 274.213 46.3801 274.692 45.1643C275.172 43.9485 275.398 42.6474 275.355 41.341C275.355 36.257 271.645 33.0346 266.556 32.2306C263.396 31.7358 262.592 31.674 259.679 31.3029C257.948 31.0555 255.969 30.3689 255.969 28.0805C255.987 27.3287 256.234 26.6002 256.675 25.9917C257.117 25.3831 257.733 24.9231 258.442 24.6726C259.51 24.2723 260.65 24.1036 261.788 24.1778C263.327 24.135 264.827 24.6638 265.999 25.6622C266.811 26.4674 267.278 27.556 267.304 28.699"></path></g></svg></a><div class="nav_center"><div data-nav-dropdown="platform" class="nav_dropdown"><a aria-expanded="false" aria-haspopup="true" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a736" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a736" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="#" class="nav_dropdown-trigger w-button">Platform</a><div class="nav_dropdown-panel nav_platform-panel"><div class="nav_platform"><div class="nav_platform-wrapper"><div class="nav_platform-header-container"><div id="w-node-_26e2cb6a-8cd5-1e75-b0e5-b87a1dbb2344-6e65047d" class="layout_flex-vertical padding-l24"><div><div class="title-large u_medium u_leading-relaxed">Harness Autonomous SDLC Platform</div><p class="nav_paragraph">Deliver at machine speed.</p></div><div><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:99d1b2ff-a9e9-5421-aa06-f1a2c1e4bfb6" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="99d1b2ff-a9e9-5421-aa06-f1a2c1e4bfb6" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/platform" class="nav_platform-cta w-inline-block"><div>Explore the platform</div><div class="w-embed"><svg width="8" height="10" viewBox="0 0 8 10" fill="none"><path d="M2 2l3 3-3 3" stroke="#14120b" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></a></div></div><div class="layout_flex-vertical gap-10"><div class="nav_platform-subheading">Explore</div><div class="layout_flex-vertical gap-15"><a href="/products/platform" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:7fe7bb61-9e0c-45cd-ee63-a1ab2b17a8c0" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="7fe7bb61-9e0c-45cd-ee63-a1ab2b17a8c0" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav-plat-link">Overview</a><a href="https://developer.harness.io/docs/" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:7fe7bb61-9e0c-45cd-ee63-a1ab2b17a8c8" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="7fe7bb61-9e0c-45cd-ee63-a1ab2b17a8c8" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav-plat-link">Documentation</a><a href="/products/platform/knowledge-graph" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:7fe7bb61-9e0c-45cd-ee63-a1ab2b17a8c4" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="7fe7bb61-9e0c-45cd-ee63-a1ab2b17a8c4" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav-plat-link">Knowledge Graph</a><a href="https://trust.harness.io/" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:7fe7bb61-9e0c-45cd-ee63-a1ab2b17a8c6" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="7fe7bb61-9e0c-45cd-ee63-a1ab2b17a8c6" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav-plat-link">Trust Center</a></div></div><div class="layout_flex-vertical gap-10"><div class="nav_platform-subheading">Popular Use Cases</div><div class="layout_flex-vertical gap-10"><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:fb5db900-2676-a705-91e6-c94e7ae5e7cc" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="fb5db900-2676-a705-91e6-c94e7ae5e7cc" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/use-cases/ai-dlc" class="nav-plat-usecase-link w-inline-block"><div class="nav_plat-usecase-svg"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a0023ed4dca978a48255_ai-dlc-icon.webp" loading="lazy" alt="AI DLC Icon" class="nav-icon"/></div><div class="body-small u_inherit-color">AI DLC</div></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:20619f7d-cc8b-01f9-0dd4-6ac8f4c0f739" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="20619f7d-cc8b-01f9-0dd4-6ac8f4c0f739" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/use-cases/agent-dlc" class="nav-plat-usecase-link w-inline-block"><div class="nav_plat-usecase-svg"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a034054c1667bbd13120_agent-dlc-icon.webp" loading="lazy" alt="Agent DLC Icon" class="nav-icon"/></div><div class="body-small u_inherit-color">Agent DLC</div></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:09458a55-de14-dd8b-f9c9-c1ce40e69ed6" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="09458a55-de14-dd8b-f9c9-c1ce40e69ed6" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/use-cases/mythos-readiness" class="nav-plat-usecase-link w-inline-block"><div class="nav_plat-usecase-svg"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a0417918d0434b6d4a15_mythos-readiness-icon.webp" loading="lazy" alt="Mythos Readiness Icon" class="nav-icon"/></div><div class="body-small u_inherit-color">Mythos Readiness</div></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:de5b2a9f-6e17-c88e-461f-adf518f95eef" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="de5b2a9f-6e17-c88e-461f-adf518f95eef" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/cloud-ai-cost-management" class="nav-plat-usecase-link w-inline-block"><div class="nav_plat-usecase-svg"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a05185945588452f52e8_ai-cost-management-icon.webp" loading="lazy" alt="AI Cost Management Icon" class="nav-icon"/></div><div class="body-small u_inherit-color">AI Cost Management</div></a></div></div></div><div class="nav_platform-agents-container"><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:d1de2fdf-51df-6079-df93-1adb986d38b9" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="d1de2fdf-51df-6079-df93-1adb986d38b9" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/software-delivery-agent" class="nav_platform-agent w-inline-block"><div class="layout_flex-vertical gap-10"><div class="nav_plat-usecase-svg is-large"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a08aebfef289e6291a8c_software-delivery-agent-icon.webp" loading="lazy" alt="Software Delivery Agent Icon" class="nav-icon is-large"/></div><div class="link-block"><div>Software Delivery Agent</div><div class="w-embed"><svg width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M3 2.5l3 3-3 3" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path></svg></div></div><p class="nav_paragraph is-small u_text-secondary no-margin">Get code and agents from commit to production in minutes.</p></div><div class="layout_flex-horizontal direction_wraps gap-8"><div class="agent_name">Deployments</div><div class="agent_name">Builds</div><div class="agent_name">Artifacts</div><div class="agent_name">+ more</div></div></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:4aef5faf-96a5-0957-ba7f-83196ca259d9" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="4aef5faf-96a5-0957-ba7f-83196ca259d9" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/security-testing-agent" class="nav_platform-agent w-inline-block"><div class="layout_flex-vertical gap-10"><div class="nav_plat-usecase-svg is-large"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a09722a9a61e046275e0_security-testing-agent.webp" loading="lazy" alt="Security Testing Agent Icon" class="nav-icon is-large"/></div><div class="link-block"><div>Security Testing Agent</div><div class="w-embed"><svg width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M3 2.5l3 3-3 3" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path></svg></div></div><p class="nav_paragraph is-small u_text-secondary no-margin">Discover bugs and resilience weaknesses before your users do.</p></div><div class="layout_flex-horizontal direction_wraps gap-8"><div class="agent_name">SAST</div><div class="agent_name">SCA</div><div class="agent_name">Supply Chain Security</div><div class="agent_name">+ more</div></div></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:bfd52975-b1f7-08e7-8c12-55aea7029035" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="bfd52975-b1f7-08e7-8c12-55aea7029035" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/runtime-protection-agent" class="nav_platform-agent w-inline-block"><div class="layout_flex-vertical gap-10"><div class="nav_plat-usecase-svg is-large"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a0a5eec5583c65e3080a_runtime-protection-agent-icon.webp" loading="lazy" alt="Runtime Protection Agent Icon" class="nav-icon is-large"/></div><div class="link-block"><div>Runtime Protection Agent</div><div class="w-embed"><svg width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M3 2.5l3 3-3 3" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path></svg></div></div><p class="nav_paragraph is-small u_text-secondary no-margin">Catch vulnerabilities before they ship and protect your runtime.</p></div><div class="layout_flex-horizontal direction_wraps gap-8"><div class="agent_name">API Posture</div><div class="agent_name">AI Posture</div><div class="agent_name">API Adv. Protection</div><div class="agent_name">+ more</div></div></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:578c43f9-f9dc-1ec7-bbab-1e85ae61faa7" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="578c43f9-f9dc-1ec7-bbab-1e85ae61faa7" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/cost-management-agent" class="nav_platform-agent w-inline-block"><div class="layout_flex-vertical gap-10"><div class="nav_plat-usecase-svg is-large"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a0b1e8be118c8f669d44_cost-management-alert.webp" loading="lazy" alt="Cost Management Agent Icon" class="nav-icon is-large"/></div><div class="link-block"><div>Cost Management Agent</div><div class="w-embed"><svg width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M3 2.5l3 3-3 3" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path></svg></div></div><p class="nav_paragraph is-small u_text-secondary no-margin">Own production and manage costs without surprises.</p></div><div class="layout_flex-horizontal direction_wraps gap-8"><div class="agent_name">AI Costs</div><div class="agent_name">Cloud Costs</div><div class="agent_name">Engineering Efficiency</div><div class="agent_name">+ more</div></div></a></div><div class="nav_platform-more-products"><div data-w-id="420c9b3a-8f62-acc4-1679-39b4fc4d0aa3" class="nav_more-products-btn"><div>More products</div><div class="icon-arrow small w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down" aria-hidden="true" style="color: var(--near-black); transition: transform 0.2s; transform: rotate(0deg);" preserveAspectRatio="xMidYMid meet" role="img"><path d="m6 9 6 6 6-6"/></svg></div></div><div class="nav_more-products-panel"><div class="nav_more-products"><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:63e67b7a-d89c-3efd-2c2e-beba07184b9e" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="63e67b7a-d89c-3efd-2c2e-beba07184b9e" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/ai-sre" class="nav_more-products-link">Incidents</a><a id="w-node-_33500c18-3045-627a-189e-40ccdb57bb22-6e65047d" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:33500c18-3045-627a-189e-40ccdb57bb22" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="33500c18-3045-627a-189e-40ccdb57bb22" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/internal-developer-portal" class="nav_more-products-link">Developer Portal</a><a id="w-node-_1c04e76f-a62a-bd39-3745-8ec2814aa94b-6e65047d" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:1c04e76f-a62a-bd39-3745-8ec2814aa94b" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="1c04e76f-a62a-bd39-3745-8ec2814aa94b" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/resilience-testing" class="nav_more-products-link">Resilience Testing</a><a id="w-node-f4124bf4-c4ff-edd2-fe3b-339def10bbd1-6e65047d" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:f4124bf4-c4ff-edd2-fe3b-339def10bbd1" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="f4124bf4-c4ff-edd2-fe3b-339def10bbd1" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/ai-evals" class="nav_more-products-link">AI Evals</a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:261296f9-56b7-848e-641b-407600b1526c" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="261296f9-56b7-848e-641b-407600b1526c" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/feature-management-experimentation" class="nav_more-products-link">Runtime Configuration</a></div></div></div></div></div></div></div><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8a2" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8a2" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/why-harness" class="nav_link">Why Harness</a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8a4" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8a4" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/pricing" class="nav_link">Pricing</a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8a6" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8a6" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/customers" class="nav_link">Customers</a><div data-nav-dropdown="resources" class="nav_dropdown"><a aria-expanded="false" aria-haspopup="true" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8a9" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8a9" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="#" class="nav_dropdown-trigger w-button">Resources</a><div role="menu" class="nav_dropdown-panel nav_resources-panel"><div class="nav_resources-cols"><div data-rcol="build" class="nav_resources-col"><p class="nav_resources-col-title">Build</p><div class="layout_flex-vertical gap-12"><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8b0" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8b0" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="https://developer.harness.io" target="_blank" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Documentation</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8b3" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8b3" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="https://apidocs.harness.io/" target="_blank" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">API Reference</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8b6" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8b6" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="https://community.harness.io/" target="_blank" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Community</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8b9" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8b9" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/training" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Training</p></a></div></div><div data-rcol="learn" class="nav_resources-col"><p class="nav_resources-col-title">Learn</p><div class="layout_flex-vertical gap-12"><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8bf" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8bf" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/learn/resource-center" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Resources Hub</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8c2" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8c2" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/blog" aria-current="page" class="nav_resources-item w-inline-block w--current"><p class="nav_resources-item-name">Blog</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8c5" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8c5" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/comparison-guide" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Comparison Guide</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8c8" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8c8" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/customers" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Customer Stories</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8ce" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8ce" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/harness-devops-academy" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">DevOps Academy</p></a></div></div><div data-rcol="events" class="nav_resources-col"><p class="nav_resources-col-title">Events</p><div class="layout_flex-vertical gap-12"><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8d4" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8d4" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/events" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Events</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8d7" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8d7" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/events#harness-summit" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Harness Summits</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8da" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8da" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/events#webinar" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Webinars</p></a></div></div></div></div></div><div data-nav-dropdown="company" class="nav_dropdown"><a aria-expanded="false" aria-haspopup="true" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8de" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8de" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="#" class="nav_dropdown-trigger">Company</a><div class="nav_dropdown-panel nav_company-panel"><div class="nav_company-links"><a href="/company/about-us" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8e2" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8e2" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav_company-link">About Us</a><a href="/company/careers" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8e4" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8e4" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav_company-link">Careers</a><a href="/company/security" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8e6" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8e6" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav_company-link">Security</a><a href="/company/press-and-news" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8e8" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8e8" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav_company-link">Press <!-- -->&<!-- --> News</a><a href="/legal" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8ec" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8ec" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav_company-link">Legal</a><a href="/partners" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8ee" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8ee" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav_company-link">Partners</a><a href="/company/contact-sales" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8f0" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8f0" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav_company-link">Contact Us</a></div></div></div></div></div><div class="nav_actions hide-mobile"><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8f3" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8f3" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/demo/platform" class="nav_btn nav_btn--outline">See a Demo</a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a8f5" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8f5" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="https://app.harness.io/auth/#/signup?utm_source=harness_io&utm_medium=cta&utm_campaign=platform" class="nav_btn nav_btn--filled">Start for Free</a></div><button data-w-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a8f7" aria-label="Toggle menu" class="nav_hamburger nav_hamburger--mobile-only open-menu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true" class="nav_hamburger-icon"><path d="M3 6 H21 M3 12 H21 M3 18 H21"></path></svg></button><button data-w-id="ffc639ff-0117-acd2-c351-12474061dbc3" aria-label="Toggle menu" class="nav_hamburger nav_hamburger--mobile-only close-menu"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x" aria-hidden="true" preserveAspectRatio="xMidYMid meet" role="img"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg></div></button><div class="hide w-embed w-script"><!-- Global Nav Megamenu — hover + keyboard/focus intent
|
||
Cursor/focus on trigger → mouseenter/focusin → show() → .is-open added → panel visible
|
||
Cursor/focus leaves → mouseleave/focusout → scheduleHide() → 200ms grace timer
|
||
Re-enter within 200ms → mouseenter/focusin → show() → cancels timer → panel stays open
|
||
Grace expires → .is-open removed → panel fades out
|
||
Escape → closes the open panel and returns focus to the trigger
|
||
-->
|
||
<style>
|
||
.nav_dropdown { position: relative !important; }
|
||
|
||
.nav_dropdown-panel {
|
||
position: fixed !important;
|
||
top: 53px !important;
|
||
left: 50% !important;
|
||
transform: translateX(-50%) translateY(0);
|
||
opacity: 0;
|
||
visibility: hidden;
|
||
pointer-events: none;
|
||
/* Animate what actually changes: opacity + transform.
|
||
visibility is delayed on close so the fade-out is visible,
|
||
then snapped to 0s delay on open via .is-open below. */
|
||
transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
|
||
z-index: 1100;
|
||
}
|
||
.nav_dropdown.is-open .nav_dropdown-panel {
|
||
opacity: 1 !important;
|
||
visibility: visible !important;
|
||
pointer-events: auto !important;
|
||
transition-delay: 0s !important;
|
||
}
|
||
|
||
/* Company / Resources — anchored under their own trigger, slide up on open */
|
||
[data-nav-dropdown="company"] .nav_dropdown-panel,
|
||
[data-nav-dropdown="resources"] .nav_dropdown-panel {
|
||
position: absolute !important;
|
||
left: 50% !important;
|
||
right: auto !important;
|
||
top: 100% !important;
|
||
transform: translateX(-50%) translateY(-4px) !important;
|
||
margin-top: 10px !important;
|
||
}
|
||
[data-nav-dropdown="company"].is-open .nav_dropdown-panel,
|
||
[data-nav-dropdown="resources"].is-open .nav_dropdown-panel {
|
||
transform: translateX(-50%) translateY(0) !important;
|
||
}
|
||
|
||
@media screen and (max-width: 1129px) {
|
||
.nav_dropdown-panel.nav_platform-panel {
|
||
width: auto !important;
|
||
}
|
||
}
|
||
|
||
/* Respect reduced-motion: no slide/fade, just show/hide */
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.nav_dropdown-panel { transition: visibility 0s !important; }
|
||
}
|
||
</style>
|
||
|
||
<script>
|
||
(function () {
|
||
function init() {
|
||
var dropdowns = document.querySelectorAll('.nav_dropdown');
|
||
var GRACE = 200; // ms grace window before hide (hover-intent buffer)
|
||
|
||
dropdowns.forEach(function (dropdown) {
|
||
var panel = dropdown.querySelector('.nav_dropdown-panel');
|
||
if (!panel) return;
|
||
var hideTimer = null;
|
||
|
||
function closeOthers() {
|
||
dropdowns.forEach(function (other) {
|
||
if (other !== dropdown) other.classList.remove('is-open');
|
||
});
|
||
}
|
||
function show() {
|
||
if (hideTimer) { clearTimeout(hideTimer); hideTimer = null; }
|
||
closeOthers(); // single-open: don't leave a sibling panel visible
|
||
dropdown.classList.add('is-open');
|
||
}
|
||
function scheduleHide() {
|
||
if (hideTimer) clearTimeout(hideTimer);
|
||
hideTimer = setTimeout(function () {
|
||
dropdown.classList.remove('is-open');
|
||
}, GRACE);
|
||
}
|
||
|
||
// Mouse intent
|
||
dropdown.addEventListener('mouseenter', show);
|
||
dropdown.addEventListener('mouseleave', scheduleHide);
|
||
panel.addEventListener('mouseenter', show);
|
||
panel.addEventListener('mouseleave', scheduleHide);
|
||
|
||
// Keyboard / focus intent (focusin/focusout bubble, so one pair covers
|
||
// the trigger and everything inside the panel).
|
||
dropdown.addEventListener('focusin', show);
|
||
dropdown.addEventListener('focusout', function (e) {
|
||
// Only hide if focus actually left this dropdown subtree.
|
||
if (!dropdown.contains(e.relatedTarget)) scheduleHide();
|
||
});
|
||
|
||
// Escape closes and returns focus to the trigger.
|
||
dropdown.addEventListener('keydown', function (e) {
|
||
if (e.key === 'Escape' && dropdown.classList.contains('is-open')) {
|
||
if (hideTimer) { clearTimeout(hideTimer); hideTimer = null; }
|
||
dropdown.classList.remove('is-open');
|
||
var trigger = dropdown.querySelector('a, button, [tabindex]');
|
||
if (trigger) trigger.focus();
|
||
}
|
||
});
|
||
});
|
||
}
|
||
|
||
if (document.readyState === 'loading') {
|
||
document.addEventListener('DOMContentLoaded', init);
|
||
} else {
|
||
init();
|
||
}
|
||
}());
|
||
</script></div><div class="hide w-embed"><style>
|
||
/* Dropdown trigger chevron — small down arrow that rotates 180° when open */
|
||
.nav_dropdown-trigger {
|
||
display: inline-flex !important;
|
||
align-items: center !important;
|
||
gap: 4px !important;
|
||
}
|
||
|
||
.nav_dropdown-trigger::after {
|
||
content: '';
|
||
display: inline-block;
|
||
width: 10px;
|
||
height: 10px;
|
||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M2 3.5L5 6.5L8 3.5' stroke='%235a5a62' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
|
||
background-size: contain;
|
||
background-repeat: no-repeat;
|
||
background-position: center;
|
||
transition: transform 0.2s ease;
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
/* Rotate 180° when dropdown is open */
|
||
.nav_dropdown.is-open .nav_dropdown-trigger::after {
|
||
transform: rotate(180deg);
|
||
}
|
||
|
||
/* Slightly darker chevron on hover (matches text-primary tint) */
|
||
.nav_dropdown-trigger:hover::after {
|
||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M2 3.5L5 6.5L8 3.5' stroke='%23202020' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
|
||
}
|
||
</style></div></div></div><div data-nav-overlay="true" class="nav_mobile-menu"><div class="nav_mobile-section"><div><div data-accordion-trigger="platform" class="nav_mobile-link"><div>Platform</div><div class="icon-arrow w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down" aria-hidden="true" style="color: var(--near-black); transition: transform 0.2s; transform: rotate(0deg);" preserveAspectRatio="xMidYMid meet" role="img"><path d="m6 9 6 6 6-6"/></svg></div></div><div data-accordion-panel="platform" class="nav_platform-wrapper"><div class="nav_platform-header-container"><div class="layout_flex-vertical gap-10"><div class="nav_platform-subheading">Explore</div><div class="layout_flex-vertical no-gap"><a href="/products/platform" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:c901d963-9e14-6e0f-e34f-7fd2169c8fe9" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c901d963-9e14-6e0f-e34f-7fd2169c8fe9" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav-plat-link">Overview</a><a href="https://developer.harness.io/" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:c901d963-9e14-6e0f-e34f-7fd2169c8fef" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c901d963-9e14-6e0f-e34f-7fd2169c8fef" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav-plat-link">Documentation</a><a href="/products/platform/knowledge-graph" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:c901d963-9e14-6e0f-e34f-7fd2169c8feb" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c901d963-9e14-6e0f-e34f-7fd2169c8feb" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav-plat-link">Knowledge Graph</a><a href="https://trust.harness.io/" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:c901d963-9e14-6e0f-e34f-7fd2169c8fed" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c901d963-9e14-6e0f-e34f-7fd2169c8fed" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav-plat-link">Trust Center</a></div></div><div class="layout_flex-vertical gap-10"><div class="nav_platform-subheading">Popular Use Cases</div><div class="layout_flex-vertical gap-10"><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:c901d963-9e14-6e0f-e34f-7fd2169c8ff5" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c901d963-9e14-6e0f-e34f-7fd2169c8ff5" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/use-cases/ai-dlc" class="nav-plat-usecase-link w-inline-block"><div class="nav_plat-usecase-svg"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a0023ed4dca978a48255_ai-dlc-icon.webp" loading="lazy" alt="AI DLC Icon" class="nav-icon"/></div><div class="title-xs u_medium u_leading-relaxed u_inherit-color">AI DLC</div></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:c901d963-9e14-6e0f-e34f-7fd2169c8ffa" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c901d963-9e14-6e0f-e34f-7fd2169c8ffa" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/use-cases/agent-dlc" class="nav-plat-usecase-link w-inline-block"><div class="nav_plat-usecase-svg"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a034054c1667bbd13120_agent-dlc-icon.webp" loading="lazy" alt="Agent DLC Icon" class="nav-icon"/></div><div class="title-xs u_medium u_leading-relaxed u_inherit-color">Agent DLC</div></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:c901d963-9e14-6e0f-e34f-7fd2169c8fff" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c901d963-9e14-6e0f-e34f-7fd2169c8fff" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/use-cases/mythos-readiness" class="nav-plat-usecase-link w-inline-block"><div class="nav_plat-usecase-svg"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a0417918d0434b6d4a15_mythos-readiness-icon.webp" loading="lazy" alt="Mythos Readiness Icon" class="nav-icon"/></div><div class="title-xs u_medium u_leading-relaxed u_inherit-color">Mythos Readiness</div></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:c901d963-9e14-6e0f-e34f-7fd2169c9004" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c901d963-9e14-6e0f-e34f-7fd2169c9004" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/cloud-ai-cost-management" class="nav-plat-usecase-link w-inline-block"><div class="nav_plat-usecase-svg"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a05185945588452f52e8_ai-cost-management-icon.webp" loading="lazy" alt="AI Cost Management Icon" class="nav-icon"/></div><div class="title-xs u_medium u_leading-relaxed u_inherit-color">AI Cost Management</div></a></div></div></div><div class="nav_platform-capabilities-container"><div class="nav_platform-subheading">AGENTS</div><div class="nav_platform-agents-container"><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:f9fec5bf-0dc2-9ec4-4060-65ba00634275" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="f9fec5bf-0dc2-9ec4-4060-65ba00634275" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/software-delivery-agent" class="nav_platform-agent w-inline-block"><div class="layout_flex-vertical gap-10"><div class="nav_plat-usecase-svg is-large"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a08aebfef289e6291a8c_software-delivery-agent-icon.webp" loading="lazy" alt="Software Delivery Agent Icon" class="nav-icon is-large"/></div><div class="link-block"><div>Software Delivery Agent</div><div class="w-embed"><svg width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M3 2.5l3 3-3 3" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path></svg></div></div><p class="nav_paragraph is-small u_text-secondary no-margin">Get code and agents from commit to production in minutes.</p></div><div class="layout_flex-horizontal direction_wraps gap-8"><div class="agent_name">Deployments</div><div class="agent_name">Builds</div><div class="agent_name">Artifacts</div><div class="agent_name">+ more</div></div></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:f9fec5bf-0dc2-9ec4-4060-65ba00634289" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="f9fec5bf-0dc2-9ec4-4060-65ba00634289" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/security-testing-agent" class="nav_platform-agent w-inline-block"><div class="layout_flex-vertical gap-10"><div class="nav_plat-usecase-svg is-large"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a09722a9a61e046275e0_security-testing-agent.webp" loading="lazy" alt="Security Testing Agent Icon" class="nav-icon is-large"/></div><div class="link-block"><div>Security Testing Agent</div><div class="w-embed"><svg width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M3 2.5l3 3-3 3" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path></svg></div></div><p class="nav_paragraph is-small u_text-secondary no-margin">Discover bugs and resilience weaknesses before your users do.</p></div><div class="layout_flex-horizontal direction_wraps gap-8"><div class="agent_name">SAST</div><div class="agent_name">SCA</div><div class="agent_name">Supply Chain Security</div><div class="agent_name">+ more</div></div></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:f9fec5bf-0dc2-9ec4-4060-65ba0063429d" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="f9fec5bf-0dc2-9ec4-4060-65ba0063429d" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/runtime-protection-agent" class="nav_platform-agent w-inline-block"><div class="layout_flex-vertical gap-10"><div class="nav_plat-usecase-svg is-large"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a0a5eec5583c65e3080a_runtime-protection-agent-icon.webp" loading="lazy" alt="Runtime Protection Agent Icon" class="nav-icon is-large"/></div><div class="link-block"><div>Runtime Protection Agent</div><div class="w-embed"><svg width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M3 2.5l3 3-3 3" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path></svg></div></div><p class="nav_paragraph is-small u_text-secondary no-margin">Catch vulnerabilities before they ship and protect your runtime.</p></div><div class="layout_flex-horizontal direction_wraps gap-8"><div class="agent_name">API Posture</div><div class="agent_name">AI Posture</div><div class="agent_name">API Adv. Protection</div><div class="agent_name">+ more</div></div></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:f9fec5bf-0dc2-9ec4-4060-65ba006342b1" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="f9fec5bf-0dc2-9ec4-4060-65ba006342b1" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/cost-management-agent" class="nav_platform-agent w-inline-block"><div class="layout_flex-vertical gap-10"><div class="nav_plat-usecase-svg is-large"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/6a75a0b1e8be118c8f669d44_cost-management-alert.webp" loading="lazy" alt="Cost Management Agent Icon" class="nav-icon is-large"/></div><div class="link-block"><div>Cost Management Agent</div><div class="w-embed"><svg width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M3 2.5l3 3-3 3" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path></svg></div></div><p class="nav_paragraph is-small u_text-secondary no-margin">Own production and manage costs without surprises.</p></div><div class="layout_flex-horizontal direction_wraps gap-8"><div class="agent_name">AI Costs</div><div class="agent_name">Cloud Costs</div><div class="agent_name">Engineering Efficiency</div><div class="agent_name">+ more</div></div></a></div></div><div class="nav_platform-capabilities-container more-products"><div class="nav_platform-subheading">More products</div><div class="layout_flex-vertical no-gap"><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:38c46b2f-78ae-20e4-1971-9cec334f7644" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="38c46b2f-78ae-20e4-1971-9cec334f7644" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/ai-sre" class="nav_more-products-link">Incidents</a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:38c46b2f-78ae-20e4-1971-9cec334f764a" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="38c46b2f-78ae-20e4-1971-9cec334f764a" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/ai-evals" class="nav_more-products-link">AI Evals</a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:38c46b2f-78ae-20e4-1971-9cec334f7646" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="38c46b2f-78ae-20e4-1971-9cec334f7646" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/internal-developer-portal" class="nav_more-products-link">Developer Portal</a><a id="w-node-_38c46b2f-78ae-20e4-1971-9cec334f764c-6e65047d" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:38c46b2f-78ae-20e4-1971-9cec334f764c" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="38c46b2f-78ae-20e4-1971-9cec334f764c" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/feature-management-experimentation" class="nav_more-products-link">Runtime Configuration</a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:38c46b2f-78ae-20e4-1971-9cec334f7648" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="38c46b2f-78ae-20e4-1971-9cec334f7648" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/products/resilience-testing" class="nav_more-products-link">Resilience Testing</a></div></div></div></div><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a901" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a901" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/why-harness" class="nav_mobile-link">Why Harness</a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a903" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a903" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/pricing" class="nav_mobile-link">Pricing</a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:10b47f09-a0b5-82eb-b7a7-5ac19e85a905" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="10b47f09-a0b5-82eb-b7a7-5ac19e85a905" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/customers" class="nav_mobile-link">Customers</a><div><div data-accordion-trigger="resources" class="nav_mobile-link"><div data-nav-sub="resources">Resources</div><div class="icon-arrow w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down" aria-hidden="true" style="color: var(--near-black); transition: transform 0.2s; transform: rotate(0deg);" preserveAspectRatio="xMidYMid meet" role="img"><path d="m6 9 6 6 6-6"/></svg></div></div><div data-accordion-panel="resources" class="nav_resources-cols"><div data-rcol="build" class="nav_resources-col"><p class="nav_resources-col-title">Build</p><div class="layout_flex-vertical no-gap"><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:54ff78d1-a622-0e8d-3ae9-c9aff2189ef1" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="54ff78d1-a622-0e8d-3ae9-c9aff2189ef1" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="https://developer.harness.io/docs/" target="_blank" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Documentation</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:54ff78d1-a622-0e8d-3ae9-c9aff2189ef4" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="54ff78d1-a622-0e8d-3ae9-c9aff2189ef4" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="https://apidocs.harness.io/" target="_blank" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">API Reference</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:54ff78d1-a622-0e8d-3ae9-c9aff2189ef7" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="54ff78d1-a622-0e8d-3ae9-c9aff2189ef7" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="https://developer.harness.io/#community" target="_blank" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Community</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:54ff78d1-a622-0e8d-3ae9-c9aff2189efa" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="54ff78d1-a622-0e8d-3ae9-c9aff2189efa" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/training" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Training</p></a></div></div><div data-rcol="learn" class="nav_resources-col"><p class="nav_resources-col-title">Learn</p><div class="layout_flex-vertical no-gap"><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:54ff78d1-a622-0e8d-3ae9-c9aff2189f01" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="54ff78d1-a622-0e8d-3ae9-c9aff2189f01" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/learn/resource-center" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Resources Hub</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:54ff78d1-a622-0e8d-3ae9-c9aff2189f04" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="54ff78d1-a622-0e8d-3ae9-c9aff2189f04" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/blog" aria-current="page" class="nav_resources-item w-inline-block w--current"><p class="nav_resources-item-name">Blog</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:54ff78d1-a622-0e8d-3ae9-c9aff2189f07" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="54ff78d1-a622-0e8d-3ae9-c9aff2189f07" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/comparison-guide" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Comparison Guide</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:54ff78d1-a622-0e8d-3ae9-c9aff2189f0a" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="54ff78d1-a622-0e8d-3ae9-c9aff2189f0a" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/customers" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Customer Stories</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:54ff78d1-a622-0e8d-3ae9-c9aff2189f10" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="54ff78d1-a622-0e8d-3ae9-c9aff2189f10" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/harness-devops-academy" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">DevOps Academy</p></a></div></div><div data-rcol="events" class="nav_resources-col"><p class="nav_resources-col-title">Events</p><div class="layout_flex-vertical no-gap"><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:54ff78d1-a622-0e8d-3ae9-c9aff2189f17" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="54ff78d1-a622-0e8d-3ae9-c9aff2189f17" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/events" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Events</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:54ff78d1-a622-0e8d-3ae9-c9aff2189f1a" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="54ff78d1-a622-0e8d-3ae9-c9aff2189f1a" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/events#harness-summit" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Harness Summits</p></a><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:54ff78d1-a622-0e8d-3ae9-c9aff2189f1d" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="54ff78d1-a622-0e8d-3ae9-c9aff2189f1d" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="/events#webinar" class="nav_resources-item w-inline-block"><p class="nav_resources-item-name">Webinars</p></a></div></div></div></div><div><div data-accordion-trigger="company" class="nav_mobile-link"><div data-nav-sub="company">Company</div><div class="icon-arrow w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down" aria-hidden="true" style="color: var(--near-black); transition: transform 0.2s; transform: rotate(0deg);" preserveAspectRatio="xMidYMid meet" role="img"><path d="m6 9 6 6 6-6"/></svg></div></div><div data-accordion-panel="company" class="nav_company-links"><a href="/company/about-us" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:8c73c25c-82e7-a83f-575b-429970f5e03e" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="8c73c25c-82e7-a83f-575b-429970f5e03e" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav_company-link">About Us</a><a href="/company/careers" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:8c73c25c-82e7-a83f-575b-429970f5e040" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="8c73c25c-82e7-a83f-575b-429970f5e040" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav_company-link">Careers</a><a href="/company/security" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:8c73c25c-82e7-a83f-575b-429970f5e042" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="8c73c25c-82e7-a83f-575b-429970f5e042" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav_company-link">Security</a><a href="/company/press-and-news" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:8c73c25c-82e7-a83f-575b-429970f5e044" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="8c73c25c-82e7-a83f-575b-429970f5e044" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav_company-link">Press <!-- -->&<!-- --> News</a><a href="/legal" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:8c73c25c-82e7-a83f-575b-429970f5e048" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="8c73c25c-82e7-a83f-575b-429970f5e048" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav_company-link">Legal</a><a href="/partners" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:8c73c25c-82e7-a83f-575b-429970f5e04a" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="8c73c25c-82e7-a83f-575b-429970f5e04a" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav_company-link">Partners</a><a href="/company/contact-sales" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:8c73c25c-82e7-a83f-575b-429970f5e04c" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="8c73c25c-82e7-a83f-575b-429970f5e04c" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="nav_company-link">Contact Us</a></div></div><div class="nav_mobile-ctas"><a data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:fd41331b-1299-f6d4-5849-6d8c863cdc1f" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="fd41331b-1299-f6d4-5849-6d8c863cdc1f" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" href="https://app.harness.io/auth/#/signin" class="btn_tertiary">Sign in</a><a href="/demo/platform" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:5834348c-6818-29ce-57e0-0d80784c9bbf" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="5834348c-6818-29ce-57e0-0d80784c9bbf" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="btn_secondary">See a Demo</a><a href="https://app.harness.io/auth/#/signup?utm_source=harness_io&utm_medium=cta&utm_campaign=platform" data-wf-native-id-path="8579d831-b155-f48d-7dee-cfacbcbd7e49:5834348c-6818-29ce-57e0-0d80784c9bbd" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="5834348c-6818-29ce-57e0-0d80784c9bbd" data-wf-component-context="%5B%7B%22componentId%22%3A%22a07583d0-1650-1d77-a98c-cfc96e65047d%22%2C%22instanceId%22%3A%228579d831-b155-f48d-7dee-cfacbcbd7e49%22%7D%5D" class="btn_primary">Start for Free</a></div></div><div class="w-embed w-script"><style>
|
||
/* Base: clip + animate both height and padding */
|
||
.nav_mobile-menu [data-accordion-panel] {
|
||
overflow: hidden;
|
||
transition: max-height .3s ease, padding .3s ease;
|
||
}
|
||
|
||
/* Closed state — kill height AND padding/border so nothing leaks.
|
||
:not(.is-open) = specificity 0,2,0, which beats the Webflow class (0,1,0),
|
||
so this wins while closed. When open it stops matching and the panel's own
|
||
Webflow padding applies again — no need to know the exact values. */
|
||
.nav_mobile-menu [data-accordion-panel]:not(.is-open) {
|
||
max-height: 0;
|
||
padding-top: 0;
|
||
padding-bottom: 0;
|
||
border-top-width: 0;
|
||
border-bottom-width: 0;
|
||
}
|
||
|
||
/* Open state — only lift the height cap; padding comes from the panel's class */
|
||
.nav_mobile-menu [data-accordion-panel].is-open {
|
||
max-height: 2000px; /* just exceed the tallest panel (Platform) */
|
||
}
|
||
|
||
/* Trigger affordance */
|
||
.nav_mobile-menu [data-accordion-trigger] { cursor: pointer; }
|
||
|
||
/* Chevron rotation — rotate the wrapper div, not the inline-styled <svg> */
|
||
.nav_mobile-menu .icon-embed-custom-15 { transition: transform .2s ease; }
|
||
.nav_mobile-menu .icon-embed-custom-15.is-open { transform: rotate(180deg); }
|
||
</style>
|
||
|
||
<script>
|
||
(function () {
|
||
function init() {
|
||
var menu = document.querySelector('.nav_mobile-menu');
|
||
if (!menu || menu.getAttribute('data-accordion-bound') === 'true') return;
|
||
menu.setAttribute('data-accordion-bound', 'true'); // guard against double-binding
|
||
|
||
var triggers = menu.querySelectorAll('[data-accordion-trigger]');
|
||
|
||
function setState(trigger, open) {
|
||
var key = trigger.getAttribute('data-accordion-trigger');
|
||
var panel = menu.querySelector('[data-accordion-panel="' + key + '"]');
|
||
var chevron = trigger.querySelector('.icon-embed-custom-15');
|
||
trigger.classList.toggle('is-open', open);
|
||
trigger.setAttribute('aria-expanded', open ? 'true' : 'false');
|
||
if (panel) panel.classList.toggle('is-open', open);
|
||
if (chevron) chevron.classList.toggle('is-open', open);
|
||
}
|
||
|
||
triggers.forEach(function (trigger) {
|
||
trigger.setAttribute('role', 'button');
|
||
trigger.setAttribute('aria-expanded', 'false');
|
||
trigger.addEventListener('click', function () {
|
||
var willOpen = !trigger.classList.contains('is-open');
|
||
triggers.forEach(function (t) { setState(t, false); }); // ← close all = exclusive
|
||
if (willOpen) setState(trigger, true); // ← reopen unless it was the open one
|
||
});
|
||
});
|
||
}
|
||
|
||
if (document.readyState !== 'loading') init();
|
||
else document.addEventListener('DOMContentLoaded', init);
|
||
})();
|
||
</script></div></div><div class="hide w-embed w-script"><script>
|
||
function updateNavbarMargin() {
|
||
const navbar = document.querySelector('.nav');
|
||
const banner = document.getElementById('gtmStickyBanner');
|
||
|
||
if (!navbar) return;
|
||
|
||
/*if (banner) {
|
||
//const bannerHeight = banner.offsetHeight;
|
||
navbar.style.marginTop ='60px';
|
||
} else {
|
||
navbar.style.marginTop = '0px';
|
||
}*/
|
||
const bannerVisible = banner &&
|
||
getComputedStyle(banner).display !== 'none' &&
|
||
getComputedStyle(banner).visibility !== 'hidden';
|
||
|
||
navbar.style.marginTop = bannerVisible ? '60px' : '0px';
|
||
}
|
||
|
||
// Run on load
|
||
document.addEventListener('DOMContentLoaded', updateNavbarMargin);
|
||
|
||
// Re-run on window resize (handles mobile/desktop switching)
|
||
window.addEventListener('resize', updateNavbarMargin);
|
||
|
||
// Watch for banner being added/removed dynamically
|
||
const observer = new MutationObserver(updateNavbarMargin);
|
||
observer.observe(document.body, { childList: true, subtree: true });
|
||
</script></div></nav><div class="w-embed"><style>
|
||
[line-clamp="true"] {
|
||
display: -webkit-box;
|
||
-webkit-box-orient: vertical;
|
||
-webkit-line-clamp: 3;
|
||
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
|
||
line-height: 20px;
|
||
max-height: 60px; /* 20px × 3 */
|
||
}
|
||
</style></div><main><section class="blog_hero"><div class="blog_wrap"><h1 class="eyebrow blog_eyebrow">Blog</h1><div class="blog_featured-grid"><div id="w-node-c90a28c9-5c65-86a3-e210-71192c4db772-909346ed" class="blog_featured-main w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><article data-w-id="9cd1f647-7715-0b27-09c9-270290683d9d"><div class="blog_fcard"><div class="blog_fcard-thumb"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6a912f63d9743fc627959049_6a912f62de77187ae21860c8_6a7bbb98a8f91f9e32712ba1_6a7bbb92adaaa88df0f79dc2_autonomous-worker-agents-ai-ag-LW9nLnBuZw.webp" alt="Autonomous Worker Agents: AI Agents in Your Pipelines" class="blog_fcard-img scale_img"/></div><div class="blog_fcard-body"><div class="featured-tag">Featured</div><div class="layout_flex-vertical gap-12"><h2 class="blog_fcard-title">Autonomous Worker Agents: AI Agents in Your Pipelines</h2><p line-clamp="true" class="blog_fcard-excerpt">Harness launches Autonomous Worker Agents: AI that runs as pipeline steps, with the governance enterprises need to trust agents in production</p></div><div class="blog_fcard-meta"><div class="body-xs u_text-muted u_text-uppercase">June 30, 2026</div><div class="blog_dot"></div><div class="tags-wrapper"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="multi-ref-item w-dyn-item"><div class="body-xs u_text-muted">Jyoti Bansal</div></div><div role="listitem" class="multi-ref-item w-dyn-item"><div class="body-xs u_text-muted">Rohan Gupta</div></div></div></div><div class="more-badge xs">+ more</div></div><div class="blog_dot"></div><div class="body-xs u_text-muted">7 minutes to read</div></div></div><a data-wf-native-id-path="609fedd5-0dcd-55e5-959d-dcd9b86db8e6_instance-0" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="609fedd5-0dcd-55e5-959d-dcd9b86db8e6" data-wf-cms-context="%5B%7B%22collectionId%22%3A%2269e786e187c925d08ee02bf2%22%2C%22itemId%22%3A%226a4cdcaccbaecb3eff3abbab%22%7D%5D" href="/blog/introducing-autonomous-worker-agents" class="blog-link w-inline-block"><div class="hide">Autonomous Worker Agents: AI Agents in Your Pipelines</div></a></div></article></div></div></div></div></div></section><section fs-list-element="scroll-anchor" class="blog_main"><div class="blog_filters"><div class="w-form"><form id="email-form-2" name="email-form-2" data-name="Email Form 2" method="get" fs-list-element="filters" data-wf-page-id="6a041649c513ba11909346ed" data-wf-element-id="bb2d2e56-13ec-6f79-f65a-2f90b25ce49d" data-turnstile-sitekey="0x4AAAAAAAQTptj2So4dx43e"><div class="resources-library_topic-tabs"><a fs-list-field="Value Driver" fs-list-element="clear" data-wf-native-id-path="fad8a035-4c76-f80b-8007-40b789aa4bf9" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="fad8a035-4c76-f80b-8007-40b789aa4bf9" href="#" class="resources-library_tab is-active w-button">All Blogs</a><label data-wf-native-id-path="fad8a035-4c76-f80b-8007-40b789aa4bff" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="fad8a035-4c76-f80b-8007-40b789aa4bff" class="resources-library_tab w-radio"><input fs-list-value="Software Delivery Agent" class="w-form-formradioinput hide w-radio-input" fs-list-field="Value Driver" name="Radio-Driver" data-name="Radio Driver" type="radio" id="DevOps" value="DevOps"/><span class="w-form-label" for="DevOps">Software Delivery</span></label><label data-wf-native-id-path="fad8a035-4c76-f80b-8007-40b789aa4c03" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="fad8a035-4c76-f80b-8007-40b789aa4c03" class="resources-library_tab w-radio"><input fs-list-value="Security Testing Agent" class="w-form-formradioinput hide w-radio-input" fs-list-field="Value Driver" name="Radio-Driver" data-name="Radio Driver" type="radio" id="Testing" value="Testing"/><span class="w-form-label" for="Testing">Security Testing</span></label><label data-wf-native-id-path="fad8a035-4c76-f80b-8007-40b789aa4c07" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="fad8a035-4c76-f80b-8007-40b789aa4c07" class="resources-library_tab w-radio"><input fs-list-value="Runtime Protection Agent" class="w-form-formradioinput hide w-radio-input" fs-list-field="Value Driver" name="Radio-Driver" data-name="Radio Driver" type="radio" id="Security" value="Security"/><span class="w-form-label" for="Security">Runtime Protection</span></label><label data-wf-native-id-path="fad8a035-4c76-f80b-8007-40b789aa4c0b" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="fad8a035-4c76-f80b-8007-40b789aa4c0b" class="resources-library_tab w-radio"><input fs-list-value="Cost Management Agent" class="w-form-formradioinput hide w-radio-input" fs-list-field="Value Driver" name="Radio-Driver" data-name="Radio Driver" type="radio" id="Operations" value="Operations"/><span class="w-form-label" for="Operations">Cost Management</span></label></div></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div><div><div class="w-form"><form id="email-form" name="email-form" data-name="Email Form" method="get" fs-list-element="filters" data-wf-page-id="6a041649c513ba11909346ed" data-wf-element-id="6b4e6869-4949-0615-fb8d-1bdff1700aa1" data-turnstile-sitekey="0x4AAAAAAAQTptj2So4dx43e"><div class="resources-library_search-wrap"><input class="blog-library_search w-input" maxlength="256" fs-list-field="Title" name="field" data-name="Field" placeholder="Search blogs..." fs-list-debounce="300" type="text" id="field" required=""/><div class="customers_fillter-search-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#6e6e74" stroke-width="2" class="resources-library_search-icon"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.35-4.35"></path></svg></div><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/69e786e187c925d08ee0607a_x.svg" loading="lazy" width="14" fs-list-element="clear" alt="X (Twitter) icon" fs-list-field="Title" class="customers_fillter-cancel-icon"/></div></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div></div></div><div class="w-dyn-list"><div fs-list-stagger="100" fs-list-element="list" fs-list-load="pagination" role="list" class="blog_posts w-dyn-items"><div role="listitem" class="w-dyn-item"><article href="/blog/post-slug" class="blog_card"><div class="blog_card-thumb"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa1a9ff093de508e0c6d5e5_compressed_Blog%20Header%20(1)%20(1).jpg" alt="Organizations Are Confident Their Agents Are Behaving. But They Can't Check." sizes="100vw" srcset="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa1a9ff093de508e0c6d5e5_compressed_Blog%20Header%20(1)%20(1)-p-500.jpg 500w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa1a9ff093de508e0c6d5e5_compressed_Blog%20Header%20(1)%20(1)-p-800.jpg 800w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa1a9ff093de508e0c6d5e5_compressed_Blog%20Header%20(1)%20(1)-p-1080.jpg 1080w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa1a9ff093de508e0c6d5e5_compressed_Blog%20Header%20(1)%20(1)-p-1600.jpg 1600w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa1a9ff093de508e0c6d5e5_compressed_Blog%20Header%20(1)%20(1)-p-2000.jpg 2000w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa1a9ff093de508e0c6d5e5_compressed_Blog%20Header%20(1)%20(1).jpg 2400w" class="blog_card-img scale_img"/></div><div class="blog_fcard-meta marginb-10"><div class="blog_card-date">September 10, 2026</div><div class="blog_dot"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="blog_card-cat">Technical</div></div></div></div><div class="blog_dot"></div><div class="body-xs u_text-muted">3 minutes to read</div></div><h3 fs-list-field="Title" class="blog_card-title">Organizations Are Confident Their Agents Are Behaving. But They Can't Check.</h3><div class="hide w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="Value Driver">Cost Management Agent</div></div></div></div><a data-wf-native-id-path="c05e7450-576f-1c0f-f326-1b1350381e24_instance-0" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c05e7450-576f-1c0f-f326-1b1350381e24" data-wf-cms-context="%5B%7B%22collectionId%22%3A%2269e786e187c925d08ee02bf2%22%2C%22itemId%22%3A%226aa1430b13f0f76ddd544d78%22%7D%5D" href="/blog/the-ai-agent-confidence-gap" class="blog-link w-inline-block"><div class="hide">Organizations Are Confident Their Agents Are Behaving. But They Can't Check.</div></a></article></div><div role="listitem" class="w-dyn-item"><article href="/blog/post-slug" class="blog_card"><div class="blog_card-thumb"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6a912e8ca252a526543be86b_6a912e8adda3f5c1610ef779_6a4b50b00cde97915b19d94e_6a4b4ff3f4403c6eed5d08a3_resilience-testing_testing_ope-Z2h0LnBuZw.webp" alt="The Contained Pen Test: Proving Resilience Without Widening the Blast Radius" class="blog_card-img scale_img"/></div><div class="blog_fcard-meta marginb-10"><div class="blog_card-date">September 9, 2026</div><div class="blog_dot"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="blog_card-cat">Technical</div></div></div></div><div class="blog_dot"></div><div class="body-xs u_text-muted">4 minutes to read</div></div><h3 fs-list-field="Title" class="blog_card-title">The Contained Pen Test: Proving Resilience Without Widening the Blast Radius</h3><div class="hide w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="Value Driver">Software Delivery Agent</div></div></div></div><a data-wf-native-id-path="c05e7450-576f-1c0f-f326-1b1350381e24_instance-1" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c05e7450-576f-1c0f-f326-1b1350381e24" data-wf-cms-context="%5B%7B%22collectionId%22%3A%2269e786e187c925d08ee02bf2%22%2C%22itemId%22%3A%226aa02310fb5859d9790ca05a%22%7D%5D" href="/blog/the-contained-pen-test-proving-resilience-without-widening-the-blast-radius" class="blog-link w-inline-block"><div class="hide">The Contained Pen Test: Proving Resilience Without Widening the Blast Radius</div></a></article></div><div role="listitem" class="w-dyn-item"><article href="/blog/post-slug" class="blog_card"><div class="blog_card-thumb"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa151b56f6cf2b602ba814b_Blog%20Header_AI%20code%20review%20%20loop%20in%20the%20terminal_%20introducing%20Harness%20%E2%80%A8CLI%20for%20Harness%20code-1.png" alt="AI Code Review Loop in the Terminal: Introducing Harness CLI for Harness Code" sizes="100vw" srcset="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa151b56f6cf2b602ba814b_Blog%20Header_AI%20code%20review%20%20loop%20in%20the%20terminal_%20introducing%20Harness%20%E2%80%A8CLI%20for%20Harness%20code-1-p-500.png 500w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa151b56f6cf2b602ba814b_Blog%20Header_AI%20code%20review%20%20loop%20in%20the%20terminal_%20introducing%20Harness%20%E2%80%A8CLI%20for%20Harness%20code-1-p-800.png 800w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa151b56f6cf2b602ba814b_Blog%20Header_AI%20code%20review%20%20loop%20in%20the%20terminal_%20introducing%20Harness%20%E2%80%A8CLI%20for%20Harness%20code-1.png 1280w" class="blog_card-img scale_img"/></div><div class="blog_fcard-meta marginb-10"><div class="blog_card-date">September 9, 2026</div><div class="blog_dot"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="blog_card-cat">Company News</div></div></div></div><div class="blog_dot"></div><div class="body-xs u_text-muted">7 minutes to read</div></div><h3 fs-list-field="Title" class="blog_card-title">AI Code Review Loop in the Terminal: Introducing Harness CLI for Harness Code</h3><div class="hide w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="Value Driver">Software Delivery Agent</div></div></div></div><a data-wf-native-id-path="c05e7450-576f-1c0f-f326-1b1350381e24_instance-2" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c05e7450-576f-1c0f-f326-1b1350381e24" data-wf-cms-context="%5B%7B%22collectionId%22%3A%2269e786e187c925d08ee02bf2%22%2C%22itemId%22%3A%226aa14a75136aaa3160ec5c70%22%7D%5D" href="/blog/ai-code-review-loop-in-the-terminal-introducing-harness-cli-for-harness-code" class="blog-link w-inline-block"><div class="hide">AI Code Review Loop in the Terminal: Introducing Harness CLI for Harness Code</div></a></article></div><div role="listitem" class="w-dyn-item"><article href="/blog/post-slug" class="blog_card"><div class="blog_card-thumb"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6a912e8ca252a526543be86b_6a912e8adda3f5c1610ef779_6a4b50b00cde97915b19d94e_6a4b4ff3f4403c6eed5d08a3_resilience-testing_testing_ope-Z2h0LnBuZw.webp" alt="Improvise your Operational Readiness Testing (ORT) with Harness" class="blog_card-img scale_img"/></div><div class="blog_fcard-meta marginb-10"><div class="blog_card-date">September 8, 2026</div><div class="blog_dot"></div><div class="w-dyn-list"><div class="hide w-dyn-empty"><div>No items found.</div></div></div><div class="blog_dot"></div><div class="body-xs u_text-muted">3 minutes to read</div></div><h3 fs-list-field="Title" class="blog_card-title">Improvise your Operational Readiness Testing (ORT) with Harness</h3><div class="hide w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div><a data-wf-native-id-path="c05e7450-576f-1c0f-f326-1b1350381e24_instance-3" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c05e7450-576f-1c0f-f326-1b1350381e24" data-wf-cms-context="%5B%7B%22collectionId%22%3A%2269e786e187c925d08ee02bf2%22%2C%22itemId%22%3A%226a9fa391f518f2cdbef7f450%22%7D%5D" href="/blog/improvise-your-operational-readiness-testing-ort-with-harness" class="blog-link w-inline-block"><div class="hide">Improvise your Operational Readiness Testing (ORT) with Harness</div></a></article></div><div role="listitem" class="w-dyn-item"><article href="/blog/post-slug" class="blog_card"><div class="blog_card-thumb"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa0556684dde11f72ab922f_CD%20Drives%20Scale.png" alt="Internal Developer Portals: Why Native CI/CD Drives Scale" sizes="100vw" srcset="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa0556684dde11f72ab922f_CD%20Drives%20Scale-p-500.png 500w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa0556684dde11f72ab922f_CD%20Drives%20Scale-p-800.png 800w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa0556684dde11f72ab922f_CD%20Drives%20Scale-p-1080.png 1080w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa0556684dde11f72ab922f_CD%20Drives%20Scale-p-1600.png 1600w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa0556684dde11f72ab922f_CD%20Drives%20Scale-p-2000.png 2000w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa0556684dde11f72ab922f_CD%20Drives%20Scale.png 2560w" class="blog_card-img scale_img"/></div><div class="blog_fcard-meta marginb-10"><div class="blog_card-date">September 8, 2026</div><div class="blog_dot"></div><div class="w-dyn-list"><div class="hide w-dyn-empty"><div>No items found.</div></div></div><div class="blog_dot"></div><div class="body-xs u_text-muted">7 minutes to read</div></div><h3 fs-list-field="Title" class="blog_card-title">Internal Developer Portals: Why Native CI/CD Drives Scale</h3><div class="hide w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="Value Driver">Harness Platform</div></div></div></div><a data-wf-native-id-path="c05e7450-576f-1c0f-f326-1b1350381e24_instance-4" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c05e7450-576f-1c0f-f326-1b1350381e24" data-wf-cms-context="%5B%7B%22collectionId%22%3A%2269e786e187c925d08ee02bf2%22%2C%22itemId%22%3A%226aa05626b8eca51f15e11e13%22%7D%5D" href="/blog/internal-developer-portals-why-native-ci-cd-drives-scale" class="blog-link w-inline-block"><div class="hide">Internal Developer Portals: Why Native CI/CD Drives Scale</div></a></article></div><div role="listitem" class="w-dyn-item"><article href="/blog/post-slug" class="blog_card"><div class="blog_card-thumb"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa05410190dce9dfbd88656_Blog%20Header%20the%20ROI.png" alt="Your AI code spend is soaring, here's how leading engineering orgs are proving the ROI" sizes="100vw" srcset="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa05410190dce9dfbd88656_Blog%20Header%20the%20ROI-p-500.png 500w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa05410190dce9dfbd88656_Blog%20Header%20the%20ROI-p-800.png 800w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6aa05410190dce9dfbd88656_Blog%20Header%20the%20ROI.png 1280w" class="blog_card-img scale_img"/></div><div class="blog_fcard-meta marginb-10"><div class="blog_card-date">September 8, 2026</div><div class="blog_dot"></div><div class="w-dyn-list"><div class="hide w-dyn-empty"><div>No items found.</div></div></div><div class="blog_dot"></div><div class="body-xs u_text-muted">4 minutes to read</div></div><h3 fs-list-field="Title" class="blog_card-title">Your AI code spend is soaring, here's how leading engineering orgs are proving the ROI</h3><div class="hide w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="Value Driver">Cost Management Agent</div></div></div></div><a data-wf-native-id-path="c05e7450-576f-1c0f-f326-1b1350381e24_instance-5" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c05e7450-576f-1c0f-f326-1b1350381e24" data-wf-cms-context="%5B%7B%22collectionId%22%3A%2269e786e187c925d08ee02bf2%22%2C%22itemId%22%3A%226aa0548bdf7a7090f70cb524%22%7D%5D" href="/blog/your-ai-code-spend-is-soaring-heres-how-leading-engineering-orgs-are-proving-the-roi" class="blog-link w-inline-block"><div class="hide">Your AI code spend is soaring, here's how leading engineering orgs are proving the ROI</div></a></article></div><div role="listitem" class="w-dyn-item"><article href="/blog/post-slug" class="blog_card"><div class="blog_card-thumb"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6a98a0540eaa771f1fe04604_6a98a04f18f7881c58737851_get-ship-done-everything-we-shipped-in-august-2026-featured.png" alt="Get Ship Done: Everything We Shipped in August 2026" class="blog_card-img scale_img"/></div><div class="blog_fcard-meta marginb-10"><div class="blog_card-date">September 2, 2026</div><div class="blog_dot"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="blog_card-cat">Technical</div></div></div></div><div class="blog_dot"></div><div class="body-xs u_text-muted">11 minutes to read</div></div><h3 fs-list-field="Title" class="blog_card-title">Get Ship Done: Everything We Shipped in August 2026</h3><div class="hide w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="Value Driver">Software Delivery Agent</div></div><div role="listitem" class="w-dyn-item"><div fs-list-field="Value Driver">Security Testing Agent</div></div><div role="listitem" class="w-dyn-item"><div fs-list-field="Value Driver">Runtime Protection Agent</div></div></div></div><a data-wf-native-id-path="c05e7450-576f-1c0f-f326-1b1350381e24_instance-6" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c05e7450-576f-1c0f-f326-1b1350381e24" data-wf-cms-context="%5B%7B%22collectionId%22%3A%2269e786e187c925d08ee02bf2%22%2C%22itemId%22%3A%226a989ddbbd1a51b8d497dea3%22%7D%5D" href="/blog/shipped-in-august-2026" class="blog-link w-inline-block"><div class="hide">Get Ship Done: Everything We Shipped in August 2026</div></a></article></div><div role="listitem" class="w-dyn-item"><article href="/blog/post-slug" class="blog_card"><div class="blog_card-thumb"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6a97fdd15234932730253c0a_Blog%20Header_How%20to%20Automate%20Docker%20Registry%20Creation%20with%20Harness%20Pipelines%20and%20Terraform.png" alt="Catch AI Regressions Before They Ship with AI Evals in CI/CD" sizes="100vw" srcset="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6a97fdd15234932730253c0a_Blog%20Header_How%20to%20Automate%20Docker%20Registry%20Creation%20with%20Harness%20Pipelines%20and%20Terraform-p-500.png 500w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6a97fdd15234932730253c0a_Blog%20Header_How%20to%20Automate%20Docker%20Registry%20Creation%20with%20Harness%20Pipelines%20and%20Terraform-p-800.png 800w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6a97fdd15234932730253c0a_Blog%20Header_How%20to%20Automate%20Docker%20Registry%20Creation%20with%20Harness%20Pipelines%20and%20Terraform-p-1080.png 1080w, https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6a97fdd15234932730253c0a_Blog%20Header_How%20to%20Automate%20Docker%20Registry%20Creation%20with%20Harness%20Pipelines%20and%20Terraform.png 1280w" class="blog_card-img scale_img"/></div><div class="blog_fcard-meta marginb-10"><div class="blog_card-date">September 2, 2026</div><div class="blog_dot"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="blog_card-cat">Technical</div></div></div></div><div class="blog_dot"></div><div class="body-xs u_text-muted">4 minutes to read</div></div><h3 fs-list-field="Title" class="blog_card-title">Catch AI Regressions Before They Ship with AI Evals in CI/CD</h3><div class="hide w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="Value Driver">Harness Platform</div></div></div></div><a data-wf-native-id-path="c05e7450-576f-1c0f-f326-1b1350381e24_instance-7" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c05e7450-576f-1c0f-f326-1b1350381e24" data-wf-cms-context="%5B%7B%22collectionId%22%3A%2269e786e187c925d08ee02bf2%22%2C%22itemId%22%3A%226a980390f447c3fb5182fbac%22%7D%5D" href="/blog/catch-ai-regressions-before-they-ship-with-ai-evals-in-ci-cd" class="blog-link w-inline-block"><div class="hide">Catch AI Regressions Before They Ship with AI Evals in CI/CD</div></a></article></div><div role="listitem" class="w-dyn-item"><article href="/blog/post-slug" class="blog_card"><div class="blog_card-thumb"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6a9602e174acf4b36138ae96_6a9602daaf9beb4a4f31a5a7_building-trust-in-the-harness-knowledge-graph-with-ai-evals-featured.png" alt="Building Trust in the Harness Knowledge Graph with AI Evals" class="blog_card-img scale_img"/></div><div class="blog_fcard-meta marginb-10"><div class="blog_card-date">August 31, 2026</div><div class="blog_dot"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="blog_card-cat">Engineering</div></div></div></div><div class="blog_dot"></div><div class="body-xs u_text-muted">12 minutes to read</div></div><h3 fs-list-field="Title" class="blog_card-title">Building Trust in the Harness Knowledge Graph with AI Evals</h3><div class="hide w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="Value Driver">Software Delivery Agent</div></div></div></div><a data-wf-native-id-path="c05e7450-576f-1c0f-f326-1b1350381e24_instance-8" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c05e7450-576f-1c0f-f326-1b1350381e24" data-wf-cms-context="%5B%7B%22collectionId%22%3A%2269e786e187c925d08ee02bf2%22%2C%22itemId%22%3A%226a960256cc5c2fe886894d4c%22%7D%5D" href="/blog/building-trust-in-our-knowledge-graph" class="blog-link w-inline-block"><div class="hide">Building Trust in the Harness Knowledge Graph with AI Evals</div></a></article></div><div role="listitem" class="w-dyn-item"><article href="/blog/post-slug" class="blog_card"><div class="blog_card-thumb"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6a95c3e990803418bf166a1a_6a95c3e490803418bf166782_harness-cloud-pricing-update-lower-per-minute-rates-featured.png" alt="Harness Cloud pricing update: lower per-minute rates" class="blog_card-img scale_img"/></div><div class="blog_fcard-meta marginb-10"><div class="blog_card-date">August 27, 2026</div><div class="blog_dot"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="blog_card-cat">Company News</div></div></div></div><div class="blog_dot"></div><div class="body-xs u_text-muted">1 minute to read</div></div><h3 fs-list-field="Title" class="blog_card-title">Harness Cloud pricing update: lower per-minute rates</h3><div class="hide w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="Value Driver">Continuous Integration</div></div></div></div><a data-wf-native-id-path="c05e7450-576f-1c0f-f326-1b1350381e24_instance-9" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c05e7450-576f-1c0f-f326-1b1350381e24" data-wf-cms-context="%5B%7B%22collectionId%22%3A%2269e786e187c925d08ee02bf2%22%2C%22itemId%22%3A%226a95a3f7ab81b2bb9a488ea5%22%7D%5D" href="/blog/harness-cloud-pricing-update-lower-per-minute-rates" class="blog-link w-inline-block"><div class="hide">Harness Cloud pricing update: lower per-minute rates</div></a></article></div><div role="listitem" class="w-dyn-item"><article href="/blog/post-slug" class="blog_card"><div class="blog_card-thumb"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6a90892b078e3606543cf59c_6a90892723353cb8645edba2_agent-ready-code-repository-ai-code-review-featured.png" alt="Introducing Agent-Ready Code Repository with AI Code Review" class="blog_card-img scale_img"/></div><div class="blog_fcard-meta marginb-10"><div class="blog_card-date">August 27, 2026</div><div class="blog_dot"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="blog_card-cat">Technical</div></div></div></div><div class="blog_dot"></div><div class="body-xs u_text-muted">8 minutes to read</div></div><h3 fs-list-field="Title" class="blog_card-title">Introducing Agent-Ready Code Repository with AI Code Review</h3><div class="hide w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="Value Driver">Code Repository</div></div><div role="listitem" class="w-dyn-item"><div fs-list-field="Value Driver">Software Delivery Agent</div></div></div></div><a data-wf-native-id-path="c05e7450-576f-1c0f-f326-1b1350381e24_instance-10" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c05e7450-576f-1c0f-f326-1b1350381e24" data-wf-cms-context="%5B%7B%22collectionId%22%3A%2269e786e187c925d08ee02bf2%22%2C%22itemId%22%3A%226a90853ea30c0b3cd3101f44%22%7D%5D" href="/blog/agent-ready-code-repository-ai-code-review" class="blog-link w-inline-block"><div class="hide">Introducing Agent-Ready Code Repository with AI Code Review</div></a></article></div><div role="listitem" class="w-dyn-item"><article href="/blog/post-slug" class="blog_card"><div class="blog_card-thumb"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b92/6a908b11a4e8df09dc632fd8_6a908b0b06b83a166b5c2113_developer-self-service-pipelines-with-harness-idp-featured.png" alt="Developer Self-Service Pipelines with Harness IDP" class="blog_card-img scale_img"/></div><div class="blog_fcard-meta marginb-10"><div class="blog_card-date">August 26, 2026</div><div class="blog_dot"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="blog_card-cat">Technical</div></div></div></div><div class="blog_dot"></div><div class="body-xs u_text-muted">7 minutes to read</div></div><h3 fs-list-field="Title" class="blog_card-title">Developer Self-Service Pipelines with Harness IDP</h3><div class="hide w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="Value Driver">Software Delivery Agent</div></div></div></div><a data-wf-native-id-path="c05e7450-576f-1c0f-f326-1b1350381e24_instance-11" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c05e7450-576f-1c0f-f326-1b1350381e24" data-wf-cms-context="%5B%7B%22collectionId%22%3A%2269e786e187c925d08ee02bf2%22%2C%22itemId%22%3A%226a9085408318cae69cdf169e%22%7D%5D" href="/blog/developer-self-service-pipelines-with-harness-idp" class="blog-link w-inline-block"><div class="hide">Developer Self-Service Pipelines with Harness IDP</div></a></article></div></div><div role="navigation" aria-label="List" class="w-pagination-wrapper margin-b60"><div class="layout_flex-horizontal gap-12"><a fs-list-element="page-button" data-wf-native-id-path="798af86a-0281-c922-5887-7205486979fe" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="798af86a-0281-c922-5887-7205486979fe" href="/blog" aria-current="page" class="blog_pagination-page w-inline-block w--current"><div>1</div></a></div><a data-wf-native-id-path="798af86a-0281-c922-5887-720548697a01" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="798af86a-0281-c922-5887-720548697a01" href="?ea3eb56e_page=2" aria-label="Next Page" class="w-pagination-next blog_pagination-next"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="m9 18 6-6-6-6"></path></svg></a><link rel="prerender" href="?ea3eb56e_page=2"/><div aria-label="Page 1 of 65" role="heading" class="w-page-count hide">1 / 65</div></div></div><div class="w-embed"><style>
|
||
/* 1. Base styles and smooth transitions */
|
||
.blog_card .scale_img {
|
||
transition: transform 0.3s ease;
|
||
}
|
||
|
||
.blog_card .blog_card-title {
|
||
transition: color 0.3s ease;
|
||
}
|
||
|
||
/* 2. Hover effects triggered by the parent (.blog_card) */
|
||
.blog_card:hover .scale_img {
|
||
transform: scale(1.06);
|
||
}
|
||
|
||
.blog_card:hover .blog_card-title {
|
||
color: #0278d5;
|
||
}
|
||
</style></div><div fs-list-element="empty" class="no-item-container"><div>No blogs found matching your search.</div><a fs-list-element="clear" data-wf-native-id-path="c51a41cd-7e78-dcb5-dd5d-b7207ba1d3f9" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="c51a41cd-7e78-dcb5-dd5d-b7207ba1d3f9" href="#" class="btn_clear w-button">Clear filters</a></div></section><div data-nav-dark="true" class="home_cta"><div class="margin-b16"><p class="text-label-dark">Get Started</p></div><div class="margin-b12"><h2 class="heading-large-dark">Get Started with Harness AI</h2></div><p class="body-regular-dark">Try the full platform free. No module restrictions, no credit card.</p><div class="home_cta-btns"><a data-wf-native-id-path="4616d39f-5033-4092-08a4-58f5a0445a67" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="4616d39f-5033-4092-08a4-58f5a0445a67" href="https://app.harness.io/auth/#/signup?utm_source=harness_io&utm_medium=cta&utm_campaign=platform" class="home_cta-btn-primary">Try Harness AI Free</a><a href="/demo/platform" data-wf-native-id-path="4616d39f-5033-4092-08a4-58f5a0445a69" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="4616d39f-5033-4092-08a4-58f5a0445a69" class="home_cta-btn-secondary">See a Demo</a></div></div></main><footer data-nav-dark="true" class="home_footer"><div class="home_footer-grid"><div id="w-node-df56878c-523a-5263-2516-3fc09a6e178e-9a6e178c" class="home_footer-col"><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:06b1f2b3-8ed7-6870-0328-ee3477941cc3" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="06b1f2b3-8ed7-6870-0328-ee3477941cc3" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/" class="w-inline-block"><img src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/69e786e187c925d08ee05fe0_harness%20main%20white%20logo.svg" loading="lazy" width="120" height="26" alt="Harness logo"/></a><p class="home_footer-tagline">AI for everything after code.</p></div><div id="w-node-df56878c-523a-5263-2516-3fc09a6e1798-9a6e178c" class="home_footer-col"><p class="home_footer-col-title">Platform</p><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:df56878c-523a-5263-2516-3fc09a6e179b" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="df56878c-523a-5263-2516-3fc09a6e179b" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/platform" class="home_footer-link">Overview</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:df56878c-523a-5263-2516-3fc09a6e179d" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="df56878c-523a-5263-2516-3fc09a6e179d" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/why-harness" class="home_footer-link">Why Harness</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:df56878c-523a-5263-2516-3fc09a6e17a1" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="df56878c-523a-5263-2516-3fc09a6e17a1" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/platform/knowledge-graph" class="home_footer-link">Knowledge Graph</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:df56878c-523a-5263-2516-3fc09a6e17a3" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="df56878c-523a-5263-2516-3fc09a6e17a3" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/pricing" class="home_footer-link">Pricing</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:b7ff53f8-c674-8b15-23d8-0fb61f21149e" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="b7ff53f8-c674-8b15-23d8-0fb61f21149e" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="https://trust.harness.io/" class="home_footer-link">Trust Center</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:22e876f5-b5f4-4878-696c-faec850d5243" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="22e876f5-b5f4-4878-696c-faec850d5243" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="https://developer.harness.io/" class="home_footer-link">Documentation</a></div><div id="w-node-df56878c-523a-5263-2516-3fc09a6e17a5-9a6e178c" class="home_footer-col gap-24"><div><p class="home_footer-col-title">Products</p><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:8a37bcec-234d-c2bc-fa2f-f5d2c1e1a45e" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="8a37bcec-234d-c2bc-fa2f-f5d2c1e1a45e" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/software-delivery-agent" class="home_footer-link is-header">Software Delivery Agent</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:df56878c-523a-5263-2516-3fc09a6e17a8" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="df56878c-523a-5263-2516-3fc09a6e17a8" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/continuous-delivery" class="home_footer-link">Deployments</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:2ca1fc1a-3dd2-d0aa-fc06-1c32f754d553" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="2ca1fc1a-3dd2-d0aa-fc06-1c32f754d553" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/continuous-integration" class="home_footer-link">Builds</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:1fd1081e-fc14-12ee-62af-10f6984c8112" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="1fd1081e-fc14-12ee-62af-10f6984c8112" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/infrastructure-as-code-management" class="home_footer-link">Infrastructure </a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:df56878c-523a-5263-2516-3fc09a6e17ac" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="df56878c-523a-5263-2516-3fc09a6e17ac" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/database-devops" class="home_footer-link">Databases</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:df56878c-523a-5263-2516-3fc09a6e17ae" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="df56878c-523a-5263-2516-3fc09a6e17ae" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/artifact-registry" class="home_footer-link">Artifacts</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:fe837eaa-9f70-7df3-f8f5-a3819dda931e" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="fe837eaa-9f70-7df3-f8f5-a3819dda931e" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/code-repository" class="home_footer-link">Repositories</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:96de7876-e209-21bb-2862-71ca2f0464d8" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="96de7876-e209-21bb-2862-71ca2f0464d8" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/ai-code-review" class="home_footer-link">Code Review</a></div><div><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:73d335e8-f10b-95cd-7d31-5ae483651507" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="73d335e8-f10b-95cd-7d31-5ae483651507" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/security-testing-agent" class="home_footer-link is-header">Security Testing Agent</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:3ca1f42c-e01e-0540-f715-b7d03c24e0ee" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="3ca1f42c-e01e-0540-f715-b7d03c24e0ee" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/application-security-testing/static-application-security-testing" class="home_footer-link">AI SAST</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:43f89b68-07b0-ecad-ce69-d74d4d8f2085" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="43f89b68-07b0-ecad-ce69-d74d4d8f2085" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/application-security-testing/software-composition-analysis" class="home_footer-link">AI SCA</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:cb1ebd3a-0ff3-8418-7892-f58c063c0042" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="cb1ebd3a-0ff3-8418-7892-f58c063c0042" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/application-security-testing/supply-chain-security" class="home_footer-link">Supply Chain Security</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:d1eab91c-91d0-b519-fabd-88f2b32b2950" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="d1eab91c-91d0-b519-fabd-88f2b32b2950" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/application-security-testing/security-testing-orchestration" class="home_footer-link">Security Testing Orchestration</a></div></div><div id="w-node-d9d0e950-17a8-a1aa-51a8-b57089392354-9a6e178c" class="home_footer-col gap-24 push--little"><div><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:76dc8e15-4cf6-7287-68a7-1fd41d944d08" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="76dc8e15-4cf6-7287-68a7-1fd41d944d08" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/runtime-protection-agent" class="home_footer-link is-header">Runtime Protection Agent</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:d9d0e950-17a8-a1aa-51a8-b5708939235c" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="d9d0e950-17a8-a1aa-51a8-b5708939235c" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/web-application-api-protection/api-posture" class="home_footer-link">API Posture</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:d9d0e950-17a8-a1aa-51a8-b5708939235e" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="d9d0e950-17a8-a1aa-51a8-b5708939235e" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/web-application-api-protection/api-advanced-protection" class="home_footer-link">API Advanced Protection</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:b7efc856-4604-c881-367c-16c8e8ae3b58" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="b7efc856-4604-c881-367c-16c8e8ae3b58" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/web-application-api-protection/ai-posture" class="home_footer-link">AI Posture</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:0ab44330-f017-86fa-5812-a119690fc858" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="0ab44330-f017-86fa-5812-a119690fc858" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/web-application-api-protection/ai-firewall" class="home_footer-link">AI Firewall</a></div><div><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:61234492-7a69-7527-f6ce-6d1dbf61022d" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="61234492-7a69-7527-f6ce-6d1dbf61022d" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/cost-management-agent" class="home_footer-link is-header">Cost Management Agent</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:d9d0e950-17a8-a1aa-51a8-b57089392369" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="d9d0e950-17a8-a1aa-51a8-b57089392369" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/cloud-ai-cost-management" class="home_footer-link">AI & Cloud Costs</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:4c6c26c6-b20a-127d-c3d3-1e8ffecf60d9" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="4c6c26c6-b20a-127d-c3d3-1e8ffecf60d9" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/ai-dlc-insights" class="home_footer-link">Engineering Efficiency</a></div><div><span class="eyebrow-small footer">More Products</span><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:d9d0e950-17a8-a1aa-51a8-b5708939236b" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="d9d0e950-17a8-a1aa-51a8-b5708939236b" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/ai-sre" class="home_footer-link">Incidents</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:51cdfd1b-2223-2cf5-bf8f-b4a037fef71f" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="51cdfd1b-2223-2cf5-bf8f-b4a037fef71f" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/internal-developer-portal" class="home_footer-link">Developer Portal</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:3ca1f42c-e01e-0540-f715-b7d03c24e0f0" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="3ca1f42c-e01e-0540-f715-b7d03c24e0f0" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/resilience-testing" class="home_footer-link">Resilience Tests</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:58402bd0-584c-e084-fe24-bc67784d5a92" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="58402bd0-584c-e084-fe24-bc67784d5a92" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/ai-evals" class="home_footer-link">AI Evals</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:df56878c-523a-5263-2516-3fc09a6e17aa" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="df56878c-523a-5263-2516-3fc09a6e17aa" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/products/feature-management-experimentation" class="home_footer-link">Runtime Configuration</a></div></div><div id="w-node-cf2595dc-567b-a3cf-c739-795742c0494a-9a6e178c" class="home_footer-col"><p class="home_footer-col-title">Resources</p><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:cf2595dc-567b-a3cf-c739-795742c0494f" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="cf2595dc-567b-a3cf-c739-795742c0494f" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/blog" aria-current="page" class="home_footer-link w--current">Blog</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:cf2595dc-567b-a3cf-c739-795742c04951" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="cf2595dc-567b-a3cf-c739-795742c04951" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/learn/resource-center" class="home_footer-link">Resources Hub</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:cf2595dc-567b-a3cf-c739-795742c04953" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="cf2595dc-567b-a3cf-c739-795742c04953" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/customers" class="home_footer-link">Customer Stories</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:1110cdb6-5617-bf59-dcf1-7c761c39e92c" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="1110cdb6-5617-bf59-dcf1-7c761c39e92c" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/comparison-guide" class="home_footer-link">Comparison Guide</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:e07fc2f1-4ac9-4b67-964e-d3fbbfed8440" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="e07fc2f1-4ac9-4b67-964e-d3fbbfed8440" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/harness-devops-academy" class="home_footer-link">DevOps Academy</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:cf2595dc-567b-a3cf-c739-795742c0494d" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="cf2595dc-567b-a3cf-c739-795742c0494d" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/events" class="home_footer-link">Events</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:6f46bf9e-6590-edd8-2f42-7679d2ae0b33" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="6f46bf9e-6590-edd8-2f42-7679d2ae0b33" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="https://community.harness.io/" class="home_footer-link">Community</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:35645db4-291a-3f9e-11fb-725c72a62d8c" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="35645db4-291a-3f9e-11fb-725c72a62d8c" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="https://apidocs.harness.io/" class="home_footer-link">API Reference</a></div><div id="w-node-df56878c-523a-5263-2516-3fc09a6e17b0-9a6e178c" class="home_footer-col"><p class="home_footer-col-title">Company</p><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:df56878c-523a-5263-2516-3fc09a6e17b3" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="df56878c-523a-5263-2516-3fc09a6e17b3" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/company/about-us" class="home_footer-link">About Us</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:df56878c-523a-5263-2516-3fc09a6e17b5" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="df56878c-523a-5263-2516-3fc09a6e17b5" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/company/careers" class="home_footer-link">Careers</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:df56878c-523a-5263-2516-3fc09a6e17b7" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="df56878c-523a-5263-2516-3fc09a6e17b7" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/company/press-and-news" class="home_footer-link">Press & News</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:df56878c-523a-5263-2516-3fc09a6e17b9" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="df56878c-523a-5263-2516-3fc09a6e17b9" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/partners" class="home_footer-link">Partners</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:98d954f2-33a4-9c0f-1082-178b7b8694d1" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="98d954f2-33a4-9c0f-1082-178b7b8694d1" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/company/contact-sales" class="home_footer-link">Contact Us</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:6323c4bd-f7e2-0ff1-99d0-0f9e63eccab3" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="6323c4bd-f7e2-0ff1-99d0-0f9e63eccab3" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="/legal" class="home_footer-link">Legal</a></div></div><div class="home_footer-bottom"><p class="home_footer-copyright">© 2026 Harness, Inc. All rights reserved.</p><div class="home_footer-legal-links"><a href="/legal/subscription-terms" data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:df56878c-523a-5263-2516-3fc09a6e17bf" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="df56878c-523a-5263-2516-3fc09a6e17bf" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" class="home_footer-legal-link">Subscription Terms</a><a href="/legal/website-terms-of-use" data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:b04775e3-30ca-b53a-265c-e6598b2c57dd" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="b04775e3-30ca-b53a-265c-e6598b2c57dd" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" class="home_footer-legal-link">Website Terms of Use</a><a href="/legal/privacy" data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:e91854c5-27cb-98e0-0066-301d2263e88c" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="e91854c5-27cb-98e0-0066-301d2263e88c" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" class="home_footer-legal-link">Privacy Statement</a><a data-wf-native-id-path="78d8ef6a-cb6b-56ae-33d3-99f7b1b37659:705d18cd-88d7-36be-2276-26d229fe03b0" data-wf-ao-click-engagement-tracking="true" data-wf-element-id="705d18cd-88d7-36be-2276-26d229fe03b0" data-wf-component-context="%5B%7B%22componentId%22%3A%22df56878c-523a-5263-2516-3fc09a6e178c%22%2C%22instanceId%22%3A%2278d8ef6a-cb6b-56ae-33d3-99f7b1b37659%22%7D%5D" href="https://harness-privacy.relyance.ai/" class="home_footer-legal-link w-inline-block"><div class="inline">Opt Out</div><img width="29" height="14" alt="Do Not Sell / Share My Personal Information" src="https://cdn.prod.website-files.com/6222ca42ea87e1bd1aa1d10c/6613fea4c0a0d1f3a0a977a0_privacyoptions.svg" loading="lazy" class="margin-l4"/></a><div class="bottom_footer-link overflow_hidden w-embed w-script"><script type="text/javascript">
|
||
// Handle OneTrust Click
|
||
const handleOneTrustClick = e => {
|
||
if (window.OneTrust !== undefined) {
|
||
window.OneTrust.ToggleInfoDisplay()
|
||
} else if (window.Relyance !== undefined) {
|
||
window.Relyance.showPreferenceCenter();
|
||
}
|
||
}
|
||
</script>
|
||
<a href="javascript:void(0)" onclick="handleOneTrustClick()" class="home_footer-legal-link">Cookie Settings</a></div></div></div><div class="w-embed w-script"><script>
|
||
(function() {
|
||
if (window.__wds_reveal_loaded) return;
|
||
window.__wds_reveal_loaded = true;
|
||
|
||
var style = document.createElement('style');
|
||
style.textContent = '.reveal.wds-revealed{opacity:1;transform:translateY(0);}';
|
||
document.head.appendChild(style);
|
||
|
||
function init() {
|
||
if (!('IntersectionObserver' in window)) {
|
||
// Old browsers: just make everything visible
|
||
document.querySelectorAll('.reveal').forEach(function(el) {
|
||
el.classList.add('wds-revealed');
|
||
});
|
||
return;
|
||
}
|
||
var observer = new IntersectionObserver(function(entries) {
|
||
entries.forEach(function(entry) {
|
||
if (entry.isIntersecting) {
|
||
entry.target.classList.add('wds-revealed');
|
||
observer.unobserve(entry.target);
|
||
}
|
||
});
|
||
}, { threshold: 0.1, rootMargin: '0px 0px -50px 0px' });
|
||
|
||
document.querySelectorAll('.reveal').forEach(function(el) {
|
||
observer.observe(el);
|
||
});
|
||
}
|
||
|
||
if (document.readyState === 'loading') {
|
||
document.addEventListener('DOMContentLoaded', init);
|
||
} else {
|
||
init();
|
||
}
|
||
})();
|
||
</script></div></footer></div><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=69e786e187c925d08ee02b90" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/69e786e187c925d08ee02b90/js/webflow.c6f0a434.c76c064f656a8439.js" type="text/javascript" integrity="sha384-rEk/Y4wUdI741STFO9ecl4ra3U/W3rOe3qTADY6JmpDvMVg/um8asIEKz8vxmS73" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/gsap/3.15.0/gsap.min.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/gsap/3.15.0/Flip.min.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/gsap/3.15.0/ScrollTrigger.min.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/gsap/3.15.0/MorphSVGPlugin.min.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/gsap/3.15.0/TextPlugin.min.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/gsap/3.15.0/ScrollSmoother.min.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/gsap/3.15.0/ScrollToPlugin.min.js" type="text/javascript"></script><script type="text/javascript">gsap.registerPlugin(Flip,ScrollTrigger,MorphSVGPlugin,TextPlugin,ScrollSmoother,ScrollToPlugin);</script><!-- GOOGLE TAG MANAGER | DO NOT REMOVE -->
|
||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MGL29QM"
|
||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||
<!-- End Google Tag Manager (noscript) -->
|
||
|
||
<style>
|
||
* {
|
||
/* Support for all WebKit browsers. */
|
||
-webkit-font-smoothing: antialiased;
|
||
/* Support for Safari and Chrome. */
|
||
text-rendering: optimizeLegibility;
|
||
/* Support for Firefox. */
|
||
-moz-osx-font-smoothing: grayscale;
|
||
/* Support for IE. */
|
||
font-feature-settings: 'liga';
|
||
}
|
||
.mobile-dd-link-2.w--current {
|
||
color:#0677d4 !important;
|
||
}
|
||
</style>
|
||
|
||
|
||
<!-- Please refrain from placing any other scripts here. Instead, please contact web admin and place the script via GTM. Thank you! -->
|
||
<!--Calculate the Reading Time For Blogs-->
|
||
<!--
|
||
<script>
|
||
const wordsPerMin = 250;
|
||
const secondsPerImage = 10;
|
||
|
||
function calculateReadingTime(scope=document) {
|
||
const blogCards= scope.querySelectorAll(".blog-article_card, .blog_featured-card-content, .blog_fcard, .blog_card");
|
||
|
||
blogCards.forEach(card =>{
|
||
const contentElement= card.querySelector("[blog-reading-time]");
|
||
const displayElement= card.querySelector("[reading-time]");
|
||
|
||
const words= contentElement.textContent.split(" ").length;
|
||
const images= contentElement.getElementsByTagName("img").length;
|
||
|
||
const totalMinutes= Math.floor((words/wordsPerMin) + (images *secondsPerImage / 60));
|
||
const totalSeconds= (words/wordsPerMin)*60 + (images *secondsPerImage)
|
||
|
||
if(totalSeconds<60){
|
||
displayElement.textContent=`Less than 1 minute to read`
|
||
}else if(totalMinutes === 1){
|
||
displayElement.textContent=`1 minute to read`
|
||
}else if(totalMinutes > 1){
|
||
displayElement.textContent=`${totalMinutes} minutes to read`
|
||
}
|
||
});
|
||
}
|
||
|
||
document.addEventListener("DOMContentLoaded", function () {
|
||
// Run on initial load
|
||
calculateReadingTime();
|
||
|
||
window.FinsweetAttributes ||= [];
|
||
window.FinsweetAttributes.push([
|
||
'list',
|
||
(listInstances) => {
|
||
listInstances.forEach((listInstance) => {
|
||
listInstance.addHook("pagination",(renderedItems) =>{
|
||
// Only calculate for newly rendered items
|
||
renderedItems.forEach((item) => {
|
||
calculateReadingTime(item.element);
|
||
});
|
||
});
|
||
});
|
||
},
|
||
]);
|
||
});
|
||
</script>
|
||
-->
|
||
|
||
<!--For Value Driver Filter -->
|
||
<script>
|
||
document.addEventListener("DOMContentLoaded", () => {
|
||
const filterGroup = document.querySelector(".resources-library_topic-tabs");
|
||
if (!filterGroup) return;
|
||
|
||
const allBtn = filterGroup.querySelector('a[fs-list-element="clear"]');
|
||
const labels = filterGroup.querySelectorAll("label.resources-library_tab");
|
||
|
||
function updateActiveClasses() {
|
||
let anyRadioActive = false;
|
||
|
||
labels.forEach((label) => {
|
||
// Check if Webflow/Finsweet has marked this label as active
|
||
if (label.classList.contains("is-list-active") || label.querySelector('input').checked) {
|
||
label.classList.add("is-active");
|
||
anyRadioActive = true;
|
||
} else {
|
||
label.classList.remove("is-active");
|
||
}
|
||
});
|
||
|
||
// If no radio buttons are active, highlight "All Comparisons"
|
||
if (!anyRadioActive) {
|
||
allBtn.classList.add("is-active");
|
||
} else {
|
||
allBtn.classList.remove("is-active");
|
||
}
|
||
}
|
||
|
||
// 1. Run on initial page load
|
||
// Small timeout ensures Finsweet/Webflow finished rendering initial state
|
||
setTimeout(updateActiveClasses, 200);
|
||
|
||
// 2. Listen for user clicks inside the filter group to trigger updates
|
||
filterGroup.addEventListener("click", () => {
|
||
// Small timeout allows Webflow/Finsweet to finish toggling classes first
|
||
setTimeout(updateActiveClasses, 50);
|
||
});
|
||
});
|
||
</script></body></html> |