Files
nexus/sreweekly/articles/374/03-unbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it.html
2026-09-12 17:23:01 +08:00

89 lines
565 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html lang="en-us" dir="ltr"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>@font-face{font-family:Inter-1b28280e86394dd4;src:url("/_astro/fonts/e868cdf4720e9ea5.woff2") format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:normal;}@font-face{font-family:Inter-1b28280e86394dd4;src:url("/_astro/fonts/e868cdf4720e9ea5.woff2") format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:500;font-style:normal;}@font-face{font-family:Inter-1b28280e86394dd4;src:url("/_astro/fonts/e868cdf4720e9ea5.woff2") format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:600;font-style:normal;}@font-face{font-family:Inter-1b28280e86394dd4;src:url("/_astro/fonts/e868cdf4720e9ea5.woff2") format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:700;font-style:normal;}@font-face{font-family:"Inter-1b28280e86394dd4 fallback: Arial";src:local("Arial");font-display:swap;font-weight:400;font-style:normal;size-adjust:107.1194%;ascent-override:90.4365%;descent-override:22.518%;line-gap-override:0%;}@font-face{font-family:"Inter-1b28280e86394dd4 fallback: Arial";src:local("Arial");font-display:swap;font-weight:500;font-style:normal;size-adjust:107.1194%;ascent-override:90.4365%;descent-override:22.518%;line-gap-override:0%;}@font-face{font-family:"Inter-1b28280e86394dd4 fallback: Arial";src:local("Arial");font-display:swap;font-weight:600;font-style:normal;size-adjust:107.1194%;ascent-override:90.4365%;descent-override:22.518%;line-gap-override:0%;}@font-face{font-family:"Inter-1b28280e86394dd4 fallback: Arial Bold";src:local("Arial Bold");font-display:swap;font-weight:700;font-style:normal;size-adjust:99.4914%;ascent-override:97.3703%;descent-override:24.2444%;line-gap-override:0%;}:root{--font-sans:Inter-1b28280e86394dd4,"Inter-1b28280e86394dd4 fallback: Arial","Inter-1b28280e86394dd4 fallback: Arial Bold",sans-serif;}</style><link rel="preload" href="/_astro/fonts/e868cdf4720e9ea5.woff2" as="font" type="font/woff2" crossorigin><style>@font-face{font-family:"Inter Tight-a9918f95fa071050";src:url("/_astro/fonts/6d4bffbf7335e8f1.woff2") format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:normal;}@font-face{font-family:"Inter Tight-a9918f95fa071050";src:url("/_astro/fonts/6d4bffbf7335e8f1.woff2") format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:500;font-style:normal;}@font-face{font-family:"Inter Tight-a9918f95fa071050";src:url("/_astro/fonts/6d4bffbf7335e8f1.woff2") format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:600;font-style:normal;}@font-face{font-family:"Inter Tight-a9918f95fa071050 fallback: Arial";src:local("Arial");font-display:swap;font-weight:400;font-style:normal;size-adjust:96.3855%;ascent-override:100.5078%;descent-override:25.0256%;line-gap-override:0%;}@font-face{font-family:"Inter Tight-a9918f95fa071050 fallback: Arial";src:local("Arial");font-display:swap;font-weight:500;font-style:normal;size-adjust:96.3855%;ascent-override:100.5078%;descent-override:25.0256%;line-gap-override:0%;}@font-face{font-family:"Inter Tight-a9918f95fa071050 fallback: Arial";src:local("Arial");font-display:swap;font-weight:600;font-style:normal;size-adjust:96.3855%;ascent-override:100.5078%;descent-override:25.0256%;line-gap-override:0%;}:root{--font-display:"Inter Tight-a9918f95fa071050","Inter Tight-a9918f95fa071050 fallback: Arial",sans-serif;}</style><link rel="preload" href="/_astro/fonts/6d4bffbf7335e8f1.woff2" as="font" type="font/woff2" crossorigin><style>@font-face{font-family:"JetBrains Mono-7714ae63c2907103";src:url("/_astro/fonts/06ca8aa61b7e774d.woff2") format("woff2");font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-weight:400;font-style:normal;}@font-face{font-family:"JetBrains Mono-7714ae63c2907103";src:url("/_astro/fonts/d39725b5b6a6f2ec.woff2") format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:normal;}@font-face{font-family:"JetBrains Mono-7714ae63c2907103";src:url("/_astro/fonts/06ca8aa61b7e774d.woff2") format("woff2");font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-weight:500;font-style:normal;}@font-face{font-family:"JetBrains Mono-7714ae63c2907103";src:url("/_astro/fonts/d39725b5b6a6f2ec.woff2") format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:500;font-style:normal;}@font-face{font-family:"JetBrains Mono-7714ae63c2907103 fallback: Arial";src:local("Arial");font-display:swap;font-weight:400;font-style:normal;size-adjust:134.5893%;ascent-override:75.7861%;descent-override:22.29%;line-gap-override:0%;}@font-face{font-family:"JetBrains Mono-7714ae63c2907103 fallback: Arial";src:local("Arial");font-display:swap;font-weight:400;font-style:normal;size-adjust:134.5893%;ascent-override:75.7861%;descent-override:22.29%;line-gap-override:0%;}@font-face{font-family:"JetBrains Mono-7714ae63c2907103 fallback: Arial";src:local("Arial");font-display:swap;font-weight:500;font-style:normal;size-adjust:134.5893%;ascent-override:75.7861%;descent-override:22.29%;line-gap-override:0%;}@font-face{font-family:"JetBrains Mono-7714ae63c2907103 fallback: Arial";src:local("Arial");font-display:swap;font-weight:500;font-style:normal;size-adjust:134.5893%;ascent-override:75.7861%;descent-override:22.29%;line-gap-override:0%;}:root{--font-mono:"JetBrains Mono-7714ae63c2907103","JetBrains Mono-7714ae63c2907103 fallback: Arial",sans-serif;}</style><link rel="preload" href="/_astro/fonts/06ca8aa61b7e774d.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/_astro/fonts/d39725b5b6a6f2ec.woff2" as="font" type="font/woff2" crossorigin><title>Unbounded memory usage by TCP for receive buffers, and how we fixed it | Cloudflare Blog</title><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="preload" as="image" href="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=750&amp;h=422&amp;f=webp&amp;fit=cover&amp;position=center" imagesrcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=640&amp;h=360&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=750&amp;h=422&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=828&amp;h=466&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=1080&amp;h=608&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=1280&amp;h=720&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=1668&amp;h=939&amp;f=webp&amp;fit=cover&amp;position=center 1668w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=1999&amp;h=1125&amp;f=webp&amp;fit=cover&amp;position=center 1999w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=2048&amp;h=1153&amp;f=webp&amp;fit=cover&amp;position=center 2048w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=2560&amp;h=1441&amp;f=webp&amp;fit=cover&amp;position=center 2560w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=3998&amp;h=2250&amp;f=webp&amp;fit=cover&amp;position=center 3998w" imagesizes="(min-width: 80rem) 715px, (min-width: 64rem) calc(100vw - 426px), (min-width: 48rem) calc(100vw - 326px), calc(100vw - 96px)" fetchpriority="high"><meta name="locale" content="en-us"><meta name="twitter:site" content="@cloudflare"><meta name="twitter:url" content="https://blog.cloudflare.com/unbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it/"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="628"><meta property="article:publisher" content="https://www.facebook.com/cloudflare"><script type="text/javascript" nonce="9bebee6439dc4c299c79e59a8fa7822d">
window.OptanonWrapper = function OptanonWrapper() {};
</script><script src="https://ot.www.cloudflare.com/public/vendor/onetrust/scripttemplates/otSDKStub.js" type="text/javascript" async data-document-language="true" data-domain-script="b1e05d49-f072-4bae-9116-bdb78af15448" nonce="9bebee6439dc4c299c79e59a8fa7822d"></script><link rel="preconnect" href="https://blog.search.ai.cloudflare.com" crossorigin><link rel="preconnect" href="https://geolocation.onetrust.com" crossorigin><link rel="preconnect" href="https://ot.www.cloudflare.com"><meta name="msvalidate.01" content="CF295E1604697F9CAD18B5A232E871F6">
<meta name="description" content="We are constantly monitoring and optimizing the performance and resource utilization of our systems. Recently, we noticed that some of our TCP sessions were allocating more memory than expected. This blog post describes in detail the root cause of the problem and shows the test results of a solution">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Unbounded memory usage by TCP for receive buffers, and how we fixed it">
<meta name="twitter:description" content="We are constantly monitoring and optimizing the performance and resource utilization of our systems. Recently, we noticed that some of our TCP sessions were allocating more memory than expected. This blog post describes in detail the root cause of the problem and shows the test results of a solution">
<meta name="twitter:image" content="https://blog.cloudflare.com/_emdash/api/media/file/01KW44F4T6KHHA59HZKB92WEGB.png">
<meta property="og:type" content="article">
<meta property="og:title" content="Unbounded memory usage by TCP for receive buffers, and how we fixed it">
<meta property="og:description" content="We are constantly monitoring and optimizing the performance and resource utilization of our systems. Recently, we noticed that some of our TCP sessions were allocating more memory than expected. This blog post describes in detail the root cause of the problem and shows the test results of a solution">
<meta property="og:image" content="https://blog.cloudflare.com/_emdash/api/media/file/01KW44F4T6KHHA59HZKB92WEGB.png">
<meta property="og:url" content="https://blog.cloudflare.com/unbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it/">
<meta property="og:site_name" content="Cloudflare Blog">
<meta property="article:published_time" content="2023-05-25T15:31:46.000Z">
<meta property="article:modified_time" content="2026-07-15T14:00:18.268Z">
<link rel="canonical" href="https://blog.cloudflare.com/unbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it/">
<link rel="alternate" href="https://blog.cloudflare.com/unbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it" hreflang="en-us">
<link rel="alternate" href="https://blog.cloudflare.com/unbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it" hreflang="x-default"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","headline":"Unbounded memory usage by TCP for receive buffers, and how we fixed it","description":"We are constantly monitoring and optimizing the performance and resource utilization of our systems. Recently, we noticed that some of our TCP sessions were allocating more memory than expected. This blog post describes in detail the root cause of the problem and shows the test results of a solution","image":"https://blog.cloudflare.com/_emdash/api/media/file/01KW44F4T6KHHA59HZKB92WEGB.png","url":"https://blog.cloudflare.com/unbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it/","datePublished":"2023-05-25T15:31:46.000Z","dateModified":"2026-07-15T14:00:18.268Z","publisher":{"@type":"Organization","name":"Cloudflare Blog"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://blog.cloudflare.com/unbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it/"}}</script><script>// Inlined in Base.astro before first paint and hashed in astro.config.mjs.
// Keep this file free of imports. Any content change changes the CSP hash.
(function () {
var c = document.cookie;
var i = c.indexOf("theme=");
var theme = i >= 0 ? c.slice(i + 6).split(";")[0] : null;
var prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches;
var shouldBeDark = theme === "dark" || (theme !== "light" && prefersDark);
document.documentElement.classList.toggle("dark", shouldBeDark);
// Add .light when explicitly chosen so the prefers-color-scheme CSS
// fallback doesn't fire for OS-dark users who selected light mode.
document.documentElement.classList.toggle("light", theme === "light");
var isLoggedIn = c.split(";").some(function (cookie) {
return cookie.trim() === "__cf_logged_in=1";
});
document.documentElement.classList.toggle("logged-in", isLoggedIn);
})();
</script><style>/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
.avatar[data-astro-cid-u5m3xj5o]{block-size:var(--avatar-size);inline-size:var(--avatar-size);background-color:#c5c5c5;border-radius:3.40282e38px;flex-shrink:0;display:block;position:relative;overflow:hidden}.avatar[data-astro-cid-u5m3xj5o] .avatar__image,.avatar[data-astro-cid-u5m3xj5o] .avatar__fallback{block-size:100%;inline-size:100%;display:block}.avatar[data-astro-cid-u5m3xj5o] .avatar__image{object-fit:cover}.avatar[data-astro-cid-u5m3xj5o]:not(.avatar--fallback) .avatar__fallback,.avatar--fallback[data-astro-cid-u5m3xj5o] .avatar__image{display:none}
</style><link rel="stylesheet" href="/_astro/Post.CLuFloBL.css"><style>.pt-image-placeholder-frame[data-astro-cid-gd5vvlus]{isolation:isolate;position:relative;overflow:hidden}.pt-image-placeholder[data-astro-cid-gd5vvlus]{z-index:1;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .18s ease-out;position:absolute;inset:0}.pt-image-placeholder-frame[data-astro-cid-gd5vvlus] .pt-image-placeholder-media{width:100%;height:auto;display:block}.pt-image-placeholder-frame--cover[data-astro-cid-gd5vvlus] img{object-fit:cover}.pt-image-placeholder-frame--contain[data-astro-cid-gd5vvlus] img{object-fit:contain}.pt-image-placeholder-frame[data-astro-cid-gd5vvlus][data-placeholder-enhanced]:not([data-image-loaded]) .pt-image-placeholder-media{opacity:0}.pt-image-placeholder-frame[data-astro-cid-gd5vvlus][data-placeholder-enhanced]:not([data-image-loaded]) .pt-image-placeholder[data-astro-cid-gd5vvlus]{opacity:1}.pt-image-placeholder-frame[data-astro-cid-gd5vvlus][data-image-loaded] .pt-image-placeholder[data-astro-cid-gd5vvlus]{opacity:0}
</style><link rel="stylesheet" href="/_astro/Base.DQY2gbS6.css"><link rel="stylesheet" href="/_astro/constants.BS_lIsSh.css"><style>@media (prefers-reduced-motion:reduce){.featured-image-link[data-astro-cid-wo3lsw3z] img{transition:none!important;transform:none!important}}
@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-bottom]{object-position:top bottom}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-top]{object-position:bottom top}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-right]{object-position:left right}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-left]{object-position:right left}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}
</style></head><body class="relative min-h-screen overflow-x-clip text-text"><a href="#main-content" class="sr-only focus-visible:not-sr-only focus-visible:fixed focus-visible:top-4 focus-visible:start-4 focus-visible:z-(--z-lightbox) focus-visible:rounded-md focus-visible:border focus-visible:border-border focus-visible:bg-background focus-visible:px-4 focus-visible:py-2 focus-visible:text-sm focus-visible:font-medium focus-visible:text-text focus-visible:shadow-lg">Skip to content</a><div hidden aria-hidden="true" data-zaraz-page-load="{&quot;canonical&quot;:&quot;https://blog.cloudflare.com/unbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it/&quot;,&quot;locale&quot;:&quot;en-us&quot;,&quot;pageTitle&quot;:&quot;Unbounded memory usage by TCP for receive buffers, and how we fixed it&quot;,&quot;pageSlug&quot;:&quot;unbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it&quot;,&quot;blogAuthor&quot;:&quot;Mike Freemon&quot;,&quot;blogAuthorCount&quot;:1,&quot;blogDate&quot;:&quot;2023-05-25T15:31:46.000Z&quot;,&quot;blogPublishedTime&quot;:&quot;2023-05-25T15:31:46.000Z&quot;,&quot;blogTags&quot;:&quot;Deep Dive,TCP&quot;,&quot;blogLength&quot;:19}" data-zaraz-script-nonce="9bebee6439dc4c299c79e59a8fa7822d"></div><div class="relative 2xl:grid 2xl:grid-cols-[1fr_1440px_1fr]"><!-- HEADER --><div class="fixed md:relative 2xl:col-span-3 dashed-btm top-0 bg-background h-header z-(--z-header-chrome)"><script type="module" id="ai-search-widget-script" src="https://blog.search.ai.cloudflare.com/assets/v0.0.42/search-snippet.search.es.js"></script><!-- Mobile sticky header bar (logo + hamburger) --><div class="lg:hidden fixed top-0 left-0 right-0 z-(--z-mobile-bar) h-header bg-background/95 backdrop-blur-sm border-b border-border flex items-center justify-between px-4" data-astro-cid-u3ezd34w><a href="/" aria-label="Cloudflare home" class="inline-flex items-center text-text" data-astro-cid-u3ezd34w><!-- Flame SVG - always visible, two-tone --><svg viewBox="0 0 341 156" class="cf-flame inline-block h-[26px] w-auto shrink-0" aria-hidden="true" data-astro-cid-srfhns4b><!-- Right cloud (lighter tone) --><path d="M275.125 68.25C311.507 68.25 341 97.9335 341 134.55C341 141.077 340.063 147.385 338.317 153.343C337.848 154.943 336.363 156 334.706 156H243.056C241.697 156 240.76 154.628 241.247 153.351L242.999 148.76C248.595 134.03 264.56 121.963 279.331 121.256L307.33 119.813C308.826 119.736 310 118.492 310 116.985C310 115.485 308.838 114.245 307.351 114.157L281.059 112.601C266.924 111.877 260.018 99.2932 263.82 86.179L268.195 71.0866C268.64 69.5514 269.971 68.4343 271.557 68.3476C272.738 68.2831 273.928 68.25 275.125 68.25Z" fill="#FF9910" data-astro-cid-srfhns4b></path><!-- Left cloud (darker orange) --><path d="M184.062 0C222 0 253.868 26.1297 262.882 61.4824C263.26 62.967 263.142 64.5333 262.601 65.9662L255.383 85.0897C249.787 99.8196 235.406 112.593 219.134 112.593L93.7928 114.043C92.2801 114.061 91.063 115.3 91.0625 116.823C91.0625 118.344 92.2776 119.585 93.789 119.605L217.365 121.248C231.531 121.248 238.406 134.556 234.606 147.671L233.011 153.189C232.53 154.855 231.014 156 229.291 156H3.90889C1.98075 156 0.330745 154.574 0.17634 152.64C0.0594555 151.175 0 149.695 0 148.2C0 119.723 21.6617 96.3403 49.306 93.8266C48.7387 91.2419 48.4375 88.5564 48.4375 85.8C48.4375 65.3379 64.919 48.75 85.25 48.75C93.3413 48.75 100.822 51.3789 106.897 55.8321C117.716 23.3806 148.176 0 184.062 0Z" fill="#FF5F07" data-astro-cid-srfhns4b></path></svg><!-- Wordmark SVG - hidden below lg, fades on scroll --><div class="cf-wordmark -mb-1 ms-3 hidden flex-col items-start justify-start lg:flex" data-astro-cid-srfhns4b><svg viewBox="0 0 719 59" class="h-[12px] w-auto" aria-hidden="true" data-astro-cid-srfhns4b><path d="M77.1016 1.09961H92.7015V43.5996H119.802V57.1996H77.1016V1.09961Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M135.898 29.3V29.2C135.898 13.1 148.898 0 166.198 0C183.498 0 196.298 12.9 196.298 29V29.2C196.298 45.3 183.298 58.4 165.998 58.4C148.798 58.3 135.898 45.4 135.898 29.3ZM180.498 29.3V29.2C180.498 21.1 174.698 14.1 166.098 14.1C157.598 14.1 151.898 21 151.898 29.1V29.3C151.898 37.4 157.698 44.4 166.198 44.4C174.798 44.3 180.498 37.4 180.498 29.3Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M215.398 32.5996V1.09961H231.198V32.2996C231.198 40.3996 235.298 44.1996 241.498 44.1996C247.698 44.1996 251.798 40.4996 251.798 32.6996V1.09961H267.598V32.1996C267.598 50.2996 257.298 58.1996 241.298 58.1996C225.398 58.2996 215.398 50.1996 215.398 32.5996Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M291.398 1.09961H313.098C333.098 1.09961 344.798 12.5996 344.798 28.7996V28.9996C344.798 45.1996 332.998 57.1996 312.798 57.1996H291.498L291.398 1.09961ZM313.298 43.3996C322.598 43.3996 328.798 38.2996 328.798 29.1996V28.9996C328.798 19.9996 322.598 14.7996 313.298 14.7996H306.998V43.2996L313.298 43.3996Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M367.297 1.09961H412.197V14.7996H382.797V24.2996H409.397V37.1996H382.797V57.1996H367.297V1.09961Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M433.797 1.09961H449.297V43.5996H476.497V57.1996H433.797V1.09961Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M517.097 0.699219H532.097L555.997 57.1992H539.297L535.197 47.1992H513.597L509.597 57.1992H493.297L517.097 0.699219ZM530.797 35.0992L524.597 19.1992L518.297 35.0992H530.797Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M576 1.09961H602.5C611.1 1.09961 617 3.29962 620.8 7.19962C624.1 10.3996 625.8 14.6996 625.8 20.2996V20.4996C625.8 29.0996 621.2 34.7996 614.3 37.6996L627.7 57.2996H609.7L598.4 40.2996H591.6V57.2996H576.1L576 1.09961ZM601.8 28.0996C607.1 28.0996 610.1 25.4996 610.1 21.4996V21.1996C610.1 16.7996 606.9 14.5996 601.7 14.5996H591.5V28.0996H601.8Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M648.203 1.09961H693.303V14.3996H663.603V22.7996H690.503V35.0996H663.603V43.9996H693.703V57.1996H648.203V1.09961Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M43.1 35.9C40.9 40.8 36.3 44.3 30.3 44.3C21.8 44.3 16 37.2 16 29.2V29C16 20.9 21.7 14 30.2 14C36.6 14 41.5 17.9 43.5 23.3H59.9C57.3 9.9 45.5 0 30.3 0C13 0 0 13.1 0 29.2V29.4C0 45.5 12.8 58.4 30.1 58.4C44.9 58.4 56.5 48.8 59.5 36L43.1 35.9Z" fill="currentColor" data-astro-cid-srfhns4b></path></svg></div></a><!-- Hamburger button (moved from MobileNav) --><button type="button" id="mobile-menu-btn" class="inline-flex items-center justify-center size-10 rounded-full text-icon transition-colors duration-100 hover:bg-surface hover:text-text bg-transparent border-0" aria-label="Open navigation menu" aria-expanded="false" aria-controls="mobile-menu" data-open-label="Open navigation menu" data-close-label="Close navigation menu" data-astro-cid-u3ezd34w><span class="mobile-menu-btn__open block" data-astro-cid-u3ezd34w><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="22" height="22" fill="currentColor" aria-hidden="true"><path d="M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128ZM40,76H216a12,12,0,0,0,0-24H40a12,12,0,0,0,0,24ZM216,180H40a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Z"/></svg></span><span class="mobile-menu-btn__close hidden" data-astro-cid-u3ezd34w><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="22" height="22" fill="currentColor" aria-hidden="true"><path d="M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z"/></svg></span></button></div><!-- Desktop logo (fixed/sticky positioned) --><a href="/" aria-label="Cloudflare home" class="items-center text-text hidden lg:absolute lg:inline-flex 2xl:fixed top-[23px] start-4 2xl:start-[max(1rem,calc((100vw-1440px)/2-4rem))] z-(--z-logo)" data-astro-cid-u3ezd34w><!-- Flame SVG - always visible, two-tone --><svg viewBox="0 0 341 156" class="cf-flame inline-block h-[26px] w-auto shrink-0" aria-hidden="true" data-astro-cid-srfhns4b><!-- Right cloud (lighter tone) --><path d="M275.125 68.25C311.507 68.25 341 97.9335 341 134.55C341 141.077 340.063 147.385 338.317 153.343C337.848 154.943 336.363 156 334.706 156H243.056C241.697 156 240.76 154.628 241.247 153.351L242.999 148.76C248.595 134.03 264.56 121.963 279.331 121.256L307.33 119.813C308.826 119.736 310 118.492 310 116.985C310 115.485 308.838 114.245 307.351 114.157L281.059 112.601C266.924 111.877 260.018 99.2932 263.82 86.179L268.195 71.0866C268.64 69.5514 269.971 68.4343 271.557 68.3476C272.738 68.2831 273.928 68.25 275.125 68.25Z" fill="#FF9910" data-astro-cid-srfhns4b></path><!-- Left cloud (darker orange) --><path d="M184.062 0C222 0 253.868 26.1297 262.882 61.4824C263.26 62.967 263.142 64.5333 262.601 65.9662L255.383 85.0897C249.787 99.8196 235.406 112.593 219.134 112.593L93.7928 114.043C92.2801 114.061 91.063 115.3 91.0625 116.823C91.0625 118.344 92.2776 119.585 93.789 119.605L217.365 121.248C231.531 121.248 238.406 134.556 234.606 147.671L233.011 153.189C232.53 154.855 231.014 156 229.291 156H3.90889C1.98075 156 0.330745 154.574 0.17634 152.64C0.0594555 151.175 0 149.695 0 148.2C0 119.723 21.6617 96.3403 49.306 93.8266C48.7387 91.2419 48.4375 88.5564 48.4375 85.8C48.4375 65.3379 64.919 48.75 85.25 48.75C93.3413 48.75 100.822 51.3789 106.897 55.8321C117.716 23.3806 148.176 0 184.062 0Z" fill="#FF5F07" data-astro-cid-srfhns4b></path></svg><!-- Wordmark SVG - hidden below lg, fades on scroll --><div class="cf-wordmark -mb-1 ms-3 hidden flex-col items-start justify-start lg:flex" data-astro-cid-srfhns4b><svg viewBox="0 0 719 59" class="h-[12px] w-auto" aria-hidden="true" data-astro-cid-srfhns4b><path d="M77.1016 1.09961H92.7015V43.5996H119.802V57.1996H77.1016V1.09961Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M135.898 29.3V29.2C135.898 13.1 148.898 0 166.198 0C183.498 0 196.298 12.9 196.298 29V29.2C196.298 45.3 183.298 58.4 165.998 58.4C148.798 58.3 135.898 45.4 135.898 29.3ZM180.498 29.3V29.2C180.498 21.1 174.698 14.1 166.098 14.1C157.598 14.1 151.898 21 151.898 29.1V29.3C151.898 37.4 157.698 44.4 166.198 44.4C174.798 44.3 180.498 37.4 180.498 29.3Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M215.398 32.5996V1.09961H231.198V32.2996C231.198 40.3996 235.298 44.1996 241.498 44.1996C247.698 44.1996 251.798 40.4996 251.798 32.6996V1.09961H267.598V32.1996C267.598 50.2996 257.298 58.1996 241.298 58.1996C225.398 58.2996 215.398 50.1996 215.398 32.5996Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M291.398 1.09961H313.098C333.098 1.09961 344.798 12.5996 344.798 28.7996V28.9996C344.798 45.1996 332.998 57.1996 312.798 57.1996H291.498L291.398 1.09961ZM313.298 43.3996C322.598 43.3996 328.798 38.2996 328.798 29.1996V28.9996C328.798 19.9996 322.598 14.7996 313.298 14.7996H306.998V43.2996L313.298 43.3996Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M367.297 1.09961H412.197V14.7996H382.797V24.2996H409.397V37.1996H382.797V57.1996H367.297V1.09961Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M433.797 1.09961H449.297V43.5996H476.497V57.1996H433.797V1.09961Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M517.097 0.699219H532.097L555.997 57.1992H539.297L535.197 47.1992H513.597L509.597 57.1992H493.297L517.097 0.699219ZM530.797 35.0992L524.597 19.1992L518.297 35.0992H530.797Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M576 1.09961H602.5C611.1 1.09961 617 3.29962 620.8 7.19962C624.1 10.3996 625.8 14.6996 625.8 20.2996V20.4996C625.8 29.0996 621.2 34.7996 614.3 37.6996L627.7 57.2996H609.7L598.4 40.2996H591.6V57.2996H576.1L576 1.09961ZM601.8 28.0996C607.1 28.0996 610.1 25.4996 610.1 21.4996V21.1996C610.1 16.7996 606.9 14.5996 601.7 14.5996H591.5V28.0996H601.8Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M648.203 1.09961H693.303V14.3996H663.603V22.7996H690.503V35.0996H663.603V43.9996H693.703V57.1996H648.203V1.09961Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M43.1 35.9C40.9 40.8 36.3 44.3 30.3 44.3C21.8 44.3 16 37.2 16 29.2V29C16 20.9 21.7 14 30.2 14C36.6 14 41.5 17.9 43.5 23.3H59.9C57.3 9.9 45.5 0 30.3 0C13 0 0 13.1 0 29.2V29.4C0 45.5 12.8 58.4 30.1 58.4C44.9 58.4 56.5 48.8 59.5 36L43.1 35.9Z" fill="currentColor" data-astro-cid-srfhns4b></path></svg></div></a><header class="relative z-(--z-header) w-screen 2xl:max-w-frame 2xl:mx-auto pe-4 2xl:pe-0 pointer-events-none" data-astro-cid-u3ezd34w><nav class="h-header items-center hidden lg:grid lg:grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] pointer-events-none" data-astro-cid-u3ezd34w><div class="flex items-center ps-4 2xl:ps-[max(1rem,calc((100vw-1440px)/2-4rem))] invisible" aria-hidden="true" data-astro-cid-u3ezd34w><!-- Flame SVG - always visible, two-tone --><svg viewBox="0 0 341 156" class="cf-flame inline-block h-[26px] w-auto shrink-0" aria-hidden="true" data-astro-cid-srfhns4b><!-- Right cloud (lighter tone) --><path d="M275.125 68.25C311.507 68.25 341 97.9335 341 134.55C341 141.077 340.063 147.385 338.317 153.343C337.848 154.943 336.363 156 334.706 156H243.056C241.697 156 240.76 154.628 241.247 153.351L242.999 148.76C248.595 134.03 264.56 121.963 279.331 121.256L307.33 119.813C308.826 119.736 310 118.492 310 116.985C310 115.485 308.838 114.245 307.351 114.157L281.059 112.601C266.924 111.877 260.018 99.2932 263.82 86.179L268.195 71.0866C268.64 69.5514 269.971 68.4343 271.557 68.3476C272.738 68.2831 273.928 68.25 275.125 68.25Z" fill="#FF9910" data-astro-cid-srfhns4b></path><!-- Left cloud (darker orange) --><path d="M184.062 0C222 0 253.868 26.1297 262.882 61.4824C263.26 62.967 263.142 64.5333 262.601 65.9662L255.383 85.0897C249.787 99.8196 235.406 112.593 219.134 112.593L93.7928 114.043C92.2801 114.061 91.063 115.3 91.0625 116.823C91.0625 118.344 92.2776 119.585 93.789 119.605L217.365 121.248C231.531 121.248 238.406 134.556 234.606 147.671L233.011 153.189C232.53 154.855 231.014 156 229.291 156H3.90889C1.98075 156 0.330745 154.574 0.17634 152.64C0.0594555 151.175 0 149.695 0 148.2C0 119.723 21.6617 96.3403 49.306 93.8266C48.7387 91.2419 48.4375 88.5564 48.4375 85.8C48.4375 65.3379 64.919 48.75 85.25 48.75C93.3413 48.75 100.822 51.3789 106.897 55.8321C117.716 23.3806 148.176 0 184.062 0Z" fill="#FF5F07" data-astro-cid-srfhns4b></path></svg><!-- Wordmark SVG - hidden below lg, fades on scroll --><div class="cf-wordmark -mb-1 ms-3 hidden flex-col items-start justify-start lg:flex" data-astro-cid-srfhns4b><svg viewBox="0 0 719 59" class="h-[12px] w-auto" aria-hidden="true" data-astro-cid-srfhns4b><path d="M77.1016 1.09961H92.7015V43.5996H119.802V57.1996H77.1016V1.09961Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M135.898 29.3V29.2C135.898 13.1 148.898 0 166.198 0C183.498 0 196.298 12.9 196.298 29V29.2C196.298 45.3 183.298 58.4 165.998 58.4C148.798 58.3 135.898 45.4 135.898 29.3ZM180.498 29.3V29.2C180.498 21.1 174.698 14.1 166.098 14.1C157.598 14.1 151.898 21 151.898 29.1V29.3C151.898 37.4 157.698 44.4 166.198 44.4C174.798 44.3 180.498 37.4 180.498 29.3Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M215.398 32.5996V1.09961H231.198V32.2996C231.198 40.3996 235.298 44.1996 241.498 44.1996C247.698 44.1996 251.798 40.4996 251.798 32.6996V1.09961H267.598V32.1996C267.598 50.2996 257.298 58.1996 241.298 58.1996C225.398 58.2996 215.398 50.1996 215.398 32.5996Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M291.398 1.09961H313.098C333.098 1.09961 344.798 12.5996 344.798 28.7996V28.9996C344.798 45.1996 332.998 57.1996 312.798 57.1996H291.498L291.398 1.09961ZM313.298 43.3996C322.598 43.3996 328.798 38.2996 328.798 29.1996V28.9996C328.798 19.9996 322.598 14.7996 313.298 14.7996H306.998V43.2996L313.298 43.3996Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M367.297 1.09961H412.197V14.7996H382.797V24.2996H409.397V37.1996H382.797V57.1996H367.297V1.09961Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M433.797 1.09961H449.297V43.5996H476.497V57.1996H433.797V1.09961Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M517.097 0.699219H532.097L555.997 57.1992H539.297L535.197 47.1992H513.597L509.597 57.1992H493.297L517.097 0.699219ZM530.797 35.0992L524.597 19.1992L518.297 35.0992H530.797Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M576 1.09961H602.5C611.1 1.09961 617 3.29962 620.8 7.19962C624.1 10.3996 625.8 14.6996 625.8 20.2996V20.4996C625.8 29.0996 621.2 34.7996 614.3 37.6996L627.7 57.2996H609.7L598.4 40.2996H591.6V57.2996H576.1L576 1.09961ZM601.8 28.0996C607.1 28.0996 610.1 25.4996 610.1 21.4996V21.1996C610.1 16.7996 606.9 14.5996 601.7 14.5996H591.5V28.0996H601.8Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M648.203 1.09961H693.303V14.3996H663.603V22.7996H690.503V35.0996H663.603V43.9996H693.703V57.1996H648.203V1.09961Z" fill="currentColor" data-astro-cid-srfhns4b></path><path d="M43.1 35.9C40.9 40.8 36.3 44.3 30.3 44.3C21.8 44.3 16 37.2 16 29.2V29C16 20.9 21.7 14 30.2 14C36.6 14 41.5 17.9 43.5 23.3H59.9C57.3 9.9 45.5 0 30.3 0C13 0 0 13.1 0 29.2V29.4C0 45.5 12.8 58.4 30.1 58.4C44.9 58.4 56.5 48.8 59.5 36L43.1 35.9Z" fill="currentColor" data-astro-cid-srfhns4b></path></svg></div></div><div class="pointer-events-auto" data-astro-cid-u3ezd34w><style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><script>(()=>{var g=Object.defineProperty;var w=(c,s,d)=>s in c?g(c,s,{enumerable:!0,configurable:!0,writable:!0,value:d}):c[s]=d;var l=(c,s,d)=>w(c,typeof s!="symbol"?s+"":s,d);var E=new Set(["__proto__","constructor","prototype"]);{let c={0:t=>y(t),1:t=>d(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(d(t)),5:t=>new Set(d(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>Number.POSITIVE_INFINITY*t},s=t=>{let[p,e]=t;return p in c?c[p](e):void 0},d=t=>t.map(s),y=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([p,e])=>[p,s(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,"Component");l(this,"hydrator");l(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let n=this.querySelectorAll("astro-slot"),r={},i=this.querySelectorAll("template[data-astro-template]");for(let o of i){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("data-astro-template")||"default"]=o.innerHTML,o.remove())}for(let o of n){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("name")||"default"]=o.innerHTML)}let u;try{u=this.hasAttribute("props")?y(JSON.parse(this.getAttribute("props"))):{}}catch(o){let a=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(a+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${a}`,this.getAttribute("props"),o),o}let h;await this.hydrator(this)(this.Component,u,r,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});l(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),n.disconnect(),this.childrenConnectedCallback()},n=new MutationObserver(()=>{var r;((r=this.lastChild)==null?void 0:r.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});n.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}getRetryImportUrl(e){let n=new URL(e,document.baseURI),r=`astro-retry=${Date.now()}`,i=n.hash.replace(/^#/,"");return n.hash=i?`${i}&${r}`:r,n.toString()}async importWithRetry(e){try{return await import(e)}catch(n){return await new Promise(r=>setTimeout(r,1e3)),import(this.getRetryImportUrl(e))}}handleHydrationError(e){let n=this.getAttribute("component-url"),r=new CustomEvent("astro:hydration-error",{cancelable:!0,bubbles:!0,composed:!0,detail:{error:e,componentUrl:n}});this.dispatchEvent(r)&&console.error(`[astro-island] Error hydrating ${n}`,e)}async start(){let e=JSON.parse(this.getAttribute("opts")),n=this.getAttribute("client");if(Astro[n]===void 0){window.addEventListener(`astro:${n}`,()=>this.start(),{once:!0});return}try{await Astro[n](async()=>{let r=this.getAttribute("renderer-url");try{let[i,{default:u}]=await Promise.all([this.importWithRetry(this.getAttribute("component-url")),r?this.importWithRetry(r):Promise.resolve({default:()=>()=>{}})]),h=this.getAttribute("component-export")||"default";if(h.includes(".")){this.Component=i;for(let m of h.split(".")){if(E.has(m)||!this.Component||typeof this.Component!="object"&&typeof this.Component!="function"||!Object.hasOwn(this.Component,m))throw new Error(`Invalid component export path: ${h}`);this.Component=this.Component[m]}}else{if(E.has(h))throw new Error(`Invalid component export path: ${h}`);this.Component=i[h]}return this.hydrator=u,this.hydrate}catch(i){return this.handleHydrationError(i),()=>{}}},e,this)}catch(r){this.handleHydrationError(r)}}attributeChangedCallback(){this.hydrate()}}l(f,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",f)}})();</script><astro-island uid="29KK0N" component-url="/_astro/NavDropdown.SWVY2bL-.js" component-export="NavMenu" renderer-url="/_astro/client.C96v97ml.js" props="{&quot;content&quot;:[0,{&quot;labels&quot;:[0,{&quot;products&quot;:[0,&quot;Products&quot;],&quot;solutions&quot;:[0,&quot;Solutions&quot;],&quot;resources&quot;:[0,&quot;Resources&quot;],&quot;pricing&quot;:[0,&quot;Pricing&quot;]}],&quot;productGroups&quot;:[1,[[0,{&quot;heading&quot;:[0,&quot;Compute&quot;],&quot;items&quot;:[1,[[0,{&quot;title&quot;:[0,&quot;Browser Run&quot;],&quot;description&quot;:[0,&quot;Automated browsers&quot;],&quot;href&quot;:[0,&quot;/products/browser-rendering/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Containers&quot;],&quot;description&quot;:[0,&quot;Any language, anywhere&quot;],&quot;href&quot;:[0,&quot;/products/containers/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Durable Objects&quot;],&quot;description&quot;:[0,&quot;Stateful compute&quot;],&quot;href&quot;:[0,&quot;/products/durable-objects/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Sandboxes&quot;],&quot;description&quot;:[0,&quot;Secure code execution&quot;],&quot;href&quot;:[0,&quot;/products/sandboxes/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Workers&quot;],&quot;description&quot;:[0,&quot;Global serverless functions&quot;],&quot;href&quot;:[0,&quot;/products/workers/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Workers for Platforms&quot;],&quot;description&quot;:[0,&quot;Programmable Platform Solutions&quot;],&quot;href&quot;:[0,&quot;/products/workers-for-platforms/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Workflows&quot;],&quot;description&quot;:[0,&quot;Process orchestration&quot;],&quot;href&quot;:[0,&quot;/products/workflows/&quot;]}]]]}],[0,{&quot;heading&quot;:[0,&quot;Storage&quot;],&quot;items&quot;:[1,[[0,{&quot;title&quot;:[0,&quot;Artifacts&quot;],&quot;description&quot;:[0,&quot;Git-native versioned storage&quot;],&quot;href&quot;:[0,&quot;/products/artifacts/&quot;]}],[0,{&quot;title&quot;:[0,&quot;D1&quot;],&quot;description&quot;:[0,&quot;Serverless SQL&quot;],&quot;href&quot;:[0,&quot;/products/d1/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Data Platform&quot;],&quot;description&quot;:[0,&quot;Ingest, Catalog &amp; Query&quot;],&quot;href&quot;:[0,&quot;/products/data-platform/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Hyperdrive&quot;],&quot;description&quot;:[0,&quot;Global databases&quot;],&quot;href&quot;:[0,&quot;/products/hyperdrive/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Queues&quot;],&quot;description&quot;:[0,&quot;Message processing&quot;],&quot;href&quot;:[0,&quot;/products/queues/&quot;]}],[0,{&quot;title&quot;:[0,&quot;R2&quot;],&quot;description&quot;:[0,&quot;Egress-free storage&quot;],&quot;href&quot;:[0,&quot;/products/r2/&quot;]}],[0,{&quot;title&quot;:[0,&quot;KV&quot;],&quot;description&quot;:[0,&quot;Ultra-fast key-value storage&quot;],&quot;href&quot;:[0,&quot;/products/kv/&quot;]}]]]}],[0,{&quot;heading&quot;:[0,&quot;AI&quot;],&quot;items&quot;:[1,[[0,{&quot;title&quot;:[0,&quot;Agents&quot;],&quot;description&quot;:[0,&quot;Build stateful AI agents&quot;],&quot;href&quot;:[0,&quot;/products/agents/&quot;]}],[0,{&quot;title&quot;:[0,&quot;AI Gateway&quot;],&quot;description&quot;:[0,&quot;AI observability&quot;],&quot;href&quot;:[0,&quot;/products/ai-gateway/&quot;]}],[0,{&quot;title&quot;:[0,&quot;AI Search&quot;],&quot;description&quot;:[0,&quot;Instant retrieval&quot;],&quot;href&quot;:[0,&quot;/products/ai-search/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Vectorize&quot;],&quot;description&quot;:[0,&quot;Vector database&quot;],&quot;href&quot;:[0,&quot;/products/vectorize/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Workers AI&quot;],&quot;description&quot;:[0,&quot;Edge AI models&quot;],&quot;href&quot;:[0,&quot;/products/workers-ai/&quot;]}]]]}],[0,{&quot;heading&quot;:[0,&quot;SASE / Zero Trust&quot;],&quot;items&quot;:[1,[[0,{&quot;title&quot;:[0,&quot;SASE&quot;],&quot;description&quot;:[0,&quot;Cloudflare SASE platform&quot;],&quot;href&quot;:[0,&quot;/sase/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Access&quot;],&quot;description&quot;:[0,&quot;Zero trust access to private resources&quot;],&quot;href&quot;:[0,&quot;/products/access/&quot;]}],[0,{&quot;title&quot;:[0,&quot;CASB&quot;],&quot;description&quot;:[0,&quot;SaaS and cloud posture&quot;],&quot;href&quot;:[0,&quot;/products/casb/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Data Loss Prevention&quot;],&quot;description&quot;:[0,&quot;Protect sensitive data&quot;],&quot;href&quot;:[0,&quot;/products/dlp/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Gateway&quot;],&quot;description&quot;:[0,&quot;Web filtering&quot;],&quot;href&quot;:[0,&quot;/products/gateway/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Browser Isolation&quot;],&quot;description&quot;:[0,&quot;Secure web browsing&quot;],&quot;href&quot;:[0,&quot;/products/browser-isolation/&quot;]}],[0,{&quot;title&quot;:[0,&quot;WAN&quot;],&quot;description&quot;:[0,&quot;Cloud-delivered networking&quot;],&quot;href&quot;:[0,&quot;/products/wan/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Email Security&quot;],&quot;description&quot;:[0,&quot;Phishing protection&quot;],&quot;href&quot;:[0,&quot;/products/email-security/&quot;]}]]]}],[0,{&quot;heading&quot;:[0,&quot;Security&quot;],&quot;items&quot;:[1,[[0,{&quot;title&quot;:[0,&quot;DDoS Protection&quot;],&quot;description&quot;:[0,&quot;Mitigation Solutions&quot;],&quot;href&quot;:[0,&quot;/products/ddos/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Rate Limiting&quot;],&quot;description&quot;:[0,&quot;Abuse prevention&quot;],&quot;href&quot;:[0,&quot;/products/rate-limiting/&quot;]}],[0,{&quot;title&quot;:[0,&quot;SSL&quot;],&quot;description&quot;:[0,&quot;Secure Your Site with SSL&quot;],&quot;href&quot;:[0,&quot;/products/ssl/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Turnstile&quot;],&quot;description&quot;:[0,&quot;A CAPTCHA Replacement Solution&quot;],&quot;href&quot;:[0,&quot;/products/turnstile/&quot;]}],[0,{&quot;title&quot;:[0,&quot;WAF&quot;],&quot;description&quot;:[0,&quot;Web Application Firewall&quot;],&quot;href&quot;:[0,&quot;/products/waf/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Magic Transit&quot;],&quot;description&quot;:[0,&quot;DDoS Protection for Networks&quot;],&quot;href&quot;:[0,&quot;/products/magic-transit/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Client-Side Security&quot;],&quot;description&quot;:[0,&quot;Prevent browser supply chain attacks&quot;],&quot;href&quot;:[0,&quot;/products/client-side-security/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Bot Management&quot;],&quot;description&quot;:[0,&quot;Block bad bots&quot;],&quot;href&quot;:[0,&quot;/products/bot-management/&quot;]}]]]}],[0,{&quot;heading&quot;:[0,&quot;Network &amp; Content Delivery&quot;],&quot;items&quot;:[1,[[0,{&quot;title&quot;:[0,&quot;CDN&quot;],&quot;description&quot;:[0,&quot;Faster delivery &amp; caching&quot;],&quot;href&quot;:[0,&quot;/products/cdn/&quot;]}],[0,{&quot;title&quot;:[0,&quot;DNS&quot;],&quot;description&quot;:[0,&quot;Fast DNS&quot;],&quot;href&quot;:[0,&quot;/products/dns/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Load Balancing&quot;],&quot;description&quot;:[0,&quot;Zero downtime&quot;],&quot;href&quot;:[0,&quot;/products/load-balancing/&quot;]}],[0,{&quot;title&quot;:[0,&quot;TURN / SFU&quot;],&quot;description&quot;:[0,&quot;Real-time infra&quot;],&quot;href&quot;:[0,&quot;/products/turn-sfu/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Analytics&quot;],&quot;description&quot;:[0,&quot;Web Performance &amp; Security&quot;],&quot;href&quot;:[0,&quot;/products/analytics/&quot;]}]]]}]]],&quot;productFooter&quot;:[0,{&quot;cta&quot;:[0,{&quot;title&quot;:[0,&quot;See all products&quot;],&quot;href&quot;:[0,&quot;/products/&quot;]}],&quot;links&quot;:[1,[[0,{&quot;title&quot;:[0,&quot;Enterprise&quot;],&quot;href&quot;:[0,&quot;/enterprise/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Global Network&quot;],&quot;href&quot;:[0,&quot;/network/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Domain Registration&quot;],&quot;href&quot;:[0,&quot;https://domains.cloudflare.com/&quot;]}],[0,{&quot;title&quot;:[0,&quot;1.1.1.1&quot;],&quot;href&quot;:[0,&quot;https://one.one.one.one/&quot;]}]]]}],&quot;solutionColumns&quot;:[1,[[1,[[0,{&quot;title&quot;:[0,&quot;AI&quot;],&quot;description&quot;:[0,&quot;Build intelligent applications with AI at the edge&quot;],&quot;href&quot;:[0,&quot;/solutions/ai/&quot;],&quot;icon&quot;:[0,&quot;ai&quot;]}],[0,{&quot;title&quot;:[0,&quot;Network&quot;],&quot;description&quot;:[0,&quot;Global network services for performance and reliability&quot;],&quot;href&quot;:[0,&quot;/solutions/network/&quot;],&quot;icon&quot;:[0,&quot;network&quot;]}],[0,{&quot;title&quot;:[0,&quot;Workflows&quot;],&quot;description&quot;:[0,&quot;Orchestrate complex multi-step processes&quot;],&quot;href&quot;:[0,&quot;/solutions/workflows/&quot;],&quot;icon&quot;:[0,&quot;workflows&quot;]}]]],[1,[[0,{&quot;title&quot;:[0,&quot;AI Security&quot;],&quot;description&quot;:[0,&quot;Secure and control AI adoption without slowing innovation.&quot;],&quot;href&quot;:[0,&quot;/solutions/ai-security/&quot;],&quot;icon&quot;:[0,&quot;aiSecurity&quot;]}],[0,{&quot;title&quot;:[0,&quot;Platforms&quot;],&quot;description&quot;:[0,&quot;Build platforms on Cloudflare&#39;s infrastructure&quot;],&quot;href&quot;:[0,&quot;/solutions/platforms/&quot;],&quot;icon&quot;:[0,&quot;platforms&quot;]}]]],[1,[[0,{&quot;title&quot;:[0,&quot;Frontends&quot;],&quot;description&quot;:[0,&quot;Deploy frontend applications globally in seconds&quot;],&quot;href&quot;:[0,&quot;/solutions/frontends/&quot;],&quot;icon&quot;:[0,&quot;frontends&quot;]}],[0,{&quot;title&quot;:[0,&quot;Security&quot;],&quot;description&quot;:[0,&quot;Protect your applications from threats&quot;],&quot;href&quot;:[0,&quot;/solutions/security/&quot;],&quot;icon&quot;:[0,&quot;security&quot;]}]]]]],&quot;resourceColumns&quot;:[1,[[1,[[0,{&quot;title&quot;:[0,&quot;Blog&quot;],&quot;description&quot;:[0,&quot;News, product updates, and announcements&quot;],&quot;href&quot;:[0,&quot;/blog/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Community&quot;],&quot;description&quot;:[0,&quot;Connect with other developers and experts&quot;],&quot;href&quot;:[0,&quot;https://community.cloudflare.com/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Cloudflare Radar&quot;],&quot;description&quot;:[0,&quot;Internet traffic and security trends&quot;],&quot;href&quot;:[0,&quot;https://radar.cloudflare.com/&quot;]}]]],[1,[[0,{&quot;title&quot;:[0,&quot;Developer Docs&quot;],&quot;description&quot;:[0,&quot;Guides, references, and tutorials&quot;],&quot;href&quot;:[0,&quot;https://developers.cloudflare.com/&quot;]}],[0,{&quot;title&quot;:[0,&quot;API Reference&quot;],&quot;description&quot;:[0,&quot;Cloudflare API documentation&quot;],&quot;href&quot;:[0,&quot;https://developers.cloudflare.com/api&quot;]}],[0,{&quot;title&quot;:[0,&quot;Case Studies&quot;],&quot;description&quot;:[0,&quot;Customer success stories and results&quot;],&quot;href&quot;:[0,&quot;/case-studies/&quot;]}]]],[1,[[0,{&quot;title&quot;:[0,&quot;Learning Center&quot;],&quot;description&quot;:[0,&quot;Learn about web technology concepts&quot;],&quot;href&quot;:[0,&quot;/learning/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Reference Architectures&quot;],&quot;description&quot;:[0,&quot;Architecture patterns and best practices&quot;],&quot;href&quot;:[0,&quot;/architecture/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Press&quot;],&quot;description&quot;:[0,&quot;Latest news, media resources, and coverage&quot;],&quot;href&quot;:[0,&quot;/press/&quot;]}]]]]],&quot;resourceFooter&quot;:[0,{&quot;cta&quot;:[0,{&quot;title&quot;:[0,&quot;See Upcoming Events&quot;],&quot;href&quot;:[0,&quot;/events/&quot;]}],&quot;links&quot;:[1,[[0,{&quot;title&quot;:[0,&quot;Startups&quot;],&quot;href&quot;:[0,&quot;/startups/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Careers&quot;],&quot;href&quot;:[0,&quot;/careers/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Partners&quot;],&quot;href&quot;:[0,&quot;/partners/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Status&quot;],&quot;href&quot;:[0,&quot;https://www.cloudflarestatus.com/&quot;]}],[0,{&quot;title&quot;:[0,&quot;Support&quot;],&quot;href&quot;:[0,&quot;https://support.cloudflare.com/&quot;]}]]]}]}],&quot;locale&quot;:[0,&quot;en-us&quot;],&quot;data-astro-cid-u3ezd34w&quot;:[0,true]}" ssr client="only" opts="{&quot;name&quot;:&quot;NavMenu&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island></div><div class="nav-actions flex items-center justify-end gap-2 pointer-events-auto" role="group" aria-label="Site actions" data-astro-cid-u3ezd34w><!-- CATEGORY NAV --><details data-dropdown class="group relative pointer-events-auto"><summary class="dropdown-trigger" aria-label="All Categories"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="16" height="16" fill="currentColor" class="text-icon hidden lg:inline xl:hidden" aria-hidden="true"><path d="M204,136a12,12,0,0,1-12,12H64a12,12,0,0,1,0-24H192A12,12,0,0,1,204,136Zm28-60H24a12,12,0,0,0,0,24H232a12,12,0,0,0,0-24Zm-80,96H104a12,12,0,0,0,0,24h48a12,12,0,0,0,0-24Z"/></svg><span class="inline lg:hidden xl:inline whitespace-nowrap text-xs!">All Categories</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="12" height="12" fill="currentColor" class="fill-current transition-transform duration-150 group-open:rotate-180 inline lg:hidden xl:inline" aria-hidden="true"><path d="M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"/></svg></summary><div class="dropdown-container"><ul><li><a href="/tag/ai/">AI</a></li><li><a href="/tag/developers/">Developers</a></li><li><a href="/tag/cloudflare-radar/">Radar</a></li><li><a href="/tag/product-news/">Product News</a></li><li><a href="/tag/security/">Security</a></li><li><a href="/tag/policy/">Policy &amp; Legal</a></li><li><a href="/tag/zero-trust/">Zero Trust</a></li><li><a href="/tag/speed-and-reliability/">Speed &amp; Reliability</a></li><li><a href="/tag/life-at-cloudflare/">Life at Cloudflare</a></li><li><a href="/tag/partners/">Partners</a></li></ul></div></details><script type="module">globalThis.process??={},globalThis.process.env??={};var e=document.querySelector(`[data-dropdown]`);e&&(document.addEventListener(`click`,t=>{let n=t.target;n instanceof Node&&e.open&&!e.contains(n)&&(e.open=!1)}),document.addEventListener(`keydown`,t=>{t.key===`Escape`&&e.open&&(e.open=!1)}));</script><!-- LANGUAGE SELECTOR --><details data-language-dropdown class="group relative"><summary class="language-trigger" aria-label="Switch Site Language"><span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="20" height="20" fill="currentColor" class="text-(--color-icon)" aria-hidden="true"><path d="M128,24h0A104,104,0,1,0,232,128,104.12,104.12,0,0,0,128,24Zm88,104a87.61,87.61,0,0,1-3.33,24H174.16a157.44,157.44,0,0,0,0-48h38.51A87.61,87.61,0,0,1,216,128ZM102,168H154a115.11,115.11,0,0,1-26,45A115.27,115.27,0,0,1,102,168Zm-3.9-16a140.84,140.84,0,0,1,0-48h59.88a140.84,140.84,0,0,1,0,48ZM40,128a87.61,87.61,0,0,1,3.33-24H81.84a157.44,157.44,0,0,0,0,48H43.33A87.61,87.61,0,0,1,40,128ZM154,88H102a115.11,115.11,0,0,1,26-45A115.27,115.27,0,0,1,154,88Zm52.33,0H170.71a135.28,135.28,0,0,0-22.3-45.6A88.29,88.29,0,0,1,206.37,88ZM107.59,42.4A135.28,135.28,0,0,0,85.29,88H49.63A88.29,88.29,0,0,1,107.59,42.4ZM49.63,168H85.29a135.28,135.28,0,0,0,22.3,45.6A88.29,88.29,0,0,1,49.63,168Zm98.78,45.6a135.28,135.28,0,0,0,22.3-45.6h35.66A88.29,88.29,0,0,1,148.41,213.6Z"/></svg></span></summary><div class="dropdown-container"><ul><li class="dropdown-heading">Switch Site Language</li><li><a href="/">English</a></li><li><a href="/de-de/">Deutsch</a></li><li><a href="/es-es/">Español</a></li><li><a href="/es-la/">Español (Latinoamérica)</a></li><li><a href="/fr-fr/">Français</a></li><li><a href="/it-it/">Italiano</a></li><li><a href="/ja-jp/">日本語</a></li><li><a href="/ko-kr/">한국어</a></li><li><a href="/zh-tw/">繁體中文</a></li><li><a href="/zh-cn/">简体中文</a></li><li><a href="/pt-br/">Português</a></li><li><a href="/ru-ru/">Русский</a></li><li><a href="/id-id/">Bahasa Indonesia</a></li><li><a href="/th-th/">ภาษาไทย</a></li><li><a href="/vi-vn/">Tiếng Việt</a></li><li><a href="/pl-pl/">Polski</a></li><li><a href="/ar-ar/">العربية</a></li><li><a href="/he-il/">עברית</a></li><li><a href="/sv-se/">Svenska</a></li><li><a href="/nl-nl/">Nederlands</a></li><li><a href="/tr-tr/">Türkçe</a></li></ul></div></details><script type="module">globalThis.process??={},globalThis.process.env??={};var e=document.querySelectorAll(`[data-language-dropdown]`);e.length&&(document.addEventListener(`click`,t=>{let n=t.target;n instanceof Node&&e.forEach(e=>{e.open&&!e.contains(n)&&(e.open=!1)})}),document.addEventListener(`keydown`,t=>{t.key===`Escape`&&e.forEach(e=>{e.open&&=!1})}));</script><!-- THEME TOGGLE --><button type="button" class="inline-flex h-8 w-8 items-center justify-center rounded-full text-icon transition-colors duration-100 hover:bg-surface hover:text-text" data-theme-toggle aria-label="Toggle theme" aria-pressed="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="18" height="18" fill="currentColor" class="hidden dark:block" aria-hidden="true"><path d="M116,36V20a12,12,0,0,1,24,0V36a12,12,0,0,1-24,0Zm80,92a68,68,0,1,1-68-68A68.07,68.07,0,0,1,196,128Zm-24,0a44,44,0,1,0-44,44A44.05,44.05,0,0,0,172,128ZM51.51,68.49a12,12,0,1,0,17-17l-12-12a12,12,0,0,0-17,17Zm0,119-12,12a12,12,0,0,0,17,17l12-12a12,12,0,1,0-17-17ZM196,72a12,12,0,0,0,8.49-3.51l12-12a12,12,0,0,0-17-17l-12,12A12,12,0,0,0,196,72Zm8.49,115.51a12,12,0,0,0-17,17l12,12a12,12,0,0,0,17-17ZM48,128a12,12,0,0,0-12-12H20a12,12,0,0,0,0,24H36A12,12,0,0,0,48,128Zm80,80a12,12,0,0,0-12,12v16a12,12,0,0,0,24,0V220A12,12,0,0,0,128,208Zm108-92H220a12,12,0,0,0,0,24h16a12,12,0,0,0,0-24Z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="18" height="18" fill="currentColor" class="dark:hidden" aria-hidden="true"><path d="M236.37,139.4a12,12,0,0,0-12-3A84.07,84.07,0,0,1,119.6,31.59a12,12,0,0,0-15-15A108.86,108.86,0,0,0,49.69,55.07,108,108,0,0,0,136,228a107.09,107.09,0,0,0,64.93-21.69,108.86,108.86,0,0,0,38.44-54.94A12,12,0,0,0,236.37,139.4Zm-49.88,47.74A84,84,0,0,1,68.86,69.51,84.93,84.93,0,0,1,92.27,48.29Q92,52.13,92,56A108.12,108.12,0,0,0,200,164q3.87,0,7.71-.27A84.79,84.79,0,0,1,186.49,187.14Z"/></svg></button><script type="module">globalThis.process??={},globalThis.process.env??={};var e=document.documentElement;function t(){let t=e.classList.contains(`dark`);document.querySelectorAll(`[data-theme-toggle]`).forEach(e=>{e.setAttribute(`aria-pressed`,String(t))})}t(),new MutationObserver(t).observe(e,{attributes:!0,attributeFilter:[`class`]});</script><!-- SEARCH --><button type="button" class="inline-flex h-8 w-8 items-center justify-center rounded-full text-icon transition-colors duration-150 hover:bg-surface hover:text-text disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-transparent" data-search-toggle aria-label="Search posts and pages" aria-expanded="false" data-unavailable-label="Search is currently unavailable" data-astro-cid-u3ezd34w><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="18" height="18" fill="currentColor" aria-hidden="true"><path d="M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z"/></svg></button><!-- LOGIN --><a href="https://dash.cloudflare.com/login" class="inline-flex shrink-0 items-center justify-center whitespace-nowrap rounded-md border border-transparent bg-transparent px-2.5 py-1 text-xs font-medium text-display transition-colors duration-200 hover:border-border hover:bg-surface pointer-events-auto" id="nav-login-button" data-auth="logged-out" data-astro-cid-u3ezd34w>Login</a><!-- DASHBOARD --><a href="https://dash.cloudflare.com" class="inline-flex shrink-0 items-center justify-center whitespace-nowrap rounded-md border border-transparent bg-transparent px-2.5 py-1 text-xs font-medium text-display transition-colors duration-200 hover:border-border hover:bg-surface pointer-events-auto" id="nav-dashboard-button" data-auth="logged-in" data-astro-cid-u3ezd34w>Dashboard</a><!-- CONTACT SALES --><a href="https://www.cloudflare.com/resource/contact-enterprise-sales/" class="inline-flex shrink-0 items-center justify-center whitespace-nowrap rounded-md border border-transparent bg-transparent px-2.5 py-1 text-xs font-medium text-display transition-colors duration-200 hover:border-border hover:bg-surface pointer-events-auto" id="nav-contact-sales-button" data-astro-cid-u3ezd34w>Contact Sales</a></div></nav></header><script type="module">globalThis.process??={},globalThis.process.env??={};var e=document.querySelector(`[data-search-toggle]`),t=document.querySelector(`[data-ai-search-dialog]`),n=t?.querySelector(`search-modal-snippet`),r=document.querySelector(`#ai-search-widget-script`),i=new Set,a=null,o=`a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), summary, [tabindex]:not([tabindex="-1"])`;function s(){let e=document.activeElement;for(;e instanceof HTMLElement&&e.shadowRoot?.activeElement;)e=e.shadowRoot.activeElement;return e}function c(){return!t||!n?[]:[...t.querySelectorAll(o),...n.shadowRoot?.querySelectorAll(o)??[]].filter(e=>e.getClientRects().length>0&&getComputedStyle(e).visibility!==`hidden`)}function l(){let e=n?.shadowRoot?.querySelector(`[role="dialog"]`);e&&(e.removeAttribute(`aria-labelledby`),e.setAttribute(`aria-label`,t?.dataset.dialogLabel??``))}function u(e){if(t){if(e){Array.from(document.body.children).forEach(e=>{!(e instanceof HTMLElement)||e===t||e.contains(t)||e.inert||(e.inert=!0,i.add(e))});return}i.forEach(e=>{e.inert=!1}),i.clear()}}function d(){t&&(t.setAttribute(`aria-hidden`,`false`),t.inert=!1,e?.setAttribute(`aria-expanded`,`true`),u(!0),requestAnimationFrame(()=>{let e=s(),n=c();e instanceof HTMLElement&&n.includes(e)||(n[0]??t).focus()}))}function f(){t&&(t.inert=!0,t.setAttribute(`aria-hidden`,`true`),e?.setAttribute(`aria-expanded`,`false`),u(!1),(e&&e.getClientRects().length>0?e:a)?.focus({preventScroll:!0}),a=null)}function p(e){let n=c();if(!t||n.length===0){e.preventDefault(),t?.focus();return}let r=n[0],i=n[n.length-1],a=s(),o=a instanceof HTMLElement&&n.includes(a);e.shiftKey&&(a===r||!o)?(e.preventDefault(),i.focus()):!e.shiftKey&&(a===i||!o)&&(e.preventDefault(),r.focus())}function m(){if(n){if(a=document.activeElement instanceof HTMLElement?document.activeElement:null,typeof n.open==`function`){n.open();return}customElements.whenDefined(`search-modal-snippet`).then(()=>n.open?.())}}e?.addEventListener(`click`,m),n?.addEventListener(`open`,d),n?.addEventListener(`close`,f),customElements.whenDefined(`search-modal-snippet`).then(()=>{l(),n?.shadowRoot&&new MutationObserver(l).observe(n.shadowRoot,{childList:!0,subtree:!0})}),t?.addEventListener(`keydown`,e=>{e.key===`Tab`&&p(e)}),document.addEventListener(`keydown`,e=>{(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`k`&&(a=document.activeElement instanceof HTMLElement?document.activeElement:null)},!0);var h=8e3;function g(){!e||e.disabled||(e.disabled=!0,e.removeAttribute(`aria-expanded`),e.setAttribute(`aria-label`,e.dataset.unavailableLabel??``))}if(e){r?.addEventListener(`error`,g);let e=customElements.whenDefined(`search-modal-snippet`),t=new Promise(e=>setTimeout(e,h));Promise.race([e,t]).then(()=>{customElements.get(`search-modal-snippet`)||g()})}</script></div><!-- Spacer to preserve header height in grid flow on mobile (fixed header is out of flow) --><div class="col-span-3 h-header md:hidden" aria-hidden="true"></div><!-- DOTTED PATTERN --><div aria-hidden="true" class="hidden 2xl:block pointer-events-none left-0 z-0 dot-grid dashed-right col-start-1 row-start-2"></div><!-- CONTENT --><main id="main-content" data-mobile-nav-inert class="min-h-[calc(100vh-var(--spacing-header)-640px)] col-start-2 row-start-2"><article class="mx-auto max-w-page" data-astro-cid-qjtkll3n><div class="post-layout" data-astro-cid-qjtkll3n><!-- post --><div class="post-content min-w-0 pb-post pt-3 md:pt-4 lg:pt-6 px-5 md:px-post" data-astro-cid-qjtkll3n><header data-astro-cid-qjtkll3n><div data-astro-cid-qjtkll3n><div class="breadcrumb-root mb-3 md:mb-4 lg:mb-5"><nav aria-label="Breadcrumb" class="breadcrumb flex flex-nowrap items-start gap-2 text-sm"><a href="/" class="inline-flex h-[24px] items-center gap-1.5 text-text hover:text-accent-text transition-colors duration-150 shrink-0 pt-[3px]"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z"/></svg><span>Blog</span></a><span class="inline-flex h-[24px] items-center text-icon shrink-0 pt-[3px]" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z"/></svg></span><div class="hidden min-w-0 flex-1 md:block"><div class="flex flex-wrap items-center gap-1.5"><a href="/tag/deep-dive/" class="inline-flex items-center justify-center px-[10px] py-[4px] rounded-full border border-tag-border text-tag-text text-[13px] leading-normal whitespace-nowrap transition-colors hover:border-tag-text">Deep Dive</a><a href="/tag/tcp/" class="inline-flex items-center justify-center px-[10px] py-[4px] rounded-full border border-tag-border text-tag-text text-[13px] leading-normal whitespace-nowrap transition-colors hover:border-tag-text">TCP</a></div></div><div class="flex-1 md:hidden"><button type="button" data-breadcrumb-toggle aria-expanded="false" aria-controls="post-breadcrumb-extra-tags-mobile" class="md:hidden shrink-0 inline-flex items-center gap-1 px-[10px] py-[4px] rounded-full border border-tag-border text-tag-text text-[13px] leading-normal whitespace-nowrap transition-colors hover:border-tag-text bg-transparent cursor-pointer"><span>2 Tags</span><span data-breadcrumb-toggle-icon class="inline-flex transition-transform duration-150"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="10" height="10" fill="currentColor" aria-hidden="true"><path d="M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"/></svg></span><span class="sr-only">Show 2 tags</span></button></div><details data-tags-dropdown class="group relative shrink-0"><summary class="inline-flex size-6 items-center justify-center rounded-full text-icon transition-colors duration-100 hover:bg-surface hover:text-text cursor-pointer [&amp;::-webkit-details-marker]:hidden pt-[2px]" aria-label="Browse all tags"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M204,136a12,12,0,0,1-12,12H64a12,12,0,0,1,0-24H192A12,12,0,0,1,204,136Zm28-60H24a12,12,0,0,0,0,24H232a12,12,0,0,0,0-24Zm-80,96H104a12,12,0,0,0,0,24h48a12,12,0,0,0,0-24Z"/></svg></summary><div class="dropdown-container right-0! left-auto! translate-x-0! w-[270px]!"><div class="px-2 pt-1 pb-2"><div class="relative"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-icon" aria-hidden="true"><path d="M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z"/></svg><input type="text" data-tag-search-input placeholder="Search tags" aria-label="Search tags" autocomplete="off" class="w-full rounded-lg border border-input-border bg-input-background text-input-text text-sm pl-8 pr-7 py-1.5 focus:outline-2 focus:outline-offset-2 focus:outline-accent-text"><button type="button" data-tag-search-clear aria-label="Clear tag search" class="hidden absolute right-2 top-1/2 -translate-y-1/2 p-0.5 text-icon hover:text-text transition-colors duration-100"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="12" height="12" fill="currentColor" aria-hidden="true"><path d="M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z"/></svg></button></div></div><ul><li class="dropdown-heading" data-selected-tags-heading>Selected Tags</li><li data-selected-tags-list><a href="/tag/deep-dive/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 text-accent-text opacity-100" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Deep Dive</span></a><a href="/tag/tcp/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 text-accent-text opacity-100" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">TCP</span></a></li><li class="dropdown-heading" data-all-tags-heading>All tags</li><li class="dropdown-heading hidden" data-matching-tags-heading>Matching tags</li><li class="hidden px-3 py-2 text-sm text-tertiary" data-no-matching-tags>No tags found</li><li data-tag-item data-tag-label="1.1.1.1"><a href="/tag/1-1-1-1/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">1.1.1.1</span></a></li><li data-tag-item data-tag-label="2fa"><a href="/tag/2fa/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">2FA</span></a></li><li data-tag-item data-tag-label="abuse"><a href="/tag/abuse/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Abuse</span></a></li><li data-tag-item data-tag-label="access"><a href="/tag/access/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Access</span></a></li><li data-tag-item data-tag-label="access control lists (acls)"><a href="/tag/access-control-lists-acls/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Access Control Lists (ACLs)</span></a></li><li data-tag-item data-tag-label="accessibility"><a href="/tag/accessibility/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Accessibility</span></a></li><li data-tag-item data-tag-label="account takeover"><a href="/tag/account-takeover/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Account Takeover</span></a></li><li data-tag-item data-tag-label="acquisitions"><a href="/tag/acquisitions/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Acquisitions</span></a></li><li data-tag-item data-tag-label="addressing"><a href="/tag/addressing/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Addressing</span></a></li><li data-tag-item data-tag-label="advanced certificate manager"><a href="/tag/advanced-certificate-manager/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Advanced Certificate Manager</span></a></li><li data-tag-item data-tag-label="advanced ddos"><a href="/tag/advanced-ddos/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Advanced DDoS</span></a></li><li data-tag-item data-tag-label="advertising"><a href="/tag/advertising/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Advertising</span></a></li><li data-tag-item data-tag-label="aegis"><a href="/tag/aegis/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Aegis</span></a></li><li data-tag-item data-tag-label="aeo"><a href="/tag/aeo/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">AEO</span></a></li><li data-tag-item data-tag-label="africa"><a href="/tag/africa/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Africa</span></a></li><li data-tag-item data-tag-label="afroflare"><a href="/tag/afroflare/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Afroflare</span></a></li><li data-tag-item data-tag-label="agent cloud"><a href="/tag/agent-cloud/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Agent Cloud</span></a></li><li data-tag-item data-tag-label="agent development lifecycle"><a href="/tag/agent-development-lifecycle/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Agent Development Lifecycle</span></a></li><li data-tag-item data-tag-label="agent readiness"><a href="/tag/agent-readiness/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Agent Readiness</span></a></li><li data-tag-item data-tag-label="agents"><a href="/tag/agents/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Agents</span></a></li><li data-tag-item data-tag-label="agents week"><a href="/tag/agents-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Agents Week</span></a></li><li data-tag-item data-tag-label="agents week 2026"><a href="/tag/agents-week-2026/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Agents Week 2026</span></a></li><li data-tag-item data-tag-label="ai"><a href="/tag/ai/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">AI</span></a></li><li data-tag-item data-tag-label="ai bots"><a href="/tag/ai-bots/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">AI Bots</span></a></li><li data-tag-item data-tag-label="ai gateway"><a href="/tag/ai-gateway/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">AI Gateway</span></a></li><li data-tag-item data-tag-label="ai search"><a href="/tag/ai-search/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">AI Search</span></a></li><li data-tag-item data-tag-label="ai waf"><a href="/tag/ai-waf/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">AI WAF</span></a></li><li data-tag-item data-tag-label="ai week"><a href="/tag/ai-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">AI Week</span></a></li><li data-tag-item data-tag-label="ai-spm"><a href="/tag/ai-spm/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">AI-SPM</span></a></li><li data-tag-item data-tag-label="alertmanager"><a href="/tag/alertmanager/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Alertmanager</span></a></li><li data-tag-item data-tag-label="always online"><a href="/tag/always-online/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Always Online</span></a></li><li data-tag-item data-tag-label="amd"><a href="/tag/amd/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">AMD</span></a></li><li data-tag-item data-tag-label="amp"><a href="/tag/amp-tag/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">AMP</span></a></li><li data-tag-item data-tag-label="analytics"><a href="/tag/analytics/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Analytics</span></a></li><li data-tag-item data-tag-label="anonymous"><a href="/tag/anonymous/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Anonymous</span></a></li><li data-tag-item data-tag-label="anti malware"><a href="/tag/anti-malware/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Anti Malware</span></a></li><li data-tag-item data-tag-label="anycast"><a href="/tag/anycast/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Anycast</span></a></li><li data-tag-item data-tag-label="api"><a href="/tag/api/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">API</span></a></li><li data-tag-item data-tag-label="api gateway"><a href="/tag/api-gateway/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">API Gateway</span></a></li><li data-tag-item data-tag-label="api security"><a href="/tag/api-security/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">API Security</span></a></li><li data-tag-item data-tag-label="api shield"><a href="/tag/api-shield/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">API Shield</span></a></li><li data-tag-item data-tag-label="apjc"><a href="/tag/apjc/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">APJC</span></a></li><li data-tag-item data-tag-label="apple"><a href="/tag/apple/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Apple</span></a></li><li data-tag-item data-tag-label="application security"><a href="/tag/application-security/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Application Security</span></a></li><li data-tag-item data-tag-label="application services"><a href="/tag/application-services/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Application Services</span></a></li><li data-tag-item data-tag-label="area 1 security"><a href="/tag/area-1-security/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Area 1 Security</span></a></li><li data-tag-item data-tag-label="argo smart routing"><a href="/tag/argo/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Argo Smart Routing</span></a></li><li data-tag-item data-tag-label="ascii"><a href="/tag/ascii/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">ASCII</span></a></li><li data-tag-item data-tag-label="asia"><a href="/tag/asia/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Asia</span></a></li><li data-tag-item data-tag-label="athenian project"><a href="/tag/athenian-project/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Athenian Project</span></a></li><li data-tag-item data-tag-label="atlassian"><a href="/tag/atlassian/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Atlassian</span></a></li><li data-tag-item data-tag-label="attacks"><a href="/tag/attacks/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Attacks</span></a></li><li data-tag-item data-tag-label="audit logs"><a href="/tag/audit-logs/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Audit Logs</span></a></li><li data-tag-item data-tag-label="austin"><a href="/tag/austin/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Austin</span></a></li><li data-tag-item data-tag-label="australia"><a href="/tag/australia/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Australia</span></a></li><li data-tag-item data-tag-label="authentication"><a href="/tag/authentication/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Authentication</span></a></li><li data-tag-item data-tag-label="authy"><a href="/tag/authy/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Authy</span></a></li><li data-tag-item data-tag-label="auto rag"><a href="/tag/auto-rag/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Auto Rag</span></a></li><li data-tag-item data-tag-label="automatic https"><a href="/tag/automatic-https/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Automatic HTTPS</span></a></li><li data-tag-item data-tag-label="automatic platform optimization"><a href="/tag/automatic-platform-optimization/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Automatic Platform Optimization</span></a></li><li data-tag-item data-tag-label="automation"><a href="/tag/automation/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Automation</span></a></li><li data-tag-item data-tag-label="autominify"><a href="/tag/autominify/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">AutoMinify</span></a></li><li data-tag-item data-tag-label="awards"><a href="/tag/awards/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Awards</span></a></li><li data-tag-item data-tag-label="aws"><a href="/tag/aws/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">AWS</span></a></li><li data-tag-item data-tag-label="baidu"><a href="/tag/baidu/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Baidu</span></a></li><li data-tag-item data-tag-label="bandwidth alliance"><a href="/tag/bandwidth-alliance/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Bandwidth Alliance</span></a></li><li data-tag-item data-tag-label="bandwidth costs"><a href="/tag/bandwidth-costs/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Bandwidth Costs</span></a></li><li data-tag-item data-tag-label="best practices"><a href="/tag/best-practices/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Best Practices</span></a></li><li data-tag-item data-tag-label="beta"><a href="/tag/beta/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Beta</span></a></li><li data-tag-item data-tag-label="better internet"><a href="/tag/better-internet/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Better Internet</span></a></li><li data-tag-item data-tag-label="bgp"><a href="/tag/bgp/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">BGP</span></a></li><li data-tag-item data-tag-label="billing"><a href="/tag/billing/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Billing</span></a></li><li data-tag-item data-tag-label="birthday week"><a href="/tag/birthday-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Birthday Week</span></a></li><li data-tag-item data-tag-label="black friday"><a href="/tag/black-friday/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Black Friday</span></a></li><li data-tag-item data-tag-label="blackbird"><a href="/tag/blackbird/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Blackbird</span></a></li><li data-tag-item data-tag-label="bot fight mode"><a href="/tag/bot-fight-mode/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Bot Fight Mode</span></a></li><li data-tag-item data-tag-label="bot management"><a href="/tag/bot-management/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Bot Management</span></a></li><li data-tag-item data-tag-label="botnet"><a href="/tag/botnet/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Botnet</span></a></li><li data-tag-item data-tag-label="bots"><a href="/tag/bots/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Bots</span></a></li><li data-tag-item data-tag-label="bpf"><a href="/tag/bpf/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">BPF</span></a></li><li data-tag-item data-tag-label="brand"><a href="/tag/brand/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Brand</span></a></li><li data-tag-item data-tag-label="brand protection"><a href="/tag/brand-protection/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Brand Protection</span></a></li><li data-tag-item data-tag-label="brazil"><a href="/tag/brazil/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Brazil</span></a></li><li data-tag-item data-tag-label="browser insights"><a href="/tag/browser-insights/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Browser Insights</span></a></li><li data-tag-item data-tag-label="browser rendering"><a href="/tag/browser-rendering/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Browser Rendering</span></a></li><li data-tag-item data-tag-label="browser run"><a href="/tag/browser-run/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Browser Run</span></a></li><li data-tag-item data-tag-label="bug bounty"><a href="/tag/bug-bounty/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Bug Bounty</span></a></li><li data-tag-item data-tag-label="bugs"><a href="/tag/bugs/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Bugs</span></a></li><li data-tag-item data-tag-label="byoip"><a href="/tag/byoip/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">BYOIP</span></a></li><li data-tag-item data-tag-label="cache"><a href="/tag/cache/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cache</span></a></li><li data-tag-item data-tag-label="cache purge"><a href="/tag/cache-purge/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cache Purge</span></a></li><li data-tag-item data-tag-label="cache reserve"><a href="/tag/cache-reserve/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cache Reserve</span></a></li><li data-tag-item data-tag-label="cache rules"><a href="/tag/cache-rules/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cache Rules</span></a></li><li data-tag-item data-tag-label="california"><a href="/tag/california/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">California</span></a></li><li data-tag-item data-tag-label="canada"><a href="/tag/canada/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Canada</span></a></li><li data-tag-item data-tag-label="cap'n proto"><a href="/tag/capn-proto/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cap&#39;n Proto</span></a></li><li data-tag-item data-tag-label="captcha"><a href="/tag/captcha/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">CAPTCHA</span></a></li><li data-tag-item data-tag-label="careers"><a href="/tag/careers/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Careers</span></a></li><li data-tag-item data-tag-label="casb"><a href="/tag/casb/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">CASB</span></a></li><li data-tag-item data-tag-label="categories"><a href="/tag/categories/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Categories</span></a></li><li data-tag-item data-tag-label="cdn"><a href="/tag/cdn/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">CDN</span></a></li><li data-tag-item data-tag-label="cdnjs"><a href="/tag/cdnjs/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">CDNJS</span></a></li><li data-tag-item data-tag-label="certificate authority"><a href="/tag/certificate-authority/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Certificate Authority</span></a></li><li data-tag-item data-tag-label="certificate pinning"><a href="/tag/certificate-pinning/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Certificate Pinning</span></a></li><li data-tag-item data-tag-label="certificate transparency"><a href="/tag/certificate-transparency/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Certificate Transparency</span></a></li><li data-tag-item data-tag-label="certification"><a href="/tag/certification/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Certification</span></a></li><li data-tag-item data-tag-label="cfssl"><a href="/tag/cfssl/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">CFSSL</span></a></li><li data-tag-item data-tag-label="challenge page"><a href="/tag/challenge-page/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Challenge Page</span></a></li><li data-tag-item data-tag-label="chatgpt"><a href="/tag/chatgpt/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">ChatGPT</span></a></li><li data-tag-item data-tag-label="china"><a href="/tag/china/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">China</span></a></li><li data-tag-item data-tag-label="china network"><a href="/tag/china-network/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">China Network</span></a></li><li data-tag-item data-tag-label="christmas"><a href="/tag/christmas/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Christmas</span></a></li><li data-tag-item data-tag-label="chrome"><a href="/tag/chrome/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Chrome</span></a></li><li data-tag-item data-tag-label="cio week"><a href="/tag/cio-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">CIO Week</span></a></li><li data-tag-item data-tag-label="cisa"><a href="/tag/cisa/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">CISA</span></a></li><li data-tag-item data-tag-label="claire"><a href="/tag/claire/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Claire</span></a></li><li data-tag-item data-tag-label="cli"><a href="/tag/cli/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">CLI</span></a></li><li data-tag-item data-tag-label="clickhouse"><a href="/tag/clickhouse/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">ClickHouse</span></a></li><li data-tag-item data-tag-label="clientless"><a href="/tag/clientless/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Clientless</span></a></li><li data-tag-item data-tag-label="clientless web isolation"><a href="/tag/clientless-web-isolation/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Clientless Web Isolation</span></a></li><li data-tag-item data-tag-label="cloud connector"><a href="/tag/cloud-connector/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloud Connector</span></a></li><li data-tag-item data-tag-label="cloud email security"><a href="/tag/cloud-email-security/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloud Email Security</span></a></li><li data-tag-item data-tag-label="cloudflare access"><a href="/tag/cloudflare-access/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Access</span></a></li><li data-tag-item data-tag-label="cloudflare apps"><a href="/tag/cloudflare-apps/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Apps</span></a></li><li data-tag-item data-tag-label="cloudflare area 1"><a href="/tag/cloudflare-area-1/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Area 1</span></a></li><li data-tag-item data-tag-label="cloudflare calls"><a href="/tag/cloudflare-calls/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Calls</span></a></li><li data-tag-item data-tag-label="cloudflare email service"><a href="/tag/cloudflare-email-services/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Email Service</span></a></li><li data-tag-item data-tag-label="cloudflare for campaigns"><a href="/tag/cloudflare-for-campaigns/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare for Campaigns</span></a></li><li data-tag-item data-tag-label="cloudflare for saas"><a href="/tag/cloudflare-for-saas/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare for SaaS</span></a></li><li data-tag-item data-tag-label="cloudflare for startups"><a href="/tag/cloudflare-for-startups/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare for Startups</span></a></li><li data-tag-item data-tag-label="cloudflare gateway"><a href="/tag/gateway/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Gateway</span></a></li><li data-tag-item data-tag-label="cloudflare history"><a href="/tag/cloudflare-history/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare History</span></a></li><li data-tag-item data-tag-label="cloudflare images"><a href="/tag/cloudflare-images/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Images</span></a></li><li data-tag-item data-tag-label="cloudflare media platform"><a href="/tag/cloudflare-media-platform/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Media Platform</span></a></li><li data-tag-item data-tag-label="cloudflare meetups"><a href="/tag/cloudflare-meetups/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Meetups</span></a></li><li data-tag-item data-tag-label="cloudflare network"><a href="/tag/cloudflare-network/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Network</span></a></li><li data-tag-item data-tag-label="cloudflare one"><a href="/tag/cloudflare-one/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare One</span></a></li><li data-tag-item data-tag-label="cloudflare one client"><a href="/tag/cloudflare-one-client/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare One Client</span></a></li><li data-tag-item data-tag-label="cloudflare one user risk score"><a href="/tag/cloudflare-one-user-risk-score/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare One User Risk Score</span></a></li><li data-tag-item data-tag-label="cloudflare one week"><a href="/tag/cloudflare-one-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare One Week</span></a></li><li data-tag-item data-tag-label="cloudflare os"><a href="/tag/cloudflare-os/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare OS</span></a></li><li data-tag-item data-tag-label="cloudflare pages"><a href="/tag/cloudflare-pages/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Pages</span></a></li><li data-tag-item data-tag-label="cloudflare polish"><a href="/tag/cloudflare-polish/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Polish</span></a></li><li data-tag-item data-tag-label="cloudflare queues"><a href="/tag/cloudflare-queues/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Queues</span></a></li><li data-tag-item data-tag-label="cloudflare realtime"><a href="/tag/cloudflare-realtime/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Realtime</span></a></li><li data-tag-item data-tag-label="cloudflare stream"><a href="/tag/cloudflare-stream/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Stream</span></a></li><li data-tag-item data-tag-label="cloudflare tunnel"><a href="/tag/cloudflare-tunnel/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Tunnel</span></a></li><li data-tag-item data-tag-label="cloudflare tv"><a href="/tag/cloudflare-tv/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare TV</span></a></li><li data-tag-item data-tag-label="cloudflare workers"><a href="/tag/workers/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Workers</span></a></li><li data-tag-item data-tag-label="cloudflare workers (pt)"><a href="/tag/cloudflare-workers-pt/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Workers (PT)</span></a></li><li data-tag-item data-tag-label="cloudflare workers kv"><a href="/tag/cloudflare-workers-kv/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Workers KV</span></a></li><li data-tag-item data-tag-label="cloudflare workers kv (es)"><a href="/tag/cloudflare-workers-kv-es/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Workers KV (ES)</span></a></li><li data-tag-item data-tag-label="cloudflare zero trust"><a href="/tag/cloudflare-zero-trust/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudflare Zero Trust</span></a></li><li data-tag-item data-tag-label="cloudforce one"><a href="/tag/cloudforce-one/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudforce One</span></a></li><li data-tag-item data-tag-label="cloudy"><a href="/tag/cloudy/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cloudy</span></a></li><li data-tag-item data-tag-label="code orange"><a href="/tag/code-orange/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Code Orange</span></a></li><li data-tag-item data-tag-label="coinbase"><a href="/tag/coinbase/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Coinbase</span></a></li><li data-tag-item data-tag-label="colombia"><a href="/tag/colombia/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Colombia</span></a></li><li data-tag-item data-tag-label="community"><a href="/tag/community/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Community</span></a></li><li data-tag-item data-tag-label="compliance"><a href="/tag/compliance/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Compliance</span></a></li><li data-tag-item data-tag-label="compression"><a href="/tag/compression/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Compression</span></a></li><li data-tag-item data-tag-label="config rules"><a href="/tag/config-rules/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Config Rules</span></a></li><li data-tag-item data-tag-label="configuration management"><a href="/tag/configuration-management/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Configuration Management</span></a></li><li data-tag-item data-tag-label="congestion control"><a href="/tag/congestion-control/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Congestion Control</span></a></li><li data-tag-item data-tag-label="connectivity"><a href="/tag/connectivity/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Connectivity</span></a></li><li data-tag-item data-tag-label="connectivity cloud"><a href="/tag/connectivity-cloud/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Connectivity Cloud</span></a></li><li data-tag-item data-tag-label="consumer services"><a href="/tag/consumer-services/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Consumer Services</span></a></li><li data-tag-item data-tag-label="containers"><a href="/tag/containers/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Containers</span></a></li><li data-tag-item data-tag-label="content independence day"><a href="/tag/content-independence-day/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Content Independence Day</span></a></li><li data-tag-item data-tag-label="content scanning"><a href="/tag/content-scanning/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Content Scanning</span></a></li><li data-tag-item data-tag-label="context"><a href="/tag/context/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Context</span></a></li><li data-tag-item data-tag-label="core"><a href="/tag/core/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Core</span></a></li><li data-tag-item data-tag-label="covid-19"><a href="/tag/covid-19/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">COVID-19</span></a></li><li data-tag-item data-tag-label="crawler hints"><a href="/tag/crawler-hints/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Crawler Hints</span></a></li><li data-tag-item data-tag-label="crowdstrike"><a href="/tag/crowdstrike/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">CrowdStrike</span></a></li><li data-tag-item data-tag-label="crypto week"><a href="/tag/crypto-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Crypto Week</span></a></li><li data-tag-item data-tag-label="cryptography"><a href="/tag/cryptography/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cryptography</span></a></li><li data-tag-item data-tag-label="csam reporting"><a href="/tag/csam-reporting/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">CSAM Reporting</span></a></li><li data-tag-item data-tag-label="customer success"><a href="/tag/customer-success/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Customer Success</span></a></li><li data-tag-item data-tag-label="customer zero"><a href="/tag/customer-zero/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Customer Zero</span></a></li><li data-tag-item data-tag-label="customers"><a href="/tag/customers/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Customers</span></a></li><li data-tag-item data-tag-label="cve"><a href="/tag/cve/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">CVE</span></a></li><li data-tag-item data-tag-label="cve-2023-50387"><a href="/tag/cve-2023-50387/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">CVE-2023-50387</span></a></li><li data-tag-item data-tag-label="cyber readiness"><a href="/tag/cyber-readiness/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cyber Readiness</span></a></li><li data-tag-item data-tag-label="cybersecurity"><a href="/tag/cybersecurity/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Cybersecurity</span></a></li><li data-tag-item data-tag-label="d1"><a href="/tag/d1/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">D1</span></a></li><li data-tag-item data-tag-label="dashboard"><a href="/tag/dashboard-tag/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Dashboard</span></a></li><li data-tag-item data-tag-label="data"><a href="/tag/data/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Data</span></a></li><li data-tag-item data-tag-label="data catalog"><a href="/tag/data-catalog/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Data Catalog</span></a></li><li data-tag-item data-tag-label="data center"><a href="/tag/data-center/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Data Center</span></a></li><li data-tag-item data-tag-label="data localization"><a href="/tag/data-localization/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Data Localization</span></a></li><li data-tag-item data-tag-label="data localization suite"><a href="/tag/data-localization-suite/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Data Localization Suite</span></a></li><li data-tag-item data-tag-label="data loss"><a href="/tag/data-loss/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Data Loss</span></a></li><li data-tag-item data-tag-label="data loss prevention"><a href="/tag/data-loss-prevention/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Data Loss Prevention</span></a></li><li data-tag-item data-tag-label="data platform"><a href="/tag/data-platform/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Data Platform</span></a></li><li data-tag-item data-tag-label="data privacy day"><a href="/tag/data-privacy-day/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Data Privacy Day</span></a></li><li data-tag-item data-tag-label="data protection"><a href="/tag/data-protection/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Data Protection</span></a></li><li data-tag-item data-tag-label="data sovereignty"><a href="/tag/data-sovereignty/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Data Sovereignty</span></a></li><li data-tag-item data-tag-label="data transfer bucket"><a href="/tag/data-transfer-bucket/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Data Transfer Bucket</span></a></li><li data-tag-item data-tag-label="database"><a href="/tag/database/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Database</span></a></li><li data-tag-item data-tag-label="ddos"><a href="/tag/ddos/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">DDoS</span></a></li><li data-tag-item data-tag-label="ddos alerts"><a href="/tag/ddos-alerts/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">DDoS Alerts</span></a></li><li data-tag-item data-tag-label="ddos reports"><a href="/tag/ddos-reports/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">DDoS Reports</span></a></li><li data-tag-item data-tag-label="debugging"><a href="/tag/debugging/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Debugging</span></a></li><li data-tag-item data-tag-label="deep dive"><a href="/tag/deep-dive/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 text-accent-text opacity-100" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Deep Dive</span></a></li><li data-tag-item data-tag-label="descaler"><a href="/tag/descaler/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Descaler</span></a></li><li data-tag-item data-tag-label="design"><a href="/tag/design/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Design</span></a></li><li data-tag-item data-tag-label="deskope"><a href="/tag/deskope/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Deskope</span></a></li><li data-tag-item data-tag-label="developer documentation"><a href="/tag/developer-documentation/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Developer Documentation</span></a></li><li data-tag-item data-tag-label="developer platform"><a href="/tag/developer-platform/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Developer Platform</span></a></li><li data-tag-item data-tag-label="developer spotlight"><a href="/tag/developer-spotlight/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Developer Spotlight</span></a></li><li data-tag-item data-tag-label="developer week"><a href="/tag/developer-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Developer Week</span></a></li><li data-tag-item data-tag-label="developers"><a href="/tag/developers/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Developers</span></a></li><li data-tag-item data-tag-label="developers storage"><a href="/tag/developers-storage/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Developers Storage</span></a></li><li data-tag-item data-tag-label="device security"><a href="/tag/device-security/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Device Security</span></a></li><li data-tag-item data-tag-label="devops"><a href="/tag/devops/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">DevOps</span></a></li><li data-tag-item data-tag-label="dex"><a href="/tag/dex/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">DEX</span></a></li><li data-tag-item data-tag-label="digital experience monitoring"><a href="/tag/digital-experience-monitoring/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Digital Experience Monitoring</span></a></li><li data-tag-item data-tag-label="digital forensics"><a href="/tag/digital-forensics/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Digital Forensics</span></a></li><li data-tag-item data-tag-label="disrupt"><a href="/tag/disrupt/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Disrupt</span></a></li><li data-tag-item data-tag-label="distributed"><a href="/tag/distributed/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Distributed</span></a></li><li data-tag-item data-tag-label="distributed systems"><a href="/tag/distributed-systems/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Distributed Systems</span></a></li><li data-tag-item data-tag-label="distributed web"><a href="/tag/distributed-web/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Distributed Web</span></a></li><li data-tag-item data-tag-label="diversity"><a href="/tag/diversity/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Diversity</span></a></li><li data-tag-item data-tag-label="dlp"><a href="/tag/dlp/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">DLP</span></a></li><li data-tag-item data-tag-label="dmarc"><a href="/tag/dmarc/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">DMARC</span></a></li><li data-tag-item data-tag-label="dns"><a href="/tag/dns/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">DNS</span></a></li><li data-tag-item data-tag-label="dns filtering"><a href="/tag/dns-filtering/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">DNS Filtering</span></a></li><li data-tag-item data-tag-label="dns flood"><a href="/tag/dns-flood/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">DNS Flood</span></a></li><li data-tag-item data-tag-label="dns security"><a href="/tag/dns-security/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">DNS Security</span></a></li><li data-tag-item data-tag-label="dnssec"><a href="/tag/dnssec/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">DNSSEC</span></a></li><li data-tag-item data-tag-label="dogfooding"><a href="/tag/dogfooding/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Dogfooding</span></a></li><li data-tag-item data-tag-label="doh"><a href="/tag/doh/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">DoH</span></a></li><li data-tag-item data-tag-label="domain rankings"><a href="/tag/domain-rankings/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Domain Rankings</span></a></li><li data-tag-item data-tag-label="domain scoped roles"><a href="/tag/domain-scoped-roles/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Domain Scoped Roles</span></a></li><li data-tag-item data-tag-label="dosd"><a href="/tag/dosd/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">dosd</span></a></li><li data-tag-item data-tag-label="drupal"><a href="/tag/drupal/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Drupal</span></a></li><li data-tag-item data-tag-label="due process"><a href="/tag/due-process/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Due Process</span></a></li><li data-tag-item data-tag-label="durable execution"><a href="/tag/durable-execution/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Durable Execution</span></a></li><li data-tag-item data-tag-label="durable objects"><a href="/tag/durable-objects/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Durable Objects</span></a></li><li data-tag-item data-tag-label="early hints"><a href="/tag/early-hints/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Early Hints</span></a></li><li data-tag-item data-tag-label="earth day"><a href="/tag/earth-day/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Earth Day</span></a></li><li data-tag-item data-tag-label="ebpf"><a href="/tag/ebpf/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">eBPF</span></a></li><li data-tag-item data-tag-label="ec2"><a href="/tag/ec2/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">EC2</span></a></li><li data-tag-item data-tag-label="ecommerce"><a href="/tag/ecommerce/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">eCommerce</span></a></li><li data-tag-item data-tag-label="edge"><a href="/tag/edge/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Edge</span></a></li><li data-tag-item data-tag-label="edge computing"><a href="/tag/edge-computing/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Edge Computing</span></a></li><li data-tag-item data-tag-label="edge database"><a href="/tag/edge-database/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Edge Database</span></a></li><li data-tag-item data-tag-label="edge rules"><a href="/tag/edge-rules/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Edge Rules</span></a></li><li data-tag-item data-tag-label="education"><a href="/tag/education/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Education</span></a></li><li data-tag-item data-tag-label="egress"><a href="/tag/egress/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Egress</span></a></li><li data-tag-item data-tag-label="elastic"><a href="/tag/elastic/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Elastic</span></a></li><li data-tag-item data-tag-label="election security"><a href="/tag/election-security/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Election Security</span></a></li><li data-tag-item data-tag-label="elections"><a href="/tag/elections/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Elections</span></a></li><li data-tag-item data-tag-label="elliptic curves"><a href="/tag/elliptic-curves/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Elliptic Curves</span></a></li><li data-tag-item data-tag-label="email"><a href="/tag/email/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Email</span></a></li><li data-tag-item data-tag-label="email routing"><a href="/tag/email-routing/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Email Routing</span></a></li><li data-tag-item data-tag-label="email security"><a href="/tag/email-security/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Email Security</span></a></li><li data-tag-item data-tag-label="email workers"><a href="/tag/email-workers/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Email Workers</span></a></li><li data-tag-item data-tag-label="emdash"><a href="/tag/emdash/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">EmDash</span></a></li><li data-tag-item data-tag-label="emissions"><a href="/tag/emissions/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Emissions</span></a></li><li data-tag-item data-tag-label="employee resource groups"><a href="/tag/employee-resource-groups/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Employee Resource Groups</span></a></li><li data-tag-item data-tag-label="encrypted sni"><a href="/tag/encrypted-sni/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Encrypted SNI</span></a></li><li data-tag-item data-tag-label="encryption"><a href="/tag/encryption/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Encryption</span></a></li><li data-tag-item data-tag-label="engineering"><a href="/tag/engineering/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Engineering</span></a></li><li data-tag-item data-tag-label="enterprise"><a href="/tag/enterprise/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Enterprise</span></a></li><li data-tag-item data-tag-label="entropy"><a href="/tag/entropy/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Entropy</span></a></li><li data-tag-item data-tag-label="epyc"><a href="/tag/epyc/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">EPYC</span></a></li><li data-tag-item data-tag-label="ethereum"><a href="/tag/ethereum/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Ethereum</span></a></li><li data-tag-item data-tag-label="europe"><a href="/tag/europe/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Europe</span></a></li><li data-tag-item data-tag-label="european union"><a href="/tag/european-union/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">European Union</span></a></li><li data-tag-item data-tag-label="events"><a href="/tag/events/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Events</span></a></li><li data-tag-item data-tag-label="exploit"><a href="/tag/exploit/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Exploit</span></a></li><li data-tag-item data-tag-label="facebook"><a href="/tag/facebook/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Facebook</span></a></li><li data-tag-item data-tag-label="fancy bear"><a href="/tag/fancy-bear/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Fancy Bear</span></a></li><li data-tag-item data-tag-label="fast fonts"><a href="/tag/fast-fonts/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Fast Fonts</span></a></li><li data-tag-item data-tag-label="fcc"><a href="/tag/fcc/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">FCC</span></a></li><li data-tag-item data-tag-label="feature flags"><a href="/tag/feature-flags/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Feature Flags</span></a></li><li data-tag-item data-tag-label="fedramp"><a href="/tag/fedramp/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">FedRAMP</span></a></li><li data-tag-item data-tag-label="fedramp high"><a href="/tag/fedramp-high/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">FedRAMP High</span></a></li><li data-tag-item data-tag-label="fedramp moderate"><a href="/tag/fedramp-moderate/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">FedRAMP Moderate</span></a></li><li data-tag-item data-tag-label="firefox"><a href="/tag/firefox/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Firefox</span></a></li><li data-tag-item data-tag-label="firewall"><a href="/tag/firewall/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Firewall</span></a></li><li data-tag-item data-tag-label="firmware"><a href="/tag/firmware/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Firmware</span></a></li><li data-tag-item data-tag-label="florida"><a href="/tag/florida/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Florida</span></a></li><li data-tag-item data-tag-label="football"><a href="/tag/football/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Football</span></a></li><li data-tag-item data-tag-label="formal methods"><a href="/tag/formal-methods/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Formal Methods</span></a></li><li data-tag-item data-tag-label="forrester"><a href="/tag/forrester/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Forrester</span></a></li><li data-tag-item data-tag-label="fortran"><a href="/tag/fortran/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Fortran</span></a></li><li data-tag-item data-tag-label="foundation dns"><a href="/tag/foundation-dns/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Foundation DNS</span></a></li><li data-tag-item data-tag-label="founders' letter"><a href="/tag/founders-letter/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Founders&#39; Letter</span></a></li><li data-tag-item data-tag-label="france"><a href="/tag/france/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">France</span></a></li><li data-tag-item data-tag-label="fraud"><a href="/tag/fraud/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Fraud</span></a></li><li data-tag-item data-tag-label="free"><a href="/tag/free/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Free</span></a></li><li data-tag-item data-tag-label="freedom of speech"><a href="/tag/freedom-of-speech/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Freedom of Speech</span></a></li><li data-tag-item data-tag-label="front end"><a href="/tag/front-end/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Front End</span></a></li><li data-tag-item data-tag-label="full stack"><a href="/tag/full-stack/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Full Stack</span></a></li><li data-tag-item data-tag-label="full stack week"><a href="/tag/full-stack-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Full Stack Week</span></a></li><li data-tag-item data-tag-label="fun"><a href="/tag/fun/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Fun</span></a></li><li data-tag-item data-tag-label="ga week"><a href="/tag/ga-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">GA Week</span></a></li><li data-tag-item data-tag-label="gartner"><a href="/tag/gartner/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Gartner</span></a></li><li data-tag-item data-tag-label="gatebot"><a href="/tag/gatebot/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Gatebot</span></a></li><li data-tag-item data-tag-label="gdpr"><a href="/tag/gdpr/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">GDPR</span></a></li><li data-tag-item data-tag-label="gen x"><a href="/tag/gen-x/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Gen X</span></a></li><li data-tag-item data-tag-label="general availability"><a href="/tag/general-availability/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">General Availability</span></a></li><li data-tag-item data-tag-label="generative ai"><a href="/tag/generative-ai/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Generative AI</span></a></li><li data-tag-item data-tag-label="geo key manager"><a href="/tag/geo-key-manager/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Geo Key Manager</span></a></li><li data-tag-item data-tag-label="germany"><a href="/tag/germany/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Germany</span></a></li><li data-tag-item data-tag-label="github"><a href="/tag/github/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">GitHub</span></a></li><li data-tag-item data-tag-label="go"><a href="/tag/go/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Go</span></a></li><li data-tag-item data-tag-label="google"><a href="/tag/google/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Google</span></a></li><li data-tag-item data-tag-label="google analytics"><a href="/tag/google-analytics/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Google Analytics</span></a></li><li data-tag-item data-tag-label="google cloud"><a href="/tag/google-cloud/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Google Cloud</span></a></li><li data-tag-item data-tag-label="google workspace"><a href="/tag/google-workspace/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Google Workspace</span></a></li><li data-tag-item data-tag-label="government innovation"><a href="/tag/government-innovation/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Government Innovation</span></a></li><li data-tag-item data-tag-label="grace hopper"><a href="/tag/grace-hopper/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Grace Hopper</span></a></li><li data-tag-item data-tag-label="grafana"><a href="/tag/grafana/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Grafana</span></a></li><li data-tag-item data-tag-label="graphql"><a href="/tag/graphql/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">GraphQL</span></a></li><li data-tag-item data-tag-label="green"><a href="/tag/green/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Green</span></a></li><li data-tag-item data-tag-label="grinch"><a href="/tag/grinch/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Grinch</span></a></li><li data-tag-item data-tag-label="growth"><a href="/tag/growth/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Growth</span></a></li><li data-tag-item data-tag-label="grpc"><a href="/tag/grpc/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">gRPC</span></a></li><li data-tag-item data-tag-label="guest post"><a href="/tag/guest-post/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Guest Post</span></a></li><li data-tag-item data-tag-label="hackathon"><a href="/tag/hackathon/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Hackathon</span></a></li><li data-tag-item data-tag-label="halloween"><a href="/tag/halloween/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Halloween</span></a></li><li data-tag-item data-tag-label="hardware"><a href="/tag/hardware/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Hardware</span></a></li><li data-tag-item data-tag-label="hashicorp"><a href="/tag/hashicorp/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">HashiCorp</span></a></li><li data-tag-item data-tag-label="hertzbleed"><a href="/tag/hertzbleed/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Hertzbleed</span></a></li><li data-tag-item data-tag-label="heuristics"><a href="/tag/heuristics/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Heuristics</span></a></li><li data-tag-item data-tag-label="history"><a href="/tag/history/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">History</span></a></li><li data-tag-item data-tag-label="holidays"><a href="/tag/holidays/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Holidays</span></a></li><li data-tag-item data-tag-label="holocaust"><a href="/tag/holocaust/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Holocaust</span></a></li><li data-tag-item data-tag-label="hong kong"><a href="/tag/hongkong/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Hong Kong</span></a></li><li data-tag-item data-tag-label="hosting con"><a href="/tag/hostingcon/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Hosting Con</span></a></li><li data-tag-item data-tag-label="hostnames"><a href="/tag/hostnames/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Hostnames</span></a></li><li data-tag-item data-tag-label="http2"><a href="/tag/http2/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">HTTP2</span></a></li><li data-tag-item data-tag-label="http3"><a href="/tag/http3/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">HTTP3</span></a></li><li data-tag-item data-tag-label="https"><a href="/tag/https/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">HTTPS</span></a></li><li data-tag-item data-tag-label="human rights"><a href="/tag/human-rights/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Human Rights</span></a></li><li data-tag-item data-tag-label="hurricane"><a href="/tag/hurricane/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Hurricane</span></a></li><li data-tag-item data-tag-label="hybrid cloud"><a href="/tag/hybrid-cloud/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Hybrid Cloud</span></a></li><li data-tag-item data-tag-label="hyperdrive"><a href="/tag/hyperdrive/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Hyperdrive</span></a></li><li data-tag-item data-tag-label="i'm under attack mode"><a href="/tag/iuam/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">I&#39;m Under Attack Mode</span></a></li><li data-tag-item data-tag-label="ibm"><a href="/tag/ibm/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">IBM</span></a></li><li data-tag-item data-tag-label="icann"><a href="/tag/icann/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">ICANN</span></a></li><li data-tag-item data-tag-label="icloud private relay"><a href="/tag/icloud-private-relay/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">iCloud Private Relay</span></a></li><li data-tag-item data-tag-label="identity"><a href="/tag/identity/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Identity</span></a></li><li data-tag-item data-tag-label="ietf"><a href="/tag/ietf/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">IETF</span></a></li><li data-tag-item data-tag-label="ietf standards"><a href="/tag/ietf-standards/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">IETF Standards</span></a></li><li data-tag-item data-tag-label="il4"><a href="/tag/il4/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">IL4</span></a></li><li data-tag-item data-tag-label="image optimization"><a href="/tag/image-optimization/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Image Optimization</span></a></li><li data-tag-item data-tag-label="image recognition"><a href="/tag/image-recognition/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Image Recognition</span></a></li><li data-tag-item data-tag-label="image resizing"><a href="/tag/image-resizing/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Image Resizing</span></a></li><li data-tag-item data-tag-label="image storage"><a href="/tag/image-storage/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Image Storage</span></a></li><li data-tag-item data-tag-label="impact"><a href="/tag/impact/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Impact</span></a></li><li data-tag-item data-tag-label="impact week"><a href="/tag/impact-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Impact Week</span></a></li><li data-tag-item data-tag-label="incident report"><a href="/tag/incident-report/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Incident Report</span></a></li><li data-tag-item data-tag-label="incident response"><a href="/tag/incident-response/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Incident Response</span></a></li><li data-tag-item data-tag-label="india"><a href="/tag/india/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">India</span></a></li><li data-tag-item data-tag-label="indicators of compromise"><a href="/tag/indicators-of-compromise/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Indicators of Compromise</span></a></li><li data-tag-item data-tag-label="indonesian"><a href="/tag/indonesian-id/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Indonesian</span></a></li><li data-tag-item data-tag-label="inference"><a href="/tag/inference/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Inference</span></a></li><li data-tag-item data-tag-label="infrastructure"><a href="/tag/infrastructure/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Infrastructure</span></a></li><li data-tag-item data-tag-label="infrastructure as code"><a href="/tag/infrastructure-as-code/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Infrastructure as Code</span></a></li><li data-tag-item data-tag-label="insights"><a href="/tag/insights/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Insights</span></a></li><li data-tag-item data-tag-label="intel"><a href="/tag/intel/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Intel</span></a></li><li data-tag-item data-tag-label="interconnection"><a href="/tag/interconnection/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Interconnection</span></a></li><li data-tag-item data-tag-label="internal dns"><a href="/tag/internal-dns/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Internal DNS</span></a></li><li data-tag-item data-tag-label="internet performance"><a href="/tag/internet-performance/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Internet Performance</span></a></li><li data-tag-item data-tag-label="internet quality"><a href="/tag/internet-quality/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Internet Quality</span></a></li><li data-tag-item data-tag-label="internet regulation"><a href="/tag/internet-regulation/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Internet Regulation</span></a></li><li data-tag-item data-tag-label="internet shutdown"><a href="/tag/internet-shutdown/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Internet Shutdown</span></a></li><li data-tag-item data-tag-label="internet summit"><a href="/tag/internet-summit/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Internet Summit</span></a></li><li data-tag-item data-tag-label="internet traffic"><a href="/tag/internet-traffic/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Internet Traffic</span></a></li><li data-tag-item data-tag-label="internet trends"><a href="/tag/internet-trends/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Internet Trends</span></a></li><li data-tag-item data-tag-label="internship experience"><a href="/tag/internship-experience/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Internship Experience</span></a></li><li data-tag-item data-tag-label="intrusion detection"><a href="/tag/intrusion-detection/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Intrusion Detection</span></a></li><li data-tag-item data-tag-label="investors"><a href="/tag/investors/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Investors</span></a></li><li data-tag-item data-tag-label="iocs"><a href="/tag/iocs/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">IoCs</span></a></li><li data-tag-item data-tag-label="ios"><a href="/tag/ios/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">iOS</span></a></li><li data-tag-item data-tag-label="iot"><a href="/tag/iot/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">IoT</span></a></li><li data-tag-item data-tag-label="ipfs"><a href="/tag/ipfs/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">IPFS</span></a></li><li data-tag-item data-tag-label="ipsec"><a href="/tag/ipsec/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">IPsec</span></a></li><li data-tag-item data-tag-label="ipv4"><a href="/tag/ipv4/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">IPv4</span></a></li><li data-tag-item data-tag-label="ipv6"><a href="/tag/ipv6/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">IPv6</span></a></li><li data-tag-item data-tag-label="irap"><a href="/tag/irap/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">IRAP</span></a></li><li data-tag-item data-tag-label="israel"><a href="/tag/israel/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Israel</span></a></li><li data-tag-item data-tag-label="italy"><a href="/tag/italy/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Italy</span></a></li><li data-tag-item data-tag-label="iwd"><a href="/tag/iwd/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">IWD</span></a></li><li data-tag-item data-tag-label="jamstack"><a href="/tag/jamstack/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">JAMstack</span></a></li><li data-tag-item data-tag-label="japan"><a href="/tag/japan/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Japan</span></a></li><li data-tag-item data-tag-label="javascript"><a href="/tag/javascript/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">JavaScript</span></a></li><li data-tag-item data-tag-label="jengo"><a href="/tag/jengo/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Jengo</span></a></li><li data-tag-item data-tag-label="jengo policy"><a href="/tag/jengo-policy/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Jengo Policy</span></a></li><li data-tag-item data-tag-label="joomla"><a href="/tag/joomla/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Joomla</span></a></li><li data-tag-item data-tag-label="judeoflare"><a href="/tag/judeoflare/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Judeoflare</span></a></li><li data-tag-item data-tag-label="kafka"><a href="/tag/kafka/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Kafka</span></a></li><li data-tag-item data-tag-label="kernel"><a href="/tag/kernel/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Kernel</span></a></li><li data-tag-item data-tag-label="key value"><a href="/tag/key-value/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Key Value</span></a></li><li data-tag-item data-tag-label="keyless ssl"><a href="/tag/keyless-ssl/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Keyless SSL</span></a></li><li data-tag-item data-tag-label="keytrap"><a href="/tag/keytrap/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">KeyTrap</span></a></li><li data-tag-item data-tag-label="killnet"><a href="/tag/killnet/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Killnet</span></a></li><li data-tag-item data-tag-label="korea"><a href="/tag/korea/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Korea</span></a></li><li data-tag-item data-tag-label="kubernetes"><a href="/tag/kubernetes/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Kubernetes</span></a></li><li data-tag-item data-tag-label="langchain"><a href="/tag/langchain/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">LangChain</span></a></li><li data-tag-item data-tag-label="latency"><a href="/tag/latency/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Latency</span></a></li><li data-tag-item data-tag-label="latin america"><a href="/tag/latin-america/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Latin America</span></a></li><li data-tag-item data-tag-label="latinflare"><a href="/tag/latinflare/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Latinflare</span></a></li><li data-tag-item data-tag-label="lavarand"><a href="/tag/lavarand/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">LavaRand</span></a></li><li data-tag-item data-tag-label="lazarus group"><a href="/tag/lazarus-group/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Lazarus group</span></a></li><li data-tag-item data-tag-label="leaked credential checks"><a href="/tag/leaked-credential-checks/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Leaked Credential Checks</span></a></li><li data-tag-item data-tag-label="legal"><a href="/tag/legal/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Legal</span></a></li><li data-tag-item data-tag-label="legal patents sable"><a href="/tag/legal-patents-sable/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Legal Patents Sable</span></a></li><li data-tag-item data-tag-label="lgbtqia+"><a href="/tag/lgbtqia/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">LGBTQIA+</span></a></li><li data-tag-item data-tag-label="life at cloudflare"><a href="/tag/life-at-cloudflare/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Life at Cloudflare</span></a></li><li data-tag-item data-tag-label="linux"><a href="/tag/linux/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Linux</span></a></li><li data-tag-item data-tag-label="lisbon"><a href="/tag/lisbon/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Lisbon</span></a></li><li data-tag-item data-tag-label="live streaming"><a href="/tag/live-streaming/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Live Streaming</span></a></li><li data-tag-item data-tag-label="llama"><a href="/tag/llama/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Llama</span></a></li><li data-tag-item data-tag-label="llm"><a href="/tag/llm/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">LLM</span></a></li><li data-tag-item data-tag-label="load balancing"><a href="/tag/loadbalancing/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Load Balancing</span></a></li><li data-tag-item data-tag-label="localization"><a href="/tag/localization/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Localization</span></a></li><li data-tag-item data-tag-label="log push"><a href="/tag/log-push/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Log Push</span></a></li><li data-tag-item data-tag-label="log4j"><a href="/tag/log4j/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Log4J</span></a></li><li data-tag-item data-tag-label="log4shell"><a href="/tag/log4shell/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Log4Shell</span></a></li><li data-tag-item data-tag-label="logging"><a href="/tag/logging/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Logging</span></a></li><li data-tag-item data-tag-label="logs"><a href="/tag/logs/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Logs</span></a></li><li data-tag-item data-tag-label="lua"><a href="/tag/lua/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">LUA</span></a></li><li data-tag-item data-tag-label="machine learning"><a href="/tag/machine-learning/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Machine Learning</span></a></li><li data-tag-item data-tag-label="magecart"><a href="/tag/magecart/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Magecart</span></a></li><li data-tag-item data-tag-label="magic firewall"><a href="/tag/magic-firewall/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Magic Firewall</span></a></li><li data-tag-item data-tag-label="magic network monitoring"><a href="/tag/magic-network-monitoring/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Magic Network Monitoring</span></a></li><li data-tag-item data-tag-label="magic transit"><a href="/tag/magic-transit/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Magic Transit</span></a></li><li data-tag-item data-tag-label="magic wan"><a href="/tag/magic-wan/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Magic WAN</span></a></li><li data-tag-item data-tag-label="magic wan connector"><a href="/tag/magic-wan-connector/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Magic WAN Connector</span></a></li><li data-tag-item data-tag-label="malicious javascript"><a href="/tag/malicious-javascript/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Malicious JavaScript</span></a></li><li data-tag-item data-tag-label="malware"><a href="/tag/malware/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Malware</span></a></li><li data-tag-item data-tag-label="managed components"><a href="/tag/managed-components/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Managed Components</span></a></li><li data-tag-item data-tag-label="managed rules"><a href="/tag/managed-rules/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Managed Rules</span></a></li><li data-tag-item data-tag-label="march of cloudflare"><a href="/tag/march-of-cloudflare/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">March of Cloudflare</span></a></li><li data-tag-item data-tag-label="masque"><a href="/tag/masque/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">MASQUE</span></a></li><li data-tag-item data-tag-label="mcp"><a href="/tag/mcp/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">MCP</span></a></li><li data-tag-item data-tag-label="meerkat"><a href="/tag/meerkat/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Meerkat</span></a></li><li data-tag-item data-tag-label="meetup"><a href="/tag/meetup/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">MeetUp</span></a></li><li data-tag-item data-tag-label="meris"><a href="/tag/meris/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Meris</span></a></li><li data-tag-item data-tag-label="message protocol"><a href="/tag/message-protocol/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Message Protocol</span></a></li><li data-tag-item data-tag-label="mexico"><a href="/tag/mexico/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Mexico</span></a></li><li data-tag-item data-tag-label="micro-frontends"><a href="/tag/micro-frontends/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Micro-frontends</span></a></li><li data-tag-item data-tag-label="microsoft"><a href="/tag/microsoft/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Microsoft</span></a></li><li data-tag-item data-tag-label="microsoft 365"><a href="/tag/microsoft-365/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Microsoft 365</span></a></li><li data-tag-item data-tag-label="microsoft azure"><a href="/tag/microsoft-azure/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Microsoft Azure</span></a></li><li data-tag-item data-tag-label="middle east"><a href="/tag/middle-east/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Middle East</span></a></li><li data-tag-item data-tag-label="migration hub"><a href="/tag/migration-hub/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Migration Hub</span></a></li><li data-tag-item data-tag-label="milestones"><a href="/tag/milestone/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Milestones</span></a></li><li data-tag-item data-tag-label="miniflare"><a href="/tag/miniflare/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Miniflare</span></a></li><li data-tag-item data-tag-label="mirage"><a href="/tag/mirage/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Mirage</span></a></li><li data-tag-item data-tag-label="mirai"><a href="/tag/mirai/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Mirai</span></a></li><li data-tag-item data-tag-label="mitel"><a href="/tag/mitel/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Mitel</span></a></li><li data-tag-item data-tag-label="mitigation"><a href="/tag/mitigation/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Mitigation</span></a></li><li data-tag-item data-tag-label="mixed content errors"><a href="/tag/mixed-content-errors/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Mixed Content Errors</span></a></li><li data-tag-item data-tag-label="mlops"><a href="/tag/mlops/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">MLops</span></a></li><li data-tag-item data-tag-label="mobile"><a href="/tag/mobile/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Mobile</span></a></li><li data-tag-item data-tag-label="mobile sdk"><a href="/tag/mobile-sdk/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Mobile SDK</span></a></li><li data-tag-item data-tag-label="model context protocol"><a href="/tag/model-context-protocol/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Model Context Protocol</span></a></li><li data-tag-item data-tag-label="moldova"><a href="/tag/moldova/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Moldova</span></a></li><li data-tag-item data-tag-label="monitoring"><a href="/tag/monitoring/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Monitoring</span></a></li><li data-tag-item data-tag-label="multi-cloud"><a href="/tag/multi-cloud/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Multi-Cloud</span></a></li><li data-tag-item data-tag-label="multi-user"><a href="/tag/multi-user/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Multi-User</span></a></li><li data-tag-item data-tag-label="mysql"><a href="/tag/mysql/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">MySQL</span></a></li><li data-tag-item data-tag-label="naas"><a href="/tag/naas/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">NaaS</span></a></li><li data-tag-item data-tag-label="net neutrality"><a href="/tag/net-neutrality/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Net Neutrality</span></a></li><li data-tag-item data-tag-label="network"><a href="/tag/network/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Network</span></a></li><li data-tag-item data-tag-label="network interconnect"><a href="/tag/network-interconnect/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Network Interconnect</span></a></li><li data-tag-item data-tag-label="network performance update"><a href="/tag/network-performance-update/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Network Performance Update</span></a></li><li data-tag-item data-tag-label="network protection"><a href="/tag/network-protection/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Network Protection</span></a></li><li data-tag-item data-tag-label="network services"><a href="/tag/network-services/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Network Services</span></a></li><li data-tag-item data-tag-label="networking"><a href="/tag/networking/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Networking</span></a></li><li data-tag-item data-tag-label="new year"><a href="/tag/new-year/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">New Year</span></a></li><li data-tag-item data-tag-label="nginx"><a href="/tag/nginx/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">NGINX</span></a></li><li data-tag-item data-tag-label="ninjas"><a href="/tag/ninjas/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Ninjas</span></a></li><li data-tag-item data-tag-label="nist"><a href="/tag/nist/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">NIST</span></a></li><li data-tag-item data-tag-label="node.js"><a href="/tag/node-js/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Node.js</span></a></li><li data-tag-item data-tag-label="north america"><a href="/tag/north-america/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">North America</span></a></li><li data-tag-item data-tag-label="notebooks"><a href="/tag/notebooks/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Notebooks</span></a></li><li data-tag-item data-tag-label="notifications"><a href="/tag/notifications/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Notifications</span></a></li><li data-tag-item data-tag-label="nsec3"><a href="/tag/nsec3/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">NSEC3</span></a></li><li data-tag-item data-tag-label="oauth"><a href="/tag/oauth/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">OAuth</span></a></li><li data-tag-item data-tag-label="observability"><a href="/tag/observability/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Observability</span></a></li><li data-tag-item data-tag-label="oceania"><a href="/tag/oceania/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Oceania</span></a></li><li data-tag-item data-tag-label="ocsp"><a href="/tag/ocsp/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">OCSP</span></a></li><li data-tag-item data-tag-label="offices"><a href="/tag/offices/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Offices</span></a></li><li data-tag-item data-tag-label="okta"><a href="/tag/okta/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Okta</span></a></li><li data-tag-item data-tag-label="olympics"><a href="/tag/olympics/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Olympics</span></a></li><li data-tag-item data-tag-label="onboarding"><a href="/tag/onboarding/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Onboarding</span></a></li><li data-tag-item data-tag-label="open api"><a href="/tag/open-api/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Open API</span></a></li><li data-tag-item data-tag-label="open source"><a href="/tag/open-source/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Open Source</span></a></li><li data-tag-item data-tag-label="openai"><a href="/tag/openai/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">OpenAI</span></a></li><li data-tag-item data-tag-label="openbmc"><a href="/tag/open-bmc/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">OpenBMC</span></a></li><li data-tag-item data-tag-label="opendns"><a href="/tag/opendns/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">OpenDNS</span></a></li><li data-tag-item data-tag-label="openssl"><a href="/tag/openssl/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">OpenSSL</span></a></li><li data-tag-item data-tag-label="opentelemetry "><a href="/tag/opentelemetry/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">OpenTelemetry </span></a></li><li data-tag-item data-tag-label="optimization"><a href="/tag/optimization/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Optimization</span></a></li><li data-tag-item data-tag-label="origin rules"><a href="/tag/origin-rules/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Origin Rules</span></a></li><li data-tag-item data-tag-label="outage"><a href="/tag/outage/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Outage</span></a></li><li data-tag-item data-tag-label="oxy"><a href="/tag/oxy/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Oxy</span></a></li><li data-tag-item data-tag-label="pacific northwest"><a href="/tag/pacific-northwest/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Pacific Northwest</span></a></li><li data-tag-item data-tag-label="page rules"><a href="/tag/page-rules/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Page Rules</span></a></li><li data-tag-item data-tag-label="page shield"><a href="/tag/page-shield/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Page Shield</span></a></li><li data-tag-item data-tag-label="parallels"><a href="/tag/parallels/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Parallels</span></a></li><li data-tag-item data-tag-label="partners"><a href="/tag/partners/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Partners</span></a></li><li data-tag-item data-tag-label="partnership"><a href="/tag/partnerships/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Partnership</span></a></li><li data-tag-item data-tag-label="password-reuse"><a href="/tag/password-reuse/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Password-reuse</span></a></li><li data-tag-item data-tag-label="passwords"><a href="/tag/passwords/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Passwords</span></a></li><li data-tag-item data-tag-label="passwords (pt)"><a href="/tag/passwords-pt/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Passwords (PT)</span></a></li><li data-tag-item data-tag-label="patents"><a href="/tag/patents/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Patents</span></a></li><li data-tag-item data-tag-label="pay per crawl"><a href="/tag/pay-per-crawl/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Pay Per Crawl</span></a></li><li data-tag-item data-tag-label="paygo"><a href="/tag/paygo/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">PAYGO</span></a></li><li data-tag-item data-tag-label="payments"><a href="/tag/payments/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Payments</span></a></li><li data-tag-item data-tag-label="pci certified"><a href="/tag/pci-certified/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">PCI Certified</span></a></li><li data-tag-item data-tag-label="peering"><a href="/tag/peering/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Peering</span></a></li><li data-tag-item data-tag-label="performance"><a href="/tag/performance/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Performance</span></a></li><li data-tag-item data-tag-label="performance optimization"><a href="/tag/performance-optimization/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Performance Optimization</span></a></li><li data-tag-item data-tag-label="phishing"><a href="/tag/phishing/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Phishing</span></a></li><li data-tag-item data-tag-label="php"><a href="/tag/php/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">php</span></a></li><li data-tag-item data-tag-label="phython"><a href="/tag/phython/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Phython</span></a></li><li data-tag-item data-tag-label="pingora"><a href="/tag/pingora/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Pingora</span></a></li><li data-tag-item data-tag-label="pipelines"><a href="/tag/pipelines/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Pipelines</span></a></li><li data-tag-item data-tag-label="planetscale"><a href="/tag/planetscale/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">PlanetScale</span></a></li><li data-tag-item data-tag-label="plans"><a href="/tag/plans/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Plans</span></a></li><li data-tag-item data-tag-label="platform engineering"><a href="/tag/platform-engineering/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Platform Engineering</span></a></li><li data-tag-item data-tag-label="platform week"><a href="/tag/platform-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Platform Week</span></a></li><li data-tag-item data-tag-label="plesk"><a href="/tag/plesk/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Plesk</span></a></li><li data-tag-item data-tag-label="policy &amp; legal"><a href="/tag/policy/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Policy &amp; Legal</span></a></li><li data-tag-item data-tag-label="politics"><a href="/tag/politics/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Politics</span></a></li><li data-tag-item data-tag-label="portugal"><a href="/tag/portugal/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Portugal</span></a></li><li data-tag-item data-tag-label="post mortem"><a href="/tag/post-mortem/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Post Mortem</span></a></li><li data-tag-item data-tag-label="post-quantum"><a href="/tag/post-quantum/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Post-Quantum</span></a></li><li data-tag-item data-tag-label="postgres"><a href="/tag/postgres/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Postgres</span></a></li><li data-tag-item data-tag-label="precursor"><a href="/tag/precursor/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Precursor</span></a></li><li data-tag-item data-tag-label="prepared statements"><a href="/tag/prepared-statements/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Prepared Statements</span></a></li><li data-tag-item data-tag-label="prisma"><a href="/tag/prisma/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Prisma</span></a></li><li data-tag-item data-tag-label="privacy"><a href="/tag/privacy/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Privacy</span></a></li><li data-tag-item data-tag-label="privacy pass"><a href="/tag/privacy-pass/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Privacy Pass</span></a></li><li data-tag-item data-tag-label="privacy week"><a href="/tag/privacy-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Privacy Week</span></a></li><li data-tag-item data-tag-label="private ip"><a href="/tag/private-ip/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Private IP</span></a></li><li data-tag-item data-tag-label="private network"><a href="/tag/private-network/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Private Network</span></a></li><li data-tag-item data-tag-label="product design"><a href="/tag/product-design/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Product Design</span></a></li><li data-tag-item data-tag-label="product news"><a href="/tag/product-news/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Product News</span></a></li><li data-tag-item data-tag-label="programming"><a href="/tag/programming/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Programming</span></a></li><li data-tag-item data-tag-label="programming (pt)"><a href="/tag/programming-pt/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Programming (PT)</span></a></li><li data-tag-item data-tag-label="project fair shot"><a href="/tag/project-fair-shot/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Project Fair Shot</span></a></li><li data-tag-item data-tag-label="project galileo"><a href="/tag/project-galileo/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Project Galileo</span></a></li><li data-tag-item data-tag-label="project honey pot"><a href="/tag/project-honey-pot/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Project Honey Pot</span></a></li><li data-tag-item data-tag-label="project pangea"><a href="/tag/project-pangea/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Project Pangea</span></a></li><li data-tag-item data-tag-label="project safekeeping"><a href="/tag/project-safekeeping/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Project Safekeeping</span></a></li><li data-tag-item data-tag-label="project turpentine"><a href="/tag/project-turpentine/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Project Turpentine</span></a></li><li data-tag-item data-tag-label="prometheus"><a href="/tag/prometheus/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Prometheus</span></a></li><li data-tag-item data-tag-label="protocols"><a href="/tag/protocols/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Protocols</span></a></li><li data-tag-item data-tag-label="proudflare"><a href="/tag/proudflare/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Proudflare</span></a></li><li data-tag-item data-tag-label="proxying"><a href="/tag/proxying/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Proxying</span></a></li><li data-tag-item data-tag-label="public sector"><a href="/tag/public-sector/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Public Sector</span></a></li><li data-tag-item data-tag-label="python"><a href="/tag/python/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Python</span></a></li><li data-tag-item data-tag-label="python workers"><a href="/tag/python-workers/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Python Workers</span></a></li><li data-tag-item data-tag-label="quantization"><a href="/tag/quantization/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Quantization</span></a></li><li data-tag-item data-tag-label="queues"><a href="/tag/queues/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Queues</span></a></li><li data-tag-item data-tag-label="quic"><a href="/tag/quic/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">QUIC</span></a></li><li data-tag-item data-tag-label="quiche"><a href="/tag/quiche/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">QUICHE</span></a></li><li data-tag-item data-tag-label="quicksilver"><a href="/tag/quicksilver/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Quicksilver</span></a></li><li data-tag-item data-tag-label="r2"><a href="/tag/r2/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">R2</span></a></li><li data-tag-item data-tag-label="r2 super slurper"><a href="/tag/r2-super-slurper/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">R2 Super Slurper</span></a></li><li data-tag-item data-tag-label="radar"><a href="/tag/cloudflare-radar/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Radar</span></a></li><li data-tag-item data-tag-label="radar alerts"><a href="/tag/radar-alerts/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Radar Alerts</span></a></li><li data-tag-item data-tag-label="radar api"><a href="/tag/radar-api/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Radar API</span></a></li><li data-tag-item data-tag-label="radar maps"><a href="/tag/radar-maps/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Radar Maps</span></a></li><li data-tag-item data-tag-label="railgun"><a href="/tag/railgun/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Railgun</span></a></li><li data-tag-item data-tag-label="randomness"><a href="/tag/randomness/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Randomness</span></a></li><li data-tag-item data-tag-label="ransom attacks"><a href="/tag/ransom-attacks/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Ransom Attacks</span></a></li><li data-tag-item data-tag-label="rapid reset"><a href="/tag/rapid-reset/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Rapid Reset</span></a></li><li data-tag-item data-tag-label="raspberry pi"><a href="/tag/raspberry-pi/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Raspberry Pi</span></a></li><li data-tag-item data-tag-label="rate limiting"><a href="/tag/rate-limiting/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Rate Limiting</span></a></li><li data-tag-item data-tag-label="rc4"><a href="/tag/rc4/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">RC4</span></a></li><li data-tag-item data-tag-label="rddos"><a href="/tag/rddos/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">RDDoS</span></a></li><li data-tag-item data-tag-label="react"><a href="/tag/react/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">React</span></a></li><li data-tag-item data-tag-label="reading list"><a href="/tag/reading-list/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Reading List</span></a></li><li data-tag-item data-tag-label="real-time"><a href="/tag/real-time/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Real-time</span></a></li><li data-tag-item data-tag-label="recruiting"><a href="/tag/recruiting/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Recruiting</span></a></li><li data-tag-item data-tag-label="regional services"><a href="/tag/regional-services/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Regional Services</span></a></li><li data-tag-item data-tag-label="registrar"><a href="/tag/registrar/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Registrar</span></a></li><li data-tag-item data-tag-label="reliability"><a href="/tag/reliability/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Reliability</span></a></li><li data-tag-item data-tag-label="remote browser isolation"><a href="/tag/remote-browser-isolation/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Remote Browser Isolation</span></a></li><li data-tag-item data-tag-label="remote desktop protocol "><a href="/tag/remote-desktop-protocol/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Remote Desktop Protocol </span></a></li><li data-tag-item data-tag-label="remote work"><a href="/tag/remote-work/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Remote Work</span></a></li><li data-tag-item data-tag-label="replication"><a href="/tag/replication/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Replication</span></a></li><li data-tag-item data-tag-label="research"><a href="/tag/research/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Research</span></a></li><li data-tag-item data-tag-label="resolver"><a href="/tag/resolver/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Resolver</span></a></li><li data-tag-item data-tag-label="restreaming"><a href="/tag/restreaming/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Restreaming</span></a></li><li data-tag-item data-tag-label="retreat"><a href="/tag/retreat/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Retreat</span></a></li><li data-tag-item data-tag-label="reverse engineering"><a href="/tag/reverse-engineering/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Reverse Engineering</span></a></li><li data-tag-item data-tag-label="revil"><a href="/tag/revil/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">REvil</span></a></li><li data-tag-item data-tag-label="risk management"><a href="/tag/risk-management/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Risk Management</span></a></li><li data-tag-item data-tag-label="road to zero trust"><a href="/tag/road-to-zero-trust/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Road to Zero Trust</span></a></li><li data-tag-item data-tag-label="rocket loader"><a href="/tag/rocketloader/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Rocket Loader</span></a></li><li data-tag-item data-tag-label="rocksdb"><a href="/tag/rocksdb/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">RocksDB</span></a></li><li data-tag-item data-tag-label="routing"><a href="/tag/routing/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Routing</span></a></li><li data-tag-item data-tag-label="routing security"><a href="/tag/routing-security/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Routing Security</span></a></li><li data-tag-item data-tag-label="rpc"><a href="/tag/rpc/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">RPC</span></a></li><li data-tag-item data-tag-label="rpki"><a href="/tag/rpki/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">RPKI</span></a></li><li data-tag-item data-tag-label="rrdns"><a href="/tag/rrdns/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">RRDNS</span></a></li><li data-tag-item data-tag-label="rsa"><a href="/tag/rsa/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">RSA</span></a></li><li data-tag-item data-tag-label="russia"><a href="/tag/russia/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Russia</span></a></li><li data-tag-item data-tag-label="rust"><a href="/tag/rust/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Rust</span></a></li><li data-tag-item data-tag-label="rust workers"><a href="/tag/rust-workers/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Rust Workers</span></a></li><li data-tag-item data-tag-label="saas"><a href="/tag/saas/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SaaS</span></a></li><li data-tag-item data-tag-label="saas security"><a href="/tag/saas-security/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SAAS Security</span></a></li><li data-tag-item data-tag-label="sable"><a href="/tag/sable/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Sable</span></a></li><li data-tag-item data-tag-label="salt"><a href="/tag/salt/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Salt</span></a></li><li data-tag-item data-tag-label="sampling"><a href="/tag/sampling/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Sampling</span></a></li><li data-tag-item data-tag-label="sandbox"><a href="/tag/sandbox/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Sandbox</span></a></li><li data-tag-item data-tag-label="sase"><a href="/tag/sase/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SASE</span></a></li><li data-tag-item data-tag-label="save the web"><a href="/tag/savetheweb/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Save The Web</span></a></li><li data-tag-item data-tag-label="sdk"><a href="/tag/sdk/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SDK</span></a></li><li data-tag-item data-tag-label="search engine"><a href="/tag/search-engine/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Search Engine</span></a></li><li data-tag-item data-tag-label="secrets store"><a href="/tag/secrets-store/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Secrets Store</span></a></li><li data-tag-item data-tag-label="secure web gateway"><a href="/tag/secure-web-gateway/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Secure Web Gateway</span></a></li><li data-tag-item data-tag-label="security"><a href="/tag/security/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Security</span></a></li><li data-tag-item data-tag-label="security analytics"><a href="/tag/security-analytics/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Security Analytics</span></a></li><li data-tag-item data-tag-label="security center"><a href="/tag/security-center/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Security Center</span></a></li><li data-tag-item data-tag-label="security posture"><a href="/tag/security-posture/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Security Posture</span></a></li><li data-tag-item data-tag-label="security posture management"><a href="/tag/security-posture-management/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Security Posture Management</span></a></li><li data-tag-item data-tag-label="security service edge"><a href="/tag/security-service-edge/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Security Service Edge</span></a></li><li data-tag-item data-tag-label="security week"><a href="/tag/security-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Security Week</span></a></li><li data-tag-item data-tag-label="security.txt"><a href="/tag/security-txt/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">security.txt</span></a></li><li data-tag-item data-tag-label="seo"><a href="/tag/seo/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SEO</span></a></li><li data-tag-item data-tag-label="server push"><a href="/tag/server-push/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Server Push</span></a></li><li data-tag-item data-tag-label="serverless"><a href="/tag/serverless/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Serverless</span></a></li><li data-tag-item data-tag-label="serverless (pt)"><a href="/tag/serverless-pt/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Serverless (PT)</span></a></li><li data-tag-item data-tag-label="serverless ai"><a href="/tag/serverless-ai/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Serverless AI</span></a></li><li data-tag-item data-tag-label="serverless week"><a href="/tag/serverless-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Serverless Week</span></a></li><li data-tag-item data-tag-label="servers"><a href="/tag/servers/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Servers</span></a></li><li data-tag-item data-tag-label="siem"><a href="/tag/siem/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SIEM</span></a></li><li data-tag-item data-tag-label="signed exchanges (sxg)"><a href="/tag/signed-exchanges/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Signed Exchanges (SXG)</span></a></li><li data-tag-item data-tag-label="sim"><a href="/tag/sim/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SIM</span></a></li><li data-tag-item data-tag-label="singapore"><a href="/tag/singapore/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Singapore</span></a></li><li data-tag-item data-tag-label="single sign on (sso)"><a href="/tag/sso/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Single Sign On (SSO)</span></a></li><li data-tag-item data-tag-label="smart placement"><a href="/tag/smart-placement/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Smart Placement</span></a></li><li data-tag-item data-tag-label="smart shield"><a href="/tag/smart-shield/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Smart Shield</span></a></li><li data-tag-item data-tag-label="snippets"><a href="/tag/snippets/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Snippets</span></a></li><li data-tag-item data-tag-label="soc as a service"><a href="/tag/soc-as-a-service/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SOC as a Service</span></a></li><li data-tag-item data-tag-label="south africa"><a href="/tag/south-africa/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">South Africa</span></a></li><li data-tag-item data-tag-label="south america"><a href="/tag/south-america/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">South America</span></a></li><li data-tag-item data-tag-label="spain"><a href="/tag/spain/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Spain</span></a></li><li data-tag-item data-tag-label="spdy"><a href="/tag/spdy/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">spdy</span></a></li><li data-tag-item data-tag-label="spectrum"><a href="/tag/spectrum/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Spectrum</span></a></li><li data-tag-item data-tag-label="speed"><a href="/tag/speed/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Speed</span></a></li><li data-tag-item data-tag-label="speed &amp; reliability"><a href="/tag/speed-and-reliability/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Speed &amp; Reliability</span></a></li><li data-tag-item data-tag-label="speed brain"><a href="/tag/speed-brain/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Speed Brain</span></a></li><li data-tag-item data-tag-label="speed week"><a href="/tag/speed-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Speed Week</span></a></li><li data-tag-item data-tag-label="spoofing"><a href="/tag/spoofing/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Spoofing</span></a></li><li data-tag-item data-tag-label="sports"><a href="/tag/sports/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Sports</span></a></li><li data-tag-item data-tag-label="sql"><a href="/tag/sql/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SQL</span></a></li><li data-tag-item data-tag-label="sre"><a href="/tag/sre/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SRE</span></a></li><li data-tag-item data-tag-label="sse"><a href="/tag/sse/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SSE</span></a></li><li data-tag-item data-tag-label="ssh"><a href="/tag/ssh/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SSH</span></a></li><li data-tag-item data-tag-label="ssl"><a href="/tag/ssl/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SSL</span></a></li><li data-tag-item data-tag-label="standards"><a href="/tag/standards/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Standards</span></a></li><li data-tag-item data-tag-label="startup enterprise plan"><a href="/tag/startup-enterprise-plan/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Startup Enterprise Plan</span></a></li><li data-tag-item data-tag-label="statistics"><a href="/tag/statistics/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Statistics</span></a></li><li data-tag-item data-tag-label="stopthehacker"><a href="/tag/stopthehacker/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">StopTheHacker</span></a></li><li data-tag-item data-tag-label="storage"><a href="/tag/storage/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Storage</span></a></li><li data-tag-item data-tag-label="sumo logic"><a href="/tag/sumo-logic/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Sumo Logic</span></a></li><li data-tag-item data-tag-label="super bowl"><a href="/tag/super-bowl/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Super Bowl</span></a></li><li data-tag-item data-tag-label="supercloud"><a href="/tag/supercloud/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Supercloud</span></a></li><li data-tag-item data-tag-label="supply chain attacks"><a href="/tag/supply-chain-attacks/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Supply Chain Attacks</span></a></li><li data-tag-item data-tag-label="support"><a href="/tag/support/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Support</span></a></li><li data-tag-item data-tag-label="sustainability"><a href="/tag/sustainability/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Sustainability</span></a></li><li data-tag-item data-tag-label="swag"><a href="/tag/swag/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SWAG</span></a></li><li data-tag-item data-tag-label="swg"><a href="/tag/swg/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SWG</span></a></li><li data-tag-item data-tag-label="swift"><a href="/tag/swift/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Swift</span></a></li><li data-tag-item data-tag-label="switzerland"><a href="/tag/switzerland/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Switzerland</span></a></li><li data-tag-item data-tag-label="sxsw"><a href="/tag/sxsw/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SXSW</span></a></li><li data-tag-item data-tag-label="syn"><a href="/tag/syn/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SYN</span></a></li><li data-tag-item data-tag-label="syn flood"><a href="/tag/syn-flood/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">SYN Flood</span></a></li><li data-tag-item data-tag-label="syria"><a href="/tag/syria/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Syria</span></a></li><li data-tag-item data-tag-label="tcp"><a href="/tag/tcp/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 text-accent-text opacity-100" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">TCP</span></a></li><li data-tag-item data-tag-label="team"><a href="/tag/team/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Team</span></a></li><li data-tag-item data-tag-label="teams dashboard"><a href="/tag/teams-dashboard/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Teams Dashboard</span></a></li><li data-tag-item data-tag-label="tech talks"><a href="/tag/tech-talks/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Tech Talks</span></a></li><li data-tag-item data-tag-label="techcrunch"><a href="/tag/techcrunch/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">TechCrunch</span></a></li><li data-tag-item data-tag-label="technical writing"><a href="/tag/technical-writing/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Technical Writing</span></a></li><li data-tag-item data-tag-label="terraform"><a href="/tag/terraform/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Terraform</span></a></li><li data-tag-item data-tag-label="testimonials"><a href="/tag/testimonials/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Testimonials</span></a></li><li data-tag-item data-tag-label="testing"><a href="/tag/testing/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Testing</span></a></li><li data-tag-item data-tag-label="texas"><a href="/tag/texas/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Texas</span></a></li><li data-tag-item data-tag-label="thanksgiving"><a href="/tag/thanksgiving/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Thanksgiving</span></a></li><li data-tag-item data-tag-label="the serverlist newsletter"><a href="/tag/serverlist/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">The Serverlist Newsletter</span></a></li><li data-tag-item data-tag-label="threat data"><a href="/tag/threat-data/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Threat Data</span></a></li><li data-tag-item data-tag-label="threat feeds"><a href="/tag/threat-feeds/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Threat Feeds</span></a></li><li data-tag-item data-tag-label="threat intelligence"><a href="/tag/threat-intelligence/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Threat Intelligence</span></a></li><li data-tag-item data-tag-label="threat operations"><a href="/tag/threat-operations/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Threat Operations</span></a></li><li data-tag-item data-tag-label="threat report"><a href="/tag/threat-report/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Threat Report</span></a></li><li data-tag-item data-tag-label="threats"><a href="/tag/threats/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Threats</span></a></li><li data-tag-item data-tag-label="tiered cache"><a href="/tag/tiered-cache/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Tiered Cache</span></a></li><li data-tag-item data-tag-label="tiktok"><a href="/tag/tiktok/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">TikTok</span></a></li><li data-tag-item data-tag-label="tls"><a href="/tag/tls/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">TLS</span></a></li><li data-tag-item data-tag-label="tls 1.3"><a href="/tag/tls-1-3/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">TLS 1.3</span></a></li><li data-tag-item data-tag-label="tools"><a href="/tag/tools/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Tools</span></a></li><li data-tag-item data-tag-label="tor"><a href="/tag/tor/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Tor</span></a></li><li data-tag-item data-tag-label="tracing"><a href="/tag/tracing/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Tracing</span></a></li><li data-tag-item data-tag-label="traffic"><a href="/tag/traffic/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Traffic</span></a></li><li data-tag-item data-tag-label="transform rules"><a href="/tag/transform-rules/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Transform Rules</span></a></li><li data-tag-item data-tag-label="transparency"><a href="/tag/transparency/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Transparency</span></a></li><li data-tag-item data-tag-label="trends"><a href="/tag/trends/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Trends</span></a></li><li data-tag-item data-tag-label="trust &amp; safety"><a href="/tag/trust-and-safety/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Trust &amp; Safety</span></a></li><li data-tag-item data-tag-label="ttfb"><a href="/tag/ttfb/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">TTFB</span></a></li><li data-tag-item data-tag-label="ttl"><a href="/tag/ttl/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">TTL</span></a></li><li data-tag-item data-tag-label="turn"><a href="/tag/turn/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">TURN</span></a></li><li data-tag-item data-tag-label="turn server"><a href="/tag/turn-server/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">TURN Server</span></a></li><li data-tag-item data-tag-label="turnstile"><a href="/tag/turnstile/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Turnstile</span></a></li><li data-tag-item data-tag-label="typescript"><a href="/tag/typescript/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">TypeScript</span></a></li><li data-tag-item data-tag-label="udp"><a href="/tag/udp/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">UDP</span></a></li><li data-tag-item data-tag-label="ukraine"><a href="/tag/ukraine/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Ukraine</span></a></li><li data-tag-item data-tag-label="united kingdom"><a href="/tag/united-kingdom/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">United Kingdom</span></a></li><li data-tag-item data-tag-label="universal ssl"><a href="/tag/universal-ssl/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Universal SSL</span></a></li><li data-tag-item data-tag-label="url scanner"><a href="/tag/url-scanner/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">URL Scanner</span></a></li><li data-tag-item data-tag-label="usa"><a href="/tag/usa/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">USA</span></a></li><li data-tag-item data-tag-label="user research"><a href="/tag/user-research/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">User Research</span></a></li><li data-tag-item data-tag-label="vdi"><a href="/tag/vdi/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">VDI</span></a></li><li data-tag-item data-tag-label="vectorize"><a href="/tag/vectorize/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Vectorize</span></a></li><li data-tag-item data-tag-label="vetflare"><a href="/tag/vetflare/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Vetflare</span></a></li><li data-tag-item data-tag-label="video"><a href="/tag/video/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Video</span></a></li><li data-tag-item data-tag-label="visibility"><a href="/tag/visibility/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Visibility</span></a></li><li data-tag-item data-tag-label="vite"><a href="/tag/vite/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Vite</span></a></li><li data-tag-item data-tag-label="voip"><a href="/tag/voip/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">VoIP</span></a></li><li data-tag-item data-tag-label="vpc"><a href="/tag/vpc/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">VPC</span></a></li><li data-tag-item data-tag-label="vpn"><a href="/tag/vpn/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">VPN</span></a></li><li data-tag-item data-tag-label="vulnerabilities"><a href="/tag/vulnerabilities/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Vulnerabilities</span></a></li><li data-tag-item data-tag-label="waf"><a href="/tag/waf/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">WAF</span></a></li><li data-tag-item data-tag-label="waf attack score"><a href="/tag/waf-attack-score/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">WAF Attack Score</span></a></li><li data-tag-item data-tag-label="waf rules"><a href="/tag/waf-rules/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">WAF Rules</span></a></li><li data-tag-item data-tag-label="waiting room"><a href="/tag/waiting-room/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Waiting Room</span></a></li><li data-tag-item data-tag-label="warp"><a href="/tag/warp/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">WARP</span></a></li><li data-tag-item data-tag-label="warp connector"><a href="/tag/warp-connector/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">WARP Connector</span></a></li><li data-tag-item data-tag-label="wasm"><a href="/tag/wasm/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">WASM</span></a></li><li data-tag-item data-tag-label="web application firewall"><a href="/tag/web-application-firewall/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Web Application Firewall</span></a></li><li data-tag-item data-tag-label="web asset discovery"><a href="/tag/web-asset-discovery/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Web Asset Discovery</span></a></li><li data-tag-item data-tag-label="web3"><a href="/tag/web3/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Web3</span></a></li><li data-tag-item data-tag-label="webassembly"><a href="/tag/webassembly/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">WebAssembly</span></a></li><li data-tag-item data-tag-label="webinars"><a href="/tag/webinars/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Webinars</span></a></li><li data-tag-item data-tag-label="webmcp"><a href="/tag/webmcp/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">WebMCP</span></a></li><li data-tag-item data-tag-label="webp"><a href="/tag/webp/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">WebP</span></a></li><li data-tag-item data-tag-label="webrtc"><a href="/tag/webrtc/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">WebRTC</span></a></li><li data-tag-item data-tag-label="websockets"><a href="/tag/websockets/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">WebSockets</span></a></li><li data-tag-item data-tag-label="wildebeest"><a href="/tag/wildebeest/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Wildebeest</span></a></li><li data-tag-item data-tag-label="womenflare"><a href="/tag/womenflare/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Womenflare</span></a></li><li data-tag-item data-tag-label="wordpress"><a href="/tag/wordpress/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">WordPress</span></a></li><li data-tag-item data-tag-label="workers ai"><a href="/tag/workers-ai/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Workers AI</span></a></li><li data-tag-item data-tag-label="workers launchpad"><a href="/tag/workers-launchpad/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Workers Launchpad</span></a></li><li data-tag-item data-tag-label="workers logs"><a href="/tag/workers-logs/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Workers Logs</span></a></li><li data-tag-item data-tag-label="workers observability"><a href="/tag/workers-observability/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Workers Observability</span></a></li><li data-tag-item data-tag-label="workers sites"><a href="/tag/workers-sites/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Workers Sites</span></a></li><li data-tag-item data-tag-label="workers unbound"><a href="/tag/workers-unbound/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Workers Unbound</span></a></li><li data-tag-item data-tag-label="workers vpc"><a href="/tag/workers-vpc/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Workers VPC</span></a></li><li data-tag-item data-tag-label="workflows"><a href="/tag/workflows/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Workflows</span></a></li><li data-tag-item data-tag-label="world ipv6 day"><a href="/tag/world-ipv6-day/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">World IPv6 Day</span></a></li><li data-tag-item data-tag-label="wrangler"><a href="/tag/wrangler/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Wrangler</span></a></li><li data-tag-item data-tag-label="x402"><a href="/tag/x402/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">x402</span></a></li><li data-tag-item data-tag-label="year in review"><a href="/tag/year-in-review/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Year in Review</span></a></li><li data-tag-item data-tag-label="z3"><a href="/tag/z3/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Z3</span></a></li><li data-tag-item data-tag-label="zaraz"><a href="/tag/zaraz/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Zaraz</span></a></li><li data-tag-item data-tag-label="zero day threats"><a href="/tag/zero-day-threats/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Zero Day Threats</span></a></li><li data-tag-item data-tag-label="zero trust"><a href="/tag/zero-trust/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Zero Trust</span></a></li><li data-tag-item data-tag-label="zero trust week"><a href="/tag/zero-trust-week/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Zero Trust Week</span></a></li><li data-tag-item data-tag-label="zone versioning"><a href="/tag/zone-versioning/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Zone Versioning</span></a></li><li data-tag-item data-tag-label="artificial intelligence"><a href="/tag/artificial-intelligence/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Artificial Intelligence</span></a></li><li data-tag-item data-tag-label="workers"><a href="/tag/workers-1/" class="min-w-0!"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" class="shrink-0 opacity-0" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg><span class="truncate">Workers</span></a></li></ul></div></details></nav><div id="post-breadcrumb-extra-tags-mobile" data-breadcrumb-extra class="md:hidden grid transition-[grid-template-rows] duration-300 ease-out" style="grid-template-rows: 0fr;" inert><div class="overflow-hidden"><div class="flex flex-wrap items-center gap-1.5 pt-1.5"><a href="/tag/deep-dive/" class="inline-flex items-center justify-center px-[10px] py-[4px] rounded-full border border-tag-border text-tag-text text-[13px] leading-normal whitespace-nowrap transition-colors hover:border-tag-text">Deep Dive</a><a href="/tag/tcp/" class="inline-flex items-center justify-center px-[10px] py-[4px] rounded-full border border-tag-border text-tag-text text-[13px] leading-normal whitespace-nowrap transition-colors hover:border-tag-text">TCP</a></div></div></div></div><script type="module">globalThis.process??={},globalThis.process.env??={},document.querySelectorAll(`[data-breadcrumb-toggle]`).forEach(e=>{let t=e.getAttribute(`aria-controls`),n=t?document.getElementById(t):null,r=e.querySelector(`[data-breadcrumb-toggle-icon]`);n&&e.addEventListener(`click`,()=>{let t=e.getAttribute(`aria-expanded`)!==`true`;e.setAttribute(`aria-expanded`,String(t)),n.style.gridTemplateRows=t?`1fr`:`0fr`,n.inert=!t,r?.classList.toggle(`rotate-180`,t)})});var e=document.querySelectorAll(`[data-tags-dropdown]`);e.length&&(document.addEventListener(`click`,t=>{let n=t.target;n instanceof Node&&e.forEach(e=>{e.open&&!e.contains(n)&&(e.open=!1)})}),document.addEventListener(`keydown`,t=>{t.key===`Escape`&&e.forEach(e=>{e.open&&=!1})})),e.forEach(e=>{let t=e.querySelector(`[data-tag-search-input]`),n=e.querySelector(`[data-tag-search-clear]`),r=e.querySelector(`[data-selected-tags-heading]`),i=e.querySelector(`[data-selected-tags-list]`),a=e.querySelector(`[data-all-tags-heading]`),o=e.querySelector(`[data-matching-tags-heading]`),s=e.querySelector(`[data-no-matching-tags]`),c=e.querySelectorAll(`[data-tag-item]`);if(!t)return;let l=()=>{let e=t.value.trim().toLowerCase(),l=e.length>0;r?.classList.toggle(`hidden`,l),i?.classList.toggle(`hidden`,l),a?.classList.toggle(`hidden`,l),o?.classList.toggle(`hidden`,!l),n?.classList.toggle(`hidden`,!l);let u=0;c.forEach(t=>{let n=t.getAttribute(`data-tag-label`)??``,r=!l||n.includes(e);t.classList.toggle(`hidden`,!r),r&&(u+=1)}),s?.classList.toggle(`hidden`,!(l&&u===0))};t.addEventListener(`input`,l),n?.addEventListener(`click`,()=>{t.value=``,l(),t.focus()}),e.addEventListener(`toggle`,()=>{if(e.open){t.focus();return}t.value=``,l()})});</script></div><div class="dashed-btm absolute h-px w-screen md:w-[calc(100vw-230px)] lg:w-[calc(100vw-330px)] left-0 xl:w-[calc(100vw-460px)] page:w-[980px] xl:left-1/2 xl:-translate-x-1/2" data-astro-cid-qjtkll3n></div><time class="date mb-5 pt-10" data-astro-cid-qjtkll3n>May 25, 2023</time><h1 class="m-0 text-4xl mb-5 leading-none font-medium font-display text-display sm:text-[42px]" data-astro-cid-qjtkll3n>Unbounded memory usage by TCP for receive buffers, and how we fixed it</h1><div class="flex flex-wrap items-center gap-x-3 gap-y-2" data-astro-cid-qjtkll3n><div class="avatar-stack" aria-hidden="true" data-astro-cid-qjtkll3n><span class="avatar" style="--avatar-size: 32px" data-avatar data-astro-cid-u5m3xj5o><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW488EK3E1KC78AMKQNGWTQS.jpeg&amp;w=64&amp;h=64&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW488EK3E1KC78AMKQNGWTQS.jpeg&amp;w=64&amp;h=64&amp;f=webp&amp;fit=cover&amp;position=center 64w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW488EK3E1KC78AMKQNGWTQS.jpeg&amp;w=128&amp;h=128&amp;f=webp&amp;fit=cover&amp;position=center 128w" alt="Mike Freemon" data-astro-cid-u5m3xj5o="true" loading="lazy" decoding="async" sizes="64px" data-astro-image="fixed" data-astro-image-fit="cover" data-astro-image-pos="center" width="64" height="64" class="avatar__image"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="avatar__fallback" aria-hidden="true" data-astro-cid-u5m3xj5o><path fill="#fff" d="M3.513 18.998C4.749 15.504 8.082 13 12 13s7.251 2.504 8.487 5.998C18.47 21.442 15.417 23 12 23s-6.47-1.558-8.487-4.002zM12 12c2.21 0 4-2.79 4-5s-1.79-4-4-4-4 1.79-4 4 1.79 5 4 5z" data-astro-cid-u5m3xj5o></path></svg></span><script type="module">globalThis.process??={},globalThis.process.env??={};function e(e){let t=e.closest(`[data-avatar]`);!t||t.classList.contains(`avatar--fallback`)||t.classList.add(`avatar--fallback`)}document.addEventListener(`error`,t=>{let n=t.target;n instanceof HTMLImageElement&&e(n)},!0),document.querySelectorAll(`[data-avatar] img`).forEach(t=>{t.complete&&t.naturalWidth===0&&e(t)});</script></div><p class="m-0 flex flex-wrap items-baseline text-sm leading-5 text-text" data-astro-cid-qjtkll3n><span class="whitespace-nowrap" data-astro-cid-qjtkll3n><a href="/author/mike-freemon/" class="inline-block py-1 font-medium text-display no-underline hover:text-accent-text transition-colors duration-150" data-astro-cid-qjtkll3n><bdi data-astro-cid-qjtkll3n>Mike Freemon</bdi></a></span></p></div><div class="mt-4 flex flex-wrap items-center gap-x-4 gap-y-2 text-[12px] font-mono uppercase tracking-wide text-text sm:gap-x-6 mb-8" data-astro-cid-qjtkll3n><div class="inline-flex items-center gap-1" data-astro-cid-qjtkll3n><span class="text-icon" data-astro-cid-qjtkll3n><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M128,44a96,96,0,1,0,96,96A96.11,96.11,0,0,0,128,44Zm0,168a72,72,0,1,1,72-72A72.08,72.08,0,0,1,128,212ZM164.49,99.51a12,12,0,0,1,0,17l-28,28a12,12,0,0,1-17-17l28-28A12,12,0,0,1,164.49,99.51ZM92,16A12,12,0,0,1,104,4h48a12,12,0,0,1,0,24H104A12,12,0,0,1,92,16Z"/></svg></span><span data-astro-cid-qjtkll3n>19 minute read</span></div><button type="button" data-copy-url data-copy-label-text="COPY URL" data-copied-label-text="COPIED" class="inline-flex items-center gap-1 transition-colors hover:text-accent-text" data-astro-cid-qjtkll3n><span class="text-icon" data-astro-cid-qjtkll3n><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z"/></svg></span><span data-copy-label data-astro-cid-qjtkll3n>COPY URL</span></button></div><p class="sr-only" role="status" aria-live="polite" data-copy-status data-astro-cid-qjtkll3n></p></header><div class="mt-8 overflow-hidden rounded-md border border-anchor-link/60" data-astro-cid-qjtkll3n><div class="[&amp;_img]:block [&amp;_img]:max-h-[380px] [&amp;_img]:w-full [&amp;_img]:object-cover" data-astro-cid-qjtkll3n><div class="pt-image-placeholder-frame pt-image-placeholder-frame--cover" data-image-placeholder-frame data-astro-cid-gd5vvlus><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=1999&amp;h=1125&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=640&amp;h=360&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=750&amp;h=422&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=828&amp;h=466&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=1080&amp;h=608&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=1280&amp;h=720&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=1668&amp;h=939&amp;f=webp&amp;fit=cover&amp;position=center 1668w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=1999&amp;h=1125&amp;f=webp&amp;fit=cover&amp;position=center 1999w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=2048&amp;h=1153&amp;f=webp&amp;fit=cover&amp;position=center 2048w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=2560&amp;h=1441&amp;f=webp&amp;fit=cover&amp;position=center 2560w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47BQ3BZMZR5C4C52EMBNVM.png&amp;w=3998&amp;h=2250&amp;f=webp&amp;fit=cover&amp;position=center 3998w" alt="Unbounded memory usage by TCP for receive buffers, and how we fixed it" loading="eager" decoding="async" sizes="(min-width: 80rem) 715px, (min-width: 64rem) calc(100vw - 426px), (min-width: 48rem) calc(100vw - 326px), calc(100vw - 96px)" data-image-placeholder-media="true" data-astro-cid-gd5vvlus="true" data-astro-cid-66oy3msa="true" fetchpriority="high" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="1999" height="1125" class="pt-image-placeholder-media"><img class="pt-image-placeholder" data-image-placeholder src="data:image/bmp;base64,Qk32BAAAAAAAADYAAAAoAAAACAAAAAgAAAABABgAAAAAAMAAAAATCwAAEwsAAAAAAAAAAAAAizMAijMAhzYHiD0XjUILjkIAiTkAgCoAjT8PjUMkj008l1pJn2NJn2E9lVQrhD0WkEoukVA9mF9VpHBkr3pmr3hcoGdJiUs1kk02lFVFnGZeqnlutYVytYJppXBVjFA+k0owlVE/m2NYp3ZqsIJvsH9momxSjE04lD8ZlEcrllhFnGlYo3Neo3BYmV5DikIhlDMAkzoAkEkokFg/k2BIk11Dj00tiDMAlCwAkjMAjkIRi08vjFY8jFM4i0QehysA" alt="" width="1999" height="1125" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-gd5vvlus></div><script type="module" src="/_astro/ImageWithPlaceholder.astro_astro_type_script_index_0_lang.ihQLl0PR.js"></script></div></div><div class="article-content" data-astro-cid-qjtkll3n><p data-astro-cid-vv3hpn7l>At Cloudflare, we are constantly monitoring and optimizing the performance and resource utilization of our systems. Recently, we noticed that some of our TCP sessions were allocating more memory than expected.</p><p data-astro-cid-vv3hpn7l>The Linux kernel allows <a href="https://www.cloudflare.com/learning/ddos/glossary/tcp-ip/" target="_blank" rel="noopener noreferrer">TCP sessions</a> that match certain characteristics to ignore memory allocation limits set by autotuning and allocate excessive amounts of memory, all the way up to net.ipv4.tcp_rmem max (the per-session limit). On Cloudflare’s production network, there are often many such TCP sessions on a server, causing the total amount of allocated TCP memory to reach net.ipv4.tcp_mem thresholds (the server-wide limit). When that happens, the kernel imposes memory use constraints on all TCP sessions, not just the ones causing the problem. Those constraints have a negative impact on throughput and latency for the user. Internally within the kernel, the problematic sessions trigger TCP collapse processing, “OFO” pruning (dropping of packets already received and sitting in the out-of-order queue), and the dropping of newly arriving packets.</p><p data-astro-cid-vv3hpn7l>This blog post describes in detail the root cause of the problem and shows the test results of a solution.</p><h2 data-astro-cid-vv3hpn7l>TCP receive buffers are excessively big for some sessions</h2><p data-astro-cid-vv3hpn7l>Our journey began when we started noticing a lot of TCP sessions on some servers with large amounts of memory allocated for receive buffers.  Receive buffers are used by Linux to hold packets that have arrived from the network but have not yet been read by the local process.</p><p data-astro-cid-vv3hpn7l>Digging into the details, we observed that most of those TCP sessions had a <a href="https://www.cloudflare.com/learning/performance/glossary/what-is-latency/" target="_blank" rel="noopener noreferrer">latency</a> (RTT) of roughly 20ms. <a href="https://www.cloudflare.com/learning/cdn/glossary/round-trip-time-rtt/" target="_blank" rel="noopener noreferrer">RTT is the round trip time</a> between the endpoints, measured in milliseconds. At that latency, standard <a href="https://en.wikipedia.org/wiki/Bandwidth-delay_product" target="_blank" rel="noopener noreferrer">BDP</a> calculations tell us that a window size of 2.5 MB can accommodate up to 1 Gbps of throughput. We then counted the number of TCP sessions with an upper memory limit set by autotuning (skmem_rb) greater than 5 MB, which is double our calculated window size. The relationship between the window size and skmem_rb is described in more detail <a href="/optimizing-tcp-for-high-throughput-and-low-latency/">here</a>.  There were 558 such TCP sessions on one of our servers. Most of those sessions looked similar to this:</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="332" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW479QXA6CQ5BRDSY6BNAEG0.png&amp;w=715&amp;h=332&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW479QXA6CQ5BRDSY6BNAEG0.png&amp;w=640&amp;h=297&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW479QXA6CQ5BRDSY6BNAEG0.png&amp;w=715&amp;h=332&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW479QXA6CQ5BRDSY6BNAEG0.png&amp;w=750&amp;h=348&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW479QXA6CQ5BRDSY6BNAEG0.png&amp;w=828&amp;h=384&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW479QXA6CQ5BRDSY6BNAEG0.png&amp;w=1080&amp;h=501&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW479QXA6CQ5BRDSY6BNAEG0.png&amp;w=1280&amp;h=594&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW479QXA6CQ5BRDSY6BNAEG0.png&amp;w=1430&amp;h=664&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - i8Kq75" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW479QXA6CQ5BRDSY6BNAEG0.png&amp;w=1582&amp;h=734&amp;f=webp" data-lightbox-width="1582" data-lightbox-height="734" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="332" class="pt-portable-image-media"></div></figure><script type="module" src="/_astro/PTImage.astro_astro_type_script_index_0_lang.ihQLl0PR.js"></script><p data-astro-cid-vv3hpn7l>The key fields to focus on above are:</p><ul><li>recvq – the user payload bytes in the receive queue (waiting to be read by the local userspace process)</li><li>skmem “r” field – the actual amount of kernel memory allocated for the receive buffer (this is the same as the kernel variable sk_rmem_alloc)</li><li>skmem “rb” field – the limit for “r” (this is the same as the kernel variable sk_rcvbuf)</li><li>l7read – the user payload bytes read by the local userspace process</li></ul><p data-astro-cid-vv3hpn7l>Note the value of 256MiB for skmem_r and skmem_rb. That is the red flag that something is very wrong, because those values match the system-wide maximum value set by sysctl net.ipv4.tcp_rmem.  Linux autotuning should not permit the buffers to grow that large for these sessions.</p><h2 data-astro-cid-vv3hpn7l>Memory limits are not being honored for some TCP sessions</h2><p data-astro-cid-vv3hpn7l>TCP autotuning sets the maximum amount of memory that a session can use. More information about Linux autotuning can be found at <a href="/optimizing-tcp-for-high-throughput-and-low-latency/">Optimizing TCP for high WAN throughput while preserving low latency</a>.</p><p data-astro-cid-vv3hpn7l>Here is a graph of one of the problematic sessions, showing skmem_r (allocated memory) and skmem_rb (the limit for “r”) over time:</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="447" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48A3BPRPMQB18HBM90ZE8W.png&amp;w=715&amp;h=447&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48A3BPRPMQB18HBM90ZE8W.png&amp;w=640&amp;h=400&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48A3BPRPMQB18HBM90ZE8W.png&amp;w=715&amp;h=447&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48A3BPRPMQB18HBM90ZE8W.png&amp;w=750&amp;h=469&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48A3BPRPMQB18HBM90ZE8W.png&amp;w=828&amp;h=518&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48A3BPRPMQB18HBM90ZE8W.png&amp;w=1080&amp;h=675&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48A3BPRPMQB18HBM90ZE8W.png&amp;w=1280&amp;h=800&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48A3BPRPMQB18HBM90ZE8W.png&amp;w=1430&amp;h=894&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - H3n3nU" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48A3BPRPMQB18HBM90ZE8W.png&amp;w=800&amp;h=500&amp;f=webp" data-lightbox-width="800" data-lightbox-height="500" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="447" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>This graph is showing us that the limit being set by autotuning is being ignored, because every time skmem_r exceeds skmem_rb, skmem_rb is simply being raised to match it. So something is wrong with how skmem_rb is being handled. This explains the high memory usage. The question now is why.</p><h2 data-astro-cid-vv3hpn7l>The reproducer</h2><p data-astro-cid-vv3hpn7l>At this point, we had only observed this problem in our production environment. Because we couldn’t predict which TCP sessions would fall into this dysfunctional state, and because we wanted to see the session information for these dysfunctional sessions from the beginning of those sessions, we needed to collect a lot of TCP session data for all TCP sessions. This is challenging in a production environment running at the scale of <a href="https://www.cloudflare.com/network/" target="_blank" rel="noopener noreferrer">Cloudflare’s network</a>. We needed to be able to reproduce this in a controlled lab environment. To that end, we gathered more details about what distinguishes these problematic TCP sessions from others, and ran a large number of experiments in our lab environment to reproduce the problem.</p><p data-astro-cid-vv3hpn7l>After <em>a lot</em> of attempts, we finally got it.</p><p data-astro-cid-vv3hpn7l>We were left with some pretty dirty lab machines by the time we got to this point, meaning that a lot of settings had been changed. We didn’t believe that all of them were related to the problem, but we didn’t know which ones were and which were not. So we went through a further series of tests to get us to a minimal set up to reproduce the problem. It turned out that a number of factors that we originally thought were important (such as latency) were not important.</p><p data-astro-cid-vv3hpn7l>The minimal set up turned out to be surprisingly simple:</p><ol><li>At the sending host, run a TCP program with an infinite loop, sending 1500B packets, with a 1 ms delay between each send.</li><li>At the receiving host, run a TCP program with an infinite loop, reading 1B at a time, with a 1 ms delay between each read.</li></ol><p data-astro-cid-vv3hpn7l>That’s it. Run these programs and watch your receive queue grow unbounded until it hits net.ipv4.tcp_rmem max.</p><p data-astro-cid-vv3hpn7l><strong>tcp_server_sender.py</strong></p><div class="emdash-code"><pre class="shiki shiki-themes github-light vesper" tabindex="0"><code><span class="line"><span class="sk-d73a49-a0a0a0">import</span><span class="sk-24292e-fff"> time</span></span>
<span class="line"><span class="sk-d73a49-a0a0a0">import</span><span class="sk-24292e-fff"> socket</span></span>
<span class="line"><span class="sk-d73a49-a0a0a0">import</span><span class="sk-24292e-fff"> errno</span></span>
<span class="line"></span>
<span class="line"><span class="sk-24292e-fff">daemon_port </span><span class="sk-d73a49-a0a0a0">=</span><span class="sk-005cc5-ffc799"> 2425</span></span>
<span class="line"><span class="sk-24292e-fff">payload </span><span class="sk-d73a49-a0a0a0">=</span><span class="sk-d73a49-a0a0a0"> b</span><span class="sk-032f62-99ffe4">'a'</span><span class="sk-d73a49-a0a0a0"> *</span><span class="sk-005cc5-ffc799"> 1448</span></span>
<span class="line"></span>
<span class="line"><span class="sk-24292e-fff">listen_sock </span><span class="sk-d73a49-a0a0a0">=</span><span class="sk-24292e-fff"> socket.socket(socket.</span><span class="sk-005cc5-fff">AF_INET</span><span class="sk-24292e-fff">, socket.</span><span class="sk-005cc5-fff">SOCK_STREAM</span><span class="sk-24292e-fff">)</span></span>
<span class="line"><span class="sk-24292e-fff">listen_sock.bind((</span><span class="sk-032f62-99ffe4">'0.0.0.0'</span><span class="sk-24292e-fff">, daemon_port))</span></span>
<span class="line"></span>
<span class="line"><span class="sk-6a737d-8b8b8b94"># listen backlog</span></span>
<span class="line"><span class="sk-24292e-fff">listen_sock.listen(</span><span class="sk-005cc5-ffc799">32</span><span class="sk-24292e-fff">)</span></span>
<span class="line"><span class="sk-24292e-fff">listen_sock.setblocking(</span><span class="sk-005cc5-fff">True</span><span class="sk-24292e-fff">)</span></span>
<span class="line"></span>
<span class="line"><span class="sk-d73a49-a0a0a0">while</span><span class="sk-005cc5-fff"> True</span><span class="sk-24292e-fff">:</span></span>
<span class="line"><span class="sk-24292e-fff"> mysock, _ </span><span class="sk-d73a49-a0a0a0">=</span><span class="sk-24292e-fff"> listen_sock.accept()</span></span>
<span class="line"><span class="sk-24292e-fff"> mysock.setblocking(</span><span class="sk-005cc5-fff">True</span><span class="sk-24292e-fff">)</span></span>
<span class="line"><span class="sk-24292e-fff"> </span></span>
<span class="line"><span class="sk-6a737d-8b8b8b94"> # do forever (until client disconnects)</span></span>
<span class="line"><span class="sk-d73a49-a0a0a0"> while</span><span class="sk-005cc5-fff"> True</span><span class="sk-24292e-fff">:</span></span>
<span class="line"><span class="sk-d73a49-a0a0a0"> try</span><span class="sk-24292e-fff">:</span></span>
<span class="line"><span class="sk-24292e-fff"> mysock.send(payload)</span></span>
<span class="line"><span class="sk-24292e-fff"> time.sleep(</span><span class="sk-005cc5-ffc799">0.001</span><span class="sk-24292e-fff">)</span></span>
<span class="line"><span class="sk-d73a49-a0a0a0"> except</span><span class="sk-005cc5-ffc799"> Exception</span><span class="sk-d73a49-a0a0a0"> as</span><span class="sk-24292e-fff"> e:</span></span>
<span class="line"><span class="sk-005cc5-ffc799"> print</span><span class="sk-24292e-fff">(e)</span></span>
<span class="line"><span class="sk-24292e-fff"> mysock.close()</span></span>
<span class="line"><span class="sk-d73a49-a0a0a0"> break</span></span></code></pre><button type="button" class="code-copy-btn" data-code-copy aria-label="Copy code" data-copy-label="Copy code" data-copied-label="Code copied!"><span class="code-copy-btn__idle"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"/></svg></span><span class="code-copy-btn__done"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg></span></button></div><script type="module">globalThis.process??={},globalThis.process.env??={},document.querySelectorAll(`[data-code-copy]`).forEach(e=>{let t=e.closest(`.emdash-code`)?.querySelector(`pre code`);if(!t)return;let n=e.dataset.copyLabel??``,r=e.dataset.copiedLabel??``,i=null;e.addEventListener(`click`,()=>{navigator.clipboard.writeText(t.textContent??``).then(()=>{e.setAttribute(`data-copied`,``),e.setAttribute(`aria-label`,r),i&&clearTimeout(i),i=setTimeout(()=>{e.removeAttribute(`data-copied`),e.setAttribute(`aria-label`,n),i=null},1500)}).catch(e=>{console.warn(`code-copy: clipboard write failed`,e)})})});</script><p data-astro-cid-vv3hpn7l><strong>tcp_client_receiver.py</strong></p><div class="emdash-code"><pre class="shiki shiki-themes github-light vesper" tabindex="0"><code><span class="line"><span class="sk-d73a49-a0a0a0">import</span><span class="sk-24292e-fff"> socket</span></span>
<span class="line"><span class="sk-d73a49-a0a0a0">import</span><span class="sk-24292e-fff"> time</span></span>
<span class="line"></span>
<span class="line"><span class="sk-d73a49-a0a0a0">def</span><span class="sk-6f42c1-ffc799"> do_read</span><span class="sk-24292e-fff">(bytes_to_read):</span></span>
<span class="line"><span class="sk-24292e-fff"> total_bytes_read </span><span class="sk-d73a49-a0a0a0">=</span><span class="sk-005cc5-ffc799"> 0</span></span>
<span class="line"><span class="sk-d73a49-a0a0a0"> while</span><span class="sk-005cc5-fff"> True</span><span class="sk-24292e-fff">:</span></span>
<span class="line"><span class="sk-24292e-fff"> bytes_read </span><span class="sk-d73a49-a0a0a0">=</span><span class="sk-24292e-fff"> client_sock.recv(bytes_to_read)</span></span>
<span class="line"><span class="sk-24292e-fff"> total_bytes_read </span><span class="sk-d73a49-a0a0a0">+=</span><span class="sk-005cc5-ffc799"> len</span><span class="sk-24292e-fff">(bytes_read)</span></span>
<span class="line"><span class="sk-d73a49-a0a0a0"> if</span><span class="sk-24292e-fff"> total_bytes_read </span><span class="sk-d73a49-a0a0a0">>=</span><span class="sk-24292e-fff"> bytes_to_read:</span></span>
<span class="line"><span class="sk-d73a49-a0a0a0"> break</span></span>
<span class="line"></span>
<span class="line"><span class="sk-24292e-fff">server_ip </span><span class="sk-d73a49-a0a0a0">=</span><span class="sk-24292e-fff"> “</span><span class="sk-005cc5-ffc799">192.168</span><span class="sk-24292e-fff">.2.139”</span></span>
<span class="line"><span class="sk-24292e-fff">server_port </span><span class="sk-d73a49-a0a0a0">=</span><span class="sk-005cc5-ffc799"> 2425</span></span>
<span class="line"></span>
<span class="line"><span class="sk-24292e-fff">client_sock </span><span class="sk-d73a49-a0a0a0">=</span><span class="sk-24292e-fff"> socket.socket(socket.</span><span class="sk-005cc5-fff">AF_INET</span><span class="sk-24292e-fff">, socket.</span><span class="sk-005cc5-fff">SOCK_STREAM</span><span class="sk-24292e-fff">)</span></span>
<span class="line"><span class="sk-24292e-fff">client_sock.connect((server_ip, server_port))</span></span>
<span class="line"><span class="sk-24292e-fff">client_sock.setblocking(</span><span class="sk-005cc5-fff">True</span><span class="sk-24292e-fff">)</span></span>
<span class="line"></span>
<span class="line"><span class="sk-d73a49-a0a0a0">while</span><span class="sk-005cc5-fff"> True</span><span class="sk-24292e-fff">:</span></span>
<span class="line"><span class="sk-24292e-fff"> do_read(</span><span class="sk-005cc5-ffc799">1</span><span class="sk-24292e-fff">)</span></span>
<span class="line"><span class="sk-24292e-fff"> time.sleep(</span><span class="sk-005cc5-ffc799">0.001</span><span class="sk-24292e-fff">)</span></span></code></pre><button type="button" class="code-copy-btn" data-code-copy aria-label="Copy code" data-copy-label="Copy code" data-copied-label="Code copied!"><span class="code-copy-btn__idle"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"/></svg></span><span class="code-copy-btn__done"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"/></svg></span></button></div><h2 data-astro-cid-vv3hpn7l>Reproducing the problem</h2><p data-astro-cid-vv3hpn7l>First, we ran the above programs with these settings:</p><ul><li>Kernel 6.1.14 vanilla</li><li>net.ipv4.tcp_rmem max = 256 MiB (window scale factor 13, or 8192 bytes)</li><li>net.ipv4.tcp_adv_win_scale = -2</li></ul><p data-astro-cid-vv3hpn7l>Here is what this TCP session is doing:</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="804" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46TRNZV6G6XQFWBZ62RH7Q.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46TRNZV6G6XQFWBZ62RH7Q.png&amp;w=640&amp;h=720&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46TRNZV6G6XQFWBZ62RH7Q.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46TRNZV6G6XQFWBZ62RH7Q.png&amp;w=750&amp;h=843&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46TRNZV6G6XQFWBZ62RH7Q.png&amp;w=828&amp;h=931&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46TRNZV6G6XQFWBZ62RH7Q.png&amp;w=1080&amp;h=1214&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46TRNZV6G6XQFWBZ62RH7Q.png&amp;w=1280&amp;h=1439&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46TRNZV6G6XQFWBZ62RH7Q.png&amp;w=1430&amp;h=1608&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - FSYqKI" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46TRNZV6G6XQFWBZ62RH7Q.png&amp;w=800&amp;h=900&amp;f=webp" data-lightbox-width="800" data-lightbox-height="900" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="804" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>At second 189 of the run, we see these packets being exchanged:</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="227" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49H2CRJSQVA10CTH9GABQS.png&amp;w=715&amp;h=227&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49H2CRJSQVA10CTH9GABQS.png&amp;w=640&amp;h=203&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49H2CRJSQVA10CTH9GABQS.png&amp;w=715&amp;h=227&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49H2CRJSQVA10CTH9GABQS.png&amp;w=750&amp;h=238&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49H2CRJSQVA10CTH9GABQS.png&amp;w=828&amp;h=263&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49H2CRJSQVA10CTH9GABQS.png&amp;w=1080&amp;h=343&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49H2CRJSQVA10CTH9GABQS.png&amp;w=1280&amp;h=406&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49H2CRJSQVA10CTH9GABQS.png&amp;w=1430&amp;h=454&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - QNniUi" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49H2CRJSQVA10CTH9GABQS.png&amp;w=1600&amp;h=509&amp;f=webp" data-lightbox-width="1600" data-lightbox-height="509" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="227" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>This is a significant failure because the memory limits are being ignored, and memory usage is unbounded until net.ipv4.tcp_rmem max is reached.</p><p data-astro-cid-vv3hpn7l>When net.ipv4.tcp_rmem max is reached:</p><ul><li>The kernel drops incoming packets.</li><li>A ZeroWindow is never sent.  A ZeroWindow is a packet sent by the receiver to the sender telling the sender to stop sending packets.  This is normal and expected behavior when the receiver buffers are full.</li><li>The sender retransmits, with exponential backoff.</li><li>Eventually (~15 minutes, depending on system settings) the session times out and the connection is broken (“Errno 110 Connection timed out”).</li></ul><p data-astro-cid-vv3hpn7l>Note that there is a range of packet sizes that can be sent, and a range of intervals which can be used for the delays, to cause this abnormal condition. This first reproduction is intentionally defined to grow the receive buffer quickly. These rates and delays do not reflect exactly what we see in production.</p><h2 data-astro-cid-vv3hpn7l>A closer look at real traffic in production</h2><p data-astro-cid-vv3hpn7l>The prior section describes what is happening in our lab systems. Is that consistent with what we see in our production streams? Let’s take a look, now that we know more about what we are looking for.</p><p data-astro-cid-vv3hpn7l>We did find similar TCP sessions on our production network, which provided confirmation. But we also found this one, which, although it looks a little different, is actually the same root cause:</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="804" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48M8VRD4NSWP2NJ9JXXR31.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48M8VRD4NSWP2NJ9JXXR31.png&amp;w=640&amp;h=720&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48M8VRD4NSWP2NJ9JXXR31.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48M8VRD4NSWP2NJ9JXXR31.png&amp;w=750&amp;h=843&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48M8VRD4NSWP2NJ9JXXR31.png&amp;w=828&amp;h=931&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48M8VRD4NSWP2NJ9JXXR31.png&amp;w=1080&amp;h=1214&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48M8VRD4NSWP2NJ9JXXR31.png&amp;w=1280&amp;h=1439&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48M8VRD4NSWP2NJ9JXXR31.png&amp;w=1430&amp;h=1608&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - 8aKzxh" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48M8VRD4NSWP2NJ9JXXR31.png&amp;w=800&amp;h=900&amp;f=webp" data-lightbox-width="800" data-lightbox-height="900" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="804" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>During this TCP session, the rate at which the userspace process is reading from the socket (the L7read rate line) after second 411 is zero. That is, L7 stops reading entirely at that point.</p><p data-astro-cid-vv3hpn7l>Notice that the bottom two graphs have a log scale on their y-axis to show that throughput and window size are never zero, even after L7 stops reading.</p><p data-astro-cid-vv3hpn7l>Here is the pattern of packet exchange that repeats itself during the erroneous “growth phase” after L7 stopped reading at the 411 second mark:</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="134" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47Y50CR0HGQ3P6RYN832H4.png&amp;w=715&amp;h=134&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47Y50CR0HGQ3P6RYN832H4.png&amp;w=640&amp;h=120&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47Y50CR0HGQ3P6RYN832H4.png&amp;w=715&amp;h=134&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47Y50CR0HGQ3P6RYN832H4.png&amp;w=750&amp;h=141&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47Y50CR0HGQ3P6RYN832H4.png&amp;w=828&amp;h=155&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47Y50CR0HGQ3P6RYN832H4.png&amp;w=1080&amp;h=202&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47Y50CR0HGQ3P6RYN832H4.png&amp;w=1280&amp;h=240&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47Y50CR0HGQ3P6RYN832H4.png&amp;w=1430&amp;h=268&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - TbH5z7" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47Y50CR0HGQ3P6RYN832H4.png&amp;w=1600&amp;h=300&amp;f=webp" data-lightbox-width="1600" data-lightbox-height="300" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="134" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>This variation of the problem is addressed below in the section called “Reader never reads”.</p><h2 data-astro-cid-vv3hpn7l>Getting to the root cause</h2><p data-astro-cid-vv3hpn7l>sk_rcvbuf is being increased inappropriately. Somewhere. Let’s review the code to narrow down the possibilities.</p><p data-astro-cid-vv3hpn7l>sk_rcvbuf only gets updated in three places (that are relevant to this issue):</p><ul><li><a href="https://elixir.bootlin.com/linux/v6.1.14/source/net/ipv4/tcp_input.c#L572" target="_blank" rel="noopener noreferrer">tcp_clamp_window</a></li><li><a href="https://elixir.bootlin.com/linux/v6.1.14/source/net/ipv4/tcp_input.c#L701" target="_blank" rel="noopener noreferrer">tcp_rcv_space_adjust</a></li><li><a href="https://elixir.bootlin.com/linux/v6.1.14/source/net/ipv4/tcp.c#L1845" target="_blank" rel="noopener noreferrer">tcp_set_rcvlowat</a></li></ul><p data-astro-cid-vv3hpn7l>Actually, we are not calling tcp_set_rcvlowat, which eliminates that one. Next we used bpftrace scripts to figure out if it’s in tcp_clamp_window or tcp_rcv_space_adjust.   After bpftracing, the answer is: It’s tcp_clamp_window.</p><h2 data-astro-cid-vv3hpn7l>Summarizing what we know so far,part I</h2><p data-astro-cid-vv3hpn7l><a href="https://elixir.bootlin.com/linux/v6.1.14/source/net/ipv4/tcp_input.c#L4770" target="_blank" rel="noopener noreferrer">tcp_try_rmem_schedule</a> is being called as usual.</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="554" height="255" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49DKMBYV12VRTYDDEAEM3V.png&amp;w=554&amp;h=255&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49DKMBYV12VRTYDDEAEM3V.png&amp;w=554&amp;h=255&amp;f=webp&amp;fit=cover&amp;position=center 554w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49DKMBYV12VRTYDDEAEM3V.png&amp;w=640&amp;h=295&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49DKMBYV12VRTYDDEAEM3V.png&amp;w=750&amp;h=345&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49DKMBYV12VRTYDDEAEM3V.png&amp;w=828&amp;h=381&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49DKMBYV12VRTYDDEAEM3V.png&amp;w=1080&amp;h=497&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49DKMBYV12VRTYDDEAEM3V.png&amp;w=1108&amp;h=510&amp;f=webp&amp;fit=cover&amp;position=center 1108w" alt="BLOG-1779 Embedded Image - 5IsdQc" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49DKMBYV12VRTYDDEAEM3V.png&amp;w=554&amp;h=255&amp;f=webp" data-lightbox-width="554" data-lightbox-height="255" data-astro-cid-7nvefuv6="true" sizes="(min-width: 554px) 554px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="554" height="255" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>Sometimes rmem_alloc &gt; sk_rcvbuf. When that happens, prune is called, which calls tcp_clamp_window. tcp_clamp_window <em>increases</em> sk_rcvbuf to match rmem_alloc. That is unexpected.</p><p data-astro-cid-vv3hpn7l>The key question is: Why is rmem_alloc &gt; sk_rcvbuf?</p><h2 data-astro-cid-vv3hpn7l>Why is rmem_alloc &gt; sk_rcvbuf?</h2><p data-astro-cid-vv3hpn7l>More kernel code review ensued, reviewing all the places where rmem_alloc is increased, and looking to see where rmem_alloc could be exceeding sk_rcvbuf. After more bpftracing, watching netstats, etc., the answer is: TCP coalescing.</p><h2 data-astro-cid-vv3hpn7l>TCP coalescing</h2><p data-astro-cid-vv3hpn7l>Coalescing is where the kernel will combine packets as they are being received.</p><p data-astro-cid-vv3hpn7l>Note that this is not <a href="https://lwn.net/Articles/358910/" target="_blank" rel="noopener noreferrer">Generic Receive Offload</a> (GRO).  This is specific to TCP for packets on the INPUT path. Coalesce is a L4 feature that appends user payload from an incoming packet to an already existing packet, if possible. This saves memory (header space).</p><p data-astro-cid-vv3hpn7l>tcp_rcv_established calls tcp_queue_rcv, which calls tcp_try_coalesce. If the incoming packet can be coalesced, then it will be, and rmem_alloc is raised to reflect that. Here’s the important part: rmem_alloc can and does go above sk_rcvbuf because of the logic in that routine.</p><h2 data-astro-cid-vv3hpn7l>Summarizing what we know so far,part II</h2><ol><li>Data packets are being received</li><li>tcp_rcv_established will coalesce, raising rmem_alloc above sk_rcvbuf</li><li>tcp_try_rmem_schedule -&gt; tcp_prune_queue -&gt; tcp_clamp_window will raise sk_rcvbuf to match rmem_alloc</li><li>The kernel then increases the window size based upon the new sk_rcvbuf value</li></ol><p data-astro-cid-vv3hpn7l>In step 2, in order for rmem_alloc to exceed sk_rcvbuf, it has to be near sk_rcvbuf in the first place. We use tcp_adv_win_scale of -2, which means the window size will be 25% of the available buffer size, so we would not expect rmem_alloc to even be close to sk_rcvbuf. In our tests, the truesize ratio is not close to 4, so something unexpected is happening.</p><p data-astro-cid-vv3hpn7l>Why is rmem_alloc even close to sk_rcvbuf?</p><h2 data-astro-cid-vv3hpn7l>Why is rmem_alloc close to sk_rcvbuf?</h2><p data-astro-cid-vv3hpn7l>Sending a ZeroWindow (a packet advertising a window size of zero) is how a TCP receiver tells a TCP sender to stop sending when the receive window is full. This is the mechanism that should keep rmem_alloc well below sk_rcvbuf.</p><p data-astro-cid-vv3hpn7l>During our tests, we happened to notice that the SNMP metric <a href="https://elixir.bootlin.com/linux/v6.1.14/source/net/ipv4/proc.c#L270" target="_blank" rel="noopener noreferrer">TCPWantZeroWindowAdv</a> was increasing. The receiver was not sending ZeroWindows when it should have been.  So our attention fell on the window calculation logic, and we arrived at the root cause of all of our problems.</p><h2 data-astro-cid-vv3hpn7l>The root cause</h2><p data-astro-cid-vv3hpn7l>The problem has to do with how the receive window size is calculated. This is the value in the TCP header that the receiver sends to the sender. Together with the ACK value, it communicates to the sender what the right edge of the window is.</p><p data-astro-cid-vv3hpn7l>The way TCP’s sliding window works is described in Stevens, “TCP/IP Illustrated, Volume 1”, section 20.3.  Visually, the receive window looks like this:</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="247" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW461RNNVM79ZECSDR3XPCAT.png&amp;w=715&amp;h=247&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW461RNNVM79ZECSDR3XPCAT.png&amp;w=640&amp;h=221&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW461RNNVM79ZECSDR3XPCAT.png&amp;w=715&amp;h=247&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW461RNNVM79ZECSDR3XPCAT.png&amp;w=750&amp;h=259&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW461RNNVM79ZECSDR3XPCAT.png&amp;w=828&amp;h=286&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW461RNNVM79ZECSDR3XPCAT.png&amp;w=1080&amp;h=373&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW461RNNVM79ZECSDR3XPCAT.png&amp;w=1280&amp;h=442&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW461RNNVM79ZECSDR3XPCAT.png&amp;w=1430&amp;h=494&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - y3C5D2" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW461RNNVM79ZECSDR3XPCAT.png&amp;w=1600&amp;h=552&amp;f=webp" data-lightbox-width="1600" data-lightbox-height="552" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="247" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>In the early days of the Internet, wide-area communications links offered low bandwidths (relative to today), so the 16 bits in the TCP header was more than enough to express the size of the receive window needed to achieve optimal throughput. Then the future happened, and now those 16-bit window values are scaled based upon a multiplier set during the TCP 3-way handshake.</p><p data-astro-cid-vv3hpn7l>The window scaling factor allows us to reach high throughputs on modern networks, but it also introduced an issue that we must now discuss.</p><p data-astro-cid-vv3hpn7l>The granularity of the receive window size that can be set in the TCP header is larger than the granularity of the actual changes we sometimes want to make to the size of the receive window.</p><p data-astro-cid-vv3hpn7l>When window scaling is in effect, every time the receiver ACKs some data, the receiver has to move the right edge of the window either left or right. The only exception would be if the amount of ACKed data is exactly a multiple of the window scale factor, and the receive window size specified in the ACK packet was reduced by the same multiple. This is rare.</p><p data-astro-cid-vv3hpn7l>So the right edge has to move. Most of the time, the receive window size does not change and the right edge moves to the right in lockstep with the ACK (the left edge), which always moves to the right.</p><p data-astro-cid-vv3hpn7l>The receiver can decide to increase the size of the receive window, based on its normal criteria, and that’s fine. It just means the right edge moves farther to the right. No problems.</p><p data-astro-cid-vv3hpn7l>But what happens when we approach a window full condition? Keeping the right edge unchanged is not an option.  We are forced to make a decision. Our choices are:</p><ul><li>Move the right edge to the right</li><li>Move the right edge to the left</li></ul><p data-astro-cid-vv3hpn7l>But if we have arrived at the upper limit, then moving the right edge to the right requires us to ignore the upper limit. This is equivalent to not having a limit. This is what Linux does today, and is the source of the problems described in this post.</p><p data-astro-cid-vv3hpn7l>This occurs for any window scaling factor greater than one. This means everyone.</p><h2 data-astro-cid-vv3hpn7l>A sidebar on terminology</h2><p data-astro-cid-vv3hpn7l>The window size specified in the TCP header is the receive window size. It is sent from the receiver to the sender. The ACK number plus the window size defines the range of sequence numbers that the sender may send. It is also called the advertised window, or the offered window.</p><p data-astro-cid-vv3hpn7l>There are three terms related to TCP window management that are important to understand:</p><ul><li>Closing the window. This is when the left edge of the window moves to the right. This occurs every time an ACK of a data packet arrives at the sender.</li><li>Opening the window. This is when the right edge of the window moves to the right.</li><li>Shrinking the window. This is when the right edge of the window moves to the left.</li></ul><p data-astro-cid-vv3hpn7l>Opening and shrinking is not the same thing as the receive window size in the TCP header getting larger or smaller. The right edge is defined as the ACK number plus the receive window size. Shrinking only occurs when that right edge moves to the left (i.e. gets reduced).</p><p data-astro-cid-vv3hpn7l><a href="https://www.rfc-editor.org/rfc/rfc7323" target="_blank" rel="noopener noreferrer">RFC 7323</a> describes <a href="https://www.rfc-editor.org/rfc/rfc7323#section-2.4" target="_blank" rel="noopener noreferrer">window retraction</a>. Retracting the window is the same as shrinking the window.</p><h2 data-astro-cid-vv3hpn7l>Discussion Regarding Solutions</h2><p data-astro-cid-vv3hpn7l>There are only three options to consider:</p><ol><li>Let the window grow</li><li>Drop incoming packets</li><li>Shrink the window</li></ol><h3 data-astro-cid-vv3hpn7l>Let the window grow</h3><p data-astro-cid-vv3hpn7l>Letting the window grow is the same as ignoring the memory limits set by autotuning. It results in allocating excessive amounts of memory for no reason. This is really just kicking the can down the road until allocated memory reaches net.ipv4.tcp_rmem max, when we are forced to choose from among one of the other two options.</p><h3 data-astro-cid-vv3hpn7l>Drop incoming packets</h3><p data-astro-cid-vv3hpn7l>Dropping incoming packets will cause the sender to retransmit the dropped packets, with exponential backoff, until an eventual timeout (depending on the client read rate), which breaks the connection.  ZeroWindows are never sent.  This wastes bandwidth and processing resources by retransmitting packets we know will not be successfully delivered to L7 at the receiver.  This is functionally incorrect for a window full situation.</p><h3 data-astro-cid-vv3hpn7l>Shrink the window</h3><p data-astro-cid-vv3hpn7l>Shrinking the window involves moving the right edge of the window to the left when approaching a window full condition.  A ZeroWindow is sent when the window is full.  There is no wasted memory, no wasted bandwidth, and no broken connections.</p><p data-astro-cid-vv3hpn7l>The current situation is that we are letting the window grow (option #1), and when net.ipv4.tcp_rmem max is reached, we are dropping packets (option #2).</p><p data-astro-cid-vv3hpn7l>We need to stop doing option #1.  We could either drop packets (option #2) when sk_rcvbuf is reached.  This avoids excessive memory usage, but is still functionally incorrect for a window full situation.  Or we could shrink the window (option #3).</p><h2 data-astro-cid-vv3hpn7l>Shrinking the window</h2><p data-astro-cid-vv3hpn7l>It turns out that this issue has already been addressed in the RFC’s.</p><p data-astro-cid-vv3hpn7l><a href="https://www.rfc-editor.org/rfc/rfc7323#section-2.4" target="_blank" rel="noopener noreferrer">RFC 7323</a> says:</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="605" height="251" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46XTYYF7QX5FT5J1297XKG.png&amp;w=605&amp;h=251&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46XTYYF7QX5FT5J1297XKG.png&amp;w=605&amp;h=251&amp;f=webp&amp;fit=cover&amp;position=center 605w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46XTYYF7QX5FT5J1297XKG.png&amp;w=640&amp;h=266&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46XTYYF7QX5FT5J1297XKG.png&amp;w=750&amp;h=311&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46XTYYF7QX5FT5J1297XKG.png&amp;w=828&amp;h=344&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46XTYYF7QX5FT5J1297XKG.png&amp;w=1080&amp;h=448&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46XTYYF7QX5FT5J1297XKG.png&amp;w=1210&amp;h=502&amp;f=webp&amp;fit=cover&amp;position=center 1210w" alt="BLOG-1779 Embedded Image - clATgc" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW46XTYYF7QX5FT5J1297XKG.png&amp;w=605&amp;h=251&amp;f=webp" data-lightbox-width="605" data-lightbox-height="251" data-astro-cid-7nvefuv6="true" sizes="(min-width: 605px) 605px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="605" height="251" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>There are two elements here that are important.</p><ul><li>“there are instances when a retracted window can be offered”</li><li>“Implementations MUST ensure that they handle a shrinking window”</li></ul><p data-astro-cid-vv3hpn7l><a href="https://www.rfc-editor.org/rfc/rfc7323#appendix-F" target="_blank" rel="noopener noreferrer">Appendix F</a> of that RFC describes our situation, adding:</p><ul><li>“<em>This is a general problem and can happen any time the sender does a write, which is smaller than the window scale factor.</em>”</li></ul><h2 data-astro-cid-vv3hpn7l>Kernel patch</h2><p data-astro-cid-vv3hpn7l>The Linux kernel patch we wrote to enable TCP window shrinking has been merged upstream and will be in kernel version 6.5 and later.  The commit can be found <a href="https://github.com/torvalds/linux/commit/b650d953cd391595e536153ce30b4aab385643ac" target="_blank" rel="noopener noreferrer">here</a>.</p><h2 data-astro-cid-vv3hpn7l>Rerunning the test above with kernel patch</h2><p data-astro-cid-vv3hpn7l>Here is the test we showed above, but this time using the kernel patch:</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="804" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48DP632BHSD4N451VJVTDC.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48DP632BHSD4N451VJVTDC.png&amp;w=640&amp;h=720&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48DP632BHSD4N451VJVTDC.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48DP632BHSD4N451VJVTDC.png&amp;w=750&amp;h=843&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48DP632BHSD4N451VJVTDC.png&amp;w=828&amp;h=931&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48DP632BHSD4N451VJVTDC.png&amp;w=1080&amp;h=1214&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48DP632BHSD4N451VJVTDC.png&amp;w=1280&amp;h=1439&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48DP632BHSD4N451VJVTDC.png&amp;w=1430&amp;h=1608&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - JNaV5C" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48DP632BHSD4N451VJVTDC.png&amp;w=800&amp;h=900&amp;f=webp" data-lightbox-width="800" data-lightbox-height="900" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="804" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>Here is the pattern of packet exchanges that repeat when using the kernel patch:</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="265" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45GN26WJ7CJGA9M5NHNN1Y.png&amp;w=715&amp;h=265&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45GN26WJ7CJGA9M5NHNN1Y.png&amp;w=640&amp;h=237&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45GN26WJ7CJGA9M5NHNN1Y.png&amp;w=715&amp;h=265&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45GN26WJ7CJGA9M5NHNN1Y.png&amp;w=750&amp;h=278&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45GN26WJ7CJGA9M5NHNN1Y.png&amp;w=828&amp;h=307&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45GN26WJ7CJGA9M5NHNN1Y.png&amp;w=1080&amp;h=400&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45GN26WJ7CJGA9M5NHNN1Y.png&amp;w=1280&amp;h=474&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45GN26WJ7CJGA9M5NHNN1Y.png&amp;w=1430&amp;h=530&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - 9OgIZT" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45GN26WJ7CJGA9M5NHNN1Y.png&amp;w=1600&amp;h=593&amp;f=webp" data-lightbox-width="1600" data-lightbox-height="593" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="265" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>We see that the memory limit is being honored, ZeroWindows are being sent, there are no retransmissions, and no disconnects after 15 minutes. This is the desired result.</p><h2 data-astro-cid-vv3hpn7l>Test results using a TCP window scaling factor of 8</h2><p data-astro-cid-vv3hpn7l>The window scaling factor of 8 and tcp_adv_win_scale of 1 is commonly seen on the public Internet, so let’s test that.</p><ul><li>kernel 6.1.14 vanilla</li><li>tcp_rmem max = 8 MiB (window scale factor 8, or 256 bytes)</li><li>tcp_adv_win_scale = 1</li></ul><h3 data-astro-cid-vv3hpn7l>Without the kernel patch</h3><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="804" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49E54F0TXR15KGCBPAR3FS.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49E54F0TXR15KGCBPAR3FS.png&amp;w=640&amp;h=720&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49E54F0TXR15KGCBPAR3FS.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49E54F0TXR15KGCBPAR3FS.png&amp;w=750&amp;h=843&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49E54F0TXR15KGCBPAR3FS.png&amp;w=828&amp;h=931&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49E54F0TXR15KGCBPAR3FS.png&amp;w=1080&amp;h=1214&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49E54F0TXR15KGCBPAR3FS.png&amp;w=1280&amp;h=1439&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49E54F0TXR15KGCBPAR3FS.png&amp;w=1430&amp;h=1608&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - 3Qdgxf" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49E54F0TXR15KGCBPAR3FS.png&amp;w=800&amp;h=900&amp;f=webp" data-lightbox-width="800" data-lightbox-height="900" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="804" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>At the ~2100 second mark, we see the same problems we saw earlier when using wscale 13.</p><h3 data-astro-cid-vv3hpn7l>With the kernel patch</h3><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="804" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW4819TFFQNKMJVBEZSF900W.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW4819TFFQNKMJVBEZSF900W.png&amp;w=640&amp;h=720&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW4819TFFQNKMJVBEZSF900W.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW4819TFFQNKMJVBEZSF900W.png&amp;w=750&amp;h=843&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW4819TFFQNKMJVBEZSF900W.png&amp;w=828&amp;h=931&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW4819TFFQNKMJVBEZSF900W.png&amp;w=1080&amp;h=1214&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW4819TFFQNKMJVBEZSF900W.png&amp;w=1280&amp;h=1439&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW4819TFFQNKMJVBEZSF900W.png&amp;w=1430&amp;h=1608&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - 2ODdBM" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW4819TFFQNKMJVBEZSF900W.png&amp;w=800&amp;h=900&amp;f=webp" data-lightbox-width="800" data-lightbox-height="900" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="804" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>The kernel patch is working as expected.</p><h2 data-astro-cid-vv3hpn7l>Test results using an oscillating reader</h2><p data-astro-cid-vv3hpn7l>This is a test run where the reader alternates every 240 seconds between reading slow and reading fast.  Slow is 1B every 1 ms and fast is 3300B every 1 ms.</p><ul><li>kernel 6.1.14 vanilla</li><li>net.ipv4.tcp_rmem max = 256 MiB (window scale factor 13, or 8192 bytes)</li><li>tcp_adv_win_scale = -2</li></ul><h3 data-astro-cid-vv3hpn7l>Without the kernel patch</h3><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="804" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49N0CTJQCWJWEGXYX3DMVQ.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49N0CTJQCWJWEGXYX3DMVQ.png&amp;w=640&amp;h=720&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49N0CTJQCWJWEGXYX3DMVQ.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49N0CTJQCWJWEGXYX3DMVQ.png&amp;w=750&amp;h=843&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49N0CTJQCWJWEGXYX3DMVQ.png&amp;w=828&amp;h=931&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49N0CTJQCWJWEGXYX3DMVQ.png&amp;w=1080&amp;h=1214&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49N0CTJQCWJWEGXYX3DMVQ.png&amp;w=1280&amp;h=1439&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49N0CTJQCWJWEGXYX3DMVQ.png&amp;w=1430&amp;h=1608&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - DNfN9j" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW49N0CTJQCWJWEGXYX3DMVQ.png&amp;w=800&amp;h=900&amp;f=webp" data-lightbox-width="800" data-lightbox-height="900" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="804" class="pt-portable-image-media"></div></figure><h3 data-astro-cid-vv3hpn7l>With the kernel patch</h3><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="804" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW489QHR81X0P4XNR0TX458G.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW489QHR81X0P4XNR0TX458G.png&amp;w=640&amp;h=720&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW489QHR81X0P4XNR0TX458G.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW489QHR81X0P4XNR0TX458G.png&amp;w=750&amp;h=843&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW489QHR81X0P4XNR0TX458G.png&amp;w=828&amp;h=931&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW489QHR81X0P4XNR0TX458G.png&amp;w=1080&amp;h=1214&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW489QHR81X0P4XNR0TX458G.png&amp;w=1280&amp;h=1439&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW489QHR81X0P4XNR0TX458G.png&amp;w=1430&amp;h=1608&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - ofLA4V" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW489QHR81X0P4XNR0TX458G.png&amp;w=800&amp;h=900&amp;f=webp" data-lightbox-width="800" data-lightbox-height="900" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="804" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>The kernel patch is working as expected.</p><p data-astro-cid-vv3hpn7l>NB. We do see the increase of skmem_rb at the 720 second mark, but it only goes to ~20MB and does not grow unbounded. Whether or not 20MB is the most ideal value for this TCP session is an interesting question, but that is a topic for a different blog post.</p><h2 data-astro-cid-vv3hpn7l>Reader never reads</h2><p data-astro-cid-vv3hpn7l>Here’s a good one. Say a reader never reads from the socket. How much TCP receive buffer memory would we expect that reader to consume? One might assume the answer is that the reader would read a few packets, store the payload in the receive queue, then pause the flow of packets until the userspace program starts reading.  The actual answer is that the reader will read packets until the receive queue grows to the size of net.ipv4.tcp_rmem max.  This is incorrect behavior, to say the very least.</p><p data-astro-cid-vv3hpn7l>For this test, the sender sends 4 bytes every 1 ms.  The reader, literally, never reads from the socket. Not once.</p><ul><li>kernel 6.1.14 vanilla</li><li>net.ipv4.tcp_rmem max = 8 MiB (window scale factor 8, or 256 bytes)</li><li>net.ipv4.tcp_adv_win_scale = -2</li></ul><h3 data-astro-cid-vv3hpn7l>Without the kernel patch:</h3><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="804" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW492BYSYFNFV11DZ4P3X63P.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW492BYSYFNFV11DZ4P3X63P.png&amp;w=640&amp;h=720&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW492BYSYFNFV11DZ4P3X63P.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW492BYSYFNFV11DZ4P3X63P.png&amp;w=750&amp;h=843&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW492BYSYFNFV11DZ4P3X63P.png&amp;w=828&amp;h=931&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW492BYSYFNFV11DZ4P3X63P.png&amp;w=1080&amp;h=1214&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW492BYSYFNFV11DZ4P3X63P.png&amp;w=1280&amp;h=1439&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW492BYSYFNFV11DZ4P3X63P.png&amp;w=1430&amp;h=1608&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - N9dFJH" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW492BYSYFNFV11DZ4P3X63P.png&amp;w=800&amp;h=900&amp;f=webp" data-lightbox-width="800" data-lightbox-height="900" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="804" class="pt-portable-image-media"></div></figure><h3 data-astro-cid-vv3hpn7l>With the kernel patch:</h3><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="804" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW44CKPFC50Z96MJJY5CVPXQ.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW44CKPFC50Z96MJJY5CVPXQ.png&amp;w=640&amp;h=720&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW44CKPFC50Z96MJJY5CVPXQ.png&amp;w=715&amp;h=804&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW44CKPFC50Z96MJJY5CVPXQ.png&amp;w=750&amp;h=843&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW44CKPFC50Z96MJJY5CVPXQ.png&amp;w=828&amp;h=931&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW44CKPFC50Z96MJJY5CVPXQ.png&amp;w=1080&amp;h=1214&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW44CKPFC50Z96MJJY5CVPXQ.png&amp;w=1280&amp;h=1439&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW44CKPFC50Z96MJJY5CVPXQ.png&amp;w=1430&amp;h=1608&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - sSoSMM" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW44CKPFC50Z96MJJY5CVPXQ.png&amp;w=800&amp;h=900&amp;f=webp" data-lightbox-width="800" data-lightbox-height="900" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="804" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>Using the kernel patch produces the expected behavior.</p><h2 data-astro-cid-vv3hpn7l>Results from the Cloudflare production network</h2><p data-astro-cid-vv3hpn7l>We deployed this patch to the Cloudflare production network, and can see the effects in aggregate when running at scale.</p><h3 data-astro-cid-vv3hpn7l>Packet Drop Rates</h3><p data-astro-cid-vv3hpn7l>This first graph shows RcvPruned, which shows how many incoming packets per second were dropped due to memory constraints.</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="275" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48RR8SY5CR6QX36E6H1PZB.png&amp;w=715&amp;h=275&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48RR8SY5CR6QX36E6H1PZB.png&amp;w=640&amp;h=246&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48RR8SY5CR6QX36E6H1PZB.png&amp;w=715&amp;h=275&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48RR8SY5CR6QX36E6H1PZB.png&amp;w=750&amp;h=288&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48RR8SY5CR6QX36E6H1PZB.png&amp;w=828&amp;h=318&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48RR8SY5CR6QX36E6H1PZB.png&amp;w=1080&amp;h=415&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48RR8SY5CR6QX36E6H1PZB.png&amp;w=1280&amp;h=492&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48RR8SY5CR6QX36E6H1PZB.png&amp;w=1430&amp;h=550&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - q7532x" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48RR8SY5CR6QX36E6H1PZB.png&amp;w=1053&amp;h=405&amp;f=webp" data-lightbox-width="1053" data-lightbox-height="405" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="275" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>The patch was enabled on most servers on 05/01 at 22:00, eliminating those drops.</p><h3 data-astro-cid-vv3hpn7l>TCPRcvCollapsed</h3><p data-astro-cid-vv3hpn7l>Recall that TCPRcvCollapsed is the number of packets per second that are merged together in the queue in order to reduce memory usage (by eliminating header metadata).  This occurs when memory limits are reached.</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="645" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45G1P8MT46JKMFZBCT14SV.png&amp;w=715&amp;h=645&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45G1P8MT46JKMFZBCT14SV.png&amp;w=640&amp;h=577&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45G1P8MT46JKMFZBCT14SV.png&amp;w=715&amp;h=645&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45G1P8MT46JKMFZBCT14SV.png&amp;w=750&amp;h=677&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45G1P8MT46JKMFZBCT14SV.png&amp;w=828&amp;h=747&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45G1P8MT46JKMFZBCT14SV.png&amp;w=1080&amp;h=974&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45G1P8MT46JKMFZBCT14SV.png&amp;w=1280&amp;h=1155&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45G1P8MT46JKMFZBCT14SV.png&amp;w=1430&amp;h=1290&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - kZV2wG" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW45G1P8MT46JKMFZBCT14SV.png&amp;w=762&amp;h=687&amp;f=webp" data-lightbox-width="762" data-lightbox-height="687" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="645" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>The patch was enabled on most servers on 05/01 at 22:00. These graphs show the results from one of our data centers. The upper graph shows that the patch has eliminated all collapse processing. The lower graph shows the amount of time spent in collapse processing (each line in the lower graph is a single server). This is important because it can impact Cloudflare’s responsiveness in processing <a href="https://www.cloudflare.com/learning/ddos/glossary/hypertext-transfer-protocol-http/" target="_blank" rel="noopener noreferrer">HTTP requests</a>.  The result of the patch is that all latency due to TCP collapse processing has been eliminated.</p><h3 data-astro-cid-vv3hpn7l>Memory</h3><p data-astro-cid-vv3hpn7l>Because the memory limits set by autotuning are now being enforced, the total amount of memory allocated is reduced.</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="327" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47A2VH7JEK6NCFE418DE02.png&amp;w=715&amp;h=327&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47A2VH7JEK6NCFE418DE02.png&amp;w=640&amp;h=293&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47A2VH7JEK6NCFE418DE02.png&amp;w=715&amp;h=327&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47A2VH7JEK6NCFE418DE02.png&amp;w=750&amp;h=343&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47A2VH7JEK6NCFE418DE02.png&amp;w=828&amp;h=379&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47A2VH7JEK6NCFE418DE02.png&amp;w=1080&amp;h=494&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47A2VH7JEK6NCFE418DE02.png&amp;w=1280&amp;h=585&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47A2VH7JEK6NCFE418DE02.png&amp;w=1430&amp;h=654&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - KOlBJ8" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW47A2VH7JEK6NCFE418DE02.png&amp;w=1040&amp;h=475&amp;f=webp" data-lightbox-width="1040" data-lightbox-height="475" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="327" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>In this graph, the green line shows the total amount of memory allocated for TCP buffers in one of our data centers.  This is with the patch enabled.  The purple line is the same total, but from exactly 7 days prior to the time indicated on the x axis, before the patch was enabled.  Using this approach to visualization, it is clear to see the memory saved with the patch enabled.</p><h3 data-astro-cid-vv3hpn7l>ZeroWindows</h3><p data-astro-cid-vv3hpn7l>TCPWantZeroWindowAdv is the number of times per second that the window calculation based on available buffer memory produced a result that should have resulted in a ZeroWindow being sent to the sender, but was not.  In other words, this is how often the receive buffer was increased beyond the limit set by autotuning.</p><p data-astro-cid-vv3hpn7l>After a receiver has sent a Zero Window to the sender, the receiver is not expecting to get any additional data from the sender. Should additional data packets arrive at the receiver during the period when the window size is zero, those packets are dropped and the metric TCPZeroWindowDrop is incremented.  These dropped packets are usually just due to the timing of these events, i.e. the Zero Window packet in one direction and some data packets flowing in the other direction passed by each other on the network.</p><figure class="emdash-image pt-portable-image" data-astro-cid-7nvefuv6><div class="pt-portable-image-frame" data-image-placeholder-frame data-astro-cid-7nvefuv6><img class="pt-portable-image-placeholder" data-image-placeholder src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgb(243%2C243%2C243)%22%2F%3E%3C%2Fsvg%3E" alt="" width="715" height="569" loading="eager" decoding="async" aria-hidden="true" data-astro-cid-7nvefuv6><img src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48BY91CRVYEEVBAS9XYQP5.png&amp;w=715&amp;h=569&amp;f=webp&amp;fit=cover&amp;position=center" srcset="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48BY91CRVYEEVBAS9XYQP5.png&amp;w=640&amp;h=509&amp;f=webp&amp;fit=cover&amp;position=center 640w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48BY91CRVYEEVBAS9XYQP5.png&amp;w=715&amp;h=569&amp;f=webp&amp;fit=cover&amp;position=center 715w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48BY91CRVYEEVBAS9XYQP5.png&amp;w=750&amp;h=597&amp;f=webp&amp;fit=cover&amp;position=center 750w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48BY91CRVYEEVBAS9XYQP5.png&amp;w=828&amp;h=659&amp;f=webp&amp;fit=cover&amp;position=center 828w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48BY91CRVYEEVBAS9XYQP5.png&amp;w=1080&amp;h=859&amp;f=webp&amp;fit=cover&amp;position=center 1080w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48BY91CRVYEEVBAS9XYQP5.png&amp;w=1280&amp;h=1019&amp;f=webp&amp;fit=cover&amp;position=center 1280w, /_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48BY91CRVYEEVBAS9XYQP5.png&amp;w=1430&amp;h=1138&amp;f=webp&amp;fit=cover&amp;position=center 1430w" alt="BLOG-1779 Embedded Image - OCnF2T" loading="lazy" decoding="async" data-image-placeholder-media="true" data-lightbox-src="/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01KW48BY91CRVYEEVBAS9XYQP5.png&amp;w=763&amp;h=607&amp;f=webp" data-lightbox-width="763" data-lightbox-height="607" data-astro-cid-7nvefuv6="true" sizes="(min-width: 715px) 715px, 100vw" data-astro-image="constrained" data-astro-image-fit="cover" data-astro-image-pos="center" width="715" height="569" class="pt-portable-image-media"></div></figure><p data-astro-cid-vv3hpn7l>The patch was enabled on most servers on 05/01 at 22:00, although it was enabled for a subset of servers on 04/26 and 04/28.</p><p data-astro-cid-vv3hpn7l>The upper graph tells us that ZeroWindows are indeed being sent when they need to be based on the available memory at the receiver.  This is what the lack of “Wants” starting on 05/01 is telling us.</p><p data-astro-cid-vv3hpn7l>The lower graph reports the packets that are dropped because the session is in a ZeroWindow state. These are ok to drop, because the session is in a ZeroWindow state. These drops do not have a negative impact, for the same reason (it’s in a ZeroWindow state).</p><p data-astro-cid-vv3hpn7l>All of these results are as expected.</p><p data-astro-cid-vv3hpn7l>Importantly, we have also not found any peer TCP stacks that are non-RFC compliant (i.e. that are not able to accept a shrinking window).</p><h2 data-astro-cid-vv3hpn7l>Summary</h2><p data-astro-cid-vv3hpn7l>In this blog post, we described when and why TCP memory limits are not being honored in the Linux kernel, and introduced a patch that fixes it. All in a day’s work at Cloudflare, where we are helping build a better Internet.</p></div><template id="heading-anchor-icon" data-copy-label="Copy link" data-copied-label="Copied!" data-astro-cid-qjtkll3n><a class="heading-anchor" aria-hidden="true" tabindex="-1" data-astro-cid-qjtkll3n><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="18" height="18" fill="currentColor" aria-hidden="true"><path d="M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z"/></svg><span class="heading-anchor-tooltip" aria-hidden="true" data-astro-cid-qjtkll3n></span></a></template><div class="image-lightbox" data-image-lightbox data-expand-label="Expand image" hidden tabindex="-1" role="dialog" aria-modal="true" aria-label="Enlarged image preview. Press Escape or click to close." data-astro-cid-rerfj5b5><img class="image-lightbox-image bg-white" data-image-lightbox-image alt="" data-astro-cid-rerfj5b5><button type="button" class="image-lightbox-close" data-image-lightbox-close aria-label="Close" data-astro-cid-rerfj5b5><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="22" height="22" fill="currentColor" aria-hidden="true"><path d="M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z"/></svg></button></div><script type="module" src="/_astro/Lightbox.astro_astro_type_script_index_0_lang.roWia9PR.js"></script><button type="button" class="back-to-top" data-back-to-top aria-label="Back to top" data-astro-cid-susjrytz><svg class="back-to-top-icon" width="47" height="47" viewBox="0 0 47 47" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" data-astro-cid-susjrytz><circle class="back-to-top-bg" cx="23.5" cy="23.5" r="23" data-astro-cid-susjrytz></circle><circle class="back-to-top-track" cx="23.5" cy="23.5" r="19.5" stroke-width="2.5" data-astro-cid-susjrytz></circle><circle class="back-to-top-progress" data-back-to-top-progress cx="23.5" cy="23.5" r="19.5" stroke-width="2.5" stroke-linecap="round" transform="rotate(-90 23.5 23.5)" data-astro-cid-susjrytz></circle><svg x="13.5" y="13.5" width="20" height="20" viewBox="0 0 256 256" data-astro-cid-susjrytz><path class="back-to-top-arrow" d="M208.49,120.49a12,12,0,0,1-17,0L140,69V216a12,12,0,0,1-24,0V69L64.49,120.49a12,12,0,0,1-17-17l72-72a12,12,0,0,1,17,0l72,72A12,12,0,0,1,208.49,120.49Z" data-astro-cid-susjrytz></path></svg></svg></button><script type="module">globalThis.process??={},globalThis.process.env??={};var e=document.querySelector(`[data-back-to-top]`),t=document.querySelector(`[data-back-to-top-progress]`);if(e&&t){let n=e,r=t,i=r.getTotalLength();r.style.strokeDasharray=`${i}`;function a(){let e=window.scrollY;e>400?n.setAttribute(`data-visible`,``):n.removeAttribute(`data-visible`);let t=document.documentElement.scrollHeight-window.innerHeight,a=t>0?Math.min(1,Math.max(0,e/t)):0;r.style.strokeDashoffset=`${i*(1-a)}`}window.addEventListener(`scroll`,a,{passive:!0}),window.addEventListener(`resize`,a,{passive:!0}),a(),n.addEventListener(`click`,()=>{let e=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;window.scrollTo({top:0,behavior:e?`auto`:`smooth`})})}</script></div><!-- table of contents column --><aside class="post-toc hidden md:block ltr-dashed-left rtl-dashed-sides px-5 pt-8" data-astro-cid-qjtkll3n><div class="sticky top-10 z-0 pb-post" data-astro-cid-qjtkll3n><nav class="otp" aria-label="On this page" id="on-this-page" data-astro-cid-orf3wuvx><p class="otp-label" data-astro-cid-orf3wuvx>On this page</p><div class="otp-scroll" id="otp-wrap" data-astro-cid-orf3wuvx><svg class="otp-rail otp-rail--muted" id="otp-rail-muted" aria-hidden="true" data-astro-cid-orf3wuvx></svg><svg class="otp-rail otp-rail--active" id="otp-rail-active" aria-hidden="true" data-astro-cid-orf3wuvx></svg><div class="otp-content" id="otp-content" data-astro-cid-orf3wuvx></div></div></nav><script type="module" src="/_astro/OnThisPage.astro_astro_type_script_index_0_lang.Bnevp4OR.js"></script></div></aside><!-- discussion column --><aside class="post-discuss min-w-0 px-5 md:px-post pt-10 xl:ltr-dashed-right xl:rtl-dashed-sides xl:relative xl:px-0 xl:pt-0" data-astro-cid-qjtkll3n><div class="xl:sticky xl:top-[calc(100vh-130px)] xl:px-5 xl:pb-post" data-astro-cid-qjtkll3n><div class="flex flex-col gap-3"><p class="date m-0">Discuss Online</p><div class="flex items-center gap-3 flex-wrap"><!-- HackerNews / YCombinator --><a href="https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fblog.cloudflare.com%2Funbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it%2F&amp;t=Unbounded%20memory%20usage%20by%20TCP%20for%20receive%20buffers%2C%20and%20how%20we%20fixed%20it" aria-label="Discuss on Hacker News (opens in a new tab)" target="_blank" rel="noreferrer" class="discuss-action"><!-- Inline HackerNews "Y" logo — not in Phosphor --><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" aria-hidden="true"><rect width="256" height="256" rx="0" fill="currentColor" class="hidden"></rect><path d="M119.93 153.59V208h16.14v-54.41L174.32 48H158l-30 75.47L98 48H81.68z"></path></svg></a><!-- X (Twitter) --><a href="https://x.com/intent/post?text=Unbounded+memory+usage+by+TCP+for+receive+buffers%2C+and+how+we+fixed+it&amp;url=https%3A%2F%2Fblog.cloudflare.com%2Funbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it%2F" aria-label="Discuss on X (opens in a new tab)" target="_blank" rel="noreferrer" class="discuss-action"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M214.75,211.71l-62.6-98.38,61.77-67.95a8,8,0,0,0-11.84-10.76L143.24,99.34,102.75,35.71A8,8,0,0,0,96,32H48a8,8,0,0,0-6.75,12.3l62.6,98.37-61.77,68a8,8,0,1,0,11.84,10.76l58.84-64.72,40.49,63.63A8,8,0,0,0,160,224h48a8,8,0,0,0,6.75-12.29ZM164.39,208,62.57,48h29L193.43,208Z"/></svg></a><!-- LinkedIn --><a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fblog.cloudflare.com%2Funbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it%2F" aria-label="Share on LinkedIn (opens in a new tab)" target="_blank" rel="noreferrer" class="discuss-action"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M216,24H40A16,16,0,0,0,24,40V216a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V40A16,16,0,0,0,216,24Zm0,192H40V40H216V216ZM96,112v64a8,8,0,0,1-16,0V112a8,8,0,0,1,16,0Zm88,28v36a8,8,0,0,1-16,0V140a20,20,0,0,0-40,0v36a8,8,0,0,1-16,0V112a8,8,0,0,1,15.79-1.78A36,36,0,0,1,184,140ZM100,84A12,12,0,1,1,88,72,12,12,0,0,1,100,84Z"/></svg></a><!-- Bluesky --><a href="https://bsky.app/intent/compose?text=Unbounded+memory+usage+by+TCP+for+receive+buffers%2C+and+how+we+fixed+it+https%3A%2F%2Fblog.cloudflare.com%2Funbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it%2F" aria-label="Share on Bluesky (opens in a new tab)" target="_blank" rel="noreferrer" class="discuss-action"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14" fill="none" aria-hidden="true"><path d="M4.907 3.44005C5.616 3.56005 6.44 3.94105 7.483 4.68705C9.28 5.97005 10.769 7.73905 12 9.56405C13.231 7.73905 14.72 5.97105 16.517 4.68705C17.56 3.94105 18.384 3.56005 19.093 3.43905C19.86 3.30905 20.383 3.50405 20.708 3.63905C21.717 4.06005 22 5.22505 22 6.21505C22 6.41605 21.914 7.51705 21.815 8.57505C21.763 9.12105 21.705 9.68305 21.649 10.1521C21.596 10.5801 21.534 11.032 21.459 11.285C21.152 12.3414 20.4545 13.2413 19.508 13.802C20.445 14.509 20.785 15.658 20.436 16.786C19.839 18.71 17.699 21.183 15.601 21.404C13.828 21.59 12.666 20.079 12 18.644C11.334 20.079 10.172 21.59 8.4 21.404C6.301 21.184 4.16 18.71 3.564 16.786C3.214 15.658 3.554 14.509 4.492 13.802C3.54592 13.2412 2.84874 12.3413 2.542 11.285C2.466 11.032 2.404 10.5801 2.352 10.1521C2.2895 9.62713 2.23383 9.10142 2.185 8.57505C2.085 7.51705 2 6.41605 2 6.21505C2 5.22505 2.283 4.06005 3.292 3.63905C3.618 3.50405 4.139 3.30905 4.907 3.43905M4.05 6.91605C4.114 7.73405 4.23 9.02405 4.338 9.90805C4.37 10.176 4.393 10.453 4.46 10.715C4.857 12.055 6.389 12.797 8.146 12.602C8.40615 12.5737 8.66704 12.6485 8.87269 12.8103C9.07834 12.9721 9.21236 13.2081 9.24599 13.4676C9.27963 13.7272 9.21019 13.9895 9.05259 14.1984C8.89499 14.4073 8.66178 14.5461 8.403 14.585C7.647 14.697 5.088 14.942 5.475 16.192C5.832 17.343 7.323 19.279 8.609 19.414C9.537 19.511 10.109 18.02 10.375 17.369C10.65 16.695 10.863 15.989 11.043 15.387C11.1047 15.1809 11.2312 15.0002 11.4038 14.8717C11.5764 14.7432 11.7858 14.6738 12.001 14.6738C12.2162 14.6738 12.4256 14.7432 12.5982 14.8717C12.7708 15.0002 12.8973 15.1809 12.959 15.387C13.139 15.989 13.352 16.695 13.627 17.369C13.893 18.02 14.465 19.511 15.393 19.414C16.679 19.279 18.17 17.344 18.527 16.192C18.914 14.942 16.355 14.697 15.599 14.585C15.3402 14.5461 15.107 14.4073 14.9494 14.1984C14.7918 13.9895 14.7224 13.7272 14.756 13.4676C14.7896 13.2081 14.9237 12.9721 15.1293 12.8103C15.335 12.6485 15.5959 12.5737 15.856 12.602C17.613 12.797 19.145 12.055 19.542 10.715C19.611 10.449 19.631 10.179 19.664 9.90805C19.7787 8.91261 19.8747 7.9151 19.952 6.91605C19.989 6.44805 20.199 5.27905 19.43 5.41005C19.144 5.45905 18.607 5.65105 17.681 6.31305C15.738 7.70205 13.976 9.82605 12.892 11.953C12.8083 12.1174 12.6807 12.2553 12.5235 12.3517C12.3662 12.448 12.1854 12.499 12.001 12.499C11.8166 12.499 11.6358 12.448 11.4785 12.3517C11.3213 12.2553 11.1937 12.1174 11.11 11.953C10.026 9.82605 8.264 7.70205 6.321 6.31305C5.395 5.65105 4.858 5.45905 4.572 5.41005C3.788 5.27605 4.013 6.44405 4.05 6.91605Z" fill="currentColor"></path></svg></a><!-- Mastodon --><a href="https://mastodonshare.com/?text=Unbounded+memory+usage+by+TCP+for+receive+buffers%2C+and+how+we+fixed+it&amp;url=https%3A%2F%2Fblog.cloudflare.com%2Funbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it%2F" aria-label="Share on Mastodon (opens in a new tab)" target="_blank" rel="noreferrer" class="discuss-action"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M184,32H72A40,40,0,0,0,32,72V192a40,40,0,0,0,40,40h88a8,8,0,0,0,0-16H72a24,24,0,0,1-24-24v-8H184a40,40,0,0,0,40-40V72A40,40,0,0,0,184,32Zm24,112a24,24,0,0,1-24,24H48V72A24,24,0,0,1,72,48H184a24,24,0,0,1,24,24Zm-24-40v32a8,8,0,0,1-16,0V104a16,16,0,0,0-32,0v32a8,8,0,0,1-16,0V104a16,16,0,0,0-32,0v32a8,8,0,0,1-16,0V104a32,32,0,0,1,56-21.13A32,32,0,0,1,184,104Z"/></svg></a><!-- Threads --><a href="https://www.threads.net/intent/post?text=Unbounded+memory+usage+by+TCP+for+receive+buffers%2C+and+how+we+fixed+it+https%3A%2F%2Fblog.cloudflare.com%2Funbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it%2F" aria-label="Share on Threads (opens in a new tab)" target="_blank" rel="noreferrer" class="discuss-action"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M186.42,123.65a63.81,63.81,0,0,0-11.13-6.72c-4-29.89-24-39.31-33.1-42.07-19.78-6-42.51,1.19-52.85,16.7a8,8,0,0,0,13.32,8.88c6.37-9.56,22-14.16,34.89-10.27,9.95,3,16.82,10.3,20.15,21a81.05,81.05,0,0,0-15.29-1.43c-13.92,0-26.95,3.59-36.67,10.1C94.3,127.57,88,139,88,152c0,20.58,15.86,35.52,37.71,35.52a48,48,0,0,0,34.35-14.81c6.44-6.7,14-18.36,15.61-37.1.38.26.74.53,1.1.8C186.88,144.05,192,154.68,192,168c0,19.36-20.34,48-64,48-26.73,0-45.48-8.65-57.34-26.44C60.93,175,56,154.26,56,128s4.93-47,14.66-61.56C82.52,48.65,101.27,40,128,40c32.93,0,54,13.25,64.53,40.52a8,8,0,1,0,14.93-5.75C194.68,41.56,167.2,24,128,24,96,24,72.19,35.29,57.34,57.56,45.83,74.83,40,98.52,40,128s5.83,53.17,17.34,70.44C72.19,220.71,96,232,128,232c30.07,0,48.9-11.48,59.4-21.1C200.3,199.08,208,183,208,168,208,149.66,200.54,134.32,186.42,123.65Zm-37.89,38a31.94,31.94,0,0,1-22.82,9.9c-10.81,0-21.71-6-21.71-19.52,0-12.63,12-26.21,38.41-26.21A63.88,63.88,0,0,1,160,128.24C160,142.32,156,153.86,148.53,161.62Z"/></svg></a><!-- Copy link --><button type="button" aria-label="Copy link" data-copy-link-label="Copy link" data-link-copied-label="Link copied!" data-copy-link class="copy-link-btn discuss-action duration-150"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,16,.45A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z"/></svg></button></div></div></div></aside><!-- RELATED TAGS AND SOCIAL MEDIA LINKS --><div class="post-rule h-1 dashed-top full-bleed" data-astro-cid-qjtkll3n></div><div class="post-left-lower ltr-dashed-right rtl-dashed-sides hidden xl:block" data-astro-cid-qjtkll3n></div><section class="post-extras py-10 px-5 md:px-post" data-astro-cid-qjtkll3n><div data-astro-cid-qjtkll3n><section class="mb-12 space-y-3" data-astro-cid-qjtkll3n><h2 class="date mb-4" data-astro-cid-qjtkll3n>Related tags</h2><div class="tags gap-1.5" data-astro-cid-qjtkll3n><a href="/tag/deep-dive/" class="inline-flex items-center justify-center px-[10px] py-[4px] rounded-full border border-tag-border text-tag-text text-[13px] leading-normal whitespace-nowrap transition-colors hover:border-tag-text">Deep Dive</a><a href="/tag/tcp/" class="inline-flex items-center justify-center px-[10px] py-[4px] rounded-full border border-tag-border text-tag-text text-[13px] leading-normal whitespace-nowrap transition-colors hover:border-tag-text">TCP</a></div></section></div><div data-astro-cid-qjtkll3n><div class="flex flex-col gap-4"><p class="date m-0">Follow on Social Media</p><ul class="m-0 flex list-none flex-col gap-4 p-0"><li class="flex flex-wrap items-center gap-x-3 gap-y-2"><span class="avatar" style="--avatar-size: 32px" data-avatar data-astro-cid-u5m3xj5o><img src="/images/placeholder__cloudflare.png" alt="Cloudflare" width="32" height="32" class="avatar__image" data-astro-cid-u5m3xj5o><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="avatar__fallback" aria-hidden="true" data-astro-cid-u5m3xj5o><path fill="#fff" d="M3.513 18.998C4.749 15.504 8.082 13 12 13s7.251 2.504 8.487 5.998C18.47 21.442 15.417 23 12 23s-6.47-1.558-8.487-4.002zM12 12c2.21 0 4-2.79 4-5s-1.79-4-4-4-4 1.79-4 4 1.79 5 4 5z" data-astro-cid-u5m3xj5o></path></svg></span><span class="text-base leading-7 text-text"><bdi>Cloudflare</bdi></span><div class="flex items-center gap-2"><a href="https://blog.cloudflare.com/rss/" aria-label="Cloudflare RSS feed (opens in a new tab)" class="flex size-[30px] items-center justify-center rounded-full border text-icon transition-colors hover:text-text border-transparent" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M228,192a12,12,0,0,1-24,0c0-77.2-62.8-140-140-140a12,12,0,0,1,0-24C154.43,28,228,101.57,228,192ZM64,100a12,12,0,0,0,0,24,68.07,68.07,0,0,1,68,68,12,12,0,0,0,24,0A92.1,92.1,0,0,0,64,100Zm4,72a16,16,0,1,0,16,16A16,16,0,0,0,68,172Z"/></svg></a><a href="https://x.com/Cloudflare" aria-label="Cloudflare on Twitter (opens in a new tab)" class="flex size-[30px] items-center justify-center rounded-full border text-icon transition-colors hover:text-text border-transparent" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M214.75,211.71l-62.6-98.38,61.77-67.95a8,8,0,0,0-11.84-10.76L143.24,99.34,102.75,35.71A8,8,0,0,0,96,32H48a8,8,0,0,0-6.75,12.3l62.6,98.37-61.77,68a8,8,0,1,0,11.84,10.76l58.84-64.72,40.49,63.63A8,8,0,0,0,160,224h48a8,8,0,0,0,6.75-12.29ZM164.39,208,62.57,48h29L193.43,208Z"/></svg></a><a href="https://www.linkedin.com/company/cloudflare-inc-" aria-label="Cloudflare on LinkedIn (opens in a new tab)" class="flex size-[30px] items-center justify-center rounded-full border text-icon transition-colors hover:text-text border-transparent" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M216,24H40A16,16,0,0,0,24,40V216a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V40A16,16,0,0,0,216,24Zm0,192H40V40H216V216ZM96,112v64a8,8,0,0,1-16,0V112a8,8,0,0,1,16,0Zm88,28v36a8,8,0,0,1-16,0V140a20,20,0,0,0-40,0v36a8,8,0,0,1-16,0V112a8,8,0,0,1,15.79-1.78A36,36,0,0,1,184,140ZM100,84A12,12,0,1,1,88,72,12,12,0,0,1,100,84Z"/></svg></a><a href="https://www.youtube.com/cloudflare" aria-label="Cloudflare on YouTube (opens in a new tab)" class="flex size-[30px] items-center justify-center rounded-full border text-icon transition-colors hover:text-text border-transparent" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M164.44,121.34l-48-32A8,8,0,0,0,104,96v64a8,8,0,0,0,12.44,6.66l48-32a8,8,0,0,0,0-13.32ZM120,145.05V111l25.58,17ZM234.33,69.52a24,24,0,0,0-14.49-16.4C185.56,39.88,131,40,128,40s-57.56-.12-91.84,13.12a24,24,0,0,0-14.49,16.4C19.08,79.5,16,97.74,16,128s3.08,48.5,5.67,58.48a24,24,0,0,0,14.49,16.41C69,215.56,120.4,216,127.34,216h1.32c6.94,0,58.37-.44,91.18-13.11a24,24,0,0,0,14.49-16.41c2.59-10,5.67-28.22,5.67-58.48S236.92,79.5,234.33,69.52Zm-15.49,113a8,8,0,0,1-4.77,5.49c-31.65,12.22-85.48,12-86,12H128c-.54,0-54.33.2-86-12a8,8,0,0,1-4.77-5.49C34.8,173.39,32,156.57,32,128s2.8-45.39,5.16-54.47A8,8,0,0,1,41.93,68c30.52-11.79,81.66-12,85.85-12h.27c.54,0,54.38-.18,86,12a8,8,0,0,1,4.77,5.49C221.2,82.61,224,99.43,224,128S221.2,173.39,218.84,182.47Z"/></svg></a><a href="https://instagram.com/cloudflare" aria-label="Cloudflare on Instagram (opens in a new tab)" class="flex size-[30px] items-center justify-center rounded-full border text-icon transition-colors hover:text-text border-transparent" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160ZM176,24H80A56.06,56.06,0,0,0,24,80v96a56.06,56.06,0,0,0,56,56h96a56.06,56.06,0,0,0,56-56V80A56.06,56.06,0,0,0,176,24Zm40,152a40,40,0,0,1-40,40H80a40,40,0,0,1-40-40V80A40,40,0,0,1,80,40h96a40,40,0,0,1,40,40ZM192,76a12,12,0,1,1-12-12A12,12,0,0,1,192,76Z"/></svg></a><a href="https://github.com/cloudflare" aria-label="Cloudflare on GitHub (opens in a new tab)" class="flex size-[30px] items-center justify-center rounded-full border text-icon transition-colors hover:text-text border-transparent" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M208.31,75.68A59.78,59.78,0,0,0,202.93,28,8,8,0,0,0,196,24a59.75,59.75,0,0,0-48,24H124A59.75,59.75,0,0,0,76,24a8,8,0,0,0-6.93,4,59.78,59.78,0,0,0-5.38,47.68A58.14,58.14,0,0,0,56,104v8a56.06,56.06,0,0,0,48.44,55.47A39.8,39.8,0,0,0,96,192v8H72a24,24,0,0,1-24-24A40,40,0,0,0,8,136a8,8,0,0,0,0,16,24,24,0,0,1,24,24,40,40,0,0,0,40,40H96v16a8,8,0,0,0,16,0V192a24,24,0,0,1,48,0v40a8,8,0,0,0,16,0V192a39.8,39.8,0,0,0-8.44-24.53A56.06,56.06,0,0,0,216,112v-8A58.14,58.14,0,0,0,208.31,75.68ZM200,112a40,40,0,0,1-40,40H112a40,40,0,0,1-40-40v-8a41.74,41.74,0,0,1,6.9-22.48A8,8,0,0,0,80,73.83a43.81,43.81,0,0,1,.79-33.58,43.88,43.88,0,0,1,32.32,20.06A8,8,0,0,0,119.82,64h32.35a8,8,0,0,0,6.74-3.69,43.87,43.87,0,0,1,32.32-20.06A43.81,43.81,0,0,1,192,73.83a8.09,8.09,0,0,0,1,7.65A41.72,41.72,0,0,1,200,104Z"/></svg></a><a href="https://bsky.app/profile/cloudflare.social" aria-label="Cloudflare on Bluesky (opens in a new tab)" class="flex size-[30px] items-center justify-center rounded-full border text-icon transition-colors hover:text-text border-transparent" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" aria-hidden="true"><path d="M4.907 3.44005C5.616 3.56005 6.44 3.94105 7.483 4.68705C9.28 5.97005 10.769 7.73905 12 9.56405C13.231 7.73905 14.72 5.97105 16.517 4.68705C17.56 3.94105 18.384 3.56005 19.093 3.43905C19.86 3.30905 20.383 3.50405 20.708 3.63905C21.717 4.06005 22 5.22505 22 6.21505C22 6.41605 21.914 7.51705 21.815 8.57505C21.763 9.12105 21.705 9.68305 21.649 10.1521C21.596 10.5801 21.534 11.032 21.459 11.285C21.152 12.3414 20.4545 13.2413 19.508 13.802C20.445 14.509 20.785 15.658 20.436 16.786C19.839 18.71 17.699 21.183 15.601 21.404C13.828 21.59 12.666 20.079 12 18.644C11.334 20.079 10.172 21.59 8.4 21.404C6.301 21.184 4.16 18.71 3.564 16.786C3.214 15.658 3.554 14.509 4.492 13.802C3.54592 13.2412 2.84874 12.3413 2.542 11.285C2.466 11.032 2.404 10.5801 2.352 10.1521C2.2895 9.62713 2.23383 9.10142 2.185 8.57505C2.085 7.51705 2 6.41605 2 6.21505C2 5.22505 2.283 4.06005 3.292 3.63905C3.618 3.50405 4.139 3.30905 4.907 3.43905M4.05 6.91605C4.114 7.73405 4.23 9.02405 4.338 9.90805C4.37 10.176 4.393 10.453 4.46 10.715C4.857 12.055 6.389 12.797 8.146 12.602C8.40615 12.5737 8.66704 12.6485 8.87269 12.8103C9.07834 12.9721 9.21236 13.2081 9.24599 13.4676C9.27963 13.7272 9.21019 13.9895 9.05259 14.1984C8.89499 14.4073 8.66178 14.5461 8.403 14.585C7.647 14.697 5.088 14.942 5.475 16.192C5.832 17.343 7.323 19.279 8.609 19.414C9.537 19.511 10.109 18.02 10.375 17.369C10.65 16.695 10.863 15.989 11.043 15.387C11.1047 15.1809 11.2312 15.0002 11.4038 14.8717C11.5764 14.7432 11.7858 14.6738 12.001 14.6738C12.2162 14.6738 12.4256 14.7432 12.5982 14.8717C12.7708 15.0002 12.8973 15.1809 12.959 15.387C13.139 15.989 13.352 16.695 13.627 17.369C13.893 18.02 14.465 19.511 15.393 19.414C16.679 19.279 18.17 17.344 18.527 16.192C18.914 14.942 16.355 14.697 15.599 14.585C15.3402 14.5461 15.107 14.4073 14.9494 14.1984C14.7918 13.9895 14.7224 13.7272 14.756 13.4676C14.7896 13.2081 14.9237 12.9721 15.1293 12.8103C15.335 12.6485 15.5959 12.5737 15.856 12.602C17.613 12.797 19.145 12.055 19.542 10.715C19.611 10.449 19.631 10.179 19.664 9.90805C19.7787 8.91261 19.8747 7.9151 19.952 6.91605C19.989 6.44805 20.199 5.27905 19.43 5.41005C19.144 5.45905 18.607 5.65105 17.681 6.31305C15.738 7.70205 13.976 9.82605 12.892 11.953C12.8083 12.1174 12.6807 12.2553 12.5235 12.3517C12.3662 12.448 12.1854 12.499 12.001 12.499C11.8166 12.499 11.6358 12.448 11.4785 12.3517C11.3213 12.2553 11.1937 12.1174 11.11 11.953C10.026 9.82605 8.264 7.70205 6.321 6.31305C5.395 5.65105 4.858 5.45905 4.572 5.41005C3.788 5.27605 4.013 6.44405 4.05 6.91605Z" fill="currentColor"></path></svg></a><a href="https://www.threads.com/@cloudflare" aria-label="Cloudflare on Threads (opens in a new tab)" class="flex size-[30px] items-center justify-center rounded-full border text-icon transition-colors hover:text-text border-transparent" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M186.42,123.65a63.81,63.81,0,0,0-11.13-6.72c-4-29.89-24-39.31-33.1-42.07-19.78-6-42.51,1.19-52.85,16.7a8,8,0,0,0,13.32,8.88c6.37-9.56,22-14.16,34.89-10.27,9.95,3,16.82,10.3,20.15,21a81.05,81.05,0,0,0-15.29-1.43c-13.92,0-26.95,3.59-36.67,10.1C94.3,127.57,88,139,88,152c0,20.58,15.86,35.52,37.71,35.52a48,48,0,0,0,34.35-14.81c6.44-6.7,14-18.36,15.61-37.1.38.26.74.53,1.1.8C186.88,144.05,192,154.68,192,168c0,19.36-20.34,48-64,48-26.73,0-45.48-8.65-57.34-26.44C60.93,175,56,154.26,56,128s4.93-47,14.66-61.56C82.52,48.65,101.27,40,128,40c32.93,0,54,13.25,64.53,40.52a8,8,0,1,0,14.93-5.75C194.68,41.56,167.2,24,128,24,96,24,72.19,35.29,57.34,57.56,45.83,74.83,40,98.52,40,128s5.83,53.17,17.34,70.44C72.19,220.71,96,232,128,232c30.07,0,48.9-11.48,59.4-21.1C200.3,199.08,208,183,208,168,208,149.66,200.54,134.32,186.42,123.65Zm-37.89,38a31.94,31.94,0,0,1-22.82,9.9c-10.81,0-21.71-6-21.71-19.52,0-12.63,12-26.21,38.41-26.21A63.88,63.88,0,0,1,160,128.24C160,142.32,156,153.86,148.53,161.62Z"/></svg></a><a href="https://www.tiktok.com/@cloudflare" aria-label="Cloudflare on TikTok (opens in a new tab)" class="flex size-[30px] items-center justify-center rounded-full border text-icon transition-colors hover:text-text border-transparent" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M224,72a48.05,48.05,0,0,1-48-48,8,8,0,0,0-8-8H128a8,8,0,0,0-8,8V156a20,20,0,1,1-28.57-18.08A8,8,0,0,0,96,130.69V88a8,8,0,0,0-9.4-7.88C50.91,86.48,24,119.1,24,156a76,76,0,0,0,152,0V116.29A103.25,103.25,0,0,0,224,128a8,8,0,0,0,8-8V80A8,8,0,0,0,224,72Zm-8,39.64a87.19,87.19,0,0,1-43.33-16.15A8,8,0,0,0,160,102v54a60,60,0,0,1-120,0c0-25.9,16.64-49.13,40-57.6v27.67A36,36,0,1,0,136,156V32h24.5A64.14,64.14,0,0,0,216,87.5Z"/></svg></a></div></li></ul></div></div></section><div class="post-right-lower ltr-dashed-left rtl-dashed-sides hidden md:block" data-astro-cid-qjtkll3n></div><!-- EMAIL SIGNUP --><div class="post-email-rule-top h-1 dashed-top full-bleed" data-astro-cid-qjtkll3n></div><div class="post-email-left-lower ltr-dashed-right rtl-dashed-sides hidden xl:block" data-astro-cid-qjtkll3n></div><section class="post-email py-10 px-5 md:px-post" data-astro-cid-qjtkll3n><h2 class="mb-5 text-2xl font-bold email-subscribe-heading" data-astro-cid-kdlozfn6="true">Subscribe to receive notifications of new posts</h2><form data-newsletter-form data-api-base novalidate data-astro-cid-kdlozfn6><div class="flex items-start justify-center gap-4 max-w-[550px] form-wrapper" data-newsletter-fields data-astro-cid-kdlozfn6><div class="flex-1" data-astro-cid-kdlozfn6><label for="newsletter-email" class="sr-only" data-astro-cid-kdlozfn6>Email address</label><input type="email" id="newsletter-email" name="email" autocomplete="email" placeholder="Your email address" class="bg-input-background border border-input-border text-input-text rounded-sm text-base px-3 h-10 mb-[6px] w-full" required aria-describedby="newsletter-email-error newsletter-email-helper" data-newsletter-email data-astro-cid-kdlozfn6><p id="newsletter-email-error" class="text-base text-accent-text mb-[6px]" role="alert" data-newsletter-error hidden data-astro-cid-kdlozfn6></p><p id="newsletter-email-helper" class="text-base text-muted" data-astro-cid-kdlozfn6>We’ll never share your email address.</p></div><button type="submit" class="btn font-bold text-white newsletter-submit-button rounded-full h-10 px-4 hover:opacity-90 disabled:opacity-60 disabled:cursor-not-allowed" data-newsletter-submit data-label-default="Subscribe" data-label-loading="Subscribing…" data-label-subscribed="Subscribed!" data-message-invalid="Please enter a valid email address." data-message-error="Something went wrong. Please try again." data-astro-cid-kdlozfn6>Subscribe</button></div><p id="newsletter-email-success" class="text-base text-center mt-4 font-medium" role="status" aria-live="polite" tabindex="-1" data-newsletter-success hidden data-astro-cid-kdlozfn6>Thanks for subscribing! Check your inbox to confirm.</p></form><script type="module">globalThis.process??={},globalThis.process.env??={};var e=/_ga=GA\d\.\d\.(.+?)(?:;|$)/;function t(){if(typeof document>`u`)return``;let t=document.cookie.match(e);return t?t[1]:``}var n=1653,r=`713-XSC-918`,i=`https://blog.api.www.cloudflare.com/api/v1`,a=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function o(e){return a.test(e.trim())}function s(e){if(typeof e!=`object`||!e||!(`error`in e))return;let t=e.error;if(typeof t==`string`)return t||void 0;if(!(typeof t!=`object`||!t))return Object.values(t).filter(e=>typeof e==`string`&&e.length>0)[0]}async function c(e,a){let o=e.trim(),c=(a||i).replace(/\/+$/,``);try{let e=await fetch(`${c}/form/${n}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({formId:n,input:[{leadFormFields:{Email:o,munchkinId:r,GACLIENTID__c:t(),formVid:n,formid:n},visitorData:{pageURL:window.location.href,userAgentString:window.navigator.userAgent}}]})});return e.status>=400?{status:`error`,message:s(await e.json().catch(()=>null))}:{status:`success`}}catch{return{status:`error`}}}var l=document.querySelector(`[data-newsletter-form]`);if(l){let e=l.querySelector(`[data-newsletter-email]`),t=l.querySelector(`[data-newsletter-submit]`),n=l.querySelector(`[data-newsletter-error]`),r=l.querySelector(`[data-newsletter-success]`),i=l.dataset.apiBase??``,a=t?.dataset.labelDefault??``,s=t?.dataset.labelLoading??``,u=t?.dataset.labelSubscribed??``,d=t?.dataset.messageInvalid??``,f=t?.dataset.messageError??``;function p(e){n&&(n.textContent=e,n.hidden=!1)}function m(){n&&(n.textContent=``,n.hidden=!0)}function h(e){t&&(t.disabled=e,t.textContent=e?s:a)}e?.addEventListener(`input`,m),l.addEventListener(`submit`,async n=>{n.preventDefault();let a=e?.value??``;if(!o(a)){p(d),e?.focus();return}m(),h(!0);let s=await c(a,i);if(s.status===`success`){t&&(t.disabled=!0,t.textContent=u),e&&(e.disabled=!0),r&&(r.hidden=!1,r.focus());return}h(!1),p(s.message||f)})}</script></section><div class="post-email-right-lower ltr-dashed-left rtl-dashed-sides hidden md:block" data-astro-cid-qjtkll3n></div></div></article><div data-related-posts-fragment data-src="/fragments/related-posts/?slug=unbounded-memory-usage-by-tcp-for-receive-buffers-and-how-we-fixed-it&amp;locale=en-us" data-astro-cid-qjtkll3n><section class="mx-auto max-w-page dashed-top full-bleed connectors-top" aria-busy="true" aria-label="Loading related posts" data-astro-cid-qjtkll3n><div class="grid lg:grid-cols-3 dashed-sides max-lg:[&amp;&gt;div:not(:last-child)]:dashed-btm lg:[&amp;&gt;div:not(:last-child)]:dashed-inline-end" data-astro-cid-qjtkll3n><div class="p-post" aria-hidden="true" data-astro-cid-qjtkll3n><article class="flex flex-col items-start gap-5 animate-pulse" data-astro-cid-qjtkll3n><div class="h-3 w-28 rounded-full bg-surface" data-astro-cid-qjtkll3n></div><div class="space-y-2 w-full" data-astro-cid-qjtkll3n><div class="h-6 w-11/12 rounded bg-surface" data-astro-cid-qjtkll3n></div><div class="h-6 w-3/4 rounded bg-surface" data-astro-cid-qjtkll3n></div></div><div class="flex items-center gap-1" data-astro-cid-qjtkll3n><div class="size-8 rounded-full bg-surface" data-astro-cid-qjtkll3n></div><div class="size-8 rounded-full bg-surface -ms-1" data-astro-cid-qjtkll3n></div></div><div class="h-3 w-36 rounded-full bg-surface" data-astro-cid-qjtkll3n></div></article></div><div class="p-post" aria-hidden="true" data-astro-cid-qjtkll3n><article class="flex flex-col items-start gap-5 animate-pulse" data-astro-cid-qjtkll3n><div class="h-3 w-28 rounded-full bg-surface" data-astro-cid-qjtkll3n></div><div class="space-y-2 w-full" data-astro-cid-qjtkll3n><div class="h-6 w-11/12 rounded bg-surface" data-astro-cid-qjtkll3n></div><div class="h-6 w-3/4 rounded bg-surface" data-astro-cid-qjtkll3n></div></div><div class="flex items-center gap-1" data-astro-cid-qjtkll3n><div class="size-8 rounded-full bg-surface" data-astro-cid-qjtkll3n></div><div class="size-8 rounded-full bg-surface -ms-1" data-astro-cid-qjtkll3n></div></div><div class="h-3 w-36 rounded-full bg-surface" data-astro-cid-qjtkll3n></div></article></div><div class="p-post" aria-hidden="true" data-astro-cid-qjtkll3n><article class="flex flex-col items-start gap-5 animate-pulse" data-astro-cid-qjtkll3n><div class="h-3 w-28 rounded-full bg-surface" data-astro-cid-qjtkll3n></div><div class="space-y-2 w-full" data-astro-cid-qjtkll3n><div class="h-6 w-11/12 rounded bg-surface" data-astro-cid-qjtkll3n></div><div class="h-6 w-3/4 rounded bg-surface" data-astro-cid-qjtkll3n></div></div><div class="flex items-center gap-1" data-astro-cid-qjtkll3n><div class="size-8 rounded-full bg-surface" data-astro-cid-qjtkll3n></div><div class="size-8 rounded-full bg-surface -ms-1" data-astro-cid-qjtkll3n></div></div><div class="h-3 w-36 rounded-full bg-surface" data-astro-cid-qjtkll3n></div></article></div></div></section></div></main><!-- DOTTED PATTERN --><div aria-hidden="true" class="hidden 2xl:block pointer-events-none left-0 z-0 dot-grid dashed-left col-start-3 row-start-2"></div><!-- FOOTER --><div class="col-span-3" data-mobile-nav-inert><footer class="dashed-top bg-footer pt-4 px-4 w-screen"><div class="mx-auto lg:max-w-page md:dashed-sides md:px-12 pt-12"><div class="mb-8"><a href="/" aria-label="Cloudflare home" class="text-footer-text"><img src="data:image/svg+xml,%3csvg%20width='116'%20height='10'%20viewBox='0%200%20116%2010'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.8733%200.190138H15.4678V7.34757H19.9951V9.64408H12.8736L12.8733%200.190138ZM22.6778%204.9439V4.91624C22.6778%202.2004%2024.8408%200.00103786%2027.7285%200.00103786C30.6151%200.00103786%2032.7512%202.17724%2032.7512%204.88859V4.91624C32.7512%207.63105%2030.5882%209.83145%2027.7005%209.83145C24.8128%209.83145%2022.6771%207.65802%2022.6771%204.9439H22.6778ZM30.1069%204.9439V4.91624C30.1069%203.55141%2029.1321%202.36357%2027.7008%202.36357C26.2689%202.36357%2025.3362%203.52375%2025.3362%204.88859V4.91624C25.3362%206.28004%2026.3097%207.46892%2027.7285%207.46892C29.1459%207.46892%2030.1069%206.30805%2030.1069%204.9439ZM35.9241%205.49772V0.193594H38.5559V5.44724C38.5559%206.81104%2039.2352%207.45751%2040.2782%207.45751C41.3202%207.45751%2042.0005%206.83524%2042.0005%205.51224V0.190138H44.6313V5.42996C44.6313%208.48321%2042.9087%209.81693%2040.2502%209.81693C37.5918%209.81693%2035.9206%208.4521%2035.9206%205.49564M48.599%200.192558H52.2074C55.5462%200.192558%2057.4835%202.13714%2057.4835%204.86232V4.88997C57.4835%207.6148%2055.5182%209.64235%2052.1528%209.64235H48.599V0.190138V0.193594V0.192558ZM52.2447%207.3213C53.7959%207.3213%2054.8216%206.45808%2054.8216%204.9318V4.90414C54.8216%203.391%2053.7935%202.51361%2052.2447%202.51361H51.1886V7.3213H52.2447ZM61.2517%200.190138H68.7317V2.48768H63.8417V4.09278H68.2632V6.26621H63.8417V9.64408H61.2517V0.190138ZM72.3377%200.190138H74.9312V7.34757H79.4592V9.64408H72.3377V0.190138ZM86.2315%200.123417H88.7285L92.71%209.64235H89.9319L89.2481%207.95394H85.6393L84.9728%209.64235H82.2459L86.2274%200.123417H86.2315ZM88.5035%205.91567L87.4608%203.22852L86.4047%205.91567H88.5035ZM96.0495%200.192903H100.471C101.9%200.192903%20102.891%200.572831%20103.516%201.21826C104.067%201.75721%20104.343%202.48941%20104.343%203.41866V3.44632C104.343%204.89032%20103.581%205.84999%20102.419%206.3478L104.651%209.64235H101.657L99.7744%206.77924H98.6395V9.64235H96.046V0.190138L96.0495%200.193594V0.192903ZM100.352%204.7306C101.234%204.7306%20101.742%204.29951%20101.742%203.61122V3.5846C101.742%202.84168%20101.21%202.46521%20100.339%202.46521H98.6429V4.7351H100.355L100.352%204.73164V4.7306ZM108.084%200.190138H115.606V2.41819H110.65V3.84802H115.14V5.91671H110.65V7.41602H115.674V9.64408H108.084V0.190138ZM7.1965%206.05188C6.83351%206.88157%206.06847%207.46892%205.05314%207.46892C3.63921%207.46892%202.66226%206.28004%202.66226%204.91624V4.88755C2.66226%203.52272%203.61121%202.36288%205.02652%202.36288C6.09267%202.36288%206.90576%203.02559%207.25112%203.93065H9.98149C9.54348%201.68254%207.58922%200%205.05072%200C2.16652%200%200%202.2004%200%204.91555V4.94321C0%207.65802%202.13541%209.83076%205.02376%209.83076C7.4907%209.83076%209.4211%208.21322%209.93032%206.04773H7.19304L7.1965%206.05119V6.05188Z'%20fill='%23686868'/%3e%3c/svg%3e" alt="Cloudflare" class="max-w-[116px]" loading="lazy" decoding="async"></a></div><div><div class="grid grid-cols-2 gap-x-5 gap-y-8 lg:ms-auto lg:grid-cols-4 pb-0 lg:pb-12 lg:max-w-[1100px]"><section class="mb-1 lg:mb-2"><h2 class="mb-2 lg:mb-3 text-[13px] font-medium leading-normal text-footer-heading">Getting Started</h2><ul><li class="mb-2"><a href="https://cloudflare.com/plans/" class="text-base leading-none text-footer-text transition-colors duration-150">Plans</a></li><li class="mb-2"><a href="https://cloudflare.com/contact/" class="text-base leading-none text-footer-text transition-colors duration-150">Contact sales</a></li><li class="mb-2"><a href="https://www.cloudflare.com/partners/" class="text-base leading-none text-footer-text transition-colors duration-150">Partners</a></li><li class="mb-2"><a href="https://partnerlocator.cloudflare.com/dashboard" class="text-base leading-none text-footer-text transition-colors duration-150">Find a partner</a></li><li class="mb-2"><a href="https://www.cloudflare.com/startups/" class="text-base leading-none text-footer-text transition-colors duration-150">Startups</a></li><li class="mb-2"><a href="https://www.cloudflare.com/under-attack-hotline/" class="text-base leading-none text-footer-text transition-colors duration-150">Under attack?</a></li><li class="mb-2"><a href="https://domains.cloudflare.com/" class="text-base leading-none text-footer-text transition-colors duration-150">Domain name search</a></li></ul></section><section class="mb-1 lg:mb-2"><h2 class="mb-2 lg:mb-3 text-[13px] font-medium leading-normal text-footer-heading">Public interest</h2><ul><li class="mb-2"><a href="https://www.cloudflare.com/galileo/" class="text-base leading-none text-footer-text transition-colors duration-150">Project Galileo</a></li><li class="mb-2"><a href="https://www.cloudflare.com/athenian/" class="text-base leading-none text-footer-text transition-colors duration-150">Athenian Project</a></li><li class="mb-2"><a href="https://www.cloudflare.com/campaigns/" class="text-base leading-none text-footer-text transition-colors duration-150">Cloudflare for Campaigns</a></li><li class="mb-2"><a href="https://www.cloudflare.com/fair-shot/" class="text-base leading-none text-footer-text transition-colors duration-150">Project Fairshot</a></li><li class="mb-2"><a href="https://www.cloudflare.com/impact/" class="text-base leading-none text-footer-text transition-colors duration-150">Impact/ESG</a></li></ul></section><section class="mb-1 lg:mb-2"><h2 class="mb-2 lg:mb-3 text-[13px] font-medium leading-normal text-footer-heading">Resources</h2><ul><li class="mb-2"><a href="https://www.cloudflare.com/app-innovation-report/" class="text-base leading-none text-footer-text transition-colors duration-150">App innovation report</a></li><li class="mb-2"><a href="https://radar.cloudflare.com/" class="text-base leading-none text-footer-text transition-colors duration-150">Cloudflare Radar</a></li><li class="mb-2"><a href="https://www.cloudflare.com/case-studies/" class="text-base leading-none text-footer-text transition-colors duration-150">Case studies</a></li><li class="mb-2"><a href="https://www.cloudflarestatus.com/" class="text-base leading-none text-footer-text transition-colors duration-150">Status</a></li><li class="mb-2"><a href="https://support.cloudflare.com/" class="text-base leading-none text-footer-text transition-colors duration-150">Support</a></li><li class="mb-2"><a href="https://www.cloudflare.com/events/" class="text-base leading-none text-footer-text transition-colors duration-150">Events</a></li><li class="mb-2"><a href="/" class="text-base leading-none text-footer-text transition-colors duration-150">Blog</a></li></ul></section><section class="mb-1 lg:mb-2"><h2 class="mb-2 lg:mb-3 text-[13px] font-medium leading-normal text-footer-heading">Solutions</h2><ul><li class="mb-2"><a href="https://www.cloudflare.com/sase/" class="text-base leading-none text-footer-text transition-colors duration-150">SSE and SASE platform</a></li><li class="mb-2"><a href="https://www.cloudflare.com/solutions/ai/" class="text-base leading-none text-footer-text transition-colors duration-150">Cloudflare AI Cloud</a></li><li class="mb-2"><a href="https://www.cloudflare.com/solutions/ai-security/" class="text-base leading-none text-footer-text transition-colors duration-150">AI Security</a></li><li class="mb-2"><a href="https://www.cloudflare.com/solutions/frontends/" class="text-base leading-none text-footer-text transition-colors duration-150">Frontend Development Platform</a></li><li class="mb-2"><a href="https://www.cloudflare.com/solutions/platforms/" class="text-base leading-none text-footer-text transition-colors duration-150">Multi-Tenant Platform Development</a></li><li class="mb-2"><a href="https://www.cloudflare.com/solutions/security/" class="text-base leading-none text-footer-text transition-colors duration-150">Web Security Platform</a></li></ul></section><section class="mb-1 lg:mb-2"><h2 class="mb-2 lg:mb-3 text-[13px] font-medium leading-normal text-footer-heading">Company</h2><ul><li class="mb-2"><a href="https://www.cloudflare.com/about/" class="text-base leading-none text-footer-text transition-colors duration-150">About</a></li><li class="mb-2"><a href="https://www.cloudflare.com/careers/" class="text-base leading-none text-footer-text transition-colors duration-150">Careers</a></li><li class="mb-2"><a href="https://cloudflare.net/" class="text-base leading-none text-footer-text transition-colors duration-150">Investors</a></li><li class="mb-2"><a href="https://www.cloudflare.com/press/" class="text-base leading-none text-footer-text transition-colors duration-150">Press</a></li><li class="mb-2"><a href="https://www.cloudflare.com/press/press-kit/" class="text-base leading-none text-footer-text transition-colors duration-150">Press kit</a></li><li class="mb-2"><a href="https://www.cloudflare.com/network/" class="text-base leading-none text-footer-text transition-colors duration-150">Global network</a></li></ul></section><section class="mb-1 lg:mb-2"><h2 class="mb-2 lg:mb-3 text-[13px] font-medium leading-normal text-footer-heading">Compliance</h2><ul><li class="mb-2"><a href="https://www.cloudflare.com/trust-hub/compliance-resources/" class="text-base leading-none text-footer-text transition-colors duration-150">Compliance resources</a></li><li class="mb-2"><a href="https://www.cloudflare.com/trust-hub/" class="text-base leading-none text-footer-text transition-colors duration-150">Trust</a></li><li class="mb-2"><a href="https://www.cloudflare.com/trust-hub/gdpr/" class="text-base leading-none text-footer-text transition-colors duration-150">GDPR</a></li><li class="mb-2"><a href="https://www.cloudflare.com/trust-hub/responsible-ai/" class="text-base leading-none text-footer-text transition-colors duration-150">Responsible AI</a></li><li class="mb-2"><a href="https://www.cloudflare.com/transparency/" class="text-base leading-none text-footer-text transition-colors duration-150">Transparency report</a></li><li class="mb-2"><a href="https://www.cloudflare.com/trust-hub/abuse-approach/" class="text-base leading-none text-footer-text transition-colors duration-150">Report abuse</a></li></ul></section><section class="mb-1 lg:mb-2"><h2 class="mb-2 lg:mb-3 text-[13px] font-medium leading-normal text-footer-heading">Developers</h2><ul><li class="mb-2"><a href="https://developers.cloudflare.com/" class="text-base leading-none text-footer-text transition-colors duration-150">Documentation</a></li><li class="mb-2"><a href="https://www.cloudflare.com/learning/" class="text-base leading-none text-footer-text transition-colors duration-150">Learning center</a></li><li class="mb-2"><a href="https://community.cloudflare.com/" class="text-base leading-none text-footer-text transition-colors duration-150">Community</a></li></ul></section><section class="lg:hidden col-start-1"><ul><li class="flex items-center gap-1"><a href="https://dash.cloudflare.com/sign-up">Start building</a><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M204,64V168a12,12,0,0,1-24,0V93L72.49,200.49a12,12,0,0,1-17-17L163,76H88a12,12,0,0,1,0-24H192A12,12,0,0,1,204,64Z"/></svg></li><li class="flex items-center gap-1"><a href="https://dash.cloudflare.com/login">Login</a><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M204,64V168a12,12,0,0,1-24,0V93L72.49,200.49a12,12,0,0,1-17-17L163,76H88a12,12,0,0,1,0-24H192A12,12,0,0,1,204,64Z"/></svg></li></ul></section><div class="col-start-1 col-span-full text-flaming-orange fill-none lg:hidden"><svg class="w-full" viewBox="0 0 561 250" fill="none" xmlns="http://www.w3.org/2000/svg"><g opacity="0.42"><path d="M303.718 269.487C378.225 269.487 438.624 209.244 438.624 134.931C438.624 60.6178 378.225 0.375 303.718 0.375C229.211 0.375 168.812 60.6178 168.812 134.931C168.812 209.244 229.211 269.487 303.718 269.487Z" stroke="currentColor" fill="none" stroke-width="1" stroke-dasharray="3.11 3.11"></path><path d="M140.739 199.487C174.332 199.487 201.564 172.325 201.564 138.82C201.564 105.315 174.332 78.1533 140.739 78.1533C107.146 78.1533 79.9143 105.315 79.9143 138.82C79.9143 172.325 107.146 199.487 140.739 199.487Z" stroke="currentColor" fill="none" stroke-width="1" stroke-dasharray="3.11 3.11"></path><path d="M89.2726 327.042C138.369 327.042 178.17 287.344 178.17 238.375C178.17 189.406 138.369 149.708 89.2726 149.708C40.1758 149.708 0.375 189.406 0.375 238.375C0.375 287.344 40.1758 327.042 89.2726 327.042Z" stroke="currentColor" fill="none" stroke-width="1" stroke-dasharray="3.11 3.11"></path><path d="M455.776 320.82C514.348 320.82 561.829 273.462 561.829 215.042C561.829 156.622 514.348 109.264 455.776 109.264C397.205 109.264 349.723 156.622 349.723 215.042C349.723 273.462 397.205 320.82 455.776 320.82Z" stroke="currentColor" fill="none" stroke-width="1" stroke-dasharray="3.11 3.11"></path><path d="M467.797 336.375C507.285 336.375 539.297 304.363 539.297 264.875C539.297 225.387 507.285 193.375 467.797 193.375C428.309 193.375 396.297 225.387 396.297 264.875C396.297 304.363 428.309 336.375 467.797 336.375Z" stroke="currentColor" fill="none" stroke-width="1" stroke-dasharray="3.11 3.11"></path><path d="M355.961 180.82C395.583 180.82 427.703 148.783 427.703 109.264C427.703 69.745 395.583 37.7085 355.961 37.7085C316.339 37.7085 284.219 69.745 284.219 109.264C284.219 148.783 316.339 180.82 355.961 180.82Z" stroke="currentColor" fill="none" stroke-width="1" stroke-dasharray="3.11 3.11"></path><path d="M358.524 255.486C375.751 255.486 389.716 241.557 389.716 224.375C389.716 207.193 375.751 193.264 358.524 193.264C341.297 193.264 327.332 207.193 327.332 224.375C327.332 241.557 341.297 255.486 358.524 255.486Z" stroke="currentColor" fill="none" stroke-width="1" stroke-dasharray="3.11 3.11"></path><path d="M465.579 180.819C482.806 180.819 496.771 166.89 496.771 149.708C496.771 132.526 482.806 118.597 465.579 118.597C448.352 118.597 434.387 132.526 434.387 149.708C434.387 166.89 448.352 180.819 465.579 180.819Z" stroke="currentColor" fill="none" stroke-width="1" stroke-dasharray="3.11 3.11"></path></g><path d="M452.193 109.264C511.94 109.264 560.375 156.622 560.375 215.042C560.375 225.456 558.837 235.519 555.969 245.025C555.199 247.577 552.76 249.264 550.039 249.264H399.529C397.297 249.264 395.758 247.075 396.559 245.038L399.435 237.713C408.625 214.212 434.844 194.96 459.101 193.832L505.082 191.529C507.538 191.406 509.466 189.422 509.466 187.017C509.466 184.625 507.558 182.646 505.116 182.506L461.938 180.023C438.725 178.868 427.384 158.791 433.627 137.869L440.812 113.789C441.543 111.34 443.728 109.558 446.334 109.42C448.274 109.317 450.227 109.264 452.193 109.264Z" stroke="currentColor" fill="none" stroke-width="1"></path><path d="M302.648 0.375C364.95 0.375 417.285 42.0634 432.087 98.4665C432.709 100.835 432.514 103.334 431.626 105.62L419.772 136.131C410.583 159.631 386.966 180.011 360.244 180.011L154.404 182.323C151.92 182.352 149.921 184.33 149.92 186.759C149.92 189.186 151.916 191.166 154.398 191.198L357.338 193.82C380.602 193.82 391.892 215.052 385.652 235.975L383.033 244.779C382.243 247.436 379.753 249.264 376.922 249.264H6.79428C3.62784 249.264 0.918159 246.989 0.664591 243.902C0.47264 241.566 0.375 239.204 0.375 236.819C0.375 191.386 35.9484 154.08 81.3467 150.07C80.4151 145.946 79.9205 141.662 79.9205 137.264C79.9205 104.618 106.987 78.1528 140.375 78.1528C153.663 78.1528 165.947 82.347 175.925 89.4518C193.691 37.6773 243.713 0.375 302.648 0.375Z" stroke="currentColor" fill="none" stroke-width="1"></path></svg></div></div></div><div class="pt-6 sm:pt-7 py-5 relative"><div class="dashed-top full-bleed h-1 mb-5"></div><div class="flex flex-col gap-4 lg:flex-row lg:items-center justify-center lg:justify-between text-center lg:text-start"><p class="text-xs leading-normal text-footer-text ps-0">© 2026 <a href="https://www.cloudflare.com/" class="hover:underline">Cloudflare, Inc.</a></p><div id="footer-legal-links" class="flex flex-wrap items-center justify-center lg:justify-end gap-y-2 text-[0.75rem] leading-normal tracking-[-0.06px] text-footer-text"><span class="footer-legal-item order-last inline-flex items-center whitespace-nowrap"><span aria-hidden="true" class="footer-legal-sep mx-2 text-silver-sand dark:text-baltic-sea select-none">|</span><button type="button" data-onetrust-settings class="inline-flex shrink-0 items-center gap-1.5 whitespace-nowrap transition-colors duration-150 hover:underline"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 14" aria-hidden="true" class="h-3.5 w-auto shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" fill="#fff" d="M7.4 12.8h6.8l3.1-11.6H7.4C4.2 1.2 1.6 3.8 1.6 7s2.6 5.8 5.8 5.8z"></path><path fill-rule="evenodd" clip-rule="evenodd" fill="#06f" d="M22.6 0H7.4C3.5 0 .4 3.1.4 7s3.1 7 7 7h15.2c3.9 0 7-3.1 7-7s-3.1-7-7-7zM1.6 7c0-3.2 2.6-5.8 5.8-5.8h9.9l-3.1 11.6H7.4C4.2 12.8 1.6 10.2 1.6 7z"></path><path fill="#fff" d="M24.6 4c.2.2.2.6 0 .8L22.5 7l2.2 2.2c.2.2.2.6 0 .8-.2.2-.6.2-.8 0l-2.2-2.2L19.5 10c-.2.2-.6.2-.8 0-.2-.2-.2-.6 0-.8L20.8 7l-2.2-2.2c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0l2.2 2.2L23.8 4c.2-.2.6-.2.8 0z"></path><path fill="#06f" d="M12.7 4.1c.2.2.3.6.1.8L8.6 9.8c-.1.1-.2.2-.3.2-.2.1-.5.1-.7-.1L5.4 7.7c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0L8 8.6l3.8-4.5c.2-.2.6-.2.9 0z"></path></svg>Your privacy choices</button></span><span class="footer-legal-item inline-flex items-center whitespace-nowrap"><a href="https://www.cloudflare.com/disclosure/" class="transition-colors duration-150 hover:underline">Report security issues</a></span><span class="footer-legal-item inline-flex items-center whitespace-nowrap"><span aria-hidden="true" class="footer-legal-sep mx-2 text-silver-sand dark:text-baltic-sea select-none">|</span><a href="https://www.cloudflare.com/privacypolicy/" class="transition-colors duration-150 hover:underline">Privacy Policy</a></span><span class="footer-legal-item inline-flex items-center whitespace-nowrap"><span aria-hidden="true" class="footer-legal-sep mx-2 text-silver-sand dark:text-baltic-sea select-none">|</span><a href="https://www.cloudflare.com/website-terms/" class="transition-colors duration-150 hover:underline">Terms of use</a></span><span class="footer-legal-item inline-flex items-center whitespace-nowrap"><span aria-hidden="true" class="footer-legal-sep mx-2 text-silver-sand dark:text-baltic-sea select-none">|</span><a href="https://www.cloudflare.com/trust-hub/gdpr/" class="transition-colors duration-150 hover:underline">GDPR</a></span><span class="footer-legal-item inline-flex items-center whitespace-nowrap"><span aria-hidden="true" class="footer-legal-sep mx-2 text-silver-sand dark:text-baltic-sea select-none">|</span><a href="https://www.cloudflare.com/trademark/" class="transition-colors duration-150 hover:underline">Trademark</a></span></div></div></div></div></footer><script type="module">globalThis.process??={},globalThis.process.env??={},document.querySelectorAll(`[data-onetrust-settings]`).forEach(e=>{e.addEventListener(`click`,()=>{window.OneTrust?.ToggleInfoDisplay?.()})});</script></div></div><div id="ai-search-dialog" class="fixed inset-0 z-(--z-search-modal)" aria-hidden="true" tabindex="-1" data-ai-search-dialog data-dialog-label="Search posts and pages" inert data-astro-cid-djgzlmcq><search-modal-snippet api-url="https://ai-search.blog.cloudflare.com" placeholder="Search..." request-options="{&quot;queryParams&quot;:{&quot;lang&quot;:&quot;en-us&quot;,&quot;version&quot;:&quot;v2&quot;}}" translations="{&quot;placeholder&quot;:&quot;Search...&quot;,&quot;loadingAriaLabel&quot;:&quot;Loading&quot;,&quot;errorPrefix&quot;:&quot;Error:&quot;,&quot;missingApiUrlError&quot;:&quot;The api-url attribute is required. Please provide a valid API URL.&quot;,&quot;searchButtonLabel&quot;:&quot;Search&quot;,&quot;emptyStateTitle&quot;:&quot;Start Searching&quot;,&quot;emptyStateDescription&quot;:&quot;Enter a query to search for results&quot;,&quot;searchInputAriaLabel&quot;:&quot;Search input&quot;,&quot;searchResultsAriaLabel&quot;:&quot;Search results&quot;,&quot;modalEmptyStateDescription&quot;:&quot;Start typing to search&quot;,&quot;noResultsTitle&quot;:&quot;No Results Found&quot;,&quot;noResultsDescription&quot;:&quot;No results found for \&quot;{query}\&quot;&quot;,&quot;resultsCount&quot;:&quot;Found {n} result&quot;,&quot;resultsCountPlural&quot;:&quot;Found {n} results&quot;,&quot;resultsCountOverflow&quot;:&quot;Showing {n} of {total} results&quot;,&quot;modalNoResultsTitle&quot;:&quot;No results found&quot;,&quot;modalNoResultsDescription&quot;:&quot;No results for \&quot;{query}\&quot;&quot;,&quot;modalResultsCount&quot;:&quot;{n} result&quot;,&quot;modalResultsCountPlural&quot;:&quot;{n} results&quot;,&quot;modalResultsCountZero&quot;:&quot;0 results&quot;,&quot;modalResultsCountError&quot;:&quot;Error&quot;,&quot;seeMoreResults&quot;:&quot;See more results&quot;,&quot;favoriteResults&quot;:&quot;Favorites&quot;,&quot;recentResults&quot;:&quot;Recent&quot;,&quot;addFavorite&quot;:&quot;Add to favorites&quot;,&quot;removeFavorite&quot;:&quot;Remove from favorites&quot;,&quot;navigateHint&quot;:&quot;Navigate&quot;,&quot;selectHint&quot;:&quot;Select&quot;,&quot;closeHint&quot;:&quot;Close&quot;,&quot;loadingMessages&quot;:[&quot;Searching...&quot;,&quot;Digging through results...&quot;,&quot;Scanning the knowledge base...&quot;,&quot;Finding the best matches...&quot;,&quot;Sifting through the data...&quot;,&quot;Almost there...&quot;,&quot;Looking far and wide...&quot;,&quot;Connecting the dots...&quot;,&quot;Rummaging through pages...&quot;,&quot;Hunting down answers...&quot;]}" data-astro-cid-djgzlmcq="true" class="ai-search-snippet"></search-modal-snippet></div><!-- Full-screen overlay menu. Hidden until hamburger is pressed. Hamburger button now lives in Header.astro. --><div id="mobile-menu" class="mobile-menu lg:hidden fixed inset-0 bg-background overflow-y-auto flex flex-col opacity-0 pointer-events-none transition-opacity duration-200" role="dialog" aria-modal="true" aria-label="Navigation menu" aria-hidden="true" tabindex="-1" inert data-astro-cid-ei4yhaat><!-- Search --><div class="px-4 pb-2 pt-3" data-astro-cid-ei4yhaat><search-bar-snippet api-url="https://ai-search.blog.cloudflare.com" placeholder="Search" request-options="{&quot;queryParams&quot;:{&quot;lang&quot;:&quot;en-us&quot;,&quot;version&quot;:&quot;v2&quot;}}" translations="{&quot;placeholder&quot;:&quot;Search&quot;,&quot;loadingAriaLabel&quot;:&quot;Loading&quot;,&quot;errorPrefix&quot;:&quot;Error:&quot;,&quot;missingApiUrlError&quot;:&quot;The api-url attribute is required. Please provide a valid API URL.&quot;,&quot;searchButtonLabel&quot;:&quot;Search&quot;,&quot;emptyStateTitle&quot;:&quot;Start Searching&quot;,&quot;emptyStateDescription&quot;:&quot;Enter a query to search for results&quot;,&quot;searchInputAriaLabel&quot;:&quot;Search input&quot;,&quot;searchResultsAriaLabel&quot;:&quot;Search results&quot;,&quot;modalEmptyStateDescription&quot;:&quot;Start typing to search&quot;,&quot;noResultsTitle&quot;:&quot;No Results Found&quot;,&quot;noResultsDescription&quot;:&quot;No results found for \&quot;{query}\&quot;&quot;,&quot;resultsCount&quot;:&quot;Found {n} result&quot;,&quot;resultsCountPlural&quot;:&quot;Found {n} results&quot;,&quot;resultsCountOverflow&quot;:&quot;Showing {n} of {total} results&quot;,&quot;modalNoResultsTitle&quot;:&quot;No results found&quot;,&quot;modalNoResultsDescription&quot;:&quot;No results for \&quot;{query}\&quot;&quot;,&quot;modalResultsCount&quot;:&quot;{n} result&quot;,&quot;modalResultsCountPlural&quot;:&quot;{n} results&quot;,&quot;modalResultsCountZero&quot;:&quot;0 results&quot;,&quot;modalResultsCountError&quot;:&quot;Error&quot;,&quot;seeMoreResults&quot;:&quot;See more results&quot;,&quot;favoriteResults&quot;:&quot;Favorites&quot;,&quot;recentResults&quot;:&quot;Recent&quot;,&quot;addFavorite&quot;:&quot;Add to favorites&quot;,&quot;removeFavorite&quot;:&quot;Remove from favorites&quot;,&quot;navigateHint&quot;:&quot;Navigate&quot;,&quot;selectHint&quot;:&quot;Select&quot;,&quot;closeHint&quot;:&quot;Close&quot;,&quot;loadingMessages&quot;:[&quot;Searching...&quot;,&quot;Digging through results...&quot;,&quot;Scanning the knowledge base...&quot;,&quot;Finding the best matches...&quot;,&quot;Sifting through the data...&quot;,&quot;Almost there...&quot;,&quot;Looking far and wide...&quot;,&quot;Connecting the dots...&quot;,&quot;Rummaging through pages...&quot;,&quot;Hunting down answers...&quot;]}" data-astro-cid-djgzlmcq="true" class="ai-search-snippet block w-full"><span class="ai-search-fallback flex flex-col gap-1" data-astro-cid-djgzlmcq><input type="search" disabled placeholder="Search" class="bg-input-background border border-input-border text-input-text rounded-sm text-base px-3 h-10 w-full opacity-60 cursor-not-allowed" data-astro-cid-djgzlmcq><span class="text-sm text-muted" data-astro-cid-djgzlmcq>Search is temporarily unavailable.</span></span></search-bar-snippet></div><!-- Nav list --><nav class="flex-1 px-4" aria-label="Navigation menu" data-astro-cid-ei4yhaat><ul class="list-none m-0 p-0" data-astro-cid-ei4yhaat><li data-astro-cid-ei4yhaat><a href="https://www.cloudflare.com/products/" class="px-5 flex items-center justify-between py-4 text-xl text-text no-underline border-b border-border transition-colors duration-100 hover:text-accent-text" data-astro-cid-ei4yhaat><span data-astro-cid-ei4yhaat>Products</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="16" height="16" fill="currentColor" class="mobile-nav-caret text-stack" aria-hidden="true"><path d="M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z"/></svg></a></li><li data-astro-cid-ei4yhaat><a href="https://www.cloudflare.com/solutions/" class="px-5 flex items-center justify-between py-4 text-xl text-text no-underline border-b border-border transition-colors duration-100 hover:text-accent-text" data-astro-cid-ei4yhaat><span data-astro-cid-ei4yhaat>Solutions</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="16" height="16" fill="currentColor" class="mobile-nav-caret text-stack" aria-hidden="true"><path d="M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z"/></svg></a></li><li data-astro-cid-ei4yhaat><a href="https://www.cloudflare.com/resources/" class="px-5 flex items-center justify-between py-4 text-xl text-text no-underline border-b border-border transition-colors duration-100 hover:text-accent-text" data-astro-cid-ei4yhaat><span data-astro-cid-ei4yhaat>Resources</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="16" height="16" fill="currentColor" class="mobile-nav-caret text-stack" aria-hidden="true"><path d="M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z"/></svg></a></li><li data-astro-cid-ei4yhaat><a href="https://www.cloudflare.com/plans/" class="px-5 flex items-center justify-between py-4 text-xl text-text no-underline border-b border-border transition-colors duration-100 hover:text-accent-text" data-astro-cid-ei4yhaat><span data-astro-cid-ei4yhaat>Pricing</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="16" height="16" fill="currentColor" class="mobile-nav-caret text-stack" aria-hidden="true"><path d="M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z"/></svg></a></li></ul></nav><!-- CTAs --><div class="nav-actions flex flex-col gap-3 px-4 py-6" data-astro-cid-ei4yhaat><a href="https://dash.cloudflare.com/login" class="flex items-center justify-center h-[56px] rounded-xl text-base font-medium no-underline transition-all duration-200 bg-surface border border-border text-text hover:border-text" target="_blank" rel="noreferrer" data-auth="logged-out" data-astro-cid-ei4yhaat>Login<span class="sr-only" data-astro-cid-ei4yhaat> opens in a new tab</span></a><a href="https://dash.cloudflare.com" class="flex items-center justify-center h-[56px] rounded-xl text-base font-medium no-underline transition-all duration-200 bg-surface border border-border text-text hover:border-text" target="_blank" rel="noreferrer" data-auth="logged-in" data-astro-cid-ei4yhaat>Dashboard<span class="sr-only" data-astro-cid-ei4yhaat> opens in a new tab</span></a><a href="https://www.cloudflare.com/resource/contact-enterprise-sales/" class="flex items-center justify-center h-[56px] rounded-xl text-base font-medium no-underline transition-all duration-200 bg-surface border border-border text-text hover:border-text" target="_blank" rel="noreferrer" data-astro-cid-ei4yhaat>Contact Sales<span class="sr-only" data-astro-cid-ei4yhaat> opens in a new tab</span></a><a href="https://dash.cloudflare.com/sign-up" class="flex items-center justify-center h-[56px] rounded-xl text-base font-medium no-underline transition-all duration-200 bg-flaming-orange text-white border-0 hover:opacity-90" target="_blank" rel="noreferrer" data-astro-cid-ei4yhaat>Start Building<span class="sr-only" data-astro-cid-ei4yhaat> opens in a new tab</span></a></div><!-- Bottom bar: social + pickers --><div class="flex items-center justify-between flex-wrap gap-3 px-4 py-4 border-t border-border mt-auto flex-col sm:flex-row" data-astro-cid-ei4yhaat><div class="flex items-center gap-1" data-astro-cid-ei4yhaat><a href="https://x.com/cloudflare" class="inline-flex items-center justify-center border border-anchor-link size-9 rounded-full text-icon no-underline hover:text-text" target="_blank" rel="noreferrer" aria-label="Cloudflare on X" data-astro-cid-ei4yhaat><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="18" height="18" fill="currentColor" aria-hidden="true"><path d="M214.75,211.71l-62.6-98.38,61.77-67.95a8,8,0,0,0-11.84-10.76L143.24,99.34,102.75,35.71A8,8,0,0,0,96,32H48a8,8,0,0,0-6.75,12.3l62.6,98.37-61.77,68a8,8,0,1,0,11.84,10.76l58.84-64.72,40.49,63.63A8,8,0,0,0,160,224h48a8,8,0,0,0,6.75-12.29ZM164.39,208,62.57,48h29L193.43,208Z"/></svg><span class="sr-only" data-astro-cid-ei4yhaat> opens in a new tab</span></a><a href="https://www.linkedin.com/company/cloudflare-inc-" class="inline-flex items-center justify-center border border-anchor-link size-9 rounded-full text-icon no-underline hover:text-text" target="_blank" rel="noreferrer" aria-label="Cloudflare on LinkedIn" data-astro-cid-ei4yhaat><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="18" height="18" fill="currentColor" aria-hidden="true"><path d="M216,24H40A16,16,0,0,0,24,40V216a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V40A16,16,0,0,0,216,24Zm0,192H40V40H216V216ZM96,112v64a8,8,0,0,1-16,0V112a8,8,0,0,1,16,0Zm88,28v36a8,8,0,0,1-16,0V140a20,20,0,0,0-40,0v36a8,8,0,0,1-16,0V112a8,8,0,0,1,15.79-1.78A36,36,0,0,1,184,140ZM100,84A12,12,0,1,1,88,72,12,12,0,0,1,100,84Z"/></svg><span class="sr-only" data-astro-cid-ei4yhaat> opens in a new tab</span></a><a href="/rss/" class="inline-flex items-center justify-center border border-anchor-link size-9 rounded-full text-icon no-underline hover:text-text" target="_blank" rel="noreferrer" aria-label="Blog RSS feed" data-astro-cid-ei4yhaat><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="18" height="18" fill="currentColor" aria-hidden="true"><path d="M228,192a12,12,0,0,1-24,0c0-77.2-62.8-140-140-140a12,12,0,0,1,0-24C154.43,28,228,101.57,228,192ZM64,100a12,12,0,0,0,0,24,68.07,68.07,0,0,1,68,68,12,12,0,0,0,24,0A92.1,92.1,0,0,0,64,100Zm4,72a16,16,0,1,0,16,16A16,16,0,0,0,68,172Z"/></svg><span class="sr-only" data-astro-cid-ei4yhaat> opens in a new tab</span></a></div><div class="flex items-center gap-2 shrink-0" data-astro-cid-ei4yhaat><details data-dropdown class="group relative pointer-events-auto"><summary class="dropdown-trigger" aria-label="All Categories"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="16" height="16" fill="currentColor" class="text-icon hidden lg:inline xl:hidden" aria-hidden="true"><path d="M204,136a12,12,0,0,1-12,12H64a12,12,0,0,1,0-24H192A12,12,0,0,1,204,136Zm28-60H24a12,12,0,0,0,0,24H232a12,12,0,0,0,0-24Zm-80,96H104a12,12,0,0,0,0,24h48a12,12,0,0,0,0-24Z"/></svg><span class="inline lg:hidden xl:inline whitespace-nowrap text-xs!">All Categories</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="12" height="12" fill="currentColor" class="fill-current transition-transform duration-150 group-open:rotate-180 inline lg:hidden xl:inline" aria-hidden="true"><path d="M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"/></svg></summary><div class="dropdown-container top-auto! bottom-[calc(100%+8px)]! left-0! translate-x-0!"><ul><li><a href="/tag/ai/">AI</a></li><li><a href="/tag/developers/">Developers</a></li><li><a href="/tag/cloudflare-radar/">Radar</a></li><li><a href="/tag/product-news/">Product News</a></li><li><a href="/tag/security/">Security</a></li><li><a href="/tag/policy/">Policy &amp; Legal</a></li><li><a href="/tag/zero-trust/">Zero Trust</a></li><li><a href="/tag/speed-and-reliability/">Speed &amp; Reliability</a></li><li><a href="/tag/life-at-cloudflare/">Life at Cloudflare</a></li><li><a href="/tag/partners/">Partners</a></li></ul></div></details><details data-language-dropdown class="group relative"><summary class="language-trigger"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="20" height="20" fill="currentColor" class="text-icon" aria-hidden="true"><path d="M128,24h0A104,104,0,1,0,232,128,104.12,104.12,0,0,0,128,24Zm88,104a87.61,87.61,0,0,1-3.33,24H174.16a157.44,157.44,0,0,0,0-48h38.51A87.61,87.61,0,0,1,216,128ZM102,168H154a115.11,115.11,0,0,1-26,45A115.27,115.27,0,0,1,102,168Zm-3.9-16a140.84,140.84,0,0,1,0-48h59.88a140.84,140.84,0,0,1,0,48ZM40,128a87.61,87.61,0,0,1,3.33-24H81.84a157.44,157.44,0,0,0,0,48H43.33A87.61,87.61,0,0,1,40,128ZM154,88H102a115.11,115.11,0,0,1,26-45A115.27,115.27,0,0,1,154,88Zm52.33,0H170.71a135.28,135.28,0,0,0-22.3-45.6A88.29,88.29,0,0,1,206.37,88ZM107.59,42.4A135.28,135.28,0,0,0,85.29,88H49.63A88.29,88.29,0,0,1,107.59,42.4ZM49.63,168H85.29a135.28,135.28,0,0,0,22.3,45.6A88.29,88.29,0,0,1,49.63,168Zm98.78,45.6a135.28,135.28,0,0,0,22.3-45.6h35.66A88.29,88.29,0,0,1,148.41,213.6Z"/></svg><span class="text-sm text-text">English</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="16" height="16" fill="currentColor" class="text-icon" aria-hidden="true"><path d="M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"/></svg></summary><div class="dropdown-container top-auto! bottom-[calc(100%+8px)]!"><ul><li class="dropdown-heading">Switch Site Language</li><li><a href="/">English</a></li><li><a href="/de-de/">Deutsch</a></li><li><a href="/es-es/">Español</a></li><li><a href="/es-la/">Español (Latinoamérica)</a></li><li><a href="/fr-fr/">Français</a></li><li><a href="/it-it/">Italiano</a></li><li><a href="/ja-jp/">日本語</a></li><li><a href="/ko-kr/">한국어</a></li><li><a href="/zh-tw/">繁體中文</a></li><li><a href="/zh-cn/">简体中文</a></li><li><a href="/pt-br/">Português</a></li><li><a href="/ru-ru/">Русский</a></li><li><a href="/id-id/">Bahasa Indonesia</a></li><li><a href="/th-th/">ภาษาไทย</a></li><li><a href="/vi-vn/">Tiếng Việt</a></li><li><a href="/pl-pl/">Polski</a></li><li><a href="/ar-ar/">العربية</a></li><li><a href="/he-il/">עברית</a></li><li><a href="/sv-se/">Svenska</a></li><li><a href="/nl-nl/">Nederlands</a></li><li><a href="/tr-tr/">Türkçe</a></li></ul></div></details><button type="button" class="language-trigger w-20" data-theme-toggle aria-pressed="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="20" height="20" fill="currentColor" class="hidden dark:block text-icon" aria-hidden="true"><path d="M116,36V20a12,12,0,0,1,24,0V36a12,12,0,0,1-24,0Zm80,92a68,68,0,1,1-68-68A68.07,68.07,0,0,1,196,128Zm-24,0a44,44,0,1,0-44,44A44.05,44.05,0,0,0,172,128ZM51.51,68.49a12,12,0,1,0,17-17l-12-12a12,12,0,0,0-17,17Zm0,119-12,12a12,12,0,0,0,17,17l12-12a12,12,0,1,0-17-17ZM196,72a12,12,0,0,0,8.49-3.51l12-12a12,12,0,0,0-17-17l-12,12A12,12,0,0,0,196,72Zm8.49,115.51a12,12,0,0,0-17,17l12,12a12,12,0,0,0,17-17ZM48,128a12,12,0,0,0-12-12H20a12,12,0,0,0,0,24H36A12,12,0,0,0,48,128Zm80,80a12,12,0,0,0-12,12v16a12,12,0,0,0,24,0V220A12,12,0,0,0,128,208Zm108-92H220a12,12,0,0,0,0,24h16a12,12,0,0,0,0-24Z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="20" height="20" fill="currentColor" class="dark:hidden text-icon" aria-hidden="true"><path d="M236.37,139.4a12,12,0,0,0-12-3A84.07,84.07,0,0,1,119.6,31.59a12,12,0,0,0-15-15A108.86,108.86,0,0,0,49.69,55.07,108,108,0,0,0,136,228a107.09,107.09,0,0,0,64.93-21.69,108.86,108.86,0,0,0,38.44-54.94A12,12,0,0,0,236.37,139.4Zm-49.88,47.74A84,84,0,0,1,68.86,69.51,84.93,84.93,0,0,1,92.27,48.29Q92,52.13,92,56A108.12,108.12,0,0,0,200,164q3.87,0,7.71-.27A84.79,84.79,0,0,1,186.49,187.14Z"/></svg><span class="text-sm text-text"><span class="hidden dark:inline">Light</span><span class="dark:hidden">Dark</span></span></button></div></div></div><script type="module">globalThis.process??={},globalThis.process.env??={};var e=document.querySelector(`#mobile-menu-btn`),t=document.querySelector(`#mobile-menu`),n=Array.from(document.querySelectorAll(`[data-mobile-nav-inert]`));function r(e){n.forEach(t=>{t.inert=e})}var i=`a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), summary, [tabindex]:not([tabindex="-1"])`;function a(){return t?Array.from(t.querySelectorAll(i)).filter(e=>e.offsetParent!==null):[]}function o(){!e||!t||(t.setAttribute(`aria-hidden`,`false`),t.inert=!1,t.classList.add(`mobile-menu--open`),e.setAttribute(`aria-expanded`,`true`),e.setAttribute(`aria-label`,e.dataset.closeLabel??``),document.documentElement.style.overflow=`hidden`,document.body.style.overflow=`hidden`,r(!0),(a()[0]??t).focus())}function s(){!e||!t||(t.inert=!0,t.setAttribute(`aria-hidden`,`true`),t.classList.remove(`mobile-menu--open`),e.setAttribute(`aria-expanded`,`false`),e.setAttribute(`aria-label`,e.dataset.openLabel??``),document.documentElement.style.overflow=``,document.body.style.overflow=``,r(!1),e.focus())}function c(e){if(!t)return;let n=a();if(n.length===0)return;let r=n[0],i=n[n.length-1],o=document.activeElement,s=o instanceof Node&&t.contains(o);e.shiftKey?(!s||o===r)&&(e.preventDefault(),i.focus()):(!s||o===i)&&(e.preventDefault(),r.focus())}e?.addEventListener(`click`,()=>{t?.classList.contains(`mobile-menu--open`)?s():o()}),document.addEventListener(`keydown`,e=>{t?.classList.contains(`mobile-menu--open`)&&(e.key===`Escape`?s():e.key===`Tab`&&c(e))});</script><script type="module">globalThis.process??={},globalThis.process.env??={};var e=/theme=([^;]+)/;function t(e,t,n=31536e3){let r=location.protocol===`https:`?`; Secure`:``;t===``?document.cookie=`${e}=; path=/; max-age=0; SameSite=Lax${r}`:document.cookie=`${e}=${t}; path=/; max-age=${n}; SameSite=Lax${r}`}function n(){let t=document.cookie.match(e),n=t?t[1]:`system`;return n===`light`||n===`dark`?n:`system`}function r(e){let n=document.documentElement;if(e===`system`){t(`theme`,``),n.classList.remove(`light`,`dark`),n.classList.toggle(`dark`,window.matchMedia(`(prefers-color-scheme: dark)`).matches);return}t(`theme`,e),n.classList.remove(`light`,`dark`),n.classList.add(e)}function i(){r(document.documentElement.classList.contains(`dark`)?`light`:`dark`)}var a=document.documentElement,o=document.querySelectorAll(`[data-theme-toggle]`);function s(){let e=a.classList.contains(`dark`)?`dark`:`light`;document.querySelectorAll(`search-bar-snippet, search-modal-snippet`).forEach(t=>t.setAttribute(`theme`,e))}r(n()),s(),o.forEach(e=>e.addEventListener(`click`,()=>{i(),s()})),window.matchMedia(`(prefers-color-scheme: dark)`).addEventListener(`change`,e=>{n()===`system`&&(a.classList.toggle(`dark`,e.matches),s())}),document.addEventListener(`click`,e=>{let t=e.target;!(t instanceof Element)||!t.closest(`#onetrust-pc-btn-handler, [data-onetrust-settings]`)||requestAnimationFrame(()=>document.querySelector(`#close-pc-btn-handler`)?.focus())},!0);function c(){a.classList.toggle(`scrolled`,window.scrollY>10)}window.addEventListener(`scroll`,c,{passive:!0}),requestAnimationFrame(c);</script><!-- WebMCP: exposes blog search to AI agents via navigator.modelContext --><script type="module">globalThis.process??={},globalThis.process.env??={};var e=`https://search.blog.cloudflare.com/search`,t=1e4;async function n(n){let r=n,i=typeof r.query==`string`?r.query:``,a=typeof r.limit==`number`?r.limit:5,o=Math.min(Math.max(1,a),20);if(!i)return[];let s=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({query:i,ai_search_options:{retrieval:{max_num_results:o}}}),signal:AbortSignal.timeout(t)});if(!s.ok)throw Error(`Search failed: ${s.status} ${s.statusText}`);let c=await s.json();if(!c||typeof c!=`object`||!(`success`in c))throw Error(`Unexpected search response shape`);let l=c;if(!l.success)throw Error(`Search returned success: false`);let u=l.result?.chunks??[],d=new Map;for(let e of u){let t=e.item?.key??``;if(!t)continue;let n=e.score??0,r=d.get(t);(!r||n>r.score)&&d.set(t,{url:t,title:e.item?.metadata?.title??``,excerpt:e.item?.metadata?.description??e.text?.slice(0,200)??``,score:n})}return[...d.values()].sort((e,t)=>t.score-e.score)}function r(){if(!(`modelContext`in navigator))return null;let e=navigator.modelContext;return!e||typeof e.registerTool!=`function`?null:e}function i(){let e=r();if(!e)return;let t=new AbortController,{signal:i}=t;e.registerTool({name:`search`,title:`Search Cloudflare Blog`,description:`Semantic search over the Cloudflare Blog. Returns matching posts with titles, URLs, and excerpts. Use this to find blog posts about any Cloudflare product, feature, or technology topic.`,inputSchema:{type:`object`,properties:{query:{type:`string`,description:`The search query`},limit:{type:`integer`,description:`Maximum number of results to return (1–20, default 5)`,default:5,minimum:1,maximum:20}},required:[`query`]},execute:n,annotations:{readOnlyHint:!0}},{signal:i}),window.addEventListener(`pagehide`,()=>t.abort(),{once:!0})}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,i):i();</script><!-- Consent-gated Radar, Zaraz Pageview, and GA data-layer coordinator. --><script type="module" src="/_astro/Base.astro_astro_type_script_index_2_lang.CTuZ3NLe.js"></script><script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" nonce="9bebee6439dc4c299c79e59a8fa7822d" data-cf-beacon='{"version":"2024.11.0","token":"2bc156e5f250476cb274d269511ffb57","spa":2}' crossorigin="anonymous"></script>
</body></html><script type="module" src="/_astro/Post.astro_astro_type_script_index_0_lang.DXeuxPwC.js"></script>