CINXE.COM
Ultimate guide to better DevOps / DevSecOps · Tailscale
<!DOCTYPE html><html><head><meta charSet="utf-8"/><title>Ultimate guide to better DevOps / DevSecOps · Tailscale</title><meta name="robots" content="index,follow"/><meta name="description" content="Implementing a DevSecOps workflow usually requires new processes and tools. To maximize your effectiveness, these tools should be simple and robust. Tailscale is a zero-config VPN that lets you quickly create a secure corporate network to support your development routines. In this DevSecOps guide, you’ll learn more about DevSecOps and how Tailscale can protect your business."/><meta property="og:title" content="Ultimate guide to better DevOps / DevSecOps · Tailscale"/><meta property="og:description" content="Implementing a DevSecOps workflow usually requires new processes and tools. To maximize your effectiveness, these tools should be simple and robust. Tailscale is a zero-config VPN that lets you quickly create a secure corporate network to support your development routines. In this DevSecOps guide, you’ll learn more about DevSecOps and how Tailscale can protect your business."/><meta property="og:url" content="https://tailscale.com/learn/devsecops"/><meta property="og:image" content="https://tailscale.com/api/og-image?id=f45f01ef-92ce-44cb-91bf-a7cd981d34f6"/><link rel="canonical" href="https://tailscale.com/learn/devsecops"/><link rel="alternate" type="application/rss+xml" href="https://tailscale.com/blog/index.xml"/><link rel="alternate" type="application/rss+xml" href="https://tailscale.com/changelog/index.xml"/><link rel="alternate" type="application/rss+xml" href="https://tailscale.com/security-bulletins/index.xml"/><meta name="viewport" content="initial-scale=1.0, width=device-width, maximum-scale=1"/><link rel="icon" href="/favicon.png" type="image/png"/><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><meta name="msapplication-TileColor" content="#492847"/><meta name="theme-color" content="#ffffff"/><script data-cfasync="false" async="" src="https://client-registry.mutinycdn.com/personalize/client/2717960877f6aef7.js"></script><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Ultimate guide to better DevOps / DevSecOps · Tailscale"/><meta name="twitter:image" content="https://tailscale.com/api/og-image?id=f45f01ef-92ce-44cb-91bf-a7cd981d34f6"/><meta name="twitter:description" content="Implementing a DevSecOps workflow usually requires new processes and tools. To maximize your effectiveness, these tools should be simple and robust. Tailscale is a zero-config VPN that lets you quickly create a secure corporate network to support your development routines. In this DevSecOps guide, you’ll learn more about DevSecOps and how Tailscale can protect your business."/><meta name="twitter:site" content="@tailscale"/><meta name="next-head-count" content="23"/><link rel="preload" href="/_next/static/media/97a52bce187043ec-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/a34f9d1faa5f3315-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/6150bae093f73e00.css" as="style"/><link rel="stylesheet" href="/_next/static/css/6150bae093f73e00.css" data-n-g=""/><link rel="preload" href="/_next/static/css/9eee414ec9ffd447.css" as="style"/><link rel="stylesheet" href="/_next/static/css/9eee414ec9ffd447.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/_next/static/chunks/webpack-7add37186d0ff440.js" defer=""></script><script src="/_next/static/chunks/framework-2f437cbb805415a5.js" defer=""></script><script src="/_next/static/chunks/main-0dd136d9106f604e.js" defer=""></script><script src="/_next/static/chunks/pages/_app-65bc912f20e9e3fa.js" defer=""></script><script src="/_next/static/chunks/3671-9d17777c1c0bc44c.js" defer=""></script><script src="/_next/static/chunks/8795-888300ea253b7c8f.js" defer=""></script><script src="/_next/static/chunks/2004-4f2eed6cf495725c.js" defer=""></script><script src="/_next/static/chunks/1056-a1006d72e8e23619.js" defer=""></script><script src="/_next/static/chunks/1566-9db767b2ef5c11e6.js" defer=""></script><script src="/_next/static/chunks/8100-98b2867a0c4566e6.js" defer=""></script><script src="/_next/static/chunks/7007-68710207f4721455.js" defer=""></script><script src="/_next/static/chunks/9981-9b50e2540174d3cf.js" defer=""></script><script src="/_next/static/chunks/6987-634d7d35d59d1a6e.js" defer=""></script><script src="/_next/static/chunks/7634-37bd8f0c2060be09.js" defer=""></script><script src="/_next/static/chunks/3411-14ead7f9ea118eac.js" defer=""></script><script src="/_next/static/chunks/pages/%5B...slug%5D-448a2039758cd93f.js" defer=""></script><script src="/_next/static/1lqTpUpp4ZU3uxrLrtdhl/_buildManifest.js" defer=""></script><script src="/_next/static/1lqTpUpp4ZU3uxrLrtdhl/_ssgManifest.js" defer=""></script><style id="__jsx-1535044592">:root{--font-inter:'__Inter_81dec9', '__Inter_Fallback_81dec9';--font-mdio:'__MDIOFont_8d6c39', '__MDIOFont_Fallback_8d6c39'}</style></head><body><div id="__next"><div class="z-[20000] flex min-h-[40px] w-full items-center justify-center p-2 px-10 text-center bg-heading-black text-white"><a class="group flex flex-wrap justify-center gap-x-4 text-sm tracking-tight" href="https://tailscale.com/events-webinars/replace-your-legacy-vpn">Webinar: Replace Your Legacy VPN with Tailscale<span class="font-bold underline group-hover:no-underline">Sign up now</span></a></div><header class="left-0 right-0 top-0 z-[100] h-[60px] transition-colors duration-300 lg:h-[66px] sticky bg-transparent"><div class="is-wide container flex items-center justify-between py-4 lg:py-3"><div class="flex gap-[35px]"><a class="w-[110px] transition-colors duration-200 text-heading-black" title="Homepage" href="/"><svg class="transition-colors duration-200 " width="100%" height="100%" viewBox="0 0 110 20" fill="none" xmlns="http://www.w3.org/2000/svg"><ellipse cx="2.44719" cy="10.1796" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse cx="9.79094" cy="10.1796" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse opacity="0.2" cx="2.44719" cy="17.5077" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse opacity="0.2" cx="17.1269" cy="17.5077" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse cx="9.79094" cy="17.5077" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse cx="17.1269" cy="10.1796" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse opacity="0.2" cx="2.44719" cy="2.85924" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse opacity="0.2" cx="9.79094" cy="2.85924" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse opacity="0.2" cx="17.1269" cy="2.85924" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><path d="M34.3979 18.458C35.0907 18.458 35.6536 18.3933 36.3248 18.2637V15.7584C35.9134 15.9096 35.4588 15.9528 35.0258 15.9528C33.965 15.9528 33.5753 15.4344 33.5753 14.441V9.34402H36.3248V6.83875H33.5753V3.12403H30.5443V6.83875H28.5742V9.34402H30.5443V14.7217C30.5443 17.0974 31.8 18.458 34.3979 18.458Z" fill="#242424"></path><path d="M41.2747 18.458C42.8984 18.458 43.9809 17.9181 44.5222 17.0758C44.5655 17.443 44.6954 17.9397 44.8686 18.2421H47.5964C47.4449 17.7237 47.3366 16.903 47.3366 16.3631V10.4455C47.3366 8.005 45.583 6.62277 42.617 6.62277C40.3654 6.62277 38.6118 7.46507 37.6376 8.69611L39.3696 10.4023C40.149 9.5384 41.1448 9.08486 42.3572 9.08486C43.8294 9.08486 44.4789 9.58159 44.4789 10.3159C44.4789 10.9422 44.0459 11.3742 41.7077 11.3742C39.4562 11.3742 37.183 12.3028 37.183 14.8945C37.183 17.2918 38.9149 18.458 41.2747 18.458ZM41.8809 16.1687C40.7118 16.1687 40.1706 15.672 40.1706 14.7865C40.1706 14.009 40.8201 13.4907 41.9026 13.4907C43.6345 13.4907 44.1108 13.3827 44.4789 13.0155V13.9442C44.4789 15.1753 43.4397 16.1687 41.8809 16.1687Z" fill="#242424"></path><path d="M49.3069 5.39173H52.4677V2.5625H49.3069V5.39173ZM49.3718 18.2421H52.4028V6.83875H49.3718V18.2421Z" fill="#242424"></path><path d="M54.6109 18.2421H57.6418V2.90805H54.6109V18.2421Z" fill="#242424"></path><path d="M63.9416 18.458C67.2757 18.458 68.986 16.7087 68.986 14.8729C68.986 13.2099 68.1417 11.9789 65.3705 11.4821C63.4221 11.1366 62.2097 10.7046 62.2097 10.0351C62.2097 9.45201 62.9025 9.04166 64.0715 9.04166C65.1107 9.04166 65.9767 9.38722 66.6262 10.1431L68.553 8.52333C67.5788 7.31389 65.9767 6.62277 64.0715 6.62277C61.1489 6.62277 59.3303 8.17777 59.3303 10.0783C59.3303 12.1517 61.2354 13.0803 63.2922 13.4475C65.0025 13.7499 65.9551 14.0738 65.9551 14.8081C65.9551 15.4344 65.2839 15.9528 64.0066 15.9528C62.7509 15.9528 61.7767 15.3696 61.322 14.5058L58.7674 15.7152C59.3952 17.2702 61.5385 18.458 63.9416 18.458Z" fill="#242424"></path><path d="M75.7621 18.458C77.9271 18.458 79.4859 17.5942 80.6549 15.6504L78.2302 14.4194C77.7755 15.3265 77.0395 15.9528 75.7621 15.9528C73.8353 15.9528 72.7961 14.3978 72.7961 12.5188C72.7961 10.6399 73.9003 9.12805 75.7621 9.12805C76.9312 9.12805 77.7106 9.75437 78.1652 10.7046L80.6116 9.40882C79.7889 7.61625 78.1652 6.62277 75.7621 6.62277C71.8003 6.62277 69.7652 9.5168 69.7652 12.5188C69.7652 15.78 72.2333 18.458 75.7621 18.458Z" fill="#242424"></path><path d="M85.4829 18.458C87.1067 18.458 88.1891 17.9181 88.7304 17.0758C88.7737 17.443 88.9036 17.9397 89.0768 18.2421H91.8046C91.6531 17.7237 91.5448 16.903 91.5448 16.3631V10.4455C91.5448 8.005 89.7912 6.62277 86.8252 6.62277C84.5737 6.62277 82.8201 7.46507 81.8458 8.69611L83.5778 10.4023C84.3572 9.5384 85.353 9.08486 86.5654 9.08486C88.0376 9.08486 88.6871 9.58159 88.6871 10.3159C88.6871 10.9422 88.2541 11.3742 85.9159 11.3742C83.6644 11.3742 81.3912 12.3028 81.3912 14.8945C81.3912 17.2918 83.1231 18.458 85.4829 18.458ZM86.0891 16.1687C84.9201 16.1687 84.3788 15.672 84.3788 14.7865C84.3788 14.009 85.0283 13.4907 86.1108 13.4907C87.8427 13.4907 88.319 13.3827 88.6871 13.0155V13.9442C88.6871 15.1753 87.6479 16.1687 86.0891 16.1687Z" fill="#242424"></path><path d="M93.3263 18.2421H96.3573V2.90805H93.3263V18.2421Z" fill="#242424"></path><path d="M103.631 18.458C105.861 18.458 107.658 17.5726 108.654 15.996L106.359 14.5274C105.753 15.4776 104.952 15.996 103.631 15.996C102.138 15.996 101.055 15.1753 100.774 13.5771H109.39V12.5188C109.39 9.5168 107.55 6.62277 103.61 6.62277C99.8643 6.62277 97.8293 9.5384 97.8293 12.5404C97.8293 16.8167 101.055 18.458 103.631 18.458ZM100.882 11.2014C101.358 9.75437 102.354 9.08486 103.675 9.08486C105.168 9.08486 106.078 9.97034 106.381 11.2014H100.882Z" fill="#242424"></path></svg></a><nav class="relative hidden lg:flex lg:gap-6"><div class="fixed bottom-0 left-0 right-0 z-[90] h-screen w-full transition duration-200 pointer-events-none opacity-0 top-[120px] bg-transparent"></div><div role="button" aria-haspopup="true" tabindex="0" class="group relative text-[14px] font-medium leading-normal tracking-[-0.28px] transition-colors duration-300 text-heading-black/80 hover:text-heading-black/100" data-track="Link Clicked" data-track-properties="{"label": "Product"}"><span>Product</span><div class="absolute bottom-[-6px] left-[25%] right-0 z-[100] flex h-[3px] w-[50%] items-center justify-center rounded-[5px] opacity-0 group-hover:opacity-100 bg-heading-black/80"></div></div><div role="button" aria-haspopup="true" tabindex="0" class="group relative text-[14px] font-medium leading-normal tracking-[-0.28px] transition-colors duration-300 text-heading-black/80 hover:text-heading-black/100" data-track="Link Clicked" data-track-properties="{"label": "Solutions"}"><span>Solutions</span><div class="absolute bottom-[-6px] left-[25%] right-0 z-[100] flex h-[3px] w-[50%] items-center justify-center rounded-[5px] opacity-0 group-hover:opacity-100 bg-heading-black/80"></div></div><a class="group relative text-[14px] font-medium leading-normal tracking-[-0.28px] transition-colors duration-300 text-heading-black/80 hover:text-heading-black/100" data-track="Link Clicked" data-track-properties="{"label": "Enterprise"}" href="/enterprise"><span>Enterprise</span><div class="absolute bottom-[-6px] left-[25%] right-0 z-[100] flex h-[3px] w-[50%] items-center justify-center rounded-[5px] opacity-0 group-hover:opacity-100 bg-heading-black/80"></div></a><a class="group relative text-[14px] font-medium leading-normal tracking-[-0.28px] transition-colors duration-300 text-heading-black/80 hover:text-heading-black/100" data-track="Link Clicked" data-track-properties="{"label": "Customers"}" href="/customers"><span>Customers</span><div class="absolute bottom-[-6px] left-[25%] right-0 z-[100] flex h-[3px] w-[50%] items-center justify-center rounded-[5px] opacity-0 group-hover:opacity-100 bg-heading-black/80"></div></a><a class="group relative text-[14px] font-medium leading-normal tracking-[-0.28px] transition-colors duration-300 text-heading-black/80 hover:text-heading-black/100" data-track="Link Clicked" data-track-properties="{"label": "Docs"}" href="/kb/1017/install"><span>Docs</span><div class="absolute bottom-[-6px] left-[25%] right-0 z-[100] flex h-[3px] w-[50%] items-center justify-center rounded-[5px] opacity-0 group-hover:opacity-100 bg-heading-black/80"></div></a><a class="group relative text-[14px] font-medium leading-normal tracking-[-0.28px] transition-colors duration-300 text-heading-black/80 hover:text-heading-black/100" data-track="Link Clicked" data-track-properties="{"label": "Blog"}" href="/blog"><span>Blog</span><div class="absolute bottom-[-6px] left-[25%] right-0 z-[100] flex h-[3px] w-[50%] items-center justify-center rounded-[5px] opacity-0 group-hover:opacity-100 bg-heading-black/80"></div></a><a class="group relative text-[14px] font-medium leading-normal tracking-[-0.28px] transition-colors duration-300 text-heading-black/80 hover:text-heading-black/100" data-track="Link Clicked" data-track-properties="{"label": "Pricing"}" href="/pricing"><span>Pricing</span><div class="absolute bottom-[-6px] left-[25%] right-0 z-[100] flex h-[3px] w-[50%] items-center justify-center rounded-[5px] opacity-0 group-hover:opacity-100 bg-heading-black/80"></div></a></nav></div><div class="hidden lg:flex lg:items-center lg:gap-[25px]"><a class="t-14 font-medium opacity-80 transition-colors duration-300 text-heading-black/80 hover:text-black/100" data-track="Link Clicked" data-track-properties="{"label": "Download"}" href="/download">Download</a><a class="t-14 font-medium opacity-80 transition-colors duration-300 text-heading-black/80 hover:text-black/100" data-track="Link Clicked" data-track-properties="{"label": "Log in"}" href="https://login.tailscale.com/welcome">Log in</a><a data-track="Link Clicked" data-track-properties="{"label": Get started - it's free!}" href="https://login.tailscale.com/start"><div class="inline-flex shrink-0 border transition-colors duration-200 w-full xs:w-auto items-center justify-center text-center relative focus:outline-none group transition-all overflow-hidden font-body font-medium rounded-lg group gap-[11px] py-2 px-[17px] leading-[1.46] tracking-[-0.16px] transition-colors duration-300 bg-heading-black border-heading-black text-white hover:bg-black-4 hover:border-black-4 "><div>Get started - it's free!</div></div></a></div><button type="button" aria-label="Open Menu" class="flex lg:hidden"><svg width="55" height="30" viewBox="0 0 55 30" fill="none" xmlns="http://www.w3.org/2000/svg"><rect class="fill-black-4" x="0.5" y="0.5" width="54" height="29" rx="5.5"></rect><line class="origin-center transition duration-300 rotate-0" x1="17" y1="11.5" x2="38" y2="11.5" stroke="white"></line><line class="origin-center transition duration-300 rotate-0" x1="17" y1="17.5" x2="38" y2="17.5" stroke="white"></line><rect x="0.5" y="0.5" width="54" height="29" rx="5.5" stroke="#242424"></rect></svg></button></div></header><div class="fixed inset-0 z-[90] h-full w-full overflow-auto bg-white px-5 pb-20 pt-24 transition-opacity duration-200 will-change-[opacity] lg:hidden pointer-events-none opacity-0"><div class="space-y-[22px]"><div class="relative overflow-hidden border-b border-stroke-grey pb-6 "><div class="t-20 flex w-full items-center justify-between font-medium "><span>Product</span><span class="flex h-[22px] w-[22px] items-center justify-center rounded-full text-black transition-transform duration-300 rotate-90 bg-black-4 text-white"><svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.83344 7.82482L8.83656 4.99835L5.83344 2.17188L5.24469 2.72658L7.24156 4.60599H1.16406V5.3907H7.24156L5.24469 7.27011L5.83344 7.82482Z" fill="currentColor"></path></svg></span></div><div class="flex flex-col transition duration-300 will-change-[height] h-0 opacity-0"><div class="left-[-110px] top-[57px] z-[100] flex flex-col justify-between gap-8 rounded-2xl bg-white py-[30px] will-change-transform lg:absolute lg:flex-row lg:gap-[50px] lg:border lg:px-[30px] xl:left-[-40px]" style="opacity:0"><div class="flex-1 lg:min-w-[266px]"><div class="t-14 relative z-[10] mb-2 text-[#706E6D] lg:mb-[15px] lg:ml-3">Meet Tailscale</div><ul><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "How it works"}" href="/blog/how-tailscale-works"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">How it works</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Why Tailscale"}" href="/why-tailscale"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Why Tailscale</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "WireGuard® for Enterprises"}" href="/wireguard-vpn"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">WireGuard® for Enterprises</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Bring Tailscale to Work"}" href="/bring-tailscale-to-work"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Bring Tailscale to Work</div></div></a></li></ul></div><div class="flex-1 lg:min-w-[266px]"><div class="t-14 relative z-[10] mb-2 text-[#706E6D] lg:mb-[15px] lg:ml-3">Explore</div><ul><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Integrations"}" href="/integrations"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Integrations</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Features"}" href="/features"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Features</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Compare Tailscale"}" href="/compare"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Compare Tailscale</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Partnerships"}" href="/partnerships"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Partnerships</div></div></a></li></ul></div></div></div></div><div class="relative overflow-hidden border-b border-stroke-grey pb-6 "><div class="t-20 flex w-full items-center justify-between font-medium "><span>Solutions</span><span class="flex h-[22px] w-[22px] items-center justify-center rounded-full text-black transition-transform duration-300 rotate-90 bg-black-4 text-white"><svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.83344 7.82482L8.83656 4.99835L5.83344 2.17188L5.24469 2.72658L7.24156 4.60599H1.16406V5.3907H7.24156L5.24469 7.27011L5.83344 7.82482Z" fill="currentColor"></path></svg></span></div><div class="flex flex-col transition duration-300 will-change-[height] h-0 opacity-0"><div class="left-[-110px] top-[57px] z-[100] flex flex-col justify-between gap-8 rounded-2xl bg-white py-[30px] will-change-transform lg:absolute lg:flex-row lg:gap-[50px] lg:border lg:px-[30px] xl:left-[-40px]" style="opacity:0"><div class="flex-1 lg:min-w-[266px]"><div class="t-14 relative z-[10] mb-2 text-[#706E6D] lg:mb-[15px] lg:ml-3">By use-case</div><ul><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Remote Access"}" href="/use-cases/remote-access"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Remote Access</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Site-to-site Networking"}" href="/use-cases/site-to-site-networking"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Site-to-site Networking</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Multi-Cloud Networking"}" href="/use-cases/multi-cloud-networking"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Multi-Cloud Networking</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Kubernetes Networking"}" href="/use-cases/kubernetes"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Kubernetes Networking</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Edge & IoT Deployments"}" href="/use-cases/iot"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Edge & IoT Deployments</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Zero Trust Networking"}" href="/use-cases/zero-trust-networking"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Zero Trust Networking</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "AI Workloads"}" href="/use-cases/ai"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">AI Workloads</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Secure SaaS"}" href="/use-cases/secure-saas"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Secure SaaS</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Business VPN"}" href="/use-cases/business-vpn"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Business VPN</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Homelab"}" href="/use-cases/homelab"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Homelab</div></div></a></li></ul></div><div class="flex-1 lg:min-w-[266px]"><div class="t-14 relative z-[10] mb-2 text-[#706E6D] lg:mb-[15px] lg:ml-3">By role</div><ul><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "DevOps"}" href="/solutions/devops"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">DevOps</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "IT"}" href="/solutions/it"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">IT</div></div></a></li><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Security"}" href="/solutions/security"><div class="flex items-center gap-2"><div class="t-16 relative z-[10] text-heading-black">Security</div></div></a></li></ul></div></div></div></div><div class="relative overflow-hidden border-b border-stroke-grey pb-6 "><a class="t-20 flex w-full items-center justify-between font-medium " href="/enterprise"><span>Enterprise</span><span class="flex h-[22px] w-[22px] items-center justify-center rounded-full text-black transition-transform duration-300 -rotate-0 bg-grey-2"><svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.83344 7.82482L8.83656 4.99835L5.83344 2.17188L5.24469 2.72658L7.24156 4.60599H1.16406V5.3907H7.24156L5.24469 7.27011L5.83344 7.82482Z" fill="currentColor"></path></svg></span></a><div class="flex flex-col transition duration-300 will-change-[height] h-0 opacity-0"><div class="left-[-110px] top-[57px] z-[100] flex flex-col justify-between gap-8 rounded-2xl bg-white py-[30px] will-change-transform lg:absolute lg:flex-row lg:gap-[50px] lg:border lg:px-[30px] xl:left-[-40px]" style="opacity:0"><div class="flex-1 lg:min-w-[266px]"><ul></ul></div></div></div></div><div class="relative overflow-hidden border-b border-stroke-grey pb-6 "><a class="t-20 flex w-full items-center justify-between font-medium " href="/customers"><span>Customers</span><span class="flex h-[22px] w-[22px] items-center justify-center rounded-full text-black transition-transform duration-300 -rotate-0 bg-grey-2"><svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.83344 7.82482L8.83656 4.99835L5.83344 2.17188L5.24469 2.72658L7.24156 4.60599H1.16406V5.3907H7.24156L5.24469 7.27011L5.83344 7.82482Z" fill="currentColor"></path></svg></span></a><div class="flex flex-col transition duration-300 will-change-[height] h-0 opacity-0"><div class="left-[-110px] top-[57px] z-[100] flex flex-col justify-between gap-8 rounded-2xl bg-white py-[30px] will-change-transform lg:absolute lg:flex-row lg:gap-[50px] lg:border lg:px-[30px] xl:left-[-40px]" style="opacity:0"><div class="flex-1 lg:min-w-[266px]"><div class="t-14 relative z-[10] mb-2 text-[#706E6D] lg:mb-[15px] lg:ml-3">Nav heading here</div><ul><li class="group relative whitespace-nowrap"><a class="relative z-[10] inline-block w-full rounded-lg px-1 py-2 hover:bg-[#F9F7F6] lg:p-[12px]" data-track="Link Clicked" data-track-properties="{"label": "Title here"}" href="https://tailscale.com/customers"><div class="flex items-center gap-2"><img alt="Alt text " loading="lazy" width="300" height="120" decoding="async" data-nimg="1" class="relative z-[10] brightness-100 saturate-100 transition duration-200 lg:brightness-[1.1] lg:saturate-0 lg:brightness-100 lg:saturate-100" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 120'%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='none' style='filter: url(%23b);' href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/wcAAwAB/ucNC4UAAAAASUVORK5CYII='/%3E%3C/svg%3E")" srcSet="https://cdn.sanity.io/images/w77i7m8x/production/a06dc612b1e3e4f4df53a72030002600639a8738-300x120.png?w=384&q=75&fit=clip&auto=format 1x, https://cdn.sanity.io/images/w77i7m8x/production/a06dc612b1e3e4f4df53a72030002600639a8738-300x120.png?w=640&q=75&fit=clip&auto=format 2x" src="https://cdn.sanity.io/images/w77i7m8x/production/a06dc612b1e3e4f4df53a72030002600639a8738-300x120.png?w=640&q=75&fit=clip&auto=format"/><div class="t-16 relative z-[10] text-heading-black">Title here</div></div><div class="t-14 relative z-[10] mt-1 line-clamp-2 !font-normal !leading-[1.28] text-heading-black/80">How Cribl Enables Secure Work From Anywhere with Tailscale</div></a></li></ul></div></div></div></div><div class="relative overflow-hidden border-b border-stroke-grey pb-6 "><a class="t-20 flex w-full items-center justify-between font-medium " href="/kb/1017/install"><span>Docs</span><span class="flex h-[22px] w-[22px] items-center justify-center rounded-full text-black transition-transform duration-300 -rotate-0 bg-grey-2"><svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.83344 7.82482L8.83656 4.99835L5.83344 2.17188L5.24469 2.72658L7.24156 4.60599H1.16406V5.3907H7.24156L5.24469 7.27011L5.83344 7.82482Z" fill="currentColor"></path></svg></span></a><div class="flex flex-col transition duration-300 will-change-[height] h-0 opacity-0"><div class="left-[-110px] top-[57px] z-[100] flex flex-col justify-between gap-8 rounded-2xl bg-white py-[30px] will-change-transform lg:absolute lg:flex-row lg:gap-[50px] lg:border lg:px-[30px] xl:left-[-40px]" style="opacity:0"><div class="flex-1 lg:min-w-[266px]"><ul></ul></div></div></div></div><div class="relative overflow-hidden border-b border-stroke-grey pb-6 "><a class="t-20 flex w-full items-center justify-between font-medium " href="/blog"><span>Blog</span><span class="flex h-[22px] w-[22px] items-center justify-center rounded-full text-black transition-transform duration-300 -rotate-0 bg-grey-2"><svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.83344 7.82482L8.83656 4.99835L5.83344 2.17188L5.24469 2.72658L7.24156 4.60599H1.16406V5.3907H7.24156L5.24469 7.27011L5.83344 7.82482Z" fill="currentColor"></path></svg></span></a><div class="flex flex-col transition duration-300 will-change-[height] h-0 opacity-0"><div class="left-[-110px] top-[57px] z-[100] flex flex-col justify-between gap-8 rounded-2xl bg-white py-[30px] will-change-transform lg:absolute lg:flex-row lg:gap-[50px] lg:border lg:px-[30px] xl:left-[-40px]" style="opacity:0"><div class="flex-1 lg:min-w-[266px]"><ul></ul></div></div></div></div><div class="relative overflow-hidden border-b border-stroke-grey pb-6 "><a class="t-20 flex w-full items-center justify-between font-medium " href="/pricing"><span>Pricing</span><span class="flex h-[22px] w-[22px] items-center justify-center rounded-full text-black transition-transform duration-300 -rotate-0 bg-grey-2"><svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.83344 7.82482L8.83656 4.99835L5.83344 2.17188L5.24469 2.72658L7.24156 4.60599H1.16406V5.3907H7.24156L5.24469 7.27011L5.83344 7.82482Z" fill="currentColor"></path></svg></span></a><div class="flex flex-col transition duration-300 will-change-[height] h-0 opacity-0"><div class="left-[-110px] top-[57px] z-[100] flex flex-col justify-between gap-8 rounded-2xl bg-white py-[30px] will-change-transform lg:absolute lg:flex-row lg:gap-[50px] lg:border lg:px-[30px] xl:left-[-40px]" style="opacity:0"><div class="flex-1 lg:min-w-[266px]"><ul></ul></div></div></div></div><div class="relative overflow-hidden border-b border-stroke-grey pb-6 "><a class="t-20 flex w-full items-center justify-between font-medium " href="/download"><span>Download</span><span class="flex h-[22px] w-[22px] items-center justify-center rounded-full text-black transition-transform duration-300 -rotate-0 bg-grey-2"><svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.83344 7.82482L8.83656 4.99835L5.83344 2.17188L5.24469 2.72658L7.24156 4.60599H1.16406V5.3907H7.24156L5.24469 7.27011L5.83344 7.82482Z" fill="currentColor"></path></svg></span></a><div class="flex flex-col transition duration-300 will-change-[height] h-0 opacity-0"></div></div></div><a class="mt-[42px] block" data-track="Link Clicked" data-track-properties="{"label": "Get started - it's free!"}" href="https://login.tailscale.com/start"><div class="inline-flex shrink-0 border transition-colors duration-200 w-full xs:w-auto items-center justify-center text-center relative focus:outline-none group transition-all overflow-hidden font-body font-medium rounded-lg group gap-[11px] py-2 px-[17px] leading-[1.46] tracking-[-0.16px] !w-full py-3 bg-heading-black border-heading-black text-white hover:bg-black-4 hover:border-black-4 "><div>Get started - it's free!</div></div></a><a class="mt-[15px] block" data-track="Link Clicked" data-track-properties="{"label": "Login"}" href="https://login.tailscale.com/welcome"><div class="inline-flex shrink-0 border transition-colors duration-200 w-full xs:w-auto items-center justify-center text-center relative focus:outline-none group transition-all overflow-hidden font-body font-medium rounded-lg group gap-[11px] py-2 px-[17px] leading-[1.46] tracking-[-0.16px] !w-full py-3 bg-grey-3 border-grey-3 text-heading-black"><div>Login</div></div></a><div class="t-14 mx-auto mt-[55px] max-w-[264px] text-center text-black-4/60">WireGuard is a registered trademark of Jason A. Donenfeld.</div><div class="mt-[35px] flex flex-wrap justify-center gap-[14px]"><a class="t-16 !leading-[1.05] underline underline-offset-4" href="/terms">Terms of Service</a><a class="t-16 !leading-[1.05] underline underline-offset-4" href="/privacy-policy">Privacy Policy</a></div><div class="mt-[60px] flex items-center justify-center gap-[8px]"><span class="scale-[1.1] text-heading-black transition-colors duration-300 hover:text-red-1"><svg width="28" height="29" viewBox="0 0 28 29" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.988281" width="28" height="28" rx="14" fill="currentColor"></rect><path class=" transition-colors duration-300 group-hover:fill-heading-black" d="M8.03169 9L13.0509 15.0672L8 20H9.13675L13.5587 15.6812L17.1317 20H21L15.6985 13.5916L20.3997 9H19.263L15.1906 12.9775L11.9001 9H8.03169ZM9.70337 9.75698H11.4805L19.3281 19.2429H17.551L9.70337 9.75698Z" fill="white"></path></svg></span><span class="scale-[1.1] text-heading-black transition-colors duration-300 hover:text-red-1"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.21875" width="27.2195" height="27.2195" rx="13.6098" fill="currentColor"></rect><path class=" transition-colors duration-300 group-hover:fill-heading-black" d="M12.434 19.6598L12.4179 14.8081H10.3008V12.7289H12.4179V11.3427C12.4179 9.47188 13.5974 8.57031 15.2966 8.57031C16.1106 8.57031 16.8101 8.62983 17.014 8.65643V10.6115L15.8355 10.612C14.9114 10.612 14.7324 11.0433 14.7324 11.6762V12.7289H17.3577L16.652 14.8081H14.7324V19.6598H12.434Z" fill="#fff"></path></svg></span><span class="scale-[1.1] text-heading-black transition-colors duration-300 hover:text-red-1"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.439453" width="27.2195" height="27.2195" rx="13.6098" fill="currentColor"></rect><path class=" transition-colors duration-300 group-hover:fill-heading-black" d="M8.68685 18.6518H10.8825V11.5871H8.68685V18.6518Z" fill="white"></path><path class=" transition-colors duration-300 group-hover:fill-heading-black" d="M8.50195 9.34036C8.50195 10.0352 9.07976 10.6143 9.77312 10.6143C10.4896 10.6143 11.0443 10.0584 11.0443 9.34036C11.0443 8.64547 10.4665 8.06641 9.77312 8.06641C9.07976 8.06641 8.50195 8.64547 8.50195 9.34036Z" fill="white"></path><path class=" transition-colors duration-300 group-hover:fill-heading-black" d="M16.8917 18.6518H19.0873V14.7836C19.0873 12.8843 18.6713 11.425 16.4525 11.425C15.3894 11.425 14.6729 12.0041 14.3724 12.56H14.3493V11.5871H12.2461V18.6518H14.4418V15.1542C14.4418 14.2509 14.6267 13.3475 15.7592 13.3475C16.8686 13.3475 16.8917 14.413 16.8917 15.2237V18.6518Z" fill="white"></path></svg></span><span class="scale-[1.1] text-heading-black transition-colors duration-300 hover:text-red-1"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.658203" width="27.2195" height="27.2195" rx="13.6098" fill="currentColor"></rect><path class=" transition-colors duration-300 group-hover:fill-heading-black" d="M19.6754 11.46C19.5368 10.5863 19.121 9.98138 18.1506 9.84696C16.6258 9.57813 14.2693 9.57812 14.2693 9.57812C14.2693 9.57812 11.9128 9.57813 10.388 9.84696C9.4177 9.98138 8.93254 10.5863 8.86323 11.46C8.72461 12.3337 8.72461 13.6106 8.72461 13.6106C8.72461 13.6106 8.72461 14.8876 8.86323 15.7613C9.00185 16.635 9.4177 17.2399 10.388 17.3743C11.9128 17.6432 14.2693 17.6432 14.2693 17.6432C14.2693 17.6432 16.6258 17.6432 18.1506 17.3743C19.121 17.1727 19.5368 16.635 19.6754 15.7613C19.814 14.8876 19.814 13.6106 19.814 13.6106C19.814 13.6106 19.814 12.3337 19.6754 11.46ZM12.8831 15.6269V11.5944L16.3486 13.6106L12.8831 15.6269Z" fill="white"></path></svg></span></div><div class="t-14 mx-auto mt-10 max-w-[264px] text-center text-black-4/60"> <!-- -->© <!-- -->2025<!-- --> <!-- -->Tailscale Inc. All rights reserved. Tailscale is a registered trademark of Tailscale Inc.</div></div><main class="mt-[-60px] lg:mt-[-66px]"><section class="overflow-x-clip pt-20 md:pt-[110px]"><div class="is-wide container"><div class="flex items-center gap-[30px] "><a type="button" aria-label="Go back" class="t-18 flex items-center gap-[5px]" data-track="Link Clicked" data-track-properties="{"label": "Go Back"}" href="/"><svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.98047 2.21094L4.01953 6.17188L7.98047 10.1328" stroke="url(#paint0_radial_243_61489)" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="square"></path><defs><radialGradient id="paint0_radial_243_61489" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(7.98047 7.22813) rotate(-165.069) scale(4.09935 7.79047)"><stop stop-color="#373636"></stop><stop offset="1" stop-color="#212121"></stop></radialGradient></defs></svg><span>Go back</span></a><div class="t-18 hidden items-center gap-3 md:flex"><div class="flex items-center gap-[5px] text-subheading-black"><a class="transition-colors duration-300 hover:text-heading-black" data-track="Link Clicked" data-track-properties="{"label": "Learn"}" href="/learn">Learn</a><div class="rotate-180"><svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.98047 2.21094L4.01953 6.17188L7.98047 10.1328" stroke="currentColor" stroke-width="1.2" stroke-miterlimit="10" stroke-linecap="square"></path></svg></div></div><div>Ultimate guide to better DevOps / DevSecOps</div></div></div></div><div class="container"><div class="mt-8 w-full max-w-[950px] md:mt-[100px]"><h1 class="t-72 text-heading-black">Ultimate guide to better DevOps / DevSecOps</h1><p class="t-20 mt-4 max-w-[780px] text-subheading-black">Implementing a DevSecOps workflow usually requires new processes and tools. To maximize your effectiveness, these tools should be simple and robust. Tailscale is a zero-config VPN that lets you quickly create a secure corporate network to support your development routines. In this DevSecOps guide, you’ll learn more about DevSecOps and how Tailscale can protect your business.</p></div></div></section><section class="my-16 md:my-[120px]"><div class="container"><div class="flex flex-col-reverse justify-between gap-6 md:flex-row"><div class="basis-72"><div class="sticky top-20"><nav class="table-of-content t-18 mb-[95px] hidden space-y-4 md:block"><a href="#what-is-devsecops" class="block text-start text-black" data-anchor-level="3">What is DevSecOps?</a><a href="#using-tailscale-for-devsecops" class="block text-start text-subheading-black" data-anchor-level="3">Using Tailscale for DevSecOps</a><a href="#how-tailscales-wireguard-protocol-protects-your-infrastructure" class="block text-start text-subheading-black" data-anchor-level="3">How Tailscale’s WireGuard protocol protects your infrastructure</a><a href="#tailscale-partners" class="block text-start text-subheading-black" data-anchor-level="3">Tailscale partners</a><a href="#conclusion" class="block text-start text-subheading-black" data-anchor-level="3">Conclusion</a></nav></div></div><div class="w-full max-w-[950px] flex-1"><div class="mx-auto w-full max-w-[730px]"><div class=""><div class="content-prose blog prism prose "><p>DevOps describes an approach to software delivery that integrates source code development with service deployment and operation. An effective DevOps approach lets you ship high-quality code more frequently without jeopardizing long-term maintenance requirements.</p><p><a target="" rel="noreferrer" href="https://www.devsecops.org/">DevSecOps</a> takes the methodology a step further by incorporating security as another fundamental component. Building security into your development system promotes a holistic view of your application’s threat surface. This reduces the risk of dangerous oversights that can occur when security is a checklist exercise at the end of a project.</p><p>Implementing a DevSecOps workflow usually requires new processes, documentation, and tools. To maximize your effectiveness, these tools should be simple and robust. <a target="" rel="noreferrer" href="https://tailscale.com/">Tailscale</a> is a zero-config VPN that lets you quickly create a secure corporate network to support your development routines. In this article, you’ll learn more about DevSecOps and how Tailscale can protect your business.</p><div></div><h3 id="what-is-devsecops"><span class="group">What is DevSecOps?<a class="select-none opacity-0 !transition group-hover:opacity-100" href="#what-is-devsecops" aria-hidden="true"> <svg class="inline" xmlns="http://www.w3.org/2000/svg" width="0.4em" height="0.4em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></span></h3><p>DevSecOps methodologies recognize security as a foundational element of modern software. While security may previously have been handled by a dedicated team, DevSecOps makes it a shared responsibility that permeates the entire process. Everyone involved with a project — developers, operations teams, managers, and system architects — should consider how their work affects the product’s final security posture.</p><p>Approaching security in this way makes it more likely that issues will be caught and addressed early, before they reach production. Thinking about security before you begin to write code can prevent problems from even entering the application in the first place. How would an attacker take advantage of the code you are writing? This kind of thinking enhances safety, unlocks more efficient delivery methods, and avoids the heavy cost of live-patching security issues.</p><p>Adopting DevSecOps requires changes to your workflow, tools, and broader environment. Here are a few specific situations to consider.</p><h4 id="deployment"><span class="group">Deployment<a class="select-none opacity-0 !transition group-hover:opacity-100" href="#deployment" aria-hidden="true"> <svg class="inline" xmlns="http://www.w3.org/2000/svg" width="0.4em" height="0.4em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></span></h4><p>Security isn’t just about code: Deployment mechanisms and production servers need to be protected, too. DevSecOps acknowledges this relationship and works to guarantee the security of your running workloads.</p><p>Deployments can be secured by using automated tools to scan for vulnerabilities, identify compromised dependencies, and perform dynamic fuzz testing against live environments. You can run these as part of a continuous integration (CI) pipeline.</p><p>When you approve a deployment to sensitive environments like production, use a secured tunnel to issue commands and upload files. Agent-based mechanisms — where a service within the environment polls your repository for changes — should be preferred over opening ports inside the environment to external access. Instead of opening ports to the internet, you should use Tailscale to securely connect to internal services.</p><h4 id="corporate-network-security"><span class="group">Corporate network security<a class="select-none opacity-0 !transition group-hover:opacity-100" href="#corporate-network-security" aria-hidden="true"> <svg class="inline" xmlns="http://www.w3.org/2000/svg" width="0.4em" height="0.4em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></span></h4><p>DevSecOps practices aren’t confined to code and operations. Security is only ever as good as the weakest link, and shifting that link to earlier in your development cycle still leaves you open to attack from unguarded network entry points.</p><p>Properly securing your corporate network with a VPN solution allows you to control which devices can communicate with each other. Take the time to inspect your current network and question the connections it facilitates. Do developer laptops need direct, unrestricted access to your production servers? What should developers need to do to access production?</p><p>You should apply the most stringent restrictions you can in each situation. This can be instrumental in preventing an attacker moving from a low-value target to critical infrastructure.</p><h4 id="audit-and-document"><span class="group">Audit and document<a class="select-none opacity-0 !transition group-hover:opacity-100" href="#audit-and-document" aria-hidden="true"> <svg class="inline" xmlns="http://www.w3.org/2000/svg" width="0.4em" height="0.4em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></span></h4><p>Regularly auditing your environments will keep you informed of weaknesses and highlight opportunities for improvement. When you make changes, document them in a centralized location so everyone can gauge the organization’s security posture. The DevSecOps mindset empowers individuals to measure and contribute to the baseline. This enables iterative progression similar to how code is written.</p><p>You should choose tools that support this model. Look for automated systems that offer a policy-based approach, where you can <a target="" rel="noreferrer" href="https://tailscale.com/kb/1018/acls">define security rules</a> as files in a versioned repository. This will help you and others on your team track changes and understand which protections are currently applied.</p><div></div><h3 id="using-tailscale-for-devsecops"><span class="group">Using Tailscale for DevSecOps<a class="select-none opacity-0 !transition group-hover:opacity-100" href="#using-tailscale-for-devsecops" aria-hidden="true"> <svg class="inline" xmlns="http://www.w3.org/2000/svg" width="0.4em" height="0.4em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></span></h3><p>Tailscale’s VPN platform can implement several aspects of a DevSecOps solution. Using Tailscale, you can quickly and easily set up a secured private network with automatic configuration.</p><p>Unlike other VPNs, Tailscale uses a mesh model, so your devices can connect to each other directly. Traditional VPNs send all traffic through a single, central node, creating a hub-and-spoke single point of failure. Tailscale lets your devices talk to each other without having to open up any firewall ports.</p><p>Once the Tailscale client is installed, your devices will automatically discover each other and apply any access rules you’ve set up in the Tailscale dashboard. This makes Tailscale much quicker to deploy than other VPN solutions. You don’t need to manually edit config files on a per-device basis. Your centralized settings will be pushed across your device fleet for you, without any extra effort.</p><p>Tailscale gives each device a fixed IP address that will <a target="" rel="noreferrer" href="https://tailscale.com/kb/1033/ip-and-dns-addresses/">stay the same</a>, regardless of the physical network it’s connected to. It supports custom firewall, DNS, and access control rules, all of which can be controlled using the <a target="" rel="noreferrer" href="https://tailscale.com/kb/1101/api/">API</a>. This makes it trivial to automate changing your network configuration.</p><div></div><h3 id="how-tailscales-wireguard-protocol-protects-your-infrastructure"><span class="group">How Tailscale’s WireGuard protocol protects your infrastructure<a class="select-none opacity-0 !transition group-hover:opacity-100" href="#how-tailscales-wireguard-protocol-protects-your-infrastructure" aria-hidden="true"> <svg class="inline" xmlns="http://www.w3.org/2000/svg" width="0.4em" height="0.4em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></span></h3><p>Tailscale is built on top of <a target="" rel="noreferrer" href="https://www.wireguard.com/">WireGuard</a>. WireGuard is a modern, security-first VPN implementation which blends ease of use with state-of-the-art cryptographic protections. Tailscale offers a simple WireGuard deployment and management experience, dramatically reducing the complexity of setting up your own VPN.</p><p>WireGuard is purposely designed to provide secure and performant connections between your devices. One way it achieves this is through its narrow focus on simplicity and ease of use. WireGuard can be thought of as SSH for VPN connections: Tunneling to a new device relies on a simple key-pair exchange. WireGuard handles the rest, setting up an encrypted communication channel that’s secured with algorithms such as <a target="" rel="noreferrer" href="http://www.noiseprotocol.org/">Noise</a>, <a target="" rel="noreferrer" href="http://cr.yp.to/ecdh.html">Curve25519</a>, and <a target="" rel="noreferrer" href="http://cr.yp.to/chacha.html">ChaCha20</a>.</p><p>WireGuard is used for all the connections you initiate through Tailscale. This means that Tailscale cannot intercept or decrypt your traffic, even when using one of the relay servers. Although a Tailscale data breach could expose information about your network, it wouldn’t allow an attacker to view your activity. WireGuard private keys never leave the devices they originate from.</p><div></div><h3 id="tailscale-partners"><span class="group">Tailscale partners<a class="select-none opacity-0 !transition group-hover:opacity-100" href="#tailscale-partners" aria-hidden="true"> <svg class="inline" xmlns="http://www.w3.org/2000/svg" width="0.4em" height="0.4em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></span></h3><p>Tailscale doesn’t offer its own identity service; you don’t have a Tailscale sign-up email address or password. Instead, the platform integrates with your existing SSO provider. Tailscale currently <a target="" rel="noreferrer" href="https://tailscale.com/kb/1013/sso-providers/">supports logins</a> with the following services:</p><ul><li>GitHub</li><li>Google (e.g., Google Workspace or G Suite)</li><li>Microsoft (e.g., Azure Active Directory or Office 365)</li><li>Okta</li><li>OneLogin</li><li>Your own <a target="" rel="noreferrer" href="https://tailscale.com/kb/1119/sso-saml-oidc">OIDC Proivder</a></li></ul><p>This model further improves the security of your network. Signing in with an account you already have means Tailscale automatically inherits your existing rules and policies, such as requiring periodic login renewals and 2FA enforcement. It also prevents Tailscale from being yet another manual step in onboarding and offboarding. Once you log in to a Tailscale client app using an SSO provider, the client will automatically exchange connection details with the other clients you’ve added to your network.</p><div></div><h3 id="conclusion"><span class="group">Conclusion<a class="select-none opacity-0 !transition group-hover:opacity-100" href="#conclusion" aria-hidden="true"> <svg class="inline" xmlns="http://www.w3.org/2000/svg" width="0.4em" height="0.4em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></span></h3><p>DevSecOps is a method of software development and delivery that recognizes security as a fundamental tenet. It promotes including security as a primary concern at the start of the process, elevating it to a shared responsibility and eliminating some of the cracks where vulnerabilities can slip in.</p><p>This article has explored what DevSecOps is and how it’s more than just source code scans and production-server firewalls. You’ll get the best results from the DevSecOps model when you view it as a mentality, then work to infuse it throughout your organization. Your internal network, deployment routines, and basic security hygiene all contribute to your overall protection.</p><p>For securing devices with private communications, <a target="" rel="noreferrer" href="https://tailscale.com/">Tailscale’s VPN</a> balances installation simplicity with fine-grained access controls that put you in charge of your network. You can limit inter-device traffic to precisely orchestrate network activity. Although DevSecOps is much more than a single tool, getting the basics right will help you scale your security model to fully protect your applications and their users.</p></div></div></div></div></div></div></section><section class="bg-grey-1 pb-6 pt-16 md:pb-0 md:pt-[160px]"><div class="container"><div class="flex w-full flex-col justify-between gap-6 gap-y-12 md:flex-row"><div class="max-w-[280px] flex-1 "><h2 class="t-48">FAQs</h2></div><div class="max-w-[950px] flex-1"><div class="mx-auto w-full max-w-[730px]"><div class="col-span-3 flex flex-col gap-3"><details class="group flex w-full flex-col items-start rounded-2xl border border-grayNew-2 bg-white p-6 transition-colors duration-300" id="how-many-devops-admins-should-my-team-have"><summary class="group flex w-full cursor-pointer list-none gap-3 [&::-webkit-details-marker]:hidden"><span class="flex h-6 w-6 flex-none rotate-0 transform items-center justify-center rounded-full bg-grayNew-2 text-grayNew-7 transition group-open:rotate-180 group-open:bg-grayNew-7 group-open:text-white"><svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.9585 5.3125L7.3335 8.6875L10.7085 5.3125" stroke="currentColor" stroke-width="1.125" stroke-linecap="round" stroke-linejoin="round"></path></svg></span><h3 class="featured-body-new font-medium text-grayNew-7">How many DevOps admins should my team have?</h3></summary><div class="body-new prism [&_p]:body-new ml-[36px] mt-3 [&_li]:text-grayNew-5 [&_p]:text-grayNew-5"><div class="content-prose !ts-prose flex flex-col gap-3"><p>There’s no hard and fast rule for the number of DevOps admins a team should have. Generally, it’s a good idea to keep this number low: Compromise of an admin account could be disastrous. In smaller organizations, a single DevOps admin will often suffice, perhaps supplemented by a junior aide with restricted permissions.<br/><br/>In larger organizations, more admins may be needed, ideally in a hierarchy that’s controlled by logical boundaries such as division, business unit, or product.</p></div></div></details><details class="group flex w-full flex-col items-start rounded-2xl border border-grayNew-2 bg-white p-6 transition-colors duration-300" id="is-my-it-admin-my-devops-admin"><summary class="group flex w-full cursor-pointer list-none gap-3 [&::-webkit-details-marker]:hidden"><span class="flex h-6 w-6 flex-none rotate-0 transform items-center justify-center rounded-full bg-grayNew-2 text-grayNew-7 transition group-open:rotate-180 group-open:bg-grayNew-7 group-open:text-white"><svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.9585 5.3125L7.3335 8.6875L10.7085 5.3125" stroke="currentColor" stroke-width="1.125" stroke-linecap="round" stroke-linejoin="round"></path></svg></span><h3 class="featured-body-new font-medium text-grayNew-7">Is my IT admin my DevOps admin?</h3></summary><div class="body-new prism [&_p]:body-new ml-[36px] mt-3 [&_li]:text-grayNew-5 [&_p]:text-grayNew-5"><div class="content-prose !ts-prose flex flex-col gap-3"><p>DevOps admins and traditional IT admins usually have distinct responsibilities. An IT admin tends to focus on user support, system maintenance, and hardware provisioning; a DevOps admin is more concerned with software-based controls that define and implement specific workflow processes. You’d usually go to your IT admin if you were having problems logging in or accessing a specific internal system.<br/><br/>A DevOps admin would be the better choice when you can’t deploy to production or you’re struggling to set up a development environment. The line is vague, though: Especially in smaller teams, the two roles may be held by one person or informally assumed on a collective basis.</p></div></div></details><details class="group flex w-full flex-col items-start rounded-2xl border border-grayNew-2 bg-white p-6 transition-colors duration-300" id="whos-in-control"><summary class="group flex w-full cursor-pointer list-none gap-3 [&::-webkit-details-marker]:hidden"><span class="flex h-6 w-6 flex-none rotate-0 transform items-center justify-center rounded-full bg-grayNew-2 text-grayNew-7 transition group-open:rotate-180 group-open:bg-grayNew-7 group-open:text-white"><svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.9585 5.3125L7.3335 8.6875L10.7085 5.3125" stroke="currentColor" stroke-width="1.125" stroke-linecap="round" stroke-linejoin="round"></path></svg></span><h3 class="featured-body-new font-medium text-grayNew-7">Who’s in control?</h3></summary><div class="body-new prism [&_p]:body-new ml-[36px] mt-3 [&_li]:text-grayNew-5 [&_p]:text-grayNew-5"><div class="content-prose !ts-prose flex flex-col gap-3"><p>One of the aims of DevSecOps is to foster a collaborative approach to security. This sometimes clashes with the intrinsic need for a few empowered administrators to ultimately apply and manage security policies. In organizations that aren’t fully prepared, this can create tensions between development, operations, and the perceived distinct security team. You can address this by designating one person as the security lead, while clearly documenting how others can suggest changes. Using documentation and agreed-upon policies provides a framework for team members to request adjustments or exceptions to the rules.</p></div></div></details><details class="group flex w-full flex-col items-start rounded-2xl border border-grayNew-2 bg-white p-6 transition-colors duration-300" id="were-already-doing-security-whats-different-here"><summary class="group flex w-full cursor-pointer list-none gap-3 [&::-webkit-details-marker]:hidden"><span class="flex h-6 w-6 flex-none rotate-0 transform items-center justify-center rounded-full bg-grayNew-2 text-grayNew-7 transition group-open:rotate-180 group-open:bg-grayNew-7 group-open:text-white"><svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.9585 5.3125L7.3335 8.6875L10.7085 5.3125" stroke="currentColor" stroke-width="1.125" stroke-linecap="round" stroke-linejoin="round"></path></svg></span><h3 class="featured-body-new font-medium text-grayNew-7">We're already doing security: What's different here?</h3></summary><div class="body-new prism [&_p]:body-new ml-[36px] mt-3 [&_li]:text-grayNew-5 [&_p]:text-grayNew-5"><div class="content-prose !ts-prose flex flex-col gap-3"><p>DevSecOps isn’t meant to diminish teams that are already practicing good security standards. It is possible to deliver secure software without consciously adopting a DevSecOps approach. The difference lies in purpose, intent, and timing. Making a commitment to DevSecOps and considering security right from the beginning demonstrates to your entire team that it’s a priority. When everyone’s working with this mindset, it’s less likely that vulnerabilities will creep in or need to be hurriedly patched up late in a project.</p></div></div></details></div></div></div></div></div></section></main><section class=" pb-[50px] pt-10 lg:pt-[175px] bg-grey-1"><div class="is-wide container flex flex-col gap-6 md-large:flex-row"><div class="flex flex-1 flex-col justify-between rounded-[14px] bg-[#420000] overflow-hidden"><div class="relative z-10 flex-1 overflow-hidden px-[48px] py-[80px]"><div class="absolute -right-[1.5px] bottom-[0%] h-full w-auto opacity-25 xs:opacity-100 md:opacity-100 md-large:opacity-25 xl:opacity-100"><div class="flex h-full w-auto justify-end"><svg width="100%" height="100%" viewBox="0 0 263 394" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="131.334" width="131.333" height="131.333" rx="65.6667" fill="#940821"/><rect x="131.334" y="131.333" width="131.333" height="262.667" rx="65.6667" fill="#ED6F66"/><rect y="394" width="131.333" height="131.333" rx="65.6667" transform="rotate(-90 0 394)" fill="#940821"/><path d="M131.334 0C58.7854 2.30606e-06 0.000657996 58.7848 0.000660303 131.333L131.334 131.333L131.334 0Z" fill="#ED6F66"/><rect y="262.667" width="131.333" height="131.333" transform="rotate(-90 0 262.667)" fill="#940821"/></svg></div></div><div class="text-left mx-0 relative z-10"><h2 class="t-h3 text-white mb-4 md:mb-8" style="max-width:292px;color:#ED6F66">Try Tailscale for <span class="text-white">free</span></h2><div class="w-full xs:w-auto flex justify-start"><div class="flex w-full !w-auto flex-col gap-y-4 xs:w-auto xs:flex-row xs:items-center xs:space-x-5 md:space-x-[30px]"><a target="" data-track="Link Clicked" data-track-properties="{"label": "Get started"}" href="https://login.tailscale.com/start"><div class="inline-flex shrink-0 border transition-colors duration-200 w-full xs:w-auto items-center justify-center text-center relative focus:outline-none group transition-all overflow-hidden font-body font-medium rounded-lg group gap-[11px] py-2 px-[17px] leading-[1.46] tracking-[-0.16px] bg-heading-white border-white text-heading-black hover:bg-grey-2 hover:border-grey-2"><div>Get started</div><div class="relative "><span class="block will-change-transform" style="opacity:1;transform:none"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 18" class="w-4"><use href="/sprite.svg#arrowRight"></use></svg></span><span class="absolute inset-0 block will-change-transform" style="opacity:0;transform:translateX(-15px) translateY(0px) translateZ(0)"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 18" class="w-4"><use href="/sprite.svg#arrowRight"></use></svg></span></div></div></a></div></div></div></div><div class="relative w-full rounded-b-[14px] px-[48px] py-[60px] bg-[#ED6F66]" style="color:#1F1E1E"><div class="t-h5 !font-normal">Schedule a demo</div><a class="mt-3 block" data-track="Link Clicked" data-track-properties="{"label": "/contact/sales"}" href="/contact/sales"><div class="inline-flex shrink-0 border transition-colors duration-200 w-full xs:w-auto items-center justify-center text-center relative focus:outline-none group transition-all overflow-hidden font-body font-medium rounded-lg group gap-[11px] py-2 px-[17px] leading-[1.46] tracking-[-0.16px] !w-auto bg-heading-black border-heading-black text-white hover:bg-black-4 hover:border-black-4 "><div>Contact sales</div></div></a></div></div><div class="flex flex-1 items-end justify-center overflow-hidden rounded-[14px] bg-[#420000] pt-[50px]"><div class="px-5" style="transform:translateY(100px) translateZ(0)"><img _type="asset" alt="cta phone" loading="lazy" width="362" height="567" decoding="async" data-nimg="1" class="md:block mx-auto" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 362 567'%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='none' style='filter: url(%23b);' href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/wcAAwAB/ucNC4UAAAAASUVORK5CYII='/%3E%3C/svg%3E")" srcSet="https://cdn.sanity.io/images/w77i7m8x/production/b715b4ca5e2577da60f0d529a4a9bc2ad4cadf59-362x567.svg?w=384&q=75&fit=clip&auto=format 1x, https://cdn.sanity.io/images/w77i7m8x/production/b715b4ca5e2577da60f0d529a4a9bc2ad4cadf59-362x567.svg?w=750&q=75&fit=clip&auto=format 2x" src="https://cdn.sanity.io/images/w77i7m8x/production/b715b4ca5e2577da60f0d529a4a9bc2ad4cadf59-362x567.svg?w=750&q=75&fit=clip&auto=format"/></div></div></div><div class="container mt-[60px]"><div><div class="flex flex-wrap items-center justify-center gap-4 lg:justify-between"><div class="flex w-[calc(33%-16px)] flex-col items-center gap-2 sm:w-[calc(33%-16px)] md:w-auto"><img alt="mercury" loading="lazy" width="199" height="81" decoding="async" data-nimg="1" class="mx-auto undefined" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 199 81'%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='none' style='filter: url(%23b);' href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/wcAAwAB/ucNC4UAAAAASUVORK5CYII='/%3E%3C/svg%3E")" srcSet="https://cdn.sanity.io/images/w77i7m8x/production/459a7a8492910eeb22f22bb8d4c0f864b0bae25f-199x81.svg?w=256&q=75&fit=clip&auto=format 1x, https://cdn.sanity.io/images/w77i7m8x/production/459a7a8492910eeb22f22bb8d4c0f864b0bae25f-199x81.svg?w=640&q=75&fit=clip&auto=format 2x" src="https://cdn.sanity.io/images/w77i7m8x/production/459a7a8492910eeb22f22bb8d4c0f864b0bae25f-199x81.svg?w=640&q=75&fit=clip&auto=format"/></div><div class="flex w-[calc(33%-16px)] flex-col items-center gap-2 sm:w-[calc(33%-16px)] md:w-auto"><img alt="instacrt" loading="lazy" width="199" height="81" decoding="async" data-nimg="1" class="mx-auto undefined" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 199 81'%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='none' style='filter: url(%23b);' href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/wcAAwAB/ucNC4UAAAAASUVORK5CYII='/%3E%3C/svg%3E")" srcSet="https://cdn.sanity.io/images/w77i7m8x/production/7d127f4bb62a408b056328349f291857df6251b3-199x81.svg?w=256&q=75&fit=clip&auto=format 1x, https://cdn.sanity.io/images/w77i7m8x/production/7d127f4bb62a408b056328349f291857df6251b3-199x81.svg?w=640&q=75&fit=clip&auto=format 2x" src="https://cdn.sanity.io/images/w77i7m8x/production/7d127f4bb62a408b056328349f291857df6251b3-199x81.svg?w=640&q=75&fit=clip&auto=format"/></div><div class="flex w-[calc(33%-16px)] flex-col items-center gap-2 sm:w-[calc(33%-16px)] md:w-auto"><img alt="Retool" loading="lazy" width="199" height="82" decoding="async" data-nimg="1" class="mx-auto undefined" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 199 82'%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='none' style='filter: url(%23b);' href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/wcAAwAB/ucNC4UAAAAASUVORK5CYII='/%3E%3C/svg%3E")" srcSet="https://cdn.sanity.io/images/w77i7m8x/production/e9579b00087d7896e9cb750f4eb39f2c11ed11b8-199x82.svg?w=256&q=75&fit=clip&auto=format 1x, https://cdn.sanity.io/images/w77i7m8x/production/e9579b00087d7896e9cb750f4eb39f2c11ed11b8-199x82.svg?w=640&q=75&fit=clip&auto=format 2x" src="https://cdn.sanity.io/images/w77i7m8x/production/e9579b00087d7896e9cb750f4eb39f2c11ed11b8-199x82.svg?w=640&q=75&fit=clip&auto=format"/></div><div class="flex w-[calc(33%-16px)] flex-col items-center gap-2 sm:w-[calc(33%-16px)] md:w-auto"><img alt="duolingo" loading="lazy" width="199" height="81" decoding="async" data-nimg="1" class="mx-auto undefined" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 199 81'%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='none' style='filter: url(%23b);' href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/wcAAwAB/ucNC4UAAAAASUVORK5CYII='/%3E%3C/svg%3E")" srcSet="https://cdn.sanity.io/images/w77i7m8x/production/7958bf3d43a30e661ca74cf0510f250d9b99ecef-199x81.svg?w=256&q=75&fit=clip&auto=format 1x, https://cdn.sanity.io/images/w77i7m8x/production/7958bf3d43a30e661ca74cf0510f250d9b99ecef-199x81.svg?w=640&q=75&fit=clip&auto=format 2x" src="https://cdn.sanity.io/images/w77i7m8x/production/7958bf3d43a30e661ca74cf0510f250d9b99ecef-199x81.svg?w=640&q=75&fit=clip&auto=format"/></div><div class="flex w-[calc(33%-16px)] flex-col items-center gap-2 sm:w-[calc(33%-16px)] md:w-auto"><img alt="Hugging Face" loading="lazy" width="199" height="82" decoding="async" data-nimg="1" class="mx-auto undefined" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 199 82'%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='none' style='filter: url(%23b);' href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/wcAAwAB/ucNC4UAAAAASUVORK5CYII='/%3E%3C/svg%3E")" srcSet="https://cdn.sanity.io/images/w77i7m8x/production/68e2e5024898bcd6f6d142e0306dc7564787e1d7-199x82.svg?w=256&q=75&fit=clip&auto=format 1x, https://cdn.sanity.io/images/w77i7m8x/production/68e2e5024898bcd6f6d142e0306dc7564787e1d7-199x82.svg?w=640&q=75&fit=clip&auto=format 2x" src="https://cdn.sanity.io/images/w77i7m8x/production/68e2e5024898bcd6f6d142e0306dc7564787e1d7-199x82.svg?w=640&q=75&fit=clip&auto=format"/></div></div></div></div></section><footer class=" pb-16 md:pb-28 md:pt-20 bg-grey-1"><div class="container grid gap-x-4 gap-y-8 pb-8 xxs:grid-cols-2 sm:grid-cols-3 sm:gap-5 md:pb-[110px] lg:grid-cols-6"><div><p class="t-16 !leading-[1.05] text-heading-black">Product</p><div class="mt-4 flex flex-col gap-3 lg:mt-8 lg:gap-4"><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/blog/how-tailscale-works">How it works</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/pricing">Pricing</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/integrations">Integrations</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/features">Features</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/compare">Compare Tailscale</a></div></div><div><p class="t-16 !leading-[1.05] text-heading-black">Use Cases</p><div class="mt-4 flex flex-col gap-3 lg:mt-8 lg:gap-4"><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/use-cases/business-vpn">Business VPN</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/use-cases/remote-access">Remote Access</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/use-cases/site-to-site-networking">Site-to-Site Networking</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/use-cases/homelab">Homelab</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/enterprise">Enterprise</a></div></div><div><p class="t-16 !leading-[1.05] text-heading-black">Resources</p><div class="mt-4 flex flex-col gap-3 lg:mt-8 lg:gap-4"><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/blog">Blog</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/events-webinars">Events & Webinars</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/partnerships">Partnerships</a></div></div><div><p class="t-16 !leading-[1.05] text-heading-black">Company</p><div class="mt-4 flex flex-col gap-3 lg:mt-8 lg:gap-4"><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/company">Company</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/careers">Careers</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/press">Press</a></div></div><div><p class="t-16 !leading-[1.05] text-heading-black">Help & Support</p><div class="mt-4 flex flex-col gap-3 lg:mt-8 lg:gap-4"><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/contact/support">Support</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/contact/sales">Sales</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/security">Security</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/legal">Legal</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/opensource">Open Source</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/changelog">Changelog</a></div></div><div><p class="t-16 !leading-[1.05] text-heading-black">Learn</p><div class="mt-4 flex flex-col gap-3 lg:mt-8 lg:gap-4"><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/learn/generate-ssh-keys">SSH keys</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/learn/ssh-into-docker-container">Docker SSH</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/learn/devsecops">DevSecOps</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/learn/multicloud">Multicloud</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/blog/how-nat-traversal-works">NAT Traversal</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/blog/2021-09-private-dns-with-magicdns">MagicDNS</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/learn/privileged-access-management">PAM</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/learn/principle-of-least-privilege">PoLP</a><a class="text-[14px] !leading-[1.05] !tracking-[0.08px] transition-colors duration-300 md:text-[16px] text-heading-black/60 hover:text-black/100" href="/learn">All articles</a></div></div></div><div class="container"><div class="grid grid-cols-1 gap-x-5 gap-y-8 border-t border-stroke-grey pt-8 xxs:grid-cols-2 md:grid-cols-12 md:pt-[70px] lg:gap-y-[60px]"><div class="xxs:col-span-2 md:col-span-4"><a class="block w-[160px]" title="Homepage" data-track="Link Clicked" data-track-properties="{"label": "Footer logo"}" href="/"><svg class="transition-colors duration-200 " width="100%" height="100%" viewBox="0 0 110 20" fill="none" xmlns="http://www.w3.org/2000/svg"><ellipse cx="2.44719" cy="10.1796" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse cx="9.79094" cy="10.1796" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse opacity="0.2" cx="2.44719" cy="17.5077" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse opacity="0.2" cx="17.1269" cy="17.5077" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse cx="9.79094" cy="17.5077" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse cx="17.1269" cy="10.1796" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse opacity="0.2" cx="2.44719" cy="2.85924" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse opacity="0.2" cx="9.79094" cy="2.85924" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><ellipse opacity="0.2" cx="17.1269" cy="2.85924" rx="2.44719" ry="2.44128" fill="#242424"></ellipse><path d="M34.3979 18.458C35.0907 18.458 35.6536 18.3933 36.3248 18.2637V15.7584C35.9134 15.9096 35.4588 15.9528 35.0258 15.9528C33.965 15.9528 33.5753 15.4344 33.5753 14.441V9.34402H36.3248V6.83875H33.5753V3.12403H30.5443V6.83875H28.5742V9.34402H30.5443V14.7217C30.5443 17.0974 31.8 18.458 34.3979 18.458Z" fill="#242424"></path><path d="M41.2747 18.458C42.8984 18.458 43.9809 17.9181 44.5222 17.0758C44.5655 17.443 44.6954 17.9397 44.8686 18.2421H47.5964C47.4449 17.7237 47.3366 16.903 47.3366 16.3631V10.4455C47.3366 8.005 45.583 6.62277 42.617 6.62277C40.3654 6.62277 38.6118 7.46507 37.6376 8.69611L39.3696 10.4023C40.149 9.5384 41.1448 9.08486 42.3572 9.08486C43.8294 9.08486 44.4789 9.58159 44.4789 10.3159C44.4789 10.9422 44.0459 11.3742 41.7077 11.3742C39.4562 11.3742 37.183 12.3028 37.183 14.8945C37.183 17.2918 38.9149 18.458 41.2747 18.458ZM41.8809 16.1687C40.7118 16.1687 40.1706 15.672 40.1706 14.7865C40.1706 14.009 40.8201 13.4907 41.9026 13.4907C43.6345 13.4907 44.1108 13.3827 44.4789 13.0155V13.9442C44.4789 15.1753 43.4397 16.1687 41.8809 16.1687Z" fill="#242424"></path><path d="M49.3069 5.39173H52.4677V2.5625H49.3069V5.39173ZM49.3718 18.2421H52.4028V6.83875H49.3718V18.2421Z" fill="#242424"></path><path d="M54.6109 18.2421H57.6418V2.90805H54.6109V18.2421Z" fill="#242424"></path><path d="M63.9416 18.458C67.2757 18.458 68.986 16.7087 68.986 14.8729C68.986 13.2099 68.1417 11.9789 65.3705 11.4821C63.4221 11.1366 62.2097 10.7046 62.2097 10.0351C62.2097 9.45201 62.9025 9.04166 64.0715 9.04166C65.1107 9.04166 65.9767 9.38722 66.6262 10.1431L68.553 8.52333C67.5788 7.31389 65.9767 6.62277 64.0715 6.62277C61.1489 6.62277 59.3303 8.17777 59.3303 10.0783C59.3303 12.1517 61.2354 13.0803 63.2922 13.4475C65.0025 13.7499 65.9551 14.0738 65.9551 14.8081C65.9551 15.4344 65.2839 15.9528 64.0066 15.9528C62.7509 15.9528 61.7767 15.3696 61.322 14.5058L58.7674 15.7152C59.3952 17.2702 61.5385 18.458 63.9416 18.458Z" fill="#242424"></path><path d="M75.7621 18.458C77.9271 18.458 79.4859 17.5942 80.6549 15.6504L78.2302 14.4194C77.7755 15.3265 77.0395 15.9528 75.7621 15.9528C73.8353 15.9528 72.7961 14.3978 72.7961 12.5188C72.7961 10.6399 73.9003 9.12805 75.7621 9.12805C76.9312 9.12805 77.7106 9.75437 78.1652 10.7046L80.6116 9.40882C79.7889 7.61625 78.1652 6.62277 75.7621 6.62277C71.8003 6.62277 69.7652 9.5168 69.7652 12.5188C69.7652 15.78 72.2333 18.458 75.7621 18.458Z" fill="#242424"></path><path d="M85.4829 18.458C87.1067 18.458 88.1891 17.9181 88.7304 17.0758C88.7737 17.443 88.9036 17.9397 89.0768 18.2421H91.8046C91.6531 17.7237 91.5448 16.903 91.5448 16.3631V10.4455C91.5448 8.005 89.7912 6.62277 86.8252 6.62277C84.5737 6.62277 82.8201 7.46507 81.8458 8.69611L83.5778 10.4023C84.3572 9.5384 85.353 9.08486 86.5654 9.08486C88.0376 9.08486 88.6871 9.58159 88.6871 10.3159C88.6871 10.9422 88.2541 11.3742 85.9159 11.3742C83.6644 11.3742 81.3912 12.3028 81.3912 14.8945C81.3912 17.2918 83.1231 18.458 85.4829 18.458ZM86.0891 16.1687C84.9201 16.1687 84.3788 15.672 84.3788 14.7865C84.3788 14.009 85.0283 13.4907 86.1108 13.4907C87.8427 13.4907 88.319 13.3827 88.6871 13.0155V13.9442C88.6871 15.1753 87.6479 16.1687 86.0891 16.1687Z" fill="#242424"></path><path d="M93.3263 18.2421H96.3573V2.90805H93.3263V18.2421Z" fill="#242424"></path><path d="M103.631 18.458C105.861 18.458 107.658 17.5726 108.654 15.996L106.359 14.5274C105.753 15.4776 104.952 15.996 103.631 15.996C102.138 15.996 101.055 15.1753 100.774 13.5771H109.39V12.5188C109.39 9.5168 107.55 6.62277 103.61 6.62277C99.8643 6.62277 97.8293 9.5384 97.8293 12.5404C97.8293 16.8167 101.055 18.458 103.631 18.458ZM100.882 11.2014C101.358 9.75437 102.354 9.08486 103.675 9.08486C105.168 9.08486 106.078 9.97034 106.381 11.2014H100.882Z" fill="#242424"></path></svg></a></div><div class="flex flex-col gap-[14px] md:col-span-2"><a class="t-14 !leading-[1.05] underline transition-colors duration-300 text-heading-black/60 hover:text-black/100" href="/terms">Terms of Service</a><a class="t-14 !leading-[1.05] underline transition-colors duration-300 text-heading-black/60 hover:text-black/100" href="/privacy-policy">Privacy Policy</a></div><div class="md:col-span-3"><div class="t-14 max-w-[250px] !leading-[1.35] text-heading-black/60 ">WireGuard is a registered trademark of Jason A. Donenfeld.</div></div><div class="flex gap-[6px] xxs:col-span-2 md:col-span-3 md:flex md:justify-end"><a target="_blank" class="group transition-colors duration-300 text-heading-black" data-track="Link Clicked" data-track-properties="{"label": "Footer Twitter logo"}" href="https://twitter.com/tailscale"><svg width="28" height="29" viewBox="0 0 28 29" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.988281" width="28" height="28" rx="14" fill="currentColor"></rect><path class=" transition-colors duration-300 group-hover:fill-heading-black" d="M8.03169 9L13.0509 15.0672L8 20H9.13675L13.5587 15.6812L17.1317 20H21L15.6985 13.5916L20.3997 9H19.263L15.1906 12.9775L11.9001 9H8.03169ZM9.70337 9.75698H11.4805L19.3281 19.2429H17.551L9.70337 9.75698Z" fill="white"></path></svg></a><a target="_blank" class="group transition-colors duration-300 text-heading-black" data-track="Link Clicked" data-track-properties="{"label": "Footer Facebook logo"}" href="https://www.facebook.com/tailscale/"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.21875" width="27.2195" height="27.2195" rx="13.6098" fill="currentColor"></rect><path class=" transition-colors duration-300 group-hover:fill-heading-black" d="M12.434 19.6598L12.4179 14.8081H10.3008V12.7289H12.4179V11.3427C12.4179 9.47188 13.5974 8.57031 15.2966 8.57031C16.1106 8.57031 16.8101 8.62983 17.014 8.65643V10.6115L15.8355 10.612C14.9114 10.612 14.7324 11.0433 14.7324 11.6762V12.7289H17.3577L16.652 14.8081H14.7324V19.6598H12.434Z" fill="#fff"></path></svg></a><a target="_blank" class="group transition-colors duration-300 text-heading-black" data-track="Link Clicked" data-track-properties="{"label": "Footer LinkedIn logo"}" href="https://www.linkedin.com/company/tailscale"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.439453" width="27.2195" height="27.2195" rx="13.6098" fill="currentColor"></rect><path class=" transition-colors duration-300 group-hover:fill-heading-black" d="M8.68685 18.6518H10.8825V11.5871H8.68685V18.6518Z" fill="white"></path><path class=" transition-colors duration-300 group-hover:fill-heading-black" d="M8.50195 9.34036C8.50195 10.0352 9.07976 10.6143 9.77312 10.6143C10.4896 10.6143 11.0443 10.0584 11.0443 9.34036C11.0443 8.64547 10.4665 8.06641 9.77312 8.06641C9.07976 8.06641 8.50195 8.64547 8.50195 9.34036Z" fill="white"></path><path class=" transition-colors duration-300 group-hover:fill-heading-black" d="M16.8917 18.6518H19.0873V14.7836C19.0873 12.8843 18.6713 11.425 16.4525 11.425C15.3894 11.425 14.6729 12.0041 14.3724 12.56H14.3493V11.5871H12.2461V18.6518H14.4418V15.1542C14.4418 14.2509 14.6267 13.3475 15.7592 13.3475C16.8686 13.3475 16.8917 14.413 16.8917 15.2237V18.6518Z" fill="white"></path></svg></a><a target="_blank" rel="me" class="group transition-colors duration-300 text-heading-black" data-track="Link Clicked" data-track-properties="{"label": "Footer Mastodon logo"}" href="https://hachyderm.io/@tailscale"><svg width="28" height="29" viewBox="0 0 28 29" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.988281" width="28" height="28" rx="14" fill="currentColor"></rect><path class="transition-colors duration-300 group-hover:fill-heading-black" fill="white" d="M19.9516 10.8781C19.7667 9.48128 18.5693 8.38051 17.1498 8.16721C16.9104 8.13117 16.003 8 13.9011 8H13.8854C11.7829 8 11.3319 8.13117 11.0924 8.16721C9.71243 8.3746 8.45223 9.3637 8.14648 10.777C7.99942 11.4731 7.98373 12.2447 8.01105 12.9526C8.04999 13.9677 8.05755 14.981 8.14823 15.992C8.21091 16.6635 8.32027 17.3297 8.47548 17.9855C8.76612 19.1968 9.94262 20.2048 11.0953 20.616C12.3294 21.0449 13.6566 21.1161 14.9282 20.8216C15.0681 20.7886 15.2065 20.7502 15.3432 20.7064C15.6519 20.6066 16.014 20.4949 16.2803 20.2987C16.2839 20.296 16.2869 20.2924 16.289 20.2883C16.2911 20.2842 16.2923 20.2797 16.2925 20.2751V19.2955C16.2924 19.2911 16.2914 19.2869 16.2895 19.283C16.2876 19.2791 16.2849 19.2758 16.2815 19.2731C16.2782 19.2704 16.2743 19.2686 16.2702 19.2676C16.266 19.2667 16.2617 19.2667 16.2576 19.2677C15.4429 19.4655 14.608 19.5647 13.7703 19.5631C12.3288 19.5631 11.941 18.8677 11.83 18.5782C11.7408 18.3279 11.6841 18.0669 11.6614 17.8018C11.6612 17.7973 11.662 17.7929 11.6638 17.7888C11.6656 17.7847 11.6683 17.7811 11.6717 17.7783C11.6751 17.7755 11.6791 17.7735 11.6834 17.7726C11.6876 17.7716 11.6921 17.7717 11.6963 17.7728C12.4975 17.9693 13.3188 18.0685 14.1429 18.0682C14.3411 18.0682 14.5387 18.0682 14.737 18.0629C15.5659 18.0393 16.4395 17.9962 17.255 17.8343C17.2754 17.8301 17.2957 17.8266 17.3132 17.8213C18.5995 17.5701 19.8237 16.7819 19.9481 14.786C19.9527 14.7074 19.9644 13.963 19.9644 13.8814C19.965 13.6043 20.0521 11.9156 19.9516 10.8781ZM17.9718 15.8584H16.6191V12.4905C16.6191 11.7815 16.3285 11.4199 15.7373 11.4199C15.0875 11.4199 14.762 11.8477 14.762 12.6926V14.5361H13.4175V12.6926C13.4175 11.8477 13.0914 11.4199 12.4415 11.4199C11.8538 11.4199 11.5603 11.7815 11.5597 12.4905V15.8584H10.2083V12.3883C10.2083 11.6793 10.3863 11.116 10.7425 10.6985C11.1098 10.2819 11.5917 10.068 12.1898 10.068C12.8821 10.068 13.4053 10.3386 13.754 10.8793L14.0906 11.4536L14.4277 10.8793C14.7765 10.3386 15.2996 10.068 15.9908 10.068C16.5883 10.068 17.0702 10.2819 17.4387 10.6985C17.7949 11.1156 17.9729 11.6789 17.9729 12.3883L17.9718 15.8584Z"></path></svg></a><a target="_blank" class="group transition-colors duration-300 text-heading-black" data-track="Link Clicked" data-track-properties="{"label": "Footer Youtube logo"}" href="https://www.youtube.com/@Tailscale"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.658203" width="27.2195" height="27.2195" rx="13.6098" fill="currentColor"></rect><path class=" transition-colors duration-300 group-hover:fill-heading-black" d="M19.6754 11.46C19.5368 10.5863 19.121 9.98138 18.1506 9.84696C16.6258 9.57813 14.2693 9.57812 14.2693 9.57812C14.2693 9.57812 11.9128 9.57813 10.388 9.84696C9.4177 9.98138 8.93254 10.5863 8.86323 11.46C8.72461 12.3337 8.72461 13.6106 8.72461 13.6106C8.72461 13.6106 8.72461 14.8876 8.86323 15.7613C9.00185 16.635 9.4177 17.2399 10.388 17.3743C11.9128 17.6432 14.2693 17.6432 14.2693 17.6432C14.2693 17.6432 16.6258 17.6432 18.1506 17.3743C19.121 17.1727 19.5368 16.635 19.6754 15.7613C19.814 14.8876 19.814 13.6106 19.814 13.6106C19.814 13.6106 19.814 12.3337 19.6754 11.46ZM12.8831 15.6269V11.5944L16.3486 13.6106L12.8831 15.6269Z" fill="white"></path></svg></a></div><div class="t-14 flex flex-wrap tracking-[0.07px] xxs:col-span-2 md:col-span-12 text-heading-black/60 ">© <!-- -->2025<!-- --> <!-- -->Tailscale Inc. All rights reserved. Tailscale is a registered trademark of Tailscale Inc.</div></div></div></footer><script id="hs-script-loader" async="" defer="" src="//js.hs-scripts.com/40004831.js"></script></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"global":{"header":{"_rev":"DctwwV37cP5NCi4QxlfSYJ","_type":"header","_id":"7797109d-2dc4-4a75-b5a3-b1019c33212f","menu":[{"title":"Product","submenu":{"product":{"rightCol":{"nav":{"heading":"Explore","links":[{"link":"/integrations","_key":"c653da519dfb","title":"Integrations"},{"link":"/features","_key":"a878da5fa54c","title":"Features"},{"link":"/compare","_key":"adda698ed879","title":"Compare Tailscale"},{"link":"/partnerships","_key":"b57369965809","title":"Partnerships"}]}},"leftCol":{"topNav":{"heading":"Meet Tailscale","links":[{"_key":"5495d201056a","title":"How it works","icon":{"_type":"sanityImage","alt":"icon"},"link":"/blog/how-tailscale-works/"},{"title":"Why Tailscale","icon":{"_type":"sanityImage","alt":"icon"},"link":"/why-tailscale","_key":"dc9cde7ff83cb94cfc98ff29bdcd0997"},{"icon":{"_type":"sanityImage","alt":"WireGuard®"},"link":"/wireguard-vpn","_key":"5d88e3ffcc6b","title":"WireGuard® for Enterprises"},{"title":"Bring Tailscale to Work","icon":{"_type":"sanityImage","alt":"Bring Tailscale to Work"},"link":"/bring-tailscale-to-work","_key":"435de37ddd5f"}]}}},"submenuType":"product"},"hasSubmenu":true,"_key":"95381f81d527"},{"submenu":{"product":{"leftCol":{"topNav":{"heading":"By use-case","links":[{"title":"Remote Access","link":"/use-cases/remote-access","_key":"193eaaa0cef8"},{"_key":"05cadfcf3e65b04708a9d88060f68f9e","title":"Site-to-site Networking","link":"/use-cases/site-to-site-networking"},{"link":"/use-cases/multi-cloud-networking","_key":"fbd28dffeac0","title":"Multi-Cloud Networking"},{"link":"/use-cases/kubernetes","_key":"da202f1d966a","title":"Kubernetes Networking"},{"link":"/use-cases/iot","_key":"8c78e633c6b1","title":"Edge \u0026 IoT Deployments"},{"link":"/use-cases/zero-trust-networking","_key":"6a363d694952","title":"Zero Trust Networking"},{"title":"AI Workloads","link":"/use-cases/ai","_key":"9c49b97d6b06"},{"link":"/use-cases/secure-saas","_key":"2602b548bd52","title":"Secure SaaS"},{"link":"/use-cases/business-vpn","_key":"6fc65e9fe1c6","title":"Business VPN"},{"title":"Homelab","link":"/use-cases/homelab","_key":"d99d14013ab3"}]}},"rightCol":{"nav":{"heading":"By role","links":[{"link":"/solutions/devops","_key":"502a00f49baf","title":"DevOps"},{"title":"IT","link":"/solutions/it","_key":"0fe4c0d6fa83"},{"link":"/solutions/security","_key":"026f30b876a7","title":"Security"}]}}},"submenuType":"product"},"hasSubmenu":true,"_key":"a7062f1924df","title":"Solutions"},{"submenu":{"submenuType":"product"},"link":"/enterprise","hasSubmenu":false,"_key":"fd055b16290df04c6012d0d33c2fad13","title":"Enterprise"},{"submenu":{"submenuType":"product","product":{"leftCol":{"topNav":{"heading":"Nav heading here","links":[{"link":"https://tailscale.com/customers","description":"How Cribl Enables Secure Work From Anywhere with Tailscale","_key":"2d22491d8262","title":"Title here","icon":{"_type":"sanityImage","alt":"Alt text ","asset":{"_ref":"image-a06dc612b1e3e4f4df53a72030002600639a8738-300x120-png","_type":"reference"}}}]}}},"resources":{"topNav":[{"heading":"Cribl","description":"How Cribl Enables Secure Work From Anywhere with Tailscale","_key":"61d0f0cb130e"},{"description":"How Cribl Enables Secure Work From Anywhere with Tailscale","_key":"712684d509a6a6ea07ab9401bdb23f8f","heading":"Cribl"},{"heading":"Cribl","description":"How Cribl Enables Secure Work From Anywhere with Tailscale","_key":"ceac3f234a3a6923a671af91772b7e8b"}]}},"link":"/customers","hasSubmenu":false,"_key":"b595975539c7407a7ed4510edd549223","title":"Customers"},{"title":"Docs","submenu":{"submenuType":"product"},"link":"/kb/1017/install/","hasSubmenu":false,"_key":"f06fabeb084c"},{"submenu":{"submenuType":"product"},"link":"/blog","hasSubmenu":false,"_key":"f2537b6fa068","title":"Blog"},{"_key":"e1b7b44dc091","title":"Pricing","submenu":{"submenuType":"product"},"link":"/pricing","hasSubmenu":false}],"title":"Production Header","_updatedAt":"2025-01-09T18:38:01Z","_createdAt":"2023-10-06T12:21:23Z","links":[{"_key":"157b4ad1150d","title":"Download","url":"/download"},{"_key":"f00209e74f6b","title":"Log in","url":"https://login.tailscale.com/welcome"}],"button":{"buttonOptions":{"color":"black"},"_type":"button","link":{"title":"Get started - it's free!","url":"https://login.tailscale.com/start"}}},"legal":null,"seo":{"ogImage":{"_type":"image","asset":{"_type":"reference","_ref":"image-8e0455b2d9b33c6151016afdf2ea81d7623c2f04-1200x628-png"}}},"announcement":{"link":{"label":"Sign up now","url":"https://tailscale.com/events-webinars/replace-your-legacy-vpn"},"text":"Webinar: Replace Your Legacy VPN with Tailscale"},"footer":{"legalContent":"WireGuard is a registered trademark of Jason A. Donenfeld.","_rev":"IlIq0JCGGmrvSiDdugDJgM","footerNav":[{"heading":"Product","links":[{"_key":"30386cf08177","title":"How it works","url":"/blog/how-tailscale-works/"},{"_key":"45dec9531713","title":"Pricing","url":"/pricing"},{"url":"/integrations","_key":"e6f4d8daff21","title":"Integrations"},{"_key":"d4f7875a767f","title":"Features","url":"/features"},{"_key":"64846fcdaf3b","title":"Compare Tailscale","url":"/compare"}],"_key":"05f3fa61c972"},{"_key":"7870d03d9802","heading":"Use Cases","links":[{"_key":"7b4858603fc7","title":"Business VPN","url":"/use-cases/business-vpn"},{"_key":"06fbf46e9354","title":"Remote Access","url":"/use-cases/remote-access"},{"url":"/use-cases/site-to-site-networking","_key":"ab3e69241df2","title":"Site-to-Site Networking"},{"_key":"b79f544a8266","title":"Homelab","url":"/use-cases/homelab"},{"_key":"8660f39ec574","title":"Enterprise","url":"/enterprise"}]},{"_key":"2e262725243d","heading":"Resources","links":[{"_key":"b5ad8866742c","title":"Blog","url":"/blog"},{"_key":"21869f26f11b","title":"Events \u0026 Webinars","url":"/events-webinars"},{"url":"/partnerships","_key":"c844ea072844","title":"Partnerships"}]},{"heading":"Company","links":[{"_key":"8cc3fedb5b31","title":"Company","url":"/company"},{"title":"Careers","url":"/careers","_key":"e69d139c2c7c"},{"_key":"ad370d7ab2c1","title":"Press","url":"/press"}],"_key":"a1e16018d519"},{"heading":"Help \u0026 Support","links":[{"_key":"f7d6ef6a99c6","title":"Support","url":"/contact/support"},{"title":"Sales","url":"/contact/sales","_key":"18077954da8f455140153a58c74e53ba"},{"_key":"3b91a6bb3d6b","title":"Security","url":"/security"},{"_key":"9d3e837341e2","title":"Legal","url":"/legal"},{"_key":"a69304fe5b80","title":"Open Source","url":"/opensource"},{"url":"/changelog","_key":"a02943ca7fdd","title":"Changelog"}],"_key":"b25bd2c7203e"},{"heading":"Learn","links":[{"_key":"6c45141fcc65","title":"SSH keys","url":"/learn/generate-ssh-keys/"},{"_key":"86c070f995c4","title":"Docker SSH","url":"/learn/ssh-into-docker-container/"},{"_key":"19c70bbf9478","title":"DevSecOps","url":"/learn/devsecops/"},{"_key":"927093698579","title":"Multicloud","url":"/learn/multicloud/"},{"_key":"22e6d051e763","title":"NAT Traversal","url":"/blog/how-nat-traversal-works/"},{"_key":"4e51a8a4f0a7","title":"MagicDNS","url":"/blog/2021-09-private-dns-with-magicdns/"},{"_key":"f8f8893085b3","title":"PAM","url":"/learn/privileged-access-management/"},{"_key":"8775c2b1f419","title":"PoLP","url":"/learn/principle-of-least-privilege/"},{"_key":"e7fdb19bd312","title":"All articles","url":"/learn"}],"_key":"0bdaf34fbe61"}],"_id":"422b4abf-6e3f-4213-ab94-a03dd444be3d","copyrightContent":"Tailscale Inc. All rights reserved. Tailscale is a registered trademark of Tailscale Inc.","cta":{"secondaryCta":{"heading":"Schedule a demo","link":{"title":"Contact sales","url":"/contact/sales"}},"heading":"Try Tailscale for |free|","textCard":{"heading":"Try Tailscale for |free|","_type":"textCard","options":{"hasMobileTextAlignment":false,"highlightColor":"blue-3","headingMarginBottom":"30","headingFontSize":"h3","headingFontColor":"white","sectionAlignment":"left","contentFontColor":"white","headingMaxWidth":292},"links":[{"button":{"link":{"title":"Get started","url":"https://login.tailscale.com/start"},"buttonOptions":{"color":"white"},"_type":"button"},"_key":"dc04d805f7e0","type":"button","textLink":{"textLinkOptions":{"underlineColor":"black","arrowColor":"black"},"_type":"textLink"}}]},"asset":{"type":"image","image":{"_type":"sanityImage","alt":"cta phone","asset":{"_type":"reference","_ref":"image-b715b4ca5e2577da60f0d529a4a9bc2ad4cadf59-362x567-svg"}},"_type":"asset"},"darkLogoGrid":[{"logo":{"_type":"sanityImage","alt":"mercury","asset":{"_ref":"image-a1fb7441ec6ea5254d0f14119dbe0abf5c822f9f-199x81-svg","_type":"reference"}},"_key":"fb360d1bc6c4"},{"logo":{"_type":"sanityImage","alt":"instacart","asset":{"_ref":"image-62410277e3cd5df52c9b59e787ae52a5a2699580-199x81-svg","_type":"reference"}},"_key":"a24139987731"},{"logo":{"_type":"sanityImage","alt":"Retool","asset":{"_ref":"image-80654c9d97220caec3e35ba29d3e7439a03d482a-199x82-svg","_type":"reference"}},"_key":"0fa57e2eebee"},{"_key":"b47251ca28bd","logo":{"_type":"sanityImage","alt":"duolingo","asset":{"_ref":"image-9b799915a326b1b78decc95e6ce251b87111f2bf-199x81-svg","_type":"reference"}}},{"logo":{"_type":"sanityImage","alt":"Hugging Face","asset":{"_ref":"image-b36780abd0594e34b52e74176a6b61811bbed602-199x82-svg","_type":"reference"}},"_key":"7bf06e2e5305"}],"ctaButton":{"buttonOptions":{"color":"white"},"_type":"button","link":{"title":"Get started","url":"/get-started"}},"logoGrid":[{"logo":{"_type":"sanityImage","alt":"mercury","asset":{"_ref":"image-459a7a8492910eeb22f22bb8d4c0f864b0bae25f-199x81-svg","_type":"reference"}},"_key":"a3a9b2012378"},{"logo":{"alt":"instacrt","asset":{"_ref":"image-7d127f4bb62a408b056328349f291857df6251b3-199x81-svg","_type":"reference"},"_type":"sanityImage"},"_key":"993b75d39e13"},{"_key":"8449f10eb5c7","logo":{"_type":"sanityImage","alt":"Retool","asset":{"_ref":"image-e9579b00087d7896e9cb750f4eb39f2c11ed11b8-199x82-svg","_type":"reference"}}},{"logo":{"asset":{"_ref":"image-7958bf3d43a30e661ca74cf0510f250d9b99ecef-199x81-svg","_type":"reference"},"_type":"sanityImage","alt":"duolingo"},"_key":"3ab303288a39"},{"logo":{"_type":"sanityImage","alt":"Hugging Face","asset":{"_ref":"image-68e2e5024898bcd6f6d142e0306dc7564787e1d7-199x82-svg","_type":"reference"}},"_key":"5e630c781c8a"}]},"_createdAt":"2023-10-06T14:44:29Z","_type":"footer","legalNav":[{"_key":"b3b1d8dfddea","title":"Terms of Service","url":"/terms"},{"url":"/privacy-policy","_key":"3e22b7802445","title":"Privacy Policy"}],"title":"Production Footer","_updatedAt":"2024-11-01T16:35:35Z"},"socials":null,"newsBar":null,"globalOptions":null,"redirects":[{"destination":"/wireguard-vpn","source":"/wireguard","_key":"8b0a3ebcf822"}]},"preview":false,"hubspotForms":{},"learn":{"slug":{"current":"devsecops","_type":"slug"},"seo":{"seoDescription":"Implementing a DevSecOps workflow usually requires new processes and tools. To maximize your effectiveness, these tools should be simple and robust. Tailscale is a zero-config VPN that lets you quickly create a secure corporate network to support your development routines. In this DevSecOps guide, you’ll learn more about DevSecOps and how Tailscale can protect your business.","indexable":true,"seoTitle":"Ultimate guide to better DevOps / DevSecOps · Tailscale"},"excerpt":"Implementing a DevSecOps workflow usually requires new processes and tools. To maximize your effectiveness, these tools should be simple and robust. Tailscale is a zero-config VPN that lets you quickly create a secure corporate network to support your development routines. In this DevSecOps guide, you’ll learn more about DevSecOps and how Tailscale can protect your business.","postMarkdown":null,"flexContent":[{"children":[{"_type":"span","marks":[],"text":"DevOps describes an approach to software delivery that integrates source code development with service deployment and operation. An effective DevOps approach lets you ship high-quality code more frequently without jeopardizing long-term maintenance requirements.","_key":"832971b202fb0"}],"_type":"block","style":"normal","_key":"43e7145c51b4","markDefs":[]},{"style":"normal","_key":"1e55dfdd31d6","markDefs":[{"_type":"link","href":"https://www.devsecops.org/","_key":"6db42beb336c"}],"children":[{"_key":"790404b344130","_type":"span","marks":["6db42beb336c"],"text":"DevSecOps"},{"_type":"span","marks":[],"text":" takes the methodology a step further by incorporating security as another fundamental component. Building security into your development system promotes a holistic view of your application’s threat surface. This reduces the risk of dangerous oversights that can occur when security is a checklist exercise at the end of a project.","_key":"790404b344131"}],"_type":"block"},{"_key":"42447554851f","markDefs":[{"href":"https://tailscale.com/","_key":"ceb8616a7ee4","_type":"link"}],"children":[{"_type":"span","marks":[],"text":"Implementing a DevSecOps workflow usually requires new processes, documentation, and tools. To maximize your effectiveness, these tools should be simple and robust. ","_key":"d8526f59b36c0"},{"_type":"span","marks":["ceb8616a7ee4"],"text":"Tailscale","_key":"d8526f59b36c1"},{"_key":"d8526f59b36c2","_type":"span","marks":[],"text":" is a zero-config VPN that lets you quickly create a secure corporate network to support your development routines. In this article, you’ll learn more about DevSecOps and how Tailscale can protect your business."}],"_type":"block","style":"normal"},{"anchor":"What is DevSecOps?","_type":"anchorSection","_key":"7a991578ff33"},{"markDefs":[],"children":[{"_type":"span","marks":[],"text":"What is DevSecOps?","_key":"a00217f1a1850"}],"_type":"block","style":"h3","_key":"a51f085260e0"},{"markDefs":[],"children":[{"_type":"span","marks":[],"text":"DevSecOps methodologies recognize security as a foundational element of modern software. While security may previously have been handled by a dedicated team, DevSecOps makes it a shared responsibility that permeates the entire process. Everyone involved with a project — developers, operations teams, managers, and system architects — should consider how their work affects the product’s final security posture.","_key":"3773be7eafd90"}],"_type":"block","style":"normal","_key":"838146bc9990"},{"children":[{"text":"Approaching security in this way makes it more likely that issues will be caught and addressed early, before they reach production. Thinking about security before you begin to write code can prevent problems from even entering the application in the first place. How would an attacker take advantage of the code you are writing? This kind of thinking enhances safety, unlocks more efficient delivery methods, and avoids the heavy cost of live-patching security issues.","_key":"f598f75c4ca50","_type":"span","marks":[]}],"_type":"block","style":"normal","_key":"8cc2ffdfa536","markDefs":[]},{"markDefs":[],"children":[{"_type":"span","marks":[],"text":"Adopting DevSecOps requires changes to your workflow, tools, and broader environment. Here are a few specific situations to consider.","_key":"dea5c8b92dfa0"}],"_type":"block","style":"normal","_key":"5dd5b19c9d8b"},{"style":"h4","_key":"f4f22c30d4a2","markDefs":[],"children":[{"_type":"span","marks":[],"text":"Deployment","_key":"99c89a032f2d0"}],"_type":"block"},{"style":"normal","_key":"0d064327fadb","markDefs":[],"children":[{"_type":"span","marks":[],"text":"Security isn’t just about code: Deployment mechanisms and production servers need to be protected, too. DevSecOps acknowledges this relationship and works to guarantee the security of your running workloads.","_key":"9c210bc9698e0"}],"_type":"block"},{"markDefs":[],"children":[{"_type":"span","marks":[],"text":"Deployments can be secured by using automated tools to scan for vulnerabilities, identify compromised dependencies, and perform dynamic fuzz testing against live environments. You can run these as part of a continuous integration (CI) pipeline.","_key":"5cc3e803bce80"}],"_type":"block","style":"normal","_key":"b9a013de9e89"},{"markDefs":[],"children":[{"_key":"20e59b2d27260","_type":"span","marks":[],"text":"When you approve a deployment to sensitive environments like production, use a secured tunnel to issue commands and upload files. Agent-based mechanisms — where a service within the environment polls your repository for changes — should be preferred over opening ports inside the environment to external access. Instead of opening ports to the internet, you should use Tailscale to securely connect to internal services."}],"_type":"block","style":"normal","_key":"afdc1a8fa97a"},{"children":[{"_key":"f4bd1db0ff800","_type":"span","marks":[],"text":"Corporate network security"}],"_type":"block","style":"h4","_key":"9541ef683a85","markDefs":[]},{"_type":"block","style":"normal","_key":"59d38555fcc9","markDefs":[],"children":[{"_type":"span","marks":[],"text":"DevSecOps practices aren’t confined to code and operations. Security is only ever as good as the weakest link, and shifting that link to earlier in your development cycle still leaves you open to attack from unguarded network entry points.","_key":"aa97b42b18030"}]},{"markDefs":[],"children":[{"text":"Properly securing your corporate network with a VPN solution allows you to control which devices can communicate with each other. Take the time to inspect your current network and question the connections it facilitates. Do developer laptops need direct, unrestricted access to your production servers? What should developers need to do to access production?","_key":"2c5d84f21d9b0","_type":"span","marks":[]}],"_type":"block","style":"normal","_key":"66167c7bf873"},{"children":[{"text":"You should apply the most stringent restrictions you can in each situation. This can be instrumental in preventing an attacker moving from a low-value target to critical infrastructure.","_key":"957c890e38e00","_type":"span","marks":[]}],"_type":"block","style":"normal","_key":"05972fd644cd","markDefs":[]},{"children":[{"_key":"3c41ea092a830","_type":"span","marks":[],"text":"Audit and document"}],"_type":"block","style":"h4","_key":"ec85f179ccb0","markDefs":[]},{"style":"normal","_key":"daa0064259e8","markDefs":[],"children":[{"marks":[],"text":"Regularly auditing your environments will keep you informed of weaknesses and highlight opportunities for improvement. When you make changes, document them in a centralized location so everyone can gauge the organization’s security posture. The DevSecOps mindset empowers individuals to measure and contribute to the baseline. This enables iterative progression similar to how code is written.","_key":"9cc2dbb45b180","_type":"span"}],"_type":"block"},{"style":"normal","_key":"0bc363478508","markDefs":[{"_type":"link","href":"https://tailscale.com/kb/1018/acls","_key":"82cafa552d1a"}],"children":[{"_type":"span","marks":[],"text":"You should choose tools that support this model. Look for automated systems that offer a policy-based approach, where you can ","_key":"0a4e5c764f710"},{"marks":["82cafa552d1a"],"text":"define security rules","_key":"0a4e5c764f711","_type":"span"},{"_type":"span","marks":[],"text":" as files in a versioned repository. This will help you and others on your team track changes and understand which protections are currently applied.","_key":"0a4e5c764f712"}],"_type":"block"},{"anchor":"Using Tailscale for DevSecOps","_type":"anchorSection","_key":"940e2acff312"},{"markDefs":[],"children":[{"_type":"span","marks":[],"text":"Using Tailscale for DevSecOps","_key":"5dc94f925f6d0"}],"_type":"block","style":"h3","_key":"b01aab6c36d9"},{"markDefs":[],"children":[{"_type":"span","marks":[],"text":"Tailscale’s VPN platform can implement several aspects of a DevSecOps solution. Using Tailscale, you can quickly and easily set up a secured private network with automatic configuration.","_key":"2e5f41fed2800"}],"_type":"block","style":"normal","_key":"9a5460262a19"},{"_key":"e3a8b272683d","markDefs":[],"children":[{"marks":[],"text":"Unlike other VPNs, Tailscale uses a mesh model, so your devices can connect to each other directly. Traditional VPNs send all traffic through a single, central node, creating a hub-and-spoke single point of failure. Tailscale lets your devices talk to each other without having to open up any firewall ports.","_key":"81d9e5855bf90","_type":"span"}],"_type":"block","style":"normal"},{"style":"normal","_key":"125523721ffa","markDefs":[],"children":[{"marks":[],"text":"Once the Tailscale client is installed, your devices will automatically discover each other and apply any access rules you’ve set up in the Tailscale dashboard. This makes Tailscale much quicker to deploy than other VPN solutions. You don’t need to manually edit config files on a per-device basis. Your centralized settings will be pushed across your device fleet for you, without any extra effort.","_key":"5900e21a40080","_type":"span"}],"_type":"block"},{"children":[{"_key":"cab4808678710","_type":"span","marks":[],"text":"Tailscale gives each device a fixed IP address that will "},{"_key":"cab4808678711","_type":"span","marks":["3408b19bb3e0"],"text":"stay the same"},{"_type":"span","marks":[],"text":", regardless of the physical network it’s connected to. It supports custom firewall, DNS, and access control rules, all of which can be controlled using the ","_key":"cab4808678712"},{"_type":"span","marks":["316b5070dad5"],"text":"API","_key":"cab4808678713"},{"_type":"span","marks":[],"text":". This makes it trivial to automate changing your network configuration.","_key":"cab4808678714"}],"_type":"block","style":"normal","_key":"85c686e984cf","markDefs":[{"_type":"link","href":"https://tailscale.com/kb/1033/ip-and-dns-addresses/","_key":"3408b19bb3e0"},{"_key":"316b5070dad5","_type":"link","href":"https://tailscale.com/kb/1101/api/"}]},{"anchor":"How Tailscale’s WireGuard protocol protects your infrastructure","_type":"anchorSection","_key":"57dd60db0768"},{"_type":"block","style":"h3","_key":"cda3b025058d","markDefs":[],"children":[{"_type":"span","marks":[],"text":"How Tailscale’s WireGuard protocol protects your infrastructure","_key":"27d2a6bed4850"}]},{"_type":"block","style":"normal","_key":"a36148dac8eb","markDefs":[{"_key":"a271b2b25173","_type":"link","href":"https://www.wireguard.com/"}],"children":[{"_type":"span","marks":[],"text":"Tailscale is built on top of ","_key":"f0ca871cceba0"},{"_type":"span","marks":["a271b2b25173"],"text":"WireGuard","_key":"f0ca871cceba1"},{"text":". WireGuard is a modern, security-first VPN implementation which blends ease of use with state-of-the-art cryptographic protections. Tailscale offers a simple WireGuard deployment and management experience, dramatically reducing the complexity of setting up your own VPN.","_key":"f0ca871cceba2","_type":"span","marks":[]}]},{"_key":"8a1ce2f430e1","markDefs":[{"_type":"link","href":"http://www.noiseprotocol.org/","_key":"cefc4807e177"},{"href":"http://cr.yp.to/ecdh.html","_key":"32b6ffa6e4a2","_type":"link"},{"_type":"link","href":"http://cr.yp.to/chacha.html","_key":"a1cb875aff02"}],"children":[{"_type":"span","marks":[],"text":"WireGuard is purposely designed to provide secure and performant connections between your devices. One way it achieves this is through its narrow focus on simplicity and ease of use. WireGuard can be thought of as SSH for VPN connections: Tunneling to a new device relies on a simple key-pair exchange. WireGuard handles the rest, setting up an encrypted communication channel that’s secured with algorithms such as ","_key":"a1e369cb9e3c0"},{"_type":"span","marks":["cefc4807e177"],"text":"Noise","_key":"a1e369cb9e3c1"},{"marks":[],"text":", ","_key":"a1e369cb9e3c2","_type":"span"},{"_type":"span","marks":["32b6ffa6e4a2"],"text":"Curve25519","_key":"a1e369cb9e3c3"},{"_type":"span","marks":[],"text":", and ","_key":"a1e369cb9e3c4"},{"_type":"span","marks":["a1cb875aff02"],"text":"ChaCha20","_key":"a1e369cb9e3c5"},{"_type":"span","marks":[],"text":".","_key":"a1e369cb9e3c6"}],"_type":"block","style":"normal"},{"children":[{"_key":"e7dbf37224c00","_type":"span","marks":[],"text":"WireGuard is used for all the connections you initiate through Tailscale. This means that Tailscale cannot intercept or decrypt your traffic, even when using one of the relay servers. Although a Tailscale data breach could expose information about your network, it wouldn’t allow an attacker to view your activity. WireGuard private keys never leave the devices they originate from."}],"_type":"block","style":"normal","_key":"a45006041147","markDefs":[]},{"anchor":"Tailscale partners","_type":"anchorSection","_key":"1bfe8f2b5a2a"},{"_key":"9e9753b90c7e","markDefs":[],"children":[{"_type":"span","marks":[],"text":"Tailscale partners","_key":"12cc4c42b6ff0"}],"_type":"block","style":"h3"},{"children":[{"marks":[],"text":"Tailscale doesn’t offer its own identity service; you don’t have a Tailscale sign-up email address or password. Instead, the platform integrates with your existing SSO provider. Tailscale currently ","_key":"546557eb84700","_type":"span"},{"marks":["81d9fe70f413"],"text":"supports logins","_key":"546557eb84701","_type":"span"},{"_type":"span","marks":[],"text":" with the following services:","_key":"546557eb84702"}],"_type":"block","style":"normal","_key":"a1c65afca6f3","markDefs":[{"href":"https://tailscale.com/kb/1013/sso-providers/","_key":"81d9fe70f413","_type":"link"}]},{"_key":"872e6a13f482","listItem":"bullet","markDefs":[],"children":[{"_type":"span","marks":[],"text":"GitHub","_key":"58875f7e24150"}],"level":1,"_type":"block","style":"normal"},{"listItem":"bullet","markDefs":[],"children":[{"_type":"span","marks":[],"text":"Google (e.g., Google Workspace or G Suite)","_key":"00035969ba040"}],"level":1,"_type":"block","style":"normal","_key":"7b4dfcccc79c"},{"_type":"block","style":"normal","_key":"ec8dfecd0c90","listItem":"bullet","markDefs":[],"children":[{"_type":"span","marks":[],"text":"Microsoft (e.g., Azure Active Directory or Office 365)","_key":"ab155233bda70"}],"level":1},{"_type":"block","style":"normal","_key":"c30fa2e65cb6","listItem":"bullet","markDefs":[],"children":[{"marks":[],"text":"Okta","_key":"86165d181d960","_type":"span"}],"level":1},{"level":1,"_type":"block","style":"normal","_key":"94ef1646fb4e","listItem":"bullet","markDefs":[],"children":[{"marks":[],"text":"OneLogin","_key":"75df6d3e7f860","_type":"span"}]},{"style":"normal","_key":"00374fc0b031","listItem":"bullet","markDefs":[{"_key":"710a8b3413d2","_type":"link","href":"https://tailscale.com/kb/1119/sso-saml-oidc"}],"children":[{"_type":"span","marks":[],"text":"Your own ","_key":"6039060f16be0"},{"_type":"span","marks":["710a8b3413d2"],"text":"OIDC Proivder","_key":"6039060f16be1"}],"level":1,"_type":"block"},{"markDefs":[],"children":[{"_type":"span","marks":[],"text":"This model further improves the security of your network. Signing in with an account you already have means Tailscale automatically inherits your existing rules and policies, such as requiring periodic login renewals and 2FA enforcement. It also prevents Tailscale from being yet another manual step in onboarding and offboarding. Once you log in to a Tailscale client app using an SSO provider, the client will automatically exchange connection details with the other clients you’ve added to your network.","_key":"89dd437629340"}],"_type":"block","style":"normal","_key":"b376b8db278f"},{"anchor":"Conclusion","_type":"anchorSection","_key":"7f0f8592b82c"},{"children":[{"text":"Conclusion","_key":"2dbf116132300","_type":"span","marks":[]}],"_type":"block","style":"h3","_key":"a2dd43e8c77e","markDefs":[]},{"style":"normal","_key":"a064e9241a3e","markDefs":[],"children":[{"_type":"span","marks":[],"text":"DevSecOps is a method of software development and delivery that recognizes security as a fundamental tenet. It promotes including security as a primary concern at the start of the process, elevating it to a shared responsibility and eliminating some of the cracks where vulnerabilities can slip in.","_key":"ed68d0c47ac30"}],"_type":"block"},{"_type":"block","style":"normal","_key":"03269ee359d1","markDefs":[],"children":[{"text":"This article has explored what DevSecOps is and how it’s more than just source code scans and production-server firewalls. You’ll get the best results from the DevSecOps model when you view it as a mentality, then work to infuse it throughout your organization. Your internal network, deployment routines, and basic security hygiene all contribute to your overall protection.","_key":"44cefe155b6f0","_type":"span","marks":[]}]},{"children":[{"_type":"span","marks":[],"text":"For securing devices with private communications, ","_key":"1690ee1ab1d10"},{"_type":"span","marks":["03877237cc3f"],"text":"Tailscale’s VPN","_key":"1690ee1ab1d11"},{"marks":[],"text":" balances installation simplicity with fine-grained access controls that put you in charge of your network. You can limit inter-device traffic to precisely orchestrate network activity. Although DevSecOps is much more than a single tool, getting the basics right will help you scale your security model to fully protect your applications and their users.","_key":"1690ee1ab1d12","_type":"span"}],"_type":"block","style":"normal","_key":"199b0b8e9aa1","markDefs":[{"_type":"link","href":"https://tailscale.com/","_key":"03877237cc3f"}]}],"faqs":{"_type":"faqs","content":[{"_key":"8d0f918d55fc","answer":[{"children":[{"_type":"span","marks":[],"text":"There’s no hard and fast rule for the number of DevOps admins a team should have. Generally, it’s a good idea to keep this number low: Compromise of an admin account could be disastrous. In smaller organizations, a single DevOps admin will often suffice, perhaps supplemented by a junior aide with restricted permissions.\n\nIn larger organizations, more admins may be needed, ideally in a hierarchy that’s controlled by logical boundaries such as division, business unit, or product.","_key":"c831a6a4bcd50"}],"_type":"block","style":"normal","_key":"9fba209b8d11","markDefs":[]}],"question":"How many DevOps admins should my team have?","_type":"faq"},{"answer":[{"markDefs":[],"children":[{"_type":"span","marks":[],"text":"DevOps admins and traditional IT admins usually have distinct responsibilities. An IT admin tends to focus on user support, system maintenance, and hardware provisioning; a DevOps admin is more concerned with software-based controls that define and implement specific workflow processes. You’d usually go to your IT admin if you were having problems logging in or accessing a specific internal system.\n\nA DevOps admin would be the better choice when you can’t deploy to production or you’re struggling to set up a development environment. The line is vague, though: Especially in smaller teams, the two roles may be held by one person or informally assumed on a collective basis.","_key":"ddfd3247f4aa0"}],"_type":"block","style":"normal","_key":"0e6b8fd64976"}],"question":"Is my IT admin my DevOps admin?","_type":"faq","_key":"6c95cfeb207f"},{"_type":"faq","_key":"29bb66894e24","answer":[{"_key":"5c428bc310e8","markDefs":[],"children":[{"_type":"span","marks":[],"text":"One of the aims of DevSecOps is to foster a collaborative approach to security. This sometimes clashes with the intrinsic need for a few empowered administrators to ultimately apply and manage security policies. In organizations that aren’t fully prepared, this can create tensions between development, operations, and the perceived distinct security team. You can address this by designating one person as the security lead, while clearly documenting how others can suggest changes. Using documentation and agreed-upon policies provides a framework for team members to request adjustments or exceptions to the rules.","_key":"a52b66f34f3d0"}],"_type":"block","style":"normal"}],"question":"Who’s in control?"},{"_key":"97cda6804f6c","answer":[{"children":[{"_type":"span","marks":[],"text":"DevSecOps isn’t meant to diminish teams that are already practicing good security standards. It is possible to deliver secure software without consciously adopting a DevSecOps approach. The difference lies in purpose, intent, and timing. Making a commitment to DevSecOps and considering security right from the beginning demonstrates to your entire team that it’s a priority. When everyone’s working with this mindset, it’s less likely that vulnerabilities will creep in or need to be hurriedly patched up late in a project.","_key":"bb48d749826c0"}],"_type":"block","style":"normal","_key":"3a4eede71152","markDefs":[]}],"question":"We're already doing security: What's different here?","_type":"faq"}]},"title":"Ultimate guide to better DevOps / DevSecOps","authors":null,"content":null,"_id":"f45f01ef-92ce-44cb-91bf-a7cd981d34f6"},"pageType":"learn"},"__N_SSG":true},"page":"/[...slug]","query":{"slug":["learn","devsecops"]},"buildId":"1lqTpUpp4ZU3uxrLrtdhl","isFallback":false,"isExperimentalCompile":false,"gsp":true,"scriptLoader":[]}</script></body></html>