CINXE.COM
ngrok - Data Processing Agreement
<!DOCTYPE html><!-- Last Published: Wed Mar 19 2025 18:00:36 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="webflow.ngrok.com" data-wf-page="650320fb1373496e89e6d256" data-wf-site="63ed4bc7a4b189da942a6b8c" lang="en"><head><meta charset="utf-8"/><title>ngrok - Data Processing Agreement</title><meta content="ngrok - Data Processing Agreement" property="og:title"/><meta content="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/65c27672e86f46e7831afbfa_web-feature-1200x628-DPA.png" property="og:image"/><meta content="ngrok - Data Processing Agreement" property="twitter:title"/><meta content="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/65c27672e86f46e7831afbfa_web-feature-1200x628-DPA.png" property="twitter:image"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="google-site-verification=j0vjqZkk-L879XcfC6AN7gsHUlNADGphHmjhoZ80fGw" name="google-site-verification"/><link href="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/css/ngrok.87a40ecdf.min.css" rel="stylesheet" type="text/css"/><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: ["IBM Plex Mono:regular,500,600"] }});</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/63ed4bc7a4b189da942a6b8c/63ef8624e010d9861920be4e_ngrok-favicon.svg" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/63ef861b114f2bbd3e038582_Untitled%20design%20(3).svg" rel="apple-touch-icon"/><script async="" src="https://www.googletagmanager.com/gtag/js?id=G-94F3ZL4GLW"></script><script type="text/javascript">window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('set', 'developer_id.dZGVlNj', true);gtag('config', 'G-94F3ZL4GLW');</script><!-- Preconnect, prefetch, preload (pagespeed improvements) --> <link rel="preconnect" href="https://d3e54v103j8qbb.cloudfront.net"> <link rel="preconnect" href="https://cdn.jsdelivr.net"> <link rel="preconnect" href="https://global.ketchcdn.com"> <link rel="preconnect" href="https://cdn.ketchjs.com"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com"> <link rel="preconnect" href="https://assets-global.website-files.com"> <link rel="preconnect" href="https://assets.website-files.com"> <link rel="preconnect" href="https://www.googletagmanager.com"> <link rel="preconnect" href="https://www.google-analytics.com"> <link rel="preconnect" href="https://www.clarity.ms"> <link rel="preconnect" href="https://hubspotonwebflow.com"> <link rel="preconnect" href="https://js.hs-scripts.com"> <link rel="preconnect" href="https://s.hs-analytics.net"> <link rel="preconnect" href="https://js.hs-banner.com"> <link rel="preconnect" href="https://js.hscollectedforms.net"> <link rel="preconnect" href="https://forms.hscollectedforms.net"> <link rel="preconnect" href="https://track.hubspot.com"> <link rel="preconnect" href="https://static.zdassets.com"> <link rel="preconnect" href="https://ekr.zdassets.com"> <link rel="preconnect" href="https://ngrok.zendesk.com"> <link rel="preconnect" href="https://tag.clearbitscripts.com"> <link rel="preconnect" href="https://x.clearbitjs.com"> <link rel="preconnect" href="https://app.clearbit.com"> <!-- Ketch Consent Platform --> <style> #lanyard_root [class^="content"] { padding-top: 12px; padding-bottom: 12px; line-height: 14px; } #lanyard_root [class^="titleWrapper"] { margin-bottom: 8px; } #lanyard_root #banner-description { min-height: min-content; } #lanyard_root [class^="buttons"] button { padding-top: 4px; padding-bottom: 4px; } #lanyard_root #banner-description + div { display: none; } #lanyard_root [role="dialog"] > [class^="root"]:not(:last-child) { border-bottom: 1px solid #d9d9d9; } #lanyard_root [role="dialog"] > [class^="root"]:last-child { border-top: 1px solid #d9d9d9; } </style> <script type="text/javascript"> window.semaphore = window.semaphore || []; window.ketch = function () { window.semaphore.push(arguments); }; </script> <script type="text/javascript" defer async src="https://global.ketchcdn.com/web/v2/config/ngrok/ngrok_ketch_tag/boot.js"></script> <!-- END Ketch --> <!-- Please keep this css code to improve the font quality--> <style> * { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } </style> <!-- Google Tag Manager --> <script> (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; f.parentNode.insertBefore(j, f); })(window, document, "script", "dataLayer", "GTM-P4F37ZW"); </script> <!-- End Google Tag Manager --> <meta property="og:url" content="https://ngrok.com/dpa"/> <link rel="canonical" href="https://ngrok.com/dpa"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebPage", "name": "ngrok - Data Processing Agreement", "description": "", "url": "https://ngrok.com/dpa" } </script><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><div class="page-wrapper"><div class="global-styles w-embed"><style> .post-wysiwyg-content .text-rich-text h1, .post-wysiwyg-content .text-rich-text h2, .post-wysiwyg-content .text-rich-text h3, .post-wysiwyg-content .text-rich-text h4, .post-wysiwyg-content .text-rich-text h5, .post-wysiwyg-content .text-rich-text h6 { margin-bottom: 0.50em; margin-top: 1.50em; padding-bottom: 0; padding-top: 0; } /* Get rid of top margin on first element in any rich text element */ .w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child { margin-top: 0 !important; } /* Get rid of bottom margin on last element in any rich text element */ .w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child { margin-bottom: 0 !important; } /* Make the following elements inherit typography styles from the parent and not have hardcoded values. Important: You will not be able to style for example "All Links" in Designer with this CSS applied. Uncomment this CSS to use it in the project. Leave this message for future hand-off. */ /* a, .w-input, .w-select, .w-tab-link, .w-nav-link, .w-dropdown-btn, .w-dropdown-toggle, .w-dropdown-link { color: inherit; text-decoration: inherit; font-size: inherit; } */ /* Prevent all click and hover interaction with an element */ .pointer-events-off { pointer-events: none; } /* Enables all click and hover interaction with an element */ .pointer-events-on { pointer-events: auto; } /* Snippet enables you to add class of div-square which creates and maintains a 1:1 dimension of a div.*/ .div-square::after { content: ""; display: block; padding-bottom: 100%; } /*Hide focus outline for main content element*/ main:focus-visible { outline: -webkit-focus-ring-color auto 0px; } /* Make sure containers never lose their center alignment*/ .container-medium, .container-small, .container-large { margin-right: auto !important; margin-left: auto !important; } /*Reset selects, buttons, and links styles*/ .w-input, .w-select, a { color: inherit; text-decoration: inherit; font-size: inherit; } /*Apply "..." after 3 lines of text */ .text-style-3lines { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; } /* Apply "..." after 2 lines of text */ .text-style-2lines { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } /* Apply "..." at 100% width */ .truncate-width { width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* Removes native scrollbar */ .no-scrollbar { -ms-overflow-style: none; // IE 10+ overflow: -moz-scrollbars-none; // Firefox } .no-scrollbar::-webkit-scrollbar { display: none; // Safari and Chrome } /* Adds inline flex display */ .display-inlineflex { display: inline-flex; } /* These classes are never overwritten */ .hide { display: none !important; } @media screen and (max-width: 991px) { .hide, .hide-tablet { display: none !important; } } @media screen and (max-width: 767px) { .hide-mobile-landscape{ display: none !important; } } @media screen and (max-width: 479px) { .hide-mobile{ display: none !important; } } .margin-0 { margin: 0rem !important; } .padding-0 { padding: 0rem !important; } .spacing-clean { padding: 0rem !important; margin: 0rem !important; } .margin-top { margin-right: 0rem !important; margin-bottom: 0rem !important; margin-left: 0rem !important; } .padding-top { padding-right: 0rem !important; padding-bottom: 0rem !important; padding-left: 0rem !important; } .margin-right { margin-top: 0rem !important; margin-bottom: 0rem !important; margin-left: 0rem !important; } .padding-right { padding-top: 0rem !important; padding-bottom: 0rem !important; padding-left: 0rem !important; } .margin-bottom { margin-top: 0rem !important; margin-right: 0rem !important; margin-left: 0rem !important; } .padding-bottom { padding-top: 0rem !important; padding-right: 0rem !important; padding-left: 0rem !important; } .margin-left { margin-top: 0rem !important; margin-right: 0rem !important; margin-bottom: 0rem !important; } .padding-left { padding-top: 0rem !important; padding-right: 0rem !important; padding-bottom: 0rem !important; } .margin-horizontal { margin-top: 0rem !important; margin-bottom: 0rem !important; } .padding-horizontal { padding-top: 0rem !important; padding-bottom: 0rem !important; } .margin-vertical { margin-right: 0rem !important; margin-left: 0rem !important; } .padding-vertical { padding-right: 0rem !important; padding-left: 0rem !important; } .hljs-copy-wrapper code { font-size: 14px !important; border-radius: 5px; } /* ===== BL CUSTOM CSS ===== */ /* Code snippets inside blog post */ div[fs-richtext-element="rich-text"] code:not([class]) { --tw-bg-opacity: 1; background-color: rgb(244 244 245/var(--tw-bg-opacity)); font-weight: 500; font-family: "IBM Plex Mono",Courier New,Courier,monospace; font-size: 0.95rem; padding-left: 0.4rem; padding-right: 0.4rem; border-radius: 0.2rem; } div[fs-richtext-element="rich-text"] pre.w-code-block { background: #f9fafb !important; border: 1px solid hsl(222 12% 83.9% / 1); border-radius: .375rem; } div[fs-richtext-element="rich-text"] pre.w-code-block code.hljs { font-weight: 500; font-family: "IBM Plex Mono",Courier New,Courier,monospace; font-size: 0.9rem; border: 0px; color: hsl(236 20% 11.5%/0.75); } .hljs-attr, .hljs-number { color: hsl(228 82% 55%); } .hljs-string, .hljs-bullet, .hljs-meta{ color: hsl(236 20% 11.5%/0.75); } .hljs-literal { color: hsl(40.6 96.1% 40.4%); font-weight: 600; } .hljs-subst { color: hsl(142.1 76.2% 36.3%); } /* Utilities */ .checkmark-bullets ul { list-style-image: url('https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/65497815cad2197f542d7e80_checkmark-green.svg'); } .checkmark-bullets-white ul { list-style-image: url('https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/642304f99e59e83efbb28106_Frame%203590.svg'); padding-left: 30px; } .wrapper-pricing-features .feature-col2 ul { padding-left: 0; } .add-on-list-item .feature-col2 li { background-image: url('https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/65e21760a46d5aadb4300c8c_checkmark-pricing.svg'); background-repeat: no-repeat; list-style-type: none; margin-bottom: 1rem; padding-left: 1.75rem; } .included-feature-body ul { padding-left: 0; } .included-feature-body li { background-image: url('https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/65fdc717b315140401454ca2_checkmark-pricing-2.svg'); background-repeat: no-repeat; background-position: -0.25rem -0.25rem; list-style-type: none; margin-bottom: 1rem; margin-bottom: 0.5rem; padding-left: 1.75rem; } .add-on-list-item .feature-col2 h3 { color: var(--black); font-size: 1.25rem; font-weight: 700; line-height: 1.5rem; } .wrapper-pricing-highlight-section figcaption {display: none !important;} .w-richtext a {text-decoration: underline;} .cards-border-solid .cmp-card {border: 1px solid var(--bl-colors-border-light);} .card-heading-color-black .card-heading {color: var(--black)} .card-heading-weight-semibold .card-heading {font-weight: 600 !important;} .bl-card-bg-gray-light .cmp-card {background-color: var(--bl-colors-border-light); margin-top: 0;} .bl-card-bg-gray-light .item-latest {border-radius: 0;} .bl-card-bg-gray-light div:empty {display: none;} .rich-text-li-space-increase li {margin-bottom: 1.25em;} .card-boost .gap-6, .card-boost-red .gap-6 {gap: 24px;} .hide-icon .ic-40-40 {display: none !important;} .card-pricing-feature p + ul {margin-top: 0;} :root .w-dyn-empty {padding: 0;} .card-to-blog-list-item .item-latest.cmp-card { border-color: var(--secondary-gray); border-radius: 0; border-width: 0 0 1px 0; padding-left: 0; padding-right: 0; } .card-to-blog-list-item .text-24-28.text-weight-bold.text-color-blue.card-heading { color: var(--black-soft); font-weight: normal; } .hero-force-wrap .hero-col1, .hero-force-wrap .hero-col2 { flex-basis: 100%; margin-bottom: var(--activetheme--spc-lg); } /* Forms */ :root .w-richtext-figure-type-image figcaption { display: none !important; } /* === VARIABLES ===*/ :root { --bl-colors-black: #0B0C0E; --bl-colors-blueng-500: #2e54ea; --bl-colors-gray-400: #8C91A2; --bl-colors-gray-600: #535968; --bl-colors-grayng-500: #595959; --bl-colors-peach-500: #fa8080; --bl-colors-red-500: #E53E3E; --bl-colors-white: #ffffff; --bl-fontSizes-txs: calc(12rem / 16); --bl-fontSizes-tsm: calc(14rem / 16); --bl-fontSizes-tmd: calc(15rem / 16); --bl-fontSizes-tlg: calc(16rem / 16); --bl-lineHeights-txs: 1.5; --bl-lineHeights-tsm: 1.5; --bl-lineHeights-tmd: 1.5; --bl-lineHeights-tlg: 1.5; --bl-fontWeights-thin: font-weight: 200; --bl-fontWeights-light: font-weight: 300; --bl-fontWeights-normal: font-weight: 400; --bl-fontWeights-medium: font-weight: 500; --bl-fontWeights-semibold: font-weight: 600; --bl-fontWeights-bold: font-weight: 700; --bl-radii-none: 0; --bl-radii-sm: 0.125rem; --bl-radii-base: 0.25rem; --bl-radii-md: 0.25rem; --bl-radii-lg: 0.5rem; --bl-radii-xl: 0.75rem; --bl-radii-2xl: 1rem; --bl-radii-3xl: 1.25rem; --bl-radii-4xl: 1.5rem; --bl-radii-full: 100%; --bl-space-xs: calc(8rem / 16); --bl-space-sm: calc(12rem / 16); --bl-space-smmd: calc(16rem / 16); --bl-space-md: calc(24rem / 16); } /* === FIELDS ===*/ .hs-richtext, .hs-form-field { margin-bottom: var(--bl-space-sm); } .hs-form-field * { font-size: var(--bl-fontSizes-tlg); line-height: var(--bl-lineHeights-tlg); } .legal-consent-container .hs-richtext, .hs-form-field label { font-weight: var(--bl-fontWeights-normal); } .hs-form-booleancheckbox label { font-weight: var(--bl-fontWeights-normal); } .hs-form-field input[type="date"], .hs-form-field input[type="email"], .hs-form-field input[type="number"], .hs-form-field input[type="phone"], .hs-form-field input[type="tel"], .hs-form-field input[type="text"], .hs-form-field textarea, .hs-form-field select { background-color: var(--bl-colors-white); border: 1px solid var(--bl-colors-gray-400); color: var(--bl-colors-black); padding: var(--bl-space-xs) var(--bl-space-smmd) !important; width: 100% !important; } .hs-form fieldset { max-width: 100% !important; } .hbspt-form .inputs-list { list-style-type: none; margin-bottom: var(--bl-space-sm); padding-left: 0; } .hbspt-form .inputs-list .hs-form-booleancheckbox { padding-left: 0; } .hbspt-form .inputs-list input[type="checkbox"] { height: 1.5rem; } div[class*="hs_LEGAL_CONSENT"] .inputs-list { margin: 0; } .hs_use_cases { clear: both; color: var(--bl-colors-black); width: 100% !important; } .hs_use_cases > label { font-weight: 600 !important; } .hs_use_cases ul { margin-bottom: 0 !important; margin-top: 0 !important; } .hs_use_cases li { margin-bottom: 0 !important; margin-top: 0; } .hs_use_cases .hs-form-checkbox-display span { display: inline-block; margin-left: .5rem; vertical-align: top; width: calc(100% - 1.5rem); } .hs_other_use_case { margin-left: 2rem; margin-top: -1rem; width: calc(100% - 2rem) !important; } /* === CONTENT === */ .hs-field-desc { color: var(--bl-colors-black); line-height: var(--activetheme--lh-base); margin-bottom: .5rem; } .hs-richtext { font-size: var(--bl-fontSizes-tsm); line-height: var(--bl-lineHeights-tsm); } .hs-richtext a { text-decoration: underline; } .legal-consent-container .hs-richtext { color: var(--bl-colors-grayng-500); font-size: var(--bl-fontSizes-txs); line-height: var(--bl-lineHeights-txs); } li.hs-form-booleancheckbox label span { font-size: var(--bl-fontSizes-tsm); } /* === STATES === */ .hs-form-field .hs-input.invalid { border-color: var(--bl-colors-red-500); } ::placeholder { color: var(--bl-colors-black); } .hs-form-field .is-placeholder { color: var(--bl-colors-black); } .hs-error-msgs { color: var(--bl-colors-red-500); } /* === CAPTCHA AND SUBMIT === */ .hs-submit { float: right; } .hs_recaptcha::before { clear: both; content: ""; display: block; padding-top: var(--bl-space-sm); } .hs_recaptcha:after, .form-component:after { clear: both; content: ""; display: block; } @media (max-width: 767px) { .hs-submit { float: none; } .hs-submit { text-align: center; } .hs-submit .hs-button { margin-left: auto; margin-right: auto; max-width: 400px; width: 100%; } } input[type="submit"] { background-color: var(--bl-colors-blueng-500); border-color: transparent; border-radius: .625rem; border-width: 0; color: var(--bl-colors-white); cursor: pointer; font-size: var(--bl-fontSizes-tlg); line-height: var(--bl-lineHeights-tlg); padding: 0.75rem 1.5rem; } .submitted-message { font-size: 1.1em; } .submitted-message a { text-decoration: underline; } .submitted-message p:first-child:before { content: "✅"; display: inline; padding-right: .5em; } img[src="https://21124867.fs1.hubspotusercontent-na1.net/hubfs/21124867/ngrok-email-header-03.png"] {display: none !important;} /* Noms ngrok marketing design system */ :root { --grid-gap-size: var(--activetheme--spc-lg); --grid-gap-count: 0; } @media screen and (min-width: 962px) { .twelfths-1 {width: calc( 1*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/1)) );} .twelfths-2 {width: calc( 2*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/2)) );} .twelfths-3 {width: calc( 3*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/3)) );} .twelfths-4 {width: calc( 4*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/4)) );} .twelfths-5 {width: calc( 5*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/5)) );} .twelfths-5 {width: calc( 5*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/5)) );} .twelfths-6 {width: calc( 6*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/6)) );} .twelfths-7 {width: calc( 7*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/7)) );} .twelfths-8 {width: calc( 8*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/8)) );} .twelfths-9 {width: calc( 9*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/9)) );} .twelfths-10 {width: calc( 10*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/10)) );} .twelfths-11 {width: calc( 11*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/11)) );} .twelfths-12 {width: 100%;} .max-twelfths-1 {max-width: calc( 1*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/1)) );} .max-twelfths-2 {max-width: calc( 2*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/2)) );} .max-twelfths-3 {max-width: calc( 3*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/3)) );} .max-twelfths-4 {max-width: calc( 4*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/4)) );} .max-twelfths-5 {max-width: calc( 5*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/5)) );} .max-twelfths-6 {max-width: calc( 6*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/6)) );} .max-twelfths-7 {max-width: calc( 7*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/7)) );} .max-twelfths-8 {max-width: calc( 8*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/8)) );} .max-twelfths-9 {max-width: calc( 9*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/9)) );} .max-twelfths-10 {max-width: calc( 10*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/10)) );} .max-twelfths-11 {max-width: calc( 11*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/11)) );} .max-twelfths-12 {max-width: calc( 12*(100% / 12) - (var(--grid-gap-count)*var(--grid-gap-size)/(12/12)) );} } @media screen and (max-width: 768px) { .twelfths-1, .twelfths-2, .twelfths-3, .twelfths-4, .twelfths-5, .twelfths-6, .twelfths-7, .twelfths-8, .twelfths-9, .twelfths-10, .twelfths-11, .twelfths-12, .max-twelfths-1, .max-twelfths-2, .max-twelfths-3, .max-twelfths-4, .max-twelfths-5, .max-twelfths-6, .max-twelfths-7, .max-twelfths-8, .max-twelfths-9, .max-twelfths-10, .max-twelfths-11, .max-twelfths-12 { flex-basis: 100%; width: 100%; } } .main-wrapper .nom-section-base:first-child { margin-top: 60px; } .nom-section-base .w-richtext p { line-height: var(--activetheme--lh-base); } .nom-button-wrapper-100 a[class*="button"] { width: 100%; } .nom-body-xl .hero-body, .nom-body-xl .nom-zigzag-body { line-height: var(--activetheme--lh-sm); font-size: var(--activetheme--fs-2xl); } </style></div><div class="navbar-block"><div class="navbar-block-new"><div class="theme-switch w-embed"><style> .nav-link, .dropdown-nav-title { color: white; opacity: 70%; } .logo { color: white; } .menu-burger, .menu-burger.w--open { color: #ffffff; } @media screen and (max-width: 991px) { .nav-menu-inner { background: #242526; } .nav-menu { background: #242526; } .text-dropdown { color: white; opacity: 70%; } .text-dropdown { color: white; opacity: 70%; } } .bg-dark { display: block; } </style></div><section class="announcement_banner"><div class="padding-global background-color-primary-dark"><div class="announcement_content-wrapper"><div class="announcement_content"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><a id="news-banner-link" href="https://ngrok.com/blog-post/introducing-cloud-endpoints" class="news-banner-link w-inline-block"><div class="text-block-5">New Cloud Endpoints: persistent, always-on, and managed centrally from the dash or API →</div></a></div></div></div></div></div></div></section><div data-animation="over-right" data-collapse="medium" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="navbar w-nav"><div class="embed-pop-up-copy w-embed"><style> .right-pop-up { background-color: #000000; } .left-pop-up { background-color: #0E0228; } .blck{ background-color: #1B1033; } .embed-color-white{ color: white; } .embed-color-gray{ color: #A1A0CF; } .indicator-on{ background-color: white; } </style></div><div class="container-large-nav"><div class="wrapper-nav"><a href="/" class="link-logo w-nav-brand"><div class="logo w-embed"><svg width="86" height="32" viewBox="0 0 86 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M29.1488 10.9052C27.962 9.57399 26.494 8.90381 24.7495 8.90381C23.6742 8.90381 22.6837 9.11352 21.7734 9.53752C20.8632 9.96151 20.078 10.536 19.4131 11.27C18.7528 12.0085 18.2308 12.8656 17.8471 13.8595C17.4633 14.8488 17.2715 15.9202 17.2715 17.0782C17.2715 18.2134 17.45 19.2483 17.8024 20.1829C18.1594 21.113 18.6546 21.9108 19.2971 22.5764C19.9396 23.242 20.7026 23.7618 21.586 24.1356C22.4695 24.5095 23.4377 24.6964 24.4907 24.6964C24.9681 24.6964 25.4098 24.6599 25.8114 24.5915C26.2129 24.5231 26.5967 24.4092 26.9625 24.2542C27.3284 24.0946 27.6853 23.894 28.0423 23.6524C28.3948 23.4062 28.7651 23.0962 29.1488 22.7269V26.6796H29.1443V27.0625H24.2721L20.6089 31.2751V32H34.3557V30.2903V9.31868H29.1488V10.9052ZM29.1354 18.1496C28.9525 18.569 28.7115 18.9383 28.4171 19.2529C28.1181 19.5674 27.7656 19.8091 27.3552 19.9869C26.9447 20.1647 26.5074 20.2513 26.0479 20.2513C25.566 20.2513 25.1198 20.1647 24.7093 19.9869C24.2988 19.8091 23.9419 19.5674 23.6429 19.2529C23.344 18.9383 23.112 18.569 22.938 18.1496C22.764 17.7301 22.6792 17.2697 22.6792 16.7819C22.6792 16.3123 22.7684 15.87 22.9514 15.4597C23.1343 15.0494 23.3752 14.6938 23.6876 14.3884C23.9954 14.0829 24.3479 13.8413 24.7495 13.6543C25.151 13.4674 25.5838 13.3762 26.0434 13.3762C26.4851 13.3762 26.909 13.4629 27.3239 13.6407C27.7344 13.8139 28.0958 14.0601 28.4037 14.3747C28.7115 14.6893 28.9525 15.0494 29.1399 15.4597C29.3228 15.87 29.4121 16.3214 29.4121 16.8138C29.4076 17.2834 29.3184 17.7301 29.1354 18.1496Z" fill="currentColor"/> <path d="M14.6213 11.1515C14.3447 10.8187 14.0324 10.5315 13.6977 10.2762C13.3988 10.0528 13.082 9.85674 12.7385 9.69718C12.5734 9.61967 12.3994 9.55584 12.2164 9.49658C11.9532 9.40995 11.6676 9.35069 11.3731 9.30054H7.66092L5.20693 12.1591V11.8263V9.3598H0V24.4412H5.20693V17.9719V14.2653H5.92974H7.37983H10.0346H10.0971L10.5031 14.2562V24.4366H15.71V15.0039C15.71 14.2015 15.6342 13.4857 15.4825 12.8566C15.3308 12.232 15.0452 11.6667 14.6213 11.1515Z" fill="currentColor"/> <path d="M49.6685 9.3186H45.809C45.809 9.3186 44.4303 9.3186 43.9886 9.3186L41.7309 11.9173V9.3186H36.5195V24.4H41.7399L41.7443 14.3062H43.4577H45.5324L49.6685 9.52832V9.3186V9.3186Z" fill="currentColor"/> <path d="M77.8051 16.2849L84.9262 9.57402V9.31871H78.0639L72.6027 14.7577V0H67.3958V24.3955H72.6027V18.2545L78.3272 24.3955H85.3333V24.1083L77.8051 16.2849Z" fill="currentColor"/> <path d="M63.3262 11.0374C62.532 10.3216 61.5906 9.76544 60.5064 9.36425C59.4221 8.96305 58.2487 8.76245 56.9815 8.76245C55.6965 8.76245 54.5097 8.96761 53.4299 9.37792C52.3457 9.78824 51.4132 10.3536 50.6234 11.0648C49.8382 11.7805 49.2224 12.624 48.7807 13.5951C48.339 14.5661 48.1204 15.6102 48.1204 16.7271C48.1204 17.9626 48.339 19.0842 48.7807 20.0917C49.2224 21.0993 49.8292 21.9655 50.6101 22.6904C51.3864 23.4153 52.31 23.976 53.3853 24.3681C54.4606 24.7602 55.6296 24.9562 56.8968 24.9562C58.1818 24.9562 59.3731 24.7602 60.4796 24.3681C61.5817 23.976 62.5276 23.4244 63.3128 22.704C64.0981 21.9883 64.7183 21.1357 65.169 20.1464C65.6196 19.1571 65.8472 18.0675 65.8472 16.8685C65.8472 15.674 65.6241 14.5798 65.1868 13.5905C64.7406 12.6057 64.1204 11.7532 63.3262 11.0374ZM60.0736 18.1769C59.8906 18.5963 59.6497 18.9656 59.3552 19.2802C59.0563 19.5948 58.7038 19.8364 58.2933 20.0142C57.8784 20.192 57.4456 20.2786 56.986 20.2786C56.5264 20.2786 56.0892 20.192 55.6742 20.0142C55.2637 19.8364 54.9068 19.5948 54.6123 19.2802C54.3134 18.9656 54.0769 18.5963 53.894 18.1769C53.711 17.7575 53.6218 17.2924 53.6218 16.7818C53.6218 16.3122 53.711 15.87 53.894 15.4597C54.0769 15.0494 54.3134 14.6892 54.6123 14.3747C54.9112 14.0601 55.2637 13.8139 55.6742 13.6406C56.0892 13.4628 56.522 13.3762 56.986 13.3762C57.4456 13.3762 57.8828 13.4628 58.2933 13.6406C58.7038 13.8139 59.0607 14.0601 59.3552 14.3747C59.6542 14.6892 59.8906 15.0585 60.0736 15.4779C60.2565 15.8974 60.3457 16.3442 60.3457 16.8137C60.3457 17.3016 60.2565 17.7575 60.0736 18.1769Z" fill="currentColor"/> </svg></div></a><nav role="navigation" class="nav-menu-copy nav-menu-bl w-nav-menu"><div class="nav-menu-inner"><div class="nav-links nav-links-bl"><a href="/our-product/platform" class="nav-link nav-link-bl w-nav-link">Platform</a><div data-hover="true" data-delay="0" class="drop-link-wrapper w-dropdown"><div class="head-drop head-drop-bl w-dropdown-toggle"><a href="/use-cases" class="link-block-3 w-inline-block"><div class="text-block-4">Use cases</div></a><div class="ic-16x16 desktop-hide w-embed"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6 13L11 8L6 3" stroke="CurrentColor" stroke-width="2"/> </svg></div></div><aside class="dropdown-list-2 w-dropdown-list"><div class="pop-up-menu"><div id="w-node-_0317a723-def7-78b8-800f-77c3e5a07016-e5a06ffa" class="color-wrapper-drop size-pop-up mobile-menu-height mobile-menu-height-bl"><div class="container-large-menu top"><div class="main-grid-copy _100"><div class="grid-pop _100 grid-pop-bl"><div class="w-layout-hflex nav-dropdown-group"><div class="div-block-40"><a href="https://ngrok.com/use-cases#development" class="w-inline-block"><div class="nav-dropdown-uc-section-head">ngrok for development</div></a><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="/use-cases/developer-preview" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/6679eb465cc1904fde624de3_icon-uc-dev-previews.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Developer Preview</div></div></a></div></div><div role="listitem" class="w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="/use-cases/webhook-testing" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/6679d60b6c8e34d766b5ce13_icon-uc-webhook-testing.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Webhook Testing</div></div></a></div></div></div></div></div><div class="div-block-41"><a href="https://ngrok.com/use-cases#production" class="w-inline-block"><div class="nav-dropdown-uc-section-head">ngrok for production</div></a><div class="w-dyn-list"><div role="list" class="collection-list-17 w-dyn-items"><div role="listitem" class="collection-item-13 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="/use-cases/api-gateway" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/666cae8c8cf878a8b673375e_icon-uc-api-gateway.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">API Gateway</div></div></a></div></div><div role="listitem" class="collection-item-13 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="/use-cases/device-gateway" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/667442887492bd1247e44186_icon-uc-device-gateway.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Device Gateway</div></div></a></div></div><div role="listitem" class="collection-item-13 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="/use-cases/global-load-balancer" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/6675c1ae09326601909fb334_icon-uc-glb.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Global Load Balancer</div></div></a></div></div><div role="listitem" class="collection-item-13 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="/use-cases/identity-aware-proxy" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/6675c9af5cc9e9c9c81626d9_icon-uc-iap.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Identity-Aware Proxy</div></div></a></div></div><div role="listitem" class="collection-item-13 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="/use-cases/kubernetes-operator" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/6674842b9b041daf04544e57_icon-uc-kubernetes-ingress.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Kubernetes Operator</div></div></a></div></div><div role="listitem" class="collection-item-13 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="/use-cases/site-to-site-connectivity" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/666a0aba8900e94ee9112d13_icon-uc-s2sc.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Site-to-site connectivity</div></div></a></div></div></div></div></div><div class="top-nav-dropdown-uc-highlight"><div class="nav-dropdown-uc-section-head mb-0">More from ngrok</div><a href="/contact" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/668466e051116b5919b6e028_icon-talk-to-an-expert-1.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Talk to an expert</div></div></a><a href="https://ngrok.com/resources/office-hours" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/670d6b29debdfa4790ad9ec0_nav-icon-any-office-hours.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Join our Office Hours</div></div></a></div></div></div></div></div></div></div></aside></div><a href="/blog" class="nav-link nav-link-bl w-nav-link">Blog</a><div data-hover="true" data-delay="0" class="drop-link-wrapper w-dropdown"><div class="head-drop head-drop-bl w-dropdown-toggle"><a href="/resources" class="link-block-3 w-inline-block"><div class="text-block-4">Resources</div></a><div class="ic-16x16 desktop-hide w-embed"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6 13L11 8L6 3" stroke="CurrentColor" stroke-width="2"/> </svg></div></div><aside class="dropdown-list-2 w-dropdown-list"><div class="pop-up-menu"><div id="w-node-_0317a723-def7-78b8-800f-77c3e5a07068-e5a06ffa" class="color-wrapper-drop size-pop-up mobile-menu-height mobile-menu-height-bl"><div class="container-large-menu top"><div class="main-grid-copy _100"><div class="grid-pop _100 grid-pop-bl"><div class="w-layout-hflex nav-dropdown-group"><div class="nav-content-fullwidth"><div class="top-nav-content-list-wrapper w-dyn-list"><div role="list" class="top-nav-content-list w-dyn-items"><div role="listitem" class="top-nav-content-list-item twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://ngrok.com/customers" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d52f3ca5f2d2451c7a191_nav-icon-resources-customers.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Customers</div></div></a></div></div><div role="listitem" class="top-nav-content-list-item twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://ngrok.com/security" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d5327be3ce0e0b57a216e_nav-icon-resources-security.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Security</div></div></a></div></div><div role="listitem" class="top-nav-content-list-item twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://ngrok.com/docs/guides/" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d53e944cb3daf0c40b5ac_nav-icon-resources-guides.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Guides</div></div></a></div></div><div role="listitem" class="top-nav-content-list-item twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://ngrok.com/partners" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d53f3dafae8ac23abeafd_nav-icon-resources-partners.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Partners</div></div></a></div></div><div role="listitem" class="top-nav-content-list-item twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://ngrok.com/resources/events" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d5438ca5f2d2451c8b595_nav-icon-resources-events.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Live Events</div></div></a></div></div><div role="listitem" class="top-nav-content-list-item twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://ngrok.com/resources/videos" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d578991275ea25a9d5435_nav-icon-resources-videos.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Videos</div></div></a></div></div></div></div></div><div class="top-nav-dropdown-uc-highlight"><div class="nav-dropdown-uc-section-head mb-0">More from ngrok</div><a href="/contact" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/668466e051116b5919b6e028_icon-talk-to-an-expert-1.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Talk to an expert</div></div></a><a href="https://ngrok.com/resources/office-hours" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/670d6b29debdfa4790ad9ec0_nav-icon-any-office-hours.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Join our Office Hours</div></div></a></div></div></div></div></div></div></div></aside></div><div data-hover="true" data-delay="0" class="drop-link-wrapper w-dropdown"><div class="head-drop head-drop-bl w-dropdown-toggle"><a href="https://ngrok.com/docs" class="link-block-3 w-inline-block"><div class="text-block-4">Docs</div></a><div class="ic-16x16 desktop-hide w-embed"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6 13L11 8L6 3" stroke="CurrentColor" stroke-width="2"/> </svg></div></div><aside class="dropdown-list-2 w-dropdown-list"><div class="pop-up-menu"><div id="w-node-_0317a723-def7-78b8-800f-77c3e5a0709b-e5a06ffa" class="color-wrapper-drop size-pop-up mobile-menu-height mobile-menu-height-bl"><div class="container-large-menu top"><div class="main-grid-copy _100"><div class="grid-pop _100 grid-pop-bl"><div class="w-layout-hflex nav-dropdown-group"><div class="nav-content-fullwidth"><div class="collection-list-wrapper-16 w-dyn-list"><div role="list" class="collection-list-20 w-dyn-items"><div role="listitem" class="twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://ngrok.com/docs/" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d64219e1d8b79c8600a88_nav-icon-docs-all.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">View all docs</div></div></a></div></div><div role="listitem" class="twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://ngrok.com/docs/api/" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d64a46cc4da4f80fbfa90_nav-icon-docs-api.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">API</div></div></a></div></div><div role="listitem" class="twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://ngrok.com/docs/integrations/" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d64d02546ff96a07e2a20_nav-icon-docs-integrations.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Integrations</div></div></a></div></div><div role="listitem" class="twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://ngrok.com/docs/getting-started/" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d652fd549ce6167f8c206_nav-icon-docs-quickstart.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Quickstart</div></div></a></div></div><div role="listitem" class="twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://ngrok.com/docs/agent-sdks/" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d657de93ebfc0a3ac5586_nav-icon-docs-sdk.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">SDKs</div></div></a></div></div><div role="listitem" class="twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://github.com/ngrok" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d65bc0d0eafc0e88dfee8_nav-icon-docs-github.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">GitHub</div></div></a></div></div></div></div></div><div class="top-nav-dropdown-uc-highlight"><div class="nav-dropdown-uc-section-head mb-0">More from ngrok</div><a href="/contact" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/668466e051116b5919b6e028_icon-talk-to-an-expert-1.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Talk to an expert</div></div></a><a href="https://ngrok.com/resources/office-hours" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/670d6b29debdfa4790ad9ec0_nav-icon-any-office-hours.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Join our Office Hours</div></div></a></div></div></div></div></div></div></div></aside></div><a href="https://ngrok.com/pricing" class="nav-link nav-link-bl w-nav-link">Pricing</a><div data-hover="true" data-delay="0" class="drop-link-wrapper w-dropdown"><div class="head-drop head-drop-bl w-dropdown-toggle"><a href="https://download.ngrok.com/" class="link-block-3 w-inline-block"><div class="text-block-4">Get ngrok</div></a><div class="ic-16x16 desktop-hide w-embed"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6 13L11 8L6 3" stroke="CurrentColor" stroke-width="2"/> </svg></div></div><aside class="dropdown-list-2 w-dropdown-list"><div class="pop-up-menu"><div id="w-node-_0317a723-def7-78b8-800f-77c3e5a070e0-e5a06ffa" class="color-wrapper-drop size-pop-up mobile-menu-height mobile-menu-height-bl"><div class="container-large-menu top"><div class="main-grid-copy _100"><div class="grid-pop _100 grid-pop-bl"><div class="w-layout-hflex nav-dropdown-group"><div class="nav-content-fullwidth"><div class="collection-list-wrapper-16 w-dyn-list"><div role="list" class="collection-list-20 w-dyn-items"><div role="listitem" class="twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://download.ngrok.com/" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d684549010795adbee0cd_nav-get-download.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Download</div></div></a></div></div><div role="listitem" class="twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://ngrok.com/docs/agent-sdks/" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d686c01bbc0b5b9d3485d_nav-get-sdk.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">SDKs</div></div></a></div></div><div role="listitem" class="twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://ngrok.com/contact" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d6984012d90f4ebe61576_nav-get-contact.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Contact Us</div></div></a></div></div><div role="listitem" class="twelfths-4 w-dyn-item"><div class="top-nav-dropdown-uc-list-item"><a href="https://ngrok.com/docs/getting-started/" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed707844acb1ccf1ccb700/670d652fd549ce6167f8c206_nav-icon-docs-quickstart.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Getting started</div></div></a></div></div></div></div></div><div class="top-nav-dropdown-uc-highlight"><div class="nav-dropdown-uc-section-head mb-0">More from ngrok</div><a href="/contact" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/668466e051116b5919b6e028_icon-talk-to-an-expert-1.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Talk to an expert</div></div></a><a href="https://ngrok.com/resources/office-hours" class="nav-item-resource w-inline-block"><div class="currentcolor ic-30x30"><img src="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/670d6b29debdfa4790ad9ec0_nav-icon-any-office-hours.svg" loading="lazy" alt=""/></div><div class="gap-2"><div class="nav-dropdown-uc-heading">Join our Office Hours</div></div></a></div></div></div></div></div></div></div></aside></div></div></div><div class="nav-buttons-wrapper hide-desktop"><a href="https://dashboard.ngrok.com/login" class="button-secondary btn-small width-100 w-button">Login</a><a href="https://dashboard.ngrok.com/signup" class="button-primary btn-small width-100 text-style-nowrap w-button">Sign up</a></div></nav><div class="nav-buttons-wrapper hide-tablet"><a id="header_logIn" href="https://dashboard.ngrok.com/login" class="button-secondary btn-small width-100 w-button">Log in</a><a id="header_signUp" href="https://dashboard.ngrok.com/signup" class="button-primary btn-small width-100 text-style-nowrap w-button">Sign up</a></div><div class="menu-burger w-nav-button"><div class="menu-close w-embed"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13.2139 12L19.3662 4.66641C19.4694 4.54453 19.3826 4.35938 19.2233 4.35938H17.3529C17.2428 4.35938 17.1373 4.40859 17.0647 4.49297L11.9904 10.5422L6.91623 4.49297C6.84592 4.40859 6.74045 4.35938 6.62795 4.35938H4.75763C4.59826 4.35938 4.51154 4.54453 4.61467 4.66641L10.767 12L4.61467 19.3336C4.59156 19.3608 4.57674 19.394 4.57196 19.4293C4.56718 19.4647 4.57264 19.5006 4.5877 19.533C4.60275 19.5653 4.62676 19.5926 4.65689 19.6117C4.68701 19.6308 4.72197 19.6408 4.75763 19.6406H6.62795C6.7381 19.6406 6.84357 19.5914 6.91623 19.507L11.9904 13.4578L17.0647 19.507C17.135 19.5914 17.2404 19.6406 17.3529 19.6406H19.2233C19.3826 19.6406 19.4694 19.4555 19.3662 19.3336L13.2139 12Z" fill="currentColor"/> </svg></div><div class="menu-open w-embed"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M21.1875 3.75H2.8125C2.70937 3.75 2.625 3.83437 2.625 3.9375V5.4375C2.625 5.54062 2.70937 5.625 2.8125 5.625H21.1875C21.2906 5.625 21.375 5.54062 21.375 5.4375V3.9375C21.375 3.83437 21.2906 3.75 21.1875 3.75ZM21.1875 18.375H2.8125C2.70937 18.375 2.625 18.4594 2.625 18.5625V20.0625C2.625 20.1656 2.70937 20.25 2.8125 20.25H21.1875C21.2906 20.25 21.375 20.1656 21.375 20.0625V18.5625C21.375 18.4594 21.2906 18.375 21.1875 18.375ZM21.1875 11.0625H2.8125C2.70937 11.0625 2.625 11.1469 2.625 11.25V12.75C2.625 12.8531 2.70937 12.9375 2.8125 12.9375H21.1875C21.2906 12.9375 21.375 12.8531 21.375 12.75V11.25C21.375 11.1469 21.2906 11.0625 21.1875 11.0625Z" fill="currentColor"/> </svg></div></div></div></div><div class="bg-wrapper"><div class="bg-light"></div><div class="bg-dark"></div></div></div></div></div><main class="main-wrapper"><header class="section_header64"><div class="padding-global"><div class="container-medium"><div class="padding-section-medium padding-vertical-top-10"><div class="text-align-center"><div class="margin-bottom margin-small"><h1>Data Processing Agreement</h1></div><p class="text-size-medium">Last updated: March 31, 2023</p></div></div></div></div></header><header class="section_blogpost3"><div class="padding-global"><div class="container-small"><div><div class="max-width-large align-center"><div class="blogpost3_content"><div class="text-rich-text w-richtext"><p><em>This is a reference copy of the ngrok Data Processing Agreement. For a full copy including the attached schedules and the Standard Contractual Clauses, please click </em><a href="https://ngrok.com/docs/other/ngrok-dpa.pdf"><em>here</em></a><em>.</em></p><p></p><p>This Data Processing Agreement is between (1) the customer agreeing to the ngrok Terms of Service currently located at https://ngrok.com/tos, or another written agreement executed by the Parties that references this Data Processing Agreement (the “Terms”) (such customer hereinafter “Customer“ or “Company”) and (2) ngrok Inc., as the provider of the Services under the Terms (hereinafter “ngrok’ or “Service Provider“). Customer and ngrok together are also referred to as the “Parties” and each is also referred to as a “Party“. The DPA applies to all Processing of Customer Personal Data by Service Provider under the Agreement. Should there be a conflict between this DPA, and the Agreement, this DPA will govern.</p><p></p><p><strong>1. Definitions. In this DPA, the following terms shall have the meanings set out below and cognate terms shall be construed accordingly:</strong></p><p><strong>1.1 “Applicable Laws” </strong>means all statutes, laws, rules, regulations, ordinances, and the like of any federal, international, city, state, provincial, or local government or governmental agency applicable to Services under the Agreement including without limitation Data Protection Laws.</p><p><strong>1.2 “Confidential Information”</strong> is defined in the Agreement.</p><p><strong>1.3 “Customer Personal Data” </strong>means any Personal Data provided by or made available by Customer to Service Provider or collected by Service Provider on behalf of Customer, which Service Provider Processes to perform the Services.</p><p><strong>1.4 “Data Breach” </strong>means unauthorized acquisition of, access to, disclosure of, or use of, Customer Personal Data.</p><p><strong>1.5 “Data Protection Laws” </strong>means Applicable Laws relating to privacy, security, or protection of Personal Data, as may be defined by such laws, including, for example and to the extent applicable, the EU General Data Protection Regulation (Regulation 2016/679) (“GDPR”); the California Consumer Protection Act (“CCPA”), regulations and official guidance adopted thereunder, and any subsequent supplements, amendments, or replacements to the same. </p><p><strong>1.6 “Data Subject” </strong>means an identified or identifiable natural person about whom Personal Data is Processed under this Agreement or as otherwise defined (including under similar terms such as “consumer”) under Data Protection Laws.</p><p><strong>1.7 “Personal Data” </strong>means data that that relates to an identified or identifiable natural person or as otherwise defined under Data Protection Laws.</p><p><strong>1.8 “Process, processed, or processing” </strong>means the collection, receipt, recording, organization, structuring, alteration, use, transmission, access, sharing, provision, disclosure, distribution, copying, transfer, storage, management, retention, deletion, combination, restriction, summarizing, aggregation, correlation, inferring, derivation, analysis, adaptation, retrieval, consultation, destruction, disposal, or other handling of Personal Data.</p><p><strong>1.9 “Sell” </strong>or<strong> “selling” </strong>means selling, renting, releasing, disclosing, disseminating, making available, transferring, or otherwise communicating orally, in writing, or by electronic or other means, a consumer’s Personal Data to another business or a third party for monetary or other valuable consideration.<strong> </strong></p><p><strong>1.10 “Services”</strong> means services provided by Service Provider under the Agreement and all schedules, order forms, and statements of work thereunder. </p><p><strong>1.11 “Share” </strong>or<strong> “sharing” </strong>means sharing, renting, releasing, disclosing, disseminating, making available, transferring, or otherwise communicating orally, in writing, or by electronic or other means, Personal Data to a third party for cross-context behavioural advertising (as that term is defined in the CCPA), whether or not for monetary or other valuable consideration.</p><p><strong>1.12 “Sub-processor” </strong>means any person or entity engaged by Service Provider that Processes Customer Personal Data.</p><p><strong>1.13 </strong>The terms “<strong>Controller,” “Processor,” “Data Processor,” </strong>and <strong>“Business,” </strong>shall have the same meaning as in Data Protection Laws. </p><p></p><p><strong>2. Data Ownership/Licenses </strong></p><p><strong>2.1 Ownership. </strong>For purposes of this DPA, as between the parties, Customer retains all right, title, and interest in Customer Personal Data. </p><p><strong>2.2 License. </strong>Subject to its compliance with the Agreement and DPA, Customer grants to Service Provider a worldwide, perpetual, fully paid-up right and license under all applicable intellectual property laws to make, use, copy, distribute, display, organize, create derivative works from, and otherwise Process, the Customer Personal Data, and to sublicense all the foregoing rights to Sub-processors, as necessary for the Services, rights, and obligations under the Agreement and this DPA.</p><p><strong>3. Scope of Processing </strong></p><p><strong>3.1 Roles of Parties. </strong>The parties acknowledge and agree that with respect to processing of Customer Personal Data, Service Provider is a Processor and a service provider (as that term is defined in Data Protection Laws) and Customer is a Controller and Business, except that if Customer is a Processor in which case Service Provider is a Sub-processor. If Customer is a Processor of Customer Personal Data, Customer represents and warrants that Customer’s instructions and Processing of Customer Personal Data, including its appointment of Service Provider as a Sub-processor, have been authorized by the respective Controller.<strong> </strong> </p><p><strong>3.2 Details of Processing. </strong>Exhibit 1 to this DPA (Description of Processing and Transfer Details) provides information about the subject matter and details of the Processing of Personal Data.</p><p><strong>3.3 Customer Instructions and Restrictions on Processing</strong></p><p><strong>3.3.1 Instructions. </strong>Service Provider will use, retain, and disclose Customer Personal Data solely for the specific business purpose of providing the Services and in accordance with Customer’s instructions, which are as set forth in the Agreement, DPA, and other agreements between the parties for the Services. Service Provider will inform Customer if any of Customer’s instructions infringes any Data Protection Laws.</p><p><strong>3.3.2 Processing by Service Provider. </strong>Service Provider will Process Customer Personal Data in compliance with Data Protection Laws. </p><p>3.3.2.1 Service Provider will not: </p><p>3.3.2.1.1 Sell or Share Customer Personal Data; </p><p>3.3.2.1.2 use, retain, or disclose Customer Personal Data outside of its direct business relationship with the Customer; </p><p>3.3.2.1.3 use, retain, or disclose Customer Personal Data for any other purpose (including any other commercial purpose) other than as set forth in the Agreement and DPA, except as authorized by Customer or as required by law or by order of a court or authorized governmental agency (provided that prior notice first be given to the Customer unless such notice is prohibited by law or court order); or </p><p>3.3.2.1.4 combine Customer Personal Data with Personal Data that it (a) receives from or on behalf of third parties, or (b) collects from Service Provider’s own interactions with Data Subjects unrelated to the Services. </p><p>3.3.2.2 Service Provider may Process Customer Personal Data: </p><p>as necessary or appropriate: </p><p>3.3.2.2.1 to perform its rights and obligations under the Agreement and this DPA; </p><p>3.3.2.2.2 to operate, manage, test, maintain and enhance the Services including as part of its business operations; </p><p>3.3.2.2.3 to deidentify or aggregate Customer Personal Data in a manner that prevents individual identification of the Customer, or Data Subjects; </p><p>3.3.2.2.4 protect the Service from a threat to the Services, Customers, Customer Personal Data, and Service Provider’s systems; and </p><p>3.3.2.2.5 as otherwise expressly authorized by the Customer.</p><p><strong>3.3.3 Employees and Agents</strong>. Service Provider will take commercially reasonable steps so that all Service Provider employees, contractors, and Sub-processors that Process Customer Personal Data are subject to written confidentiality agreements that provide substantially the same level of protection for Customer Personal Data as provided in this DPA and as required by Data Protection Laws.</p><p><strong>3.3.4 Unauthorized Processing</strong>. Customer may take reasonable and appropriate steps to stop unauthorized Processing of Customer Personal Data, including without limitation, by instructing Service Provider to cease any such Processing. </p><p><strong>3.3.5 Deidentification</strong>. Where Service Provider is permitted by applicable Data Protection Law or this DPA to use Customer Personal Data for its internal business purposes in a de-identified manner, Service Provider agrees to take reasonable measures designed to ensure that the Personal Data cannot be associated with an individual (or, household, where applicable), publicly commits to maintain and use the information in de-identified form only and make no attempt to re-identify the information except where necessary to test its de-identification processes, and contractually obligates any authorized recipients to comply with these obligations.<strong> </strong></p><p><strong>4. Data Security</strong></p><p><strong>4.1 Data Security Obligations. </strong>Service Provider will implement and maintain commercially reasonable administrative, technical, and physical safeguards, as described in Exhibit 2.</p><p><strong>4.2 Data Breach.</strong></p><p>4.2.1.<strong> </strong>If Service Provider learns of a Data Breach affecting Customer Personal Data, Service Provider shall take reasonable, appropriate, and prompt steps to: (a) investigate, mitigate, and remedy the Data Breach; (b) notify Customer of such Data Breach without unreasonable delay consistent with timing under applicable laws; (c) furnish to Customer necessary and relevant details of the Data Breach as may be available; (d) assist Customer, as needed, in its investigation, mitigation, and remedying of the Data Breach; and (e) provide information and assist Customer, as needed, in meeting Customer’s legal obligations, including any applicable obligations to notify individuals affected by the Data Breach.</p><p>4.2.2. Unless prohibited by Applicable Laws or court order, Service Provider will notify Customer if Service Provider learns of any third-party legal process relating to any Data Breach, including, but not limited to, any legal process initiated by any governmental entity.</p><p>4.2.3. Service Provider’s cooperation or obligation to report or respond to Data Breaches under this DPA shall not be deemed an acknowledgment by Service Provider of any fault or liability of Service Provider with respect to a Data Breach.</p><p>4.2.4. Service Provider shall not be identified in any notifications provided publicly or to third parties (such as to government entities or Data Subjects) unless the contents of the notifications are approved by Service Provider. Service Provider agrees to cooperate in promptly reviewing any notifications and will not unreasonably withhold approval. If such reviews and approvals are expressly prohibited by Applicable Law, Customer can provide them without review and approval. </p><p><strong>4.3 Security Audit. </strong>If and to the extent Service Provider processes, handles, distributes or otherwise makes available, or stores Customer Personal Data as part of the Services, then Service Provider will have facilities that process, handle and/or store such information audited annually against SOCII Type 2/SSAE 18 (or its current equivalent) standards. The summary report of any security audit will be provided to Customer upon request. Customer agrees to treat such information provided by Service Provider in response to request under this Section 4.3 as Service Provider’s Confidential Information.<strong> </strong></p><p><strong>5. Data Protection Audits and Assistance. </strong>Upon Customer request, but no more than once per year, Service Provider will provide reasonable assistance and information to Customer regarding its Processing of Customer Personal Data to support compliance with its obligations and data protection impact assessments, where the information sought is not provided in the Agreement or this DPA or otherwise accessible to Customer. Service Provider will also provide reasonable assistance and information to Customer to support responses to regulatory enquiries and Data Subject Rights where such means and assistance are not provided in the Agreement or this DPA or otherwise accessible to Customer through the Admin Portal. No more than once annually, Service Provider will arrange for an independent audit or assessment of policies and technological and organizational measures in support of the obligations under this DPA according to SOCII Type 2 or comparable standards and will provide a summary report of audit or assessment upon Customer request.</p><p><strong>6. Notice Regarding Third Party Requests and Inquiries. </strong>Service Provider will take reasonable steps to notify Customer if Service Provider receives the following in connection with its Processing of Customer Personal Data: (i) any requests from a Data Subject, including individual opt-out requests, requests for access and/or deletion and all similar individual rights requests; or (ii) any request from a government entity or regulator provided such notice is not prohibited by law or court order.</p><p><strong>7. Sub-processors </strong></p><p><strong>7.1 Approved Sub-Processors. </strong>Customer authorizes access or transfer to Service Provider’s Sub-processors<strong>.</strong> At present, the Sub-processors Service Provider uses are listed in Exhibit 3 to this DPA. Service Provider will provide ten (10) calendar days’ notice before utilizing a new Sub-processor by posting an update to the list at https://trust.ngrok.com. Customer can subscribe under <a href="https://trust.ngrok.com/">trust.ngrok.com</a> to the trust center updates and will receive notifications about any such change. Customer authorizes Service Provider to use any such Sub-processor to process Customer Personal Data unless Customer objects within ten (10) calendar days of such notification. Any such objection must be based on reasonable grounds that any such Sub-processor is unable to adequately protect the Customer Personal Data in accordance with the Agreement. If such objection is justified, Customer and Service Provider will work together to find a mutually acceptable resolution to such objection, and if unsuccessful, Customer’s sole remedy is termination of the relevant Services under the terms of the Agreement.</p><p><strong>7.2 Responsibility. </strong>Service Provider will have a written agreement in place with each Sub-processor that obligates the Sub-processor to Process Customer Personal Data in a manner that is no less protective than the obligations on Service Provider under this DPA. Where Sub-processor fails to fulfil its obligations under any sub-processing agreement or Data Protection Laws, Service Provider will remain liable to Customer for the fulfilment of its obligations under this DPA and the Agreement.</p><p><strong>8. Location of Processing.</strong> Service Provider will only Process Customer Personal Data in the countries and regions listed in Exhibit 1 and at trust.ngrok.com (“Approved Regions”), or such other countries and regions as instructed or authorized by Customer (where Customer instruction or authorization received by email or other electronic means is acceptable).</p><p><strong>9. Cross-Border Data Transfers.</strong> With regard to countries, regions, or territories with Data Protection Laws requiring a mechanism for valid export of Customer Personal Data (such countries, regions, or territories, are “Limited Transfer Region(s)” and such data is “Limited Transfer Data”), Service Provider may not transfer, export, receive, or Process such Limited Transfer Data outside of such Limited Transfer Regions unless it or its Sub-processors take measures to adequately protect such data consistent with applicable Data Protection Laws. Such measures may include (to the extent consistent with Data Protection Laws): </p><p><strong>9.1 </strong>Processing Customer Personal Data in a country, a territory, or one or more specified jurisdictions that are considered under Data Protection Laws as providing an adequate level of data protection);</p><p><strong>9.2 </strong>The parties’ agreement to enter into and comply with the Standard Contractual Clauses in Exhibit 4 and any successors or amendments to such clauses or such other applicable contractual terms adopted and approved under Data Protection Laws;</p><p><strong>9.3 </strong>Processing in compliance with Binding Corporate Rules in accordance with Data Protection Laws; </p><p><strong>9.4 </strong>Implementing any other data transfer mechanisms or certifications approved under Data Protection Laws, including, as applicable, any approved successor or replacement to the EU–US Privacy Shield framework and/or the Swiss–US Privacy Shield framework; or</p><p><strong>9.5 </strong>To the extent that any substitute or additional appropriate safeguards or mechanisms under any Data Protection Laws of Limited Transfer Regions are required to transfer Customer Personal Data from a Limited Transfer Region, as applicable, to any third country, the parties agree to implement the same as soon as practicable and document such requirements for implementation in an attachment to this DPA governing the parties' Processing of Limited Transfer Data.</p><p><strong>10. Retention and Deletion of Customer Personal Data.</strong> Upon Customer’s written request, or upon termination or expiration of the Agreement, Service Provider will delete all Customer Personal Data under Service Provider’s possession or control or provide Customer ability to delete such Customer Personal Data directly through tools or functionality made available by Service Provider. Service Provider will not delete to the extent that: (a) deletion is not permitted under Applicable Laws or the order of a governmental or regulatory body; (b) where Service Provider retains such data for internal record keeping, compliance with any legal obligations, and other lawfully permitted purposes; or (c) while Service Provider’s then-current data retention or similar back-up system stores Customer Personal Data provided such data will remain protected in accordance with the measures described in the Agreement and this DPA.</p><p><strong>11. General Terms </strong></p><p><strong>11.1 Limitation of Liability.</strong> In no event will either party: (a) be liable for any indirect, incidental, consequential, punitive, special, or exemplary damages, whether or not such damages are foreseeable or a party has been advised of the possibility thereof, arising from or relating to this DPA; and (b) have aggregate liability for damages arising from or relating to this DPA in excess of one million United States of America dollars ($1,000,000 USD). </p><p><strong>11.2 Insurance Coverage.<em> </em></strong>During the terms of the Agreement, ngrok will maintain data security insurance sufficient to cover costs relating to Breaches described in Section 4.2 with minimum limits of one million United States of America dollars ($1,000,000 USD). </p><p><strong>11.3 Indemnification. </strong>Service Provider and Customer shall each indemnify, defend and hold harmless each other, and their respective directors, officers, employees and agents (and successors, heirs and assigns) against any liability, damage, loss, fine, penalty, or expense (including reasonable attorneys’ fees and costs) incurred by such indemnifying party as a result of any claim, demand, lawsuit, investigation, or regulatory enforcement proceeding arising from a breach of any obligations or restrictions of this DPA by the indemnitor (“Claim”). The indemnified party will provide the indemnitor with prompt notice of any Claim (provided that the failure to promptly notify shall only relieve indemnitor of its obligation to the extent it can demonstrate material prejudice from such failure) and at the indemnitor’s expense, provide assistance reasonably necessary to defend such Claim. The indemnitor will not enter into a settlement that would result in liability to the indemnified party without the indemnified party’s prior written consent, which shall not be unreasonably withheld or delayed.</p><p><strong>11.4 Termination and Survival. This DPA can be terminated as set forth in the Agreement</strong>. The provisions of this DPA that, by their terms, require performance after the termination or expiration of this DPA, or have application to events that may occur after the termination or expiration of this DPA, will survive the termination or expiration of this DPA, including the order of precedence, and Sections 1 and 10 </p><p><strong>11.5 Governing Law; Conflicts of Law; Severance. </strong>The parties to this DPA agree to the choice of jurisdiction stipulated in the Agreement with respect to any disputes or claims relating to or arising under this DPA; and this DPA and all non-contractual or other obligations arising out of or in connection with it are governed by the laws of the country or territory stipulated for this purpose in the Agreement (without reference to its conflict of laws requirements), unless otherwise required by Data Protection Laws. To the extent any court or governmental entity with competent jurisdiction determines that a provision of this DPA is invalid or unenforceable, the parties agree and intend that such provision should be (a) amended solely as necessary to bring it back into force in a manner consistent with the parties’ manifest intent, or if that is not possible (b) severed from the DPA in a manner to give maximum legal force and effect to the remaining provisions</p><p></p><p><strong>Service Provider:</strong></p><p>ngrok</p><p>548 Market St</p><p>PMB 26741</p><p>San Francisco, CA 94104-5401 USA</p><p><strong>Service Provider Contact:</strong></p><p><em>support@ngrok.com</em></p><p></p></div></div></div></div></div></div></header></main><footer class="footer5_component background-color-gray"><section class="section-footer"><div class="w-layout-blockcontainer nom-container-base w-container"><div class="wrapper-footer"><div class="top-footer"><div class="column-1-footer"><div class="heading-footer">Platform</div><a href="/our-product" class="link-footer w-inline-block"><div>Product</div></a><a href="/our-product/cloud-edge" class="link-footer w-inline-block"><div>Cloud Edge</div></a><a href="/our-product/secure-tunnels" class="link-footer w-inline-block"><div>Secure Tunnels</div></a><a href="/our-product/platform" class="link-footer w-inline-block"><div>Platform Features</div></a></div><div class="column-1-footer"><div class="heading-footer">Use Cases</div><a href="https://ngrok.com/use-cases#development" class="link-footer w-inline-block"><div>ngrok for development</div></a><a href="https://ngrok.com/use-cases#production" class="link-footer w-inline-block"><div>ngrok for production</div></a><div class="w-dyn-list"><div role="list" class="collection-list-19 w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/use-cases/site-to-site-connectivity" class="link-footer w-inline-block"><div>Site-to-site connectivity</div></a></div><div role="listitem" class="w-dyn-item"><a href="/use-cases/api-gateway" class="link-footer w-inline-block"><div>API Gateway</div></a></div><div role="listitem" class="w-dyn-item"><a href="/use-cases/device-gateway" class="link-footer w-inline-block"><div>Device Gateway</div></a></div><div role="listitem" class="w-dyn-item"><a href="/use-cases/kubernetes-operator" class="link-footer w-inline-block"><div>Kubernetes Operator</div></a></div><div role="listitem" class="w-dyn-item"><a href="/use-cases/global-load-balancer" class="link-footer w-inline-block"><div>Global Load Balancer</div></a></div><div role="listitem" class="w-dyn-item"><a href="/use-cases/identity-aware-proxy" class="link-footer w-inline-block"><div>Identity-Aware Proxy</div></a></div><div role="listitem" class="w-dyn-item"><a href="/use-cases/webhook-testing" class="link-footer w-inline-block"><div>Webhook Testing</div></a></div><div role="listitem" class="w-dyn-item"><a href="/use-cases/developer-preview" class="link-footer w-inline-block"><div>Developer Preview</div></a></div></div></div><a href="/use-cases" class="link-footer w-inline-block"><div>View all use cases</div></a></div><div class="column-1-footer"><div class="heading-footer">Resources</div><a href="/security" class="link-footer w-inline-block"><div>Security</div></a><a href="https://trust.ngrok.com/" class="link-footer w-inline-block"><div>Trust</div></a><a href="/our-product/platform" class="link-footer w-inline-block"><div>Platform</div></a><a href="/customers" class="link-footer w-inline-block"><div>Customers</div></a><a href="/partners" class="link-footer w-inline-block"><div>Integrations</div></a><a href="/blog" class="link-footer w-inline-block"><div>Blog</div></a><a href="/support" class="link-footer w-inline-block"><div>Support</div></a><a href="/abuse" class="link-footer w-inline-block"><div>Abuse</div></a></div><div class="column-1-footer"><div class="heading-footer">Get Started</div><a href="https://download.ngrok.com/" class="link-footer w-inline-block"><div>Download</div></a><a href="https://ngrok.com/pricing" class="link-footer w-inline-block"><div>Pricing</div></a><a href="https://ngrok.com/docs" class="link-footer w-inline-block"><div>Docs</div></a><a href="/contact" class="link-footer w-inline-block"><div>Contact</div></a><a href="/partners" class="link-footer w-inline-block"><div>Partners</div></a><a href="https://status.ngrok.com/" class="link-footer w-inline-block"><div>Service Status</div></a></div><div class="column-1-footer"><div class="heading-footer">Company</div><a href="/about" class="link-footer w-inline-block"><div>About</div></a><a href="/newsletter" class="link-footer w-inline-block"><div>Newsletter</div></a><a href="/resources/events" class="link-footer w-inline-block"><div>Events</div></a><a href="/press" class="link-footer w-inline-block"><div>Press</div></a><a href="/brand" class="link-footer w-inline-block"><div>Brand</div></a><a href="/careers" class="link-footer w-inline-block"><div>Careers</div></a><a href="/tos" class="link-footer w-inline-block"><div>Terms of Service</div></a><a href="/privacy" class="link-footer w-inline-block"><div>Privacy Policy</div></a><a href="/privacy-preferences" class="link-footer w-inline-block"><div>Privacy Preferences</div></a><a href="/dpa" aria-current="page" class="link-footer w-inline-block w--current"><div>DPA</div></a></div></div><div class="line-between"></div><div class="bottom-footer footer5_credit-text-copy"><div class="w-layout-hflex flex-block"><div>© </div><div class="w-embed w-script"><script type="text/javascript">document.write(new Date().getFullYear());</script></div><div> ngrok, Inc.</div></div><div class="link-block-footer"><div class="w-layout-grid footer5_social-icons-copy"><a rel="noopener noreferrer" href="https://ngrok.com/blog-post/rss.xml" target="_blank" class="footer5_social-link-copy w-inline-block"><div class="social-icon-copy w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <path d="M6.54809 20.7489C6.54809 22.5008 5.12775 23.9216 3.37422 23.9216C1.62224 23.9216 0.201172 22.5008 0.201172 20.7489C0.201172 18.9946 1.62224 17.5742 3.37422 17.5742C5.12775 17.5742 6.54809 18.9946 6.54809 20.7489Z" fill="currentColor"/> <path d="M0 11.9438C0 12.3829 0.343591 12.7437 0.782052 12.7661C3.91931 12.9261 6.02928 14.068 7.97261 16.0211C9.88228 17.9385 11.097 20.6896 11.3056 23.1867C11.3413 23.6133 11.6978 23.9422 12.1259 23.9422H15.075C15.3009 23.9422 15.517 23.8494 15.6725 23.6855C15.8281 23.5216 15.9094 23.3011 15.8979 23.0754C15.4779 14.8496 9.10153 8.59883 0.86574 8.18804C0.64032 8.17676 0.420309 8.25852 0.256731 8.41398C0.0932055 8.56945 0 8.78524 0 9.01092V11.9438Z" fill="currentColor"/> <path d="M0 3.81802C0 4.26064 0.349157 4.62327 0.791415 4.6408C10.8927 5.04041 19.012 13.0562 19.4168 23.1508C19.4345 23.5924 19.7975 23.9418 20.2395 23.9418H23.176C23.3995 23.9418 23.6133 23.8511 23.7685 23.6904C23.9238 23.5296 24.007 23.3128 23.9995 23.0895C23.5709 10.3716 13.5764 0.481921 0.851957 0.0580749C0.628773 0.0506371 0.412195 0.134116 0.251634 0.289372C0.091073 0.444524 0 0.658293 0 0.881581V3.81802Z" fill="currentColor"/> </svg></div></a><a rel="noopener noreferrer" href="https://github.com/ngrok" target="_blank" class="footer5_social-link-copy w-inline-block"><div class="social-icon-copy w-embed"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--simple-icons" width="24" height="24" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></div></a><a rel="noopener noreferrer" href="https://twitter.com/ngrokHQ" target="_blank" class="footer5_social-link-copy w-inline-block"><div class="social-icon-copy w-embed"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--simple-icons" width="24" height="24" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path fill="currentColor" d="M23.953 4.57a10 10 0 0 1-2.825.775a4.958 4.958 0 0 0 2.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 0 0-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 0 0-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 0 1-2.228-.616v.06a4.923 4.923 0 0 0 3.946 4.827a4.996 4.996 0 0 1-2.212.085a4.936 4.936 0 0 0 4.604 3.417a9.867 9.867 0 0 1-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 0 0 7.557 2.209c9.053 0 13.998-7.496 13.998-13.985c0-.21 0-.42-.015-.63A9.935 9.935 0 0 0 24 4.59z"></path></svg></div></a><a rel="noopener noreferrer" href="https://www.linkedin.com/company/ngrok" target="_blank" class="footer5_social-link-copy w-inline-block"><div class="social-icon-copy w-embed"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--simple-icons" width="24" height="24" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path fill="currentColor" d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037c-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85c3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065a2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg></div></a><a rel="noopener noreferrer" href="https://www.youtube.com/@ngrokHQ" target="_blank" class="footer5_social-link-copy w-inline-block"><div class="social-icon-copy w-embed"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_2262_2)"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.522 15.135L9.52125 8.34387L16.0058 11.7511L9.522 15.135ZM23.76 7.16708C23.76 7.16708 23.5252 5.5016 22.806 4.76819C21.8932 3.80515 20.8702 3.80061 20.4015 3.74472C17.043 3.5 12.0052 3.5 12.0052 3.5H11.9948C11.9948 3.5 6.957 3.5 3.5985 3.74472C3.129 3.80061 2.10675 3.80515 1.19325 4.76819C0.474003 5.5016 0.239998 7.16708 0.239998 7.16708C0.239998 7.16708 0 9.12336 0 11.0789V12.9128C0 14.8691 0.239998 16.8246 0.239998 16.8246C0.239998 16.8246 0.474003 18.4901 1.19325 19.2235C2.10675 20.1865 3.306 20.1563 3.84 20.2568C5.76 20.4426 12 20.5 12 20.5C12 20.5 17.043 20.4924 20.4015 20.2477C20.8702 20.1911 21.8932 20.1865 22.806 19.2235C23.5252 18.4901 23.76 16.8246 23.76 16.8246C23.76 16.8246 24 14.8691 24 12.9128V11.0789C24 9.12336 23.76 7.16708 23.76 7.16708Z" fill="currentColor"/> </g> <defs> <clipPath id="clip0_2262_2"> <rect width="24" height="24" fill="currentColor"/> </clipPath> </defs> </svg></div></a></div></div></div></div></div><div></div></section></footer></div><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=63ed4bc7a4b189da942a6b8c" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/js/ngrok.schunk.4a394eb5af8156f2.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/js/ngrok.schunk.37a051e84da8d26b.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/63ed4bc7a4b189da942a6b8c/js/ngrok.c27fb4a5.42518d20947bacfa.js" type="text/javascript"></script><script> window.populateFormUrl = function() { var formElement = document.querySelector('form input[name="form_url"]'); if (formElement !== undefined && formElement !== null) { formElement.value = window.location.origin + window.location.pathname; }; }; </script><script src="https://hubspotonwebflow.com/assets/js/form-124.js" type="text/javascript" integrity="sha384-bjyNIOqAKScdeQ3THsDZLGagNN56B4X2Auu9YZIGu+tA/PlggMk4jbWruG/P6zYj" crossorigin="anonymous"></script></body></html>