PageSourceSearch

https://tailscale.com/_next/static/chunks/78958-2a86915204007f83.js

js tailscale.com collected 2026-09-24 08:06:51 UTC 579,513 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[78958],{88707:function(e,t,a){var i={"./account/admin-console-session-timeout/index.mdx":[93806,34169,91981,95396,93806],"./account/billing/azure-marketplace-for-billing/index.mdx":[84555,34169,91981,95396,84555],"./account/billing/index.mdx":[8900,34169,91981,95396,8900],"./account/billing/manage-invoices/index.mdx":[23090,34169,91981,95396,23090],"./account/billing/modify-billing/index.mdx":[78221,34169,91981,95396,78221],"./account/bug-report/index.mdx":[54561,34169,91981,95396,54561],"./account/delete-tailnet/index.mdx":[12737,34169,91981,95396,12737],"./account/domain-aliases/domain-alias.png":[91695,91695],"./account/domain-aliases/index.mdx":[50945,34169,91981,95396,50945],"./account/domain-verification/index.mdx":[55637,34169,91981,95396,55637],"./account/index.mdx":[7188,34169,91981,95396,7188],"./account/manage-plans/downgrade-plan/index.mdx":[51122,34169,91981,95396,51122],"./account/manage-plans/free-plans-discounts/index.mdx":[7670,34169,91981,95396,7670],"./account/manage-plans/index.mdx":[42250,34169,91981,95396,42250],"./account/manage-plans/legacy-plans/index.mdx":[34028,34169,91981,95396,34028],"./account/manage-plans/modify-existing-plan/index.mdx":[48804,34169,91981,95396,48804],"./account/manage-plans/upgrade-plan/index.mdx":[30183,34169,91981,95396,30183],"./aperture/auto-auth/index.mdx":[96106,34169,91981,95396,96106],"./aperture/buy-tokens-through-aperture/index.mdx":[31528,34169,91981,95396,31528],"./aperture/chat-sandbox/index.mdx":[83220,34169,91981,95396,83220],"./aperture/chat/index.mdx":[34719,34169,91981,95396,34719],"./aperture/chat/projects/index.mdx":[96889,34169,91981,95396,96889],"./aperture/cli/index.mdx":[78866,34169,91981,95396,78866],"./aperture/configuration/index.mdx":[28396,34169,91981,95396,28396],"./aperture/connect-outside-tailnet/index.mdx":[27680,34169,91981,95396,27680],"./aperture/connectors/add-verified-connector/index.mdx":[38740,34169,91981,95396,5174],"./aperture/connectors/built-in-connectors/index.mdx":[49472,34169,91981,95396,49472],"./aperture/connectors/get-started/index.mdx":[56137,34169,91981,95396,56137],"./aperture/connectors/how-connectors-work
1/index.mdx":[14994,34169,91981,95396,14994],"./aperture/connectors/index.mdx":[77085,34169,91981,95396,77085],"./aperture/connectors/kinds-of-connector/index.mdx":[59691,34169,91981,95396,59691],"./aperture/connectors/reference/index.mdx":[74061,34169,91981,95396,74061],"./aperture/connectors/set-up-authenticated-mcp-connector/index.mdx":[87355,34169,91981,95396,87355],"./aperture/connectors/use-a-connector/index.mdx":[49203,34169,91981,95396,49203],"./aperture/control-access/index.mdx":[31158,34169,91981,95396,31158],"./aperture/direct-access/index.mdx":[68480,34169,91981,95396,68480],"./aperture/get-started/index.mdx":[9859,34169,91981,95396,9859],"./aperture/guardrails/index.mdx":[28195,34169,91981,95396,28195],"./aperture/how-aperture-works/index.mdx":[51303,34169,91981,95396,82855],"./aperture/how-grants-work/index.mdx":[28639,34169,91981,95396,28639],"./aperture/how-to/build-custom-webhook/index.mdx":[12474,34169,91981,95396,12474],"./aperture/how-to/check-and-refill-budgets/index.mdx":[85549,34169,91981,95396,85549],"./aperture/how-to/configure-overdraft-quotas/index.mdx":[28340,34169,91981,95396,28340],"./aperture/how-to/configure-zero-retention/index.mdx":[20238,34169,91981,95396,20238],"./aperture/how-to/enable-sandbox/index.mdx":[64351,34169,91981,95396,64351],"./aperture/how-to/export-usage-data-to-s3/index.mdx":[3791,34169,91981,95396,3791],"./aperture/how-to/filter-logs-by-header/index.mdx":[51114,34169,91981,95396,51114],"./aperture/how-to/grant-connector-access-by-label/index.mdx":[54338,34169,91981,95396,54338],"./aperture/how-to/grant-mcp-tool-access/index.mdx":[3468,34169,91981,95396,3468],"./aperture/how-to/grant-model-access/index.mdx":[27729,34169,91981,95396,27729],"./aperture/how-to/index.mdx":[619,34169,91981,95396,619],"./aperture/how-to/manage-sandbox/index.mdx":[48006,34169,91981,95396,48006],"./aperture/how-to/set-per-user-spending-limits/index.mdx":[5161,34169,91981,95396,5161],"./aperture/how-to/set-team-budget/index.mdx":[18494,34169,91981,95396,18494],"./aperture/how-to/set-up-admin-access/index.mdx":[28566,34169,91981,95396,28566],"./aperture/how-to/set-up-chat-ui/index.mdx":[46934,34169,91981,95396,46934],"./aperture/how-to/set-up-guardrails/index.mdx":[33608,34169,91981,95396,33608],"./aperture/how-to/set-up-http-api-connector/index.mdx":[8360,34169,91981,95396,8360],"./aperture/how-to/set-up-per-user-oauth2-connector/index.mdx":[2194,34169,91981,95396,2194],"./aperture/how-to/use-amazon-bedrock/index.mdx":[23944,34169,91981,95396,23944],"./aperture/how-to/use-anthropic/index.mdx":[90349,34169,91981,95396,90349],"./aperture/how-to/use-claude-code-action/index.mdx":[76282,34169,91981,95396,76282],"./aperture/how-to/use-claude-code/index.mdx":[60424,34169,91981,95396,60424],"./aperture/how-to/use-claude-desktop/index.mdx":[97597,34169,91981,95396,97597],"./aperture/how-to/use-codex/index.mdx":[96602,34169,91981,95396,96602],"./aperture/how-to/use-gemini-enterprise-agent-platform/index.mdx":[4124,34169,91981,95396,4124],"./aperture/how-to/use-google-gemini/index.mdx":[73782,34169,91981,95396,73782],"./aperture/how-to/use-microsoft-foundry/index.mdx":[60525,34169,91981,95396,60525],"./aperture/how-to/use-openai-compatible-provider/index.mdx":[61580,34169,91981,95396,61580],"./aperture/how-to/use-openai-compatible-tools/index.mdx":[18597,34169,91981,95396,18597],"./aperture/how-to/use-openai/index.mdx":[84197,34169,91981,95396,84197],"./aperture/how-to/use-opencode/index.mdx":[80017,34169,91981,95396,80017],"./aperture/how-to/use-openrouter/index.mdx":[66611,34169,91981,95396,66611],"./aperture/how-to/use-passthrough-mode/claude-subscriptions/index.mdx":[72214,34169,91981,95396,72214],"./aperture/how-to/use-passthrough-mode/codex-subscriptions/index.mdx":[97974,34169,91981,95396,97974],"./aperture/how-to/use-passthrough-mode/index.mdx":[80791,34169,91981,95396,80791],"./aperture/how-to/use-self-hosted/index.mdx":[54048,34169,91981,95396,54048],"./aperture/how-to/use-vercel/index.mdx":[14884,34169,91981,95396,14884],"./aperture/index.mdx":[60820,34169,91981,95396,60820],"./aperture/integrate/cerbos/index.mdx":[66877,34169,91981,95396,66877],"./aperture/integrate/cribl/index.mdx":[20849,34169,91981,95396,2153],"./aperture/integrate/highflame/index.mdx":[9756,34169,91981,95396,9756],"./aperture/integrate/index.mdx":[92593,34169,91981,95396,92593],"./aperture/integrate/oso/index.mdx":[81431,34169,91981,95396,81431],"./aperture/manage-spending/index.mdx":[48477,34169,91981,95396,48477],"./aperture/mcp-server/index.mdx":[86893,34169,91981,95396,86893],"./aperture/observe-and-export/index.mdx":[80928,34169,91981,95396,80928],"./aperture/privacy-and-data-retention/index.mdx":[69291,34169,91981,95396,69291],"./aperture/provider-compatibility/index.mdx":[99422,34169,91981,95396,99422],"./aperture/reference/aperture-vs-tailnet-grants/index.mdx":[79488,34169,91981,95396,79488],"./aperture/reference/dashboard-admin/index.mdx":[11202,34169,91981,95396,11202],"./aperture/reference/dashboard/index.mdx":[23913,34169,91981,95396,23913],"./aperture/reference/index.mdx":[70658,34169,91981,95396,70658],"./aperture/reference/sandbox/index.mdx":[98333,34169,91981,95396,98333],"./aperture/set-up-providers/index.mdx":[96948,34169,91981,95396,96948],"./aperture/troubleshooting/index.mdx":[21554,34169,91981,95396,21554],"./aperture/troubleshooting/sandbox/index.mdx":[46399,34169,91981,95396,46399],"./aperture/use-your-tools/index.mdx":[90529,34169,91981,95396,90529],"./aperture/visible-groups/index.mdx":[31175,34169,91981,95396,31175],"./aperture/what-is-aperture/index.mdx":[1795,34169,91981,95396,1795],"./border0/architecture-and-concepts/index.mdx":[73464,34169,91981,95396,73464],"./border0/connectors/high-availability/index.mdx":[76103,34169,91981,95396,76103],"./border0/connectors/index.mdx":[77284,34169,91981,95396,77284],"./border0/connectors/install/index.mdx":[40153,34169,91981,95396,40153],"./border0/connectors/overview/index.mdx":[81329,34169,91981,95396,81329],"./border0/connectors/reference/index.mdx":[574,34169,91981,95396,574],"./border0/connectors/reference/troubleshooting/index.mdx":[87943,34169,91981,95396,87943],"./border0/get-started/index.mdx":[93280,34169,91981,95396,93280],"./border0/index.mdx":[31481,34169,91981,95396,31481],"./border0/manage-secrets/index.mdx":[75048,34169,91981,95396,75048],"./border0/manage-secrets/secretValue.png":[7562,7562],"./border0/manage-secrets/upstreamConfiguration.png":[54870,54870],"./border0/manage-secrets/upstreamInformation.png":[57159,57159],"./border0/services/index.mdx":[72898,34169,91981,95396,26891],"./border0/services/sockets.png":[79872,79872],"./border0/what-is-border0/index.mdx":[42935,34169,91981,95396,42935],"./concepts/all-your-offices/index.mdx":[61007,34169,91981,95396,61007],"./concepts/av-flagging/index.mdx":[17957,34169,91981,95396,17957],"./concepts/can-tailscale-decrypt-traffic/index.mdx":[27546,34169,91981,95396,27546],"./concepts/control-data-planes
1/index.mdx":[70991,34169,91981,95396,32438],"./concepts/corporate-vpn/index.mdx":[75028,34169,91981,95396,75028],"./concepts/deprecated-physical-security/index.mdx":[80139,34169,91981,95396,80139],"./concepts/device-visibility/index.mdx":[17528,34169,91981,95396,17528],"./concepts/domain-ownership/index.mdx":[96557,34169,91981,95396,96557],"./concepts/index.mdx":[42955,34169,91981,95396,42955],"./concepts/interconnect-microservices/index.mdx":[47161,34169,91981,95396,47161],"./concepts/internal-apps-anywhere/index.mdx":[12616,34169,91981,95396,12616],"./concepts/ip-and-dns-addresses/android-deviceip.png":[69428,69428],"./concepts/ip-and-dns-addresses/index.mdx":[63452,34169,91981,95396,63452],"./concepts/ip-and-dns-addresses/ios-deviceip.png":[58025,58025],"./concepts/ip-and-dns-addresses/macos-deviceip.png":[72546,96730],"./concepts/ip-and-dns-addresses/windows-deviceip.png":[76069,76069],"./concepts/ip-blocklist-relays/index.mdx":[31422,34169,91981,95396,31422],"./concepts/ipv6/index.mdx":[85747,34169,91981,95396,85747],"./concepts/laptop-anywhere/index.mdx":[90457,34169,91981,95396,90457],"./concepts/local-team-server/index.mdx":[32567,34169,91981,95396,32567],"./concepts/machine-names/autogenerate-device-name-checkbox.png":[74664,74664],"./concepts/machine-names/device-name-details.png":[2817,2817],"./concepts/machine-names/device-name-modal.png":[69159,69159],"./concepts/machine-names/index.mdx":[3255,34169,91981,95396,3255],"./concepts/macos-sysext/index.mdx":[82892,34169,91981,95396,82892],"./concepts/macos-sysext/sysext-inapp-modal.png":[7570,7570],"./concepts/macos-sysext/sysext-inmenu-warning.png":[9975,9975],"./concepts/macos-sysext/sysext-privacy-security-scrolled.png":[32354,32354],"./concepts/macos-sysext/sysext-privacy-security-touch-id.png":[76479,76479],"./concepts/macos-sysext/sysext-privacy-security.png":[81598,81598],"./concepts/macos-sysext/sysext-vpn-config.png":[27705,27705],"./concepts/macos-sysext/system-extension-warning.png":[81179,81179],"./concepts/macos-variants/index.mdx":[4448,34169,91981,95396,4448],"./concepts/macos-webfilterproxyd/alert.png":[78504,78504],"./concepts/macos-webfilterproxyd/index.mdx":[73562,34169,91981,95396,73562],"./concepts/node-keys/index.mdx":[77767,34169,91981,95396,77767],"./concepts/post-quantum-cryptography/index.mdx":[62114,34169,91981,95396,62114],"./concepts/shared-responsibility/index.mdx":[71934,34169,91981,95396,71934],"./concepts/tailnet-lock-whitepaper/aum.png":[87807,87807],"./concepts/tailnet-lock-whitepaper/forked-updates.png":[8225,8225],"./concepts/tailnet-lock-whitepaper/incremental-aum.png":[18569,18569],"./concepts/tailnet-lock-whitepaper/index.mdx":[48580,34169,91981,95396,48580],"./concepts/tailnet-lock-whitepaper/new-lock-key.svg":[28941,28941],"./concepts/tailnet-lock-whitepaper/tka.png":[14694,14694],"./concepts/tailnet-lock-whitepaper/with-lock.svg":[50480,50480],"./concepts/tailnet-name/index.mdx":[56023,34169,91981,95396,56023],"./concepts/tailnet/index.mdx":[159,34169,91981,95396,159],"./concepts/tailscale-encryption/index.mdx":[44692,34169,91981,95396,44692],"./concepts/tailscale-identity/index.mdx":[48504,34169,91981,95396,48504],"./concepts/tailscale-ip-addresses/index.mdx":[38760,34169,91981,95396,38760],"./concepts/tailscale-osi/index.mdx":[38639,34169,91981,95396,38639],"./concepts/traffic-routing-through-tailscale/index.mdx":[43201,34169,91981,95396,43201],"./concepts/tunnel-vision/index.mdx":[54646,34169,91981,95396,54646],"./concepts/tunnel-vision/tunnelvision-notice.png":[30160,30160],"./concepts/userspace-networking/index.mdx":[29144,34169,91981,95396,29144],"./concepts/userspace-networking/userspace-networking.png":[55312,55312],"./concepts/what-is-tailscale/index.mdx":[21536,34169,91981,95396,21536],"./concepts/what-is-tailscale/tailscale.png":[40818,40818],"./concepts/what-is-tailscale/traditional-vpn.png":[15366,15366],"./concepts/windows-config-and-log-files/index.mdx":[12680,34169,91981,95396,12680],"./concepts/windows-config-and-log-files/windows-config-authorize.png":[28480,28480],"./concepts/windows-config-and-log-files/windows-config-files.png":[9812,9812],"./concepts/windows-config-and-log-files/windows-config-run.png":[25607,25607],"./concepts/windows-config-and-log-files/windows-config-shell.png":[33719,33719],"./concepts/wireguard/index.mdx":[30603,34169,91981,95396,30603],"./concepts/zero-trust/index.mdx":[30114,34169,91981,95396,30114],"./features/access-control/acls/index.mdx":[24483,34169,91981,95396,68504],"./features/access-control/auth-keys/how-to/index.mdx":[75520,34169,91981,95396,75520],"./features/access-control/auth-keys/how-to/secure-auth-keys/index.mdx":[64080,34169,91981,95396,64080],"./features/access-control/auth-keys/index.mdx":[52706,34169,91981,95396,52706],"./features/access-control/device-management/device-approval/approve-device-tag.png":[41496,41496],"./features/access-control/device-management/device-approval/approve-device-warning.png":[55904,55904],"./features/access-control/device-management/device-approval/approve-device.png":[46831,46831],"./features/access-control/device-management/device-approval/enable-approval.png":[35697,35697],"./features/access-control/device-management/device-approval/index.mdx":[54836,34169,91981,95396,54836],"./features/access-control/device-management/device-certificate-verification/index.mdx":[71466,34169,91981,95396,71466],"./features/access-control/device-management/how-to/export-list/index.mdx":[40700,34169,91981,95396,40700],"./features/access-control/device-management/how-to/filter/filter-machines.png":[79270,79270],"./features/access-control/device-management/how-to/filter/index.mdx":[56100,34169,91981,95396,56100],"./features/access-control/device-management/how-to/index.mdx":[19827,34169,91981,95396,19827],"./features/access-control/device-management/how-to/manage-identity/device-identity-collection-status.png":[53535,53535],"./features/access-control/device-management/how-to/manage-identity/device-identity-collection-toggle.png":[87490,87490],"./features/access-control/device-management/how-to/manage-identity/index.mdx":[3595,34169,91981,95396,3595],"./features/access-control/device-management/how-to/manage-identity/machine-identity.png":[61979,61979],"./features/access-control/device-management/how-to/remove/index.mdx":[4717,34169,91981,95396,4717],"./features/access-control/device-management/how-to/set-up-qr-code/index.mdx":[50505,34169,91981,95396,50505],"./features/access-control/device-management/how-to/set-up-qr-code/tailscale-login-qr-code.png":[86037,86037],"./features/access-control/device-management/how-to/set-up/add-device.png":[3112,3112],"./features/access-control/device-management/how-to/set-up/index.mdx":[53458,34169,91981,95396,53458],"./features/access-control/device-management/index.mdx":[59785,34169,91981,95396,59785],"./features/access-control/grants/grants-app-capabilities/index.mdx":[48
105,34169,91981,95396,99242],"./features/access-control/grants/grants-via/index.mdx":[5776,34169,91981,95396,5776],"./features/access-control/grants/index.mdx":[32736,34169,91981,95396,32736],"./features/access-control/how-to/index.mdx":[37861,34169,91981,95396,37861],"./features/access-control/index.mdx":[29527,34169,91981,95396,29527],"./features/access-control/just-in-time-access/index.mdx":[50909,34169,91981,95396,50909],"./features/access-control/key-expiry/disable-key-expiry.png":[38638,38638],"./features/access-control/key-expiry/extend-key-expiry.png":[56689,56689],"./features/access-control/key-expiry/index.mdx":[93671,34169,91981,95396,93671],"./features/access-control/user-approval/index.mdx":[10911,34169,91981,95396,10911],"./features/app-connectors/how-to/index.mdx":[73813,34169,91981,95396,73813],"./features/app-connectors/how-to/setup/app-connector-custom.png":[25745,25745],"./features/app-connectors/how-to/setup/app-connector-preset.png":[24804,24804],"./features/app-connectors/how-to/setup/index.mdx":[70185,34169,91981,95396,70185],"./features/app-connectors/index.mdx":[53007,34169,91981,95396,66573],"./features/client/android-app-split-tunneling/index.mdx":[11488,34169,91981,95396,11488],"./features/client/device-web-interface/index.mdx":[99467,34169,91981,95396,99467],"./features/client/fast-user-switching/index.mdx":[76052,34169,91981,95396,76052],"./features/client/index.mdx":[50905,34169,91981,95396,50905],"./features/client/ios-vpn-on-demand/index.mdx":[27985,34169,91981,95396,27985],"./features/client/ios-vpn-on-demand/vpn-on-demand.png":[88621,88621],"./features/client/linux-systray/index.mdx":[24767,34169,91981,95396,24767],"./features/client/linux-systray/systray-gnome.png":[83427,83427],"./features/client/manage-preferences/allow-incoming-macos-legacy.png":[39513,39513],"./features/client/manage-preferences/allow-incoming-macos.png":[45547,45547],"./features/client/manage-preferences/allow-incoming-win.jpg":[52120,52120],"./features/client/manage-preferences/index.mdx":[59109,34169,91981,95396,59109],"./features/client/uninstall/index.mdx":[52272,34169,91981,95396,52272],"./features/client/update/auto-update-macos.png":[61031,61031],"./features/client/update/auto-update-on.png":[99,99],"./features/client/update/index.mdx":[60471,34169,91981,95396,60471],"./features/client/update/machines-update-only.png":[69463,69463],"./features/client/update/machines-versions-update.png":[59370,59370],"./features/client/update/machines-versions.png":[40933,40933],"./features/containers/docker/docker-components/index.mdx":[47089,34169,91981,95396,47089],"./features/containers/docker/docker-desktop/index.mdx":[2174,34169,91981,95396,2174],"./features/containers/docker/docker-params/index.mdx":[83147,34169,91981,95396,83147],"./features/containers/docker/how-to/connect-docker-alt-manager/index.mdx":[27728,34169,91981,95396,27728],"./features/containers/docker/how-to/connect-docker-container/index.mdx":[15830,34169,91981,95396,15830],"./features/containers/docker/how-to/connect-docker-standalone/index.mdx":[72500,34169,91981,95396,72500],"./features/containers/docker/how-to/index.mdx":[6685,34169,91981,95396,6685],"./features/containers/docker/index.mdx":[90388,34169,91981,95396,90388],"./features/containers/index.mdx":[9457,34169,91981,95396,9457],"./features/containers/lxc/index.mdx":[57114,34169,91981,95396,57114],"./features/containers/lxc/lxc-unprivileged/index.mdx":[65342,34169,91981,95396,65342],"./features/containers/lxc/lxc-unprivileged/proxmox-add-device.png":[82851,82851],"./features/containers/lxc/lxc-unprivileged/proxmox-device-passthrough.png":[48648,48648],"./features/declarative-node-sharing/index.mdx":[570,34169,91981,95396,570],"./features/device-posture/attributes-falcon.mdx":[66359,34169,91981,95396,66359],"./features/device-posture/attributes-fleet.mdx":[35705,34169,91981,95396,35705],"./features/device-posture/attributes-intune.mdx":[64839,34169,91981,95396,64839],"./features/device-posture/attributes-ip.mdx":[11229,34169,91981,95396,11229],"./features/device-posture/attributes-jamfpro.mdx":[16787,34169,91981,95396,16787],"./features/device-posture/attributes-kandji.mdx":[52459,34169,91981,95396,52459],"./features/device-posture/attributes-kolide.mdx":[27316,34169,91981,95396,27316],"./features/device-posture/attributes-sentinel-one.mdx":[62023,34169,91981,95396,62023],"./features/device-posture/attributes-tailscale.mdx":[74610,34169,91981,95396,74610],"./features/device-posture/auditlogs-integrations.mdx":[21397,34169,91981,95396,21397],"./features/device-posture/edr-mdm-integrations.mdx":[56178,34169,91981,95396,56178],"./features/device-posture/index.mdx":[3912,34169,91981,95396,3912],"./features/device-posture/machine-details-attrs.png":[99810,99810],"./features/device-posture/sync-schedule.mdx":[31913,34169,91981,95396,54278],"./features/ephemeral-nodes/ephemeral-keys.png":[39762,39762],"./features/ephemeral-nodes/index.mdx":[92130,34169,91981,95396,92130],"./features/exit-nodes/auto-exit-nodes/index.mdx":[57769,34169,91981,95396,57769],"./features/exit-nodes/exit-node-01.svg":[24054,24054],"./features/exit-nodes/exit-node-02.svg":[43109,43109],"./features/exit-nodes/exit-node-admin-list.png":[41022,41022],"./features/exit-nodes/exit-node-admin-toggle.png":[27212,27212],"./features/exit-nodes/exit-node-android-menu.png":[51546,51546],"./features/exit-nodes/exit-node-ios-menu.png":[47409,47409],"./features/exit-nodes/exit-node-ios-picker.png":[30026,30026],"./features/exit-nodes/exit-node-windows-menu.png":[97347,97347],"./features/exit-nodes/how-to/index.mdx":[57608,34169,91981,95396,57608],"./features/exit-nodes/how-to/setup/index.mdx":[80613,34169,91981,95396,80613],"./features/exit-nodes/index.mdx":[74557,34169,91981,95396,74557],"./features/exit-nodes/mandatory-exit-nodes/index.mdx":[14281,34169,91981,95396,14281],"./features/exit-nodes/mullvad-exit-nodes/index.mdx":[79602,34169,91981,95396,79602],"./features/firewall-mode/index.mdx":[97287,34169,91981,95396,97287],"./features/group-visibility-clients/index.mdx":[28648,34169,91981,95396,28648],"./features/index.mdx":[50751,34169,91981,95396,50751],"./features/logging/audit-logging/audit-log-filter.png":[77765,77765],"./features/logging/audit-logging/audit-logging-page.png":[16892,16892],"./features/logging/audit-logging/index.mdx":[16640,34169,91981,95396,16640],"./features/logging/audit-logging/log-acl-revert.png":[71626,71626],"./features/logging/index.mdx":[69570,34169,91981,95396,69570],"./features/logging/log-streaming/index.mdx":[78756,34169,91981,95396,78756],"./features/logging/log-streaming/private-endpoint-confirmation.png":[36327,36327],"./features/logging/log-streaming/private-endpoint-url.png":[56953,56953],"./features/logging/log-streaming/stream-configuration-logs.png":[33197,33197],"./features/logging/log-streaming/stream-network-logs.png":[63964,60946],"./features/logging/network-flow-logs/index.mdx":[84256,34169,91981,95396,84256],"./features/mac-ios-shortcuts/connect-tailnet-example.png":[92474,92474],"./features/mac-ios-shortcuts/index.mdx":[71554,34169,91981,95396,71554],"./features/mac-ios-shortcuts/switch-user-example.png":[42650,42650],"./features/magicdns/index.mdx":[4402,34169,91981,95396,4402],"./features/magicdns/magic-dns-name.png":[126,126],"./features/magicdns/magic-dns-naming.png":[10883,10883],"./features/magicdns/magic-dns-toggle.png":[80065,80065],"./features/magicdns/magic-dns.png":[70448,70448],"./features/multiple-tailnets/auth-screen.png":[60218,60218],"./features/multiple-tailnets/dropdown.png":[24060,24060],"./features/multiple-tailnets/index.mdx":[21732,34169,91981,95396,21732],"./features/multiple-tailnets/limitation-for-single-idp.mdx":[40800,34169,91981,95396,40800],"./features/multiple-tailnets/limitation-for-user-management.mdx":[2731,34169,91981,95396,2731],"./features/multiple-tailnets/multiple-tailnets.png":[65250,65250],"./features/oauth-apps/device-provisioning/index.mdx":[83845,34169,91981,95396,83845],"./features/oauth-apps/index.mdx":[63663,34169,91981,95396,63663],"./features/oauth-clients/generated-oauth-client.jpg":[80237,80237],"./features/oauth-clients/index.mdx":[64905,34169,91981,95396,64905],"./features/peer-relay/index.mdx":[10632,34169,91981,95396,10632],"./features/seamless-key-renewal/index.mdx":[54745,34169,91981,95396,54745],"./features/secure-node-state-storage/index.mdx":[84114,34169,91981,95396,84114],"./features/services/enable-services-collection-button.png":[16748,16748],"./features/services/index.mdx":[61463,34169,91981,95396,61463],"./features/services/machine-services.png":[67230,67230],"./features/services/services-acls.png":[8795,8795],"./features/services/services-view.png":[65778,65778],"./features/session-expiry/index.mdx":[61650,34169,91981,95396,61650],"./features/session-expiry/session-length.png":[13392,13392],"./features/session-expiry/user-session-expiry.png":[8621,8621],"./features/sharing/how-to/change-role/index.mdx":[6577,34169,91981,95396,6577],"./features/sharing/how-to/change-role/make-owner.png":[39648,39648],"./features/sharing/how-to/change-role/role-picker.png":[6252,6252],"./features/sharing/how-to/export-list/index.mdx":[18741,34169,91981,95396,18741],"./features/sharing/how-to/index.mdx":[95946,34169,91981,95396,95946],"./features/sharing/how-to/invite-any-user/index.mdx":[72489,34169,91981,95396,72489],"./features/sharing/how-to/invite-any-user/leave-tailnet.png":[82534,82534],"./features/sharing/how-to/invite-team-members/index.mdx":[53371,34169,91981,95396,53371],"./features/sharing/how-to/invite-team-members/invite-team-roles.png":[31799,31799],"./features/sharing/how-to/invite-team-members/invite-team.png":[52220,52220],"./features/sharing/how-to/invite-team-members/user-invite-options.png":[19535,19535],"./features/sharing/how-to/invite-users/index.mdx":[90253,34169,91981,95396,90253],"./features/sharing/how-to/offboard/index.mdx":[7040,34169,91981,95396,7040],"./features/sharing/how-to/remove-team-members/delete-user.png":[66034,66034],"./features/sharing/how-to/remove-team-members/index.mdx":[22244,34169,91981,95396,22244],"./features/sharing/index.mdx":[50944,34169,91981,95396,50944],"./features/sharing/sharing-access.png":[60900,60900],"./features/site-to-site/index.mdx":[3224,34169,91981,95396,3224],"./features/split-dns-policies/index.mdx":[38771,34169,91981,95396,38771],"./features/subnet-routers/4via6-subnets/4via6-subnets.png":[50813,50813],"./features/subnet-routers/4via6-subnets/index.mdx":[81714,34169,91981,95396,81714],"./features/subnet-routers/AdvertiseSubnets.mdx":[51063,34169,91981,95396,51063],"./features/subnet-routers/EnableIPForwarding.mdx":[61604,34169,91981,95396,61604],"./features/subnet-routers/WarningAcceptRoutesHA.mdx":[41607,34169,91981,95396,41607],"./features/subnet-routers/how-to/bgp/index.mdx":[28147,34169,91981,95396,28147],"./features/subnet-routers/how-to/index.mdx":[92049,34169,91981,95396,92049],"./features/subnet-routers/how-to/raspberry-pi/after-auth.png":[97312,97312],"./features/subnet-routers/how-to/raspberry-pi/enable-subnet-routes.png":[90038,90038],"./features/subnet-routers/how-to/raspberry-pi/index.mdx":[43251,34169,91981,95396,43251],"./features/subnet-routers/how-to/raspberry-pi/show-ip.png":[40575,40575],"./features/subnet-routers/how-to/raspberry-pi/subnets-enabled.png":[14961,14961],"./features/subnet-routers/how-to/setup/index.mdx":[15390,34169,91981,95396,52058],"./features/subnet-routers/index.mdx":[95733,34169,91981,95396,95733],"./features/subnet-routers/not-advertised-subnets.png":[91e3,91e3],"./features/subnet-routers/subnets-modal.png":[90543,90543],"./features/subnet-routers/subnets.png":[11095,11095],"./features/tags/auth-key-tag.png":[4810,4810],"./features/tags/index.mdx":[99401,34169,91981,95396,99401],"./features/tags/machines-list.png":[39191,39191],"./features/taildrive/access_android.mdx":[81317,34169,91981,95396,81317],"./features/taildrive/access_ios.mdx":[30060,34169,91981,95396,30060],"./features/taildrive/access_linux.mdx":[16076,34169,91981,95396,16076],"./features/taildrive/access_macos.mdx":[54584,34169,91981,95396,54584],"./features/taildrive/access_synology.mdx":[67957,34169,91981,95396,67957],"./features/taildrive/access_windows.mdx":[29160,34169,91981,95396,29160],"./features/taildrive/index.mdx":[63164,34169,91981,95396,63164],"./features/taildrive/share_cli.mdx":[9287,34169,91981,95396,9287],"./features/taildrive/share_macos_gui.mdx":[33779,34169,91981,95396,337
179],"./features/taildrive/share_note.mdx":[13175,34169,91981,95396,13175],"./features/taildrive/share_synology.mdx":[69697,34169,91981,95396,69697],"./features/taildrive/share_windows.mdx":[70127,34169,91981,95396,70127],"./features/taildrop/android-send.jpg":[13021,13021],"./features/taildrop/google-photos-1.jpg":[86858,86858],"./features/taildrop/google-photos-2.jpg":[11940,11940],"./features/taildrop/google-photos-3.jpg":[76395,76395],"./features/taildrop/google-photos-4.jpg":[7169,7169],"./features/taildrop/how-to/index.mdx":[35405,34169,91981,95396,35405],"./features/taildrop/how-to/set-up-taildrop-with-nas/index.mdx":[65615,34169,91981,95396,65615],"./features/taildrop/how-to/set-up-taildrop-with-nas/qnap-taildrop-permission.png":[89164,89164],"./features/taildrop/how-to/set-up-taildrop-with-nas/synology-taildrop-permission.png":[17936,17936],"./features/taildrop/index.mdx":[7237,34169,91981,95396,7237],"./features/taildrop/ios-send.jpg":[35692,35692],"./features/taildrop/macos-extension.png":[33361,33361],"./features/taildrop/macos-send.png":[41771,41771],"./features/taildrop/taildrop.webm":[64135,64135],"./features/taildrop/windows-send.jpg":[42607,42607],"./features/tailnet-lock/enable-tailnet-lock.png":[93491,93491],"./features/tailnet-lock/index.mdx":[1214,34169,91981,95396,1214],"./features/tailnet-policy-file/extra-dns-records/index.mdx":[32659,34169,91981,95396,32659],"./features/tailnet-policy-file/index.mdx":[43490,34169,91981,95396,43490],"./features/tailnet-policy-file/ip-sets/index.mdx":[8580,34169,91981,95396,8580],"./features/tailnet-policy-file/manage-tailnet-policies/index.mdx":[73672,34169,91981,95396,73672],"./features/tailnet-policy-file/manage-tailnet-policies/preview-rules.png":[47,47],"./features/tailnets-api/index.mdx":[68691,34169,91981,95396,68691],"./features/tailscale-accessbot-jit/index.mdx":[85089,34169,91981,95396,85089],"./features/tailscale-accessbot-jit/tailscale-access-requesting-access.png":[46726,46726],"./features/tailscale-funnel/enable-funnel.png":[52348,52348],"./features/tailscale-funnel/funnel-diagram.png":[17642,17642],"./features/tailscale-funnel/how-to/host-websites/index.mdx":[45650,34169,91981,95396,45650],"./features/tailscale-funnel/how-to/index.mdx":[14007,34169,91981,95396,14007],"./features/tailscale-funnel/index.mdx":[78931,34169,91981,95396,78931],"./features/tailscale-serve/enable-serve.png":[52897,52897],"./features/tailscale-serve/index.mdx":[13524,34169,91981,95396,13524],"./features/tailscale-services/index.mdx":[54880,34169,91981,95396,54880],"./features/tailscale-skill/index.mdx":[86354,34169,91981,95396,86354],"./features/tailscale-ssh/check-mode-required.png":[1516,1516],"./features/tailscale-ssh/generate-auth-key.png":[20467,20467],"./features/tailscale-ssh/how-to/index.mdx":[97303,34169,91981,95396,97303],"./features/tailscale-ssh/how-to/session-recording-s3/index.mdx":[46842,34169,91981,95396,46842],"./features/tailscale-ssh/index.mdx":[84540,34169,91981,95396,84540],"./features/tailscale-ssh/tailscale-ssh-console/authenticate-dialog.jpg":[56694,56694],"./features/tailscale-ssh/tailscale-ssh-console/connect-to-device.jpg":[46365,46365],"./features/tailscale-ssh/tailscale-ssh-console/index.mdx":[86252,34169,91981,95396,86252],"./features/tailscale-ssh/tailscale-ssh-console/ssh-button.jpg":[1728,1728],"./features/tailscale-ssh/tailscale-ssh-session-recording/index.mdx":[80942,34169,91981,95396,80942],"./features/tailscale-ssh/tailscale-ssh-session-recording/ssh-recording-demo.gif":[83044,83044],"./features/tailscale-system-policies/forced-exit-node-macos.jpg":[9673,9673],"./features/tailscale-system-policies/index.mdx":[94527,34169,91981,95396,94527],"./features/tailscale-system-policies/mdm_data":[34261,34261],"./features/tailscale-system-policies/mdm_data.jsx":[34261,34261],"./features/tailscale-system-policies/unstable-updates-screenshot.png":[80100,80100],"./features/tsidp/index.mdx":[8190,34169,91981,95396,8190],"./features/tsnet/how-to/create-basic-tsnet-app/index.mdx":[81771,34169,91981,95396,81771],"./features/tsnet/how-to/index.mdx":[65399,34169,91981,95396,65399],"./features/tsnet/how-to/register-service/index.mdx":[75037,34169,91981,95396,75037],"./features/tsnet/index.mdx":[93376,34169,91981,95396,93376],"./features/tsrecorder/index.mdx":[7215,34169,91981,95396,7215],"./features/user-group-provisioning/index.mdx":[3690,34169,91981,95396,3690],"./features/visual-editor/index.mdx":[96245,34169,91981,95396,96245],"./features/webhooks/add-webhook-endpoint.png":[69083,69083],"./features/webhooks/how-to/index.mdx":[15602,34169,91981,95396,15602],"./features/webhooks/how-to/rotate-webhook-secret/index.mdx":[56594,34169,91981,95396,56594],"./features/webhooks/index.mdx":[11301,34169,91981,95396,11301],"./features/webhooks/tailscale-events-slack.png":[49526,49526],"./features/webhooks/webhook-events.png":[22069,22069],"./features/workload-identity-federation/index.mdx":[92978,34169,91981,95396,92978],"./features/workload-identity-federation/wif-process.png":[81128,81128],"./how-to/connect-ssh-linux-vm/index.mdx":[2129,34169,91981,95396,2129],"./how-to/connect-to-devices/index.mdx":[96390,34169,91981,95396,96390],"./how-to/connect-vpc/aws-cidr.png":[60914,60914],"./how-to/connect-vpc/azure-cidr.png":[25258,25258],"./how-to/connect-vpc/index.mdx":[91329,34169,91981,95396,91329],"./how-to/index.mdx":[37029,34169,91981,95396,37029],"./how-to/quickstart/index.mdx":[64910,34169,91981,95396,64910],"./how-to/run-unattended/index.mdx":[89934,34169,91981,95396,89934],"./how-to/secure-ubuntu-server-with-ufw/index.mdx":[17928,34169,91981,95396,17928],"./how-to/set-up-custom-control-server/index.mdx":[61168,34169,91981,95396,61168],"./how-to/set-up-high-availability/index.mdx":[29014,34169,91981,95396,29014],"./how-to/set-up-https-certificates/https-naming.png":[87195,87195],"./how-to/set-up-https-certificates/index.mdx":[93934,34169,91981,95396,93934],"./how-to/set-up-servers/generate-auth-key.png":[56759,56759],"./how-to/set-up-servers/index.mdx":[55002,34169,91981,95396,55002],"./how-to/set-up-small-tailscale/index.mdx":[84879,34169,91981,95396,84879],"./how-to/test-connections/index.mdx":[29069,34169,91981,95396,29069],"./how-to/use-third-party-dpi/dpi-third-party.png":[15329,15329],"./how-to/use-third-party-dpi/index.mdx":[3083,34169,91981,95396,3083],"./hubs/automations/index.mdx":[67323,34169,91981,95396,67323],"./hubs/chat-sandbox/index.mdx":[31523,34169,91981,95396,31523],"./hubs/cloud-server/index.mdx":[38088,34169,91981,95396,38088],"./hubs/containers-and-virtualization/index.mdx":[71375,34169,91981,95396,71375],"./hubs/database/index.mdx":[32353,34169,91981,95396,32353],"./hubs/develop-with-ai/index.mdx":[35326,34169,91981,95396,35326],"./hubs/firewall/index.mdx":[6817,34169,91981,95396,6817],"./hubs/gitops/index.mdx":[77754,34169,91981,95396,77754],"./hubs/index.mdx":[79033,34169,91981,95396,79033],"./hubs/integration-dev-tools/index.mdx":[3119,34169,91981,95396,3119],"./hubs/integration-infrastru
1cture-as-code/index.mdx":[72172,34169,91981,95396,72172],"./hubs/integration-serverless-apps/index.mdx":[69633,34169,91981,95396,69633],"./hubs/kubernetes/ephemeral-keys.png":[80166,80166],"./hubs/kubernetes/index.mdx":[25399,34169,91981,95396,25399],"./hubs/manage-users/index.mdx":[60339,34169,91981,95396,60339],"./hubs/manage/index.mdx":[47396,34169,91981,95396,47396],"./hubs/mdm/index.mdx":[87524,34169,91981,95396,87524],"./hubs/multifactor-auth/index.mdx":[47618,34169,91981,95396,69970],"./hubs/oauth/index.mdx":[3073,34169,91981,95396,3073],"./hubs/quick-guides/index.mdx":[35116,34169,91981,95396,35116],"./hubs/remote-code/index.mdx":[24185,34169,91981,95396,24185],"./hubs/resources/index.mdx":[80614,34169,91981,95396,80614],"./hubs/route/index.mdx":[57827,34169,91981,95396,57827],"./hubs/secure-networks/index.mdx":[63130,34169,91981,95396,63130],"./hubs/servers/index.mdx":[57328,34169,91981,95396,57328],"./hubs/share-web-server/index.mdx":[50535,34169,91981,95396,50535],"./hubs/share/index.mdx":[85870,34169,91981,95396,85870],"./hubs/support/index.mdx":[4798,34169,91981,95396,4798],"./index.mdx":[63848,34169,91981,95396,63848],"./install/amazon-fire/index.mdx":[91980,34169,91981,95396,91980],"./install/android/android-quickstart/index.mdx":[19641,34169,91981,95396,19641],"./install/android/index.mdx":[11635,34169,91981,95396,11635],"./install/appletv/index.mdx":[8793,34169,91981,95396,8793],"./install/chromebook/index.mdx":[89259,34169,91981,95396,89259],"./install/cloud/aws/aws-app-runner/ephemeral-keys.png":[16126,16126],"./install/cloud/aws/aws-app-runner/index.mdx":[35538,34169,91981,95396,35538],"./install/cloud/aws/aws-install.drawio":[8791,8791],"./install/cloud/aws/aws-install.png":[73685,73685],"./install/cloud/aws/aws-lambda/ephemeral-keys.png":[22612,22612],"./install/cloud/aws/aws-lambda/index.mdx":[18643,34169,91981,95396,18643],"./install/cloud/aws/aws-lightsail/ephemeral-keys.png":[78384,78384],"./install/cloud/aws/aws-lightsail/index.mdx":[80496,34169,91981,95396,80496],"./install/cloud/aws/aws-rds/aws-disable-ssh.jpg":[15665,15665],"./install/cloud/aws/aws-rds/aws-split-dns.jpg":[80076,80076],"./install/cloud/aws/aws-rds/ec2-subnet.jpg":[51796,51796],"./install/cloud/aws/aws-rds/index.mdx":[4085,34169,91981,95396,4085],"./install/cloud/aws/aws-rds/rds-sg-add-ec2.jpg":[8574,14021],"./install/cloud/aws/aws-rds/sg-port-41641.jpg":[8082,8082],"./install/cloud/aws/index.mdx":[39145,34169,91981,95396,39145],"./install/cloud/aws/quickstart/index.mdx":[38150,34169,91981,95396,38150],"./install/cloud/azure/azure-app-service/azure-config-vars.png":[68025,68025],"./install/cloud/azure/azure-app-service/ephemeral-keys.png":[748,748],"./install/cloud/azure/azure-app-service/index.mdx":[99845,34169,91981,95396,99845],"./install/cloud/azure/index.mdx":[29677,34169,91981,95396,29677],"./install/cloud/azure/linux/azure-add-DNS.jpg":[35762,35762],"./install/cloud/azure/linux/azure-disable-ssh.jpg":[73960,73960],"./install/cloud/azure/linux/index.mdx":[83301,34169,91981,95396,83301],"./install/cloud/azure/linux/network-security-group.jpg":[5455,5455],"./install/cloud/azure/windows/azure-add-DNS.jpg":[52307,52307],"./install/cloud/azure/windows/azure-disable-ssh.jpg":[63780,63780],"./install/cloud/azure/windows/index.mdx":[98805,34169,91981,95396,98805],"./install/cloud/azure/windows/windows-nsg.jpg":[76665,76665],"./install/cloud/cloudrun/ephemeral-keys.png":[3990,3990],"./install/cloud/cloudrun/index.mdx":[78063,34169,91981,95396,78063],"./install/cloud/coder/index.mdx":[24787,34169,91981,95396,24787],"./install/cloud/flydotio/ephemeral-keys.png":[42812,42812],"./install/cloud/flydotio/index.mdx":[82336,34169,91981,95396,82336],"./install/cloud/gce/gce-add-nameserver.png":[72071,72071],"./install/cloud/gce/gce-firewall-rule.png":[93552,93552],"./install/cloud/gce/gce-ip-forwarding.png":[53001,53001],"./install/cloud/gce/gce-nameserver.png":[74058,74058],"./install/cloud/gce/gce-remove-ssh.png":[12020,12020],"./install/cloud/gce/index.mdx":[28182,34169,91981,95396,28182],"./install/cloud/gitpod/gitpod.jpg":[92710,92710],"./install/cloud/gitpod/index.mdx":[86108,34169,91981,95396,86108],"./install/cloud/heroku/ephemeral-keys.png":[6884,6884],"./install/cloud/heroku/heroku-config-vars.png":[8815,8815],"./install/cloud/heroku/index.mdx":[89342,34169,91981,95396,89342],"./install/cloud/hetzner/hetzner-firewall.jpg":[41697,41697],"./install/cloud/hetzner/index.mdx":[1110,34169,91981,95396,1110],"./install/cloud/index.mdx":[27714,34169,91981,95396,27714],"./install/cloud/koyeb/ephemeral-keys.png":[77154,77154],"./install/cloud/koyeb/index.mdx":[94703,34169,91981,95396,94703],"./install/cloud/oracle-cloud/index.mdx":[16985,34169,91981,95396,16985],"./install/cloud/oracle-cloud/ocn-ingress-rule.jpg":[84552,84552],"./install/cloud/oracle-cloud/ocn-nameserver.jpg":[27983,27983],"./install/cloud/oracle-cloud/ocn-remove-ssh.png":[29724,29724],"./install/cloud/oracle-cloud/ocn-security-lists.jpg":[63407,63407],"./install/cloud/oracle-cloud/ocn-virtual-networks.jpg":[
111790,11790],"./install/index.mdx":[978,34169,91981,95396,978],"./install/ios/index.mdx":[4837,34169,91981,95396,4837],"./install/ios/quickstart/index.mdx":[39036,34169,91981,95396,39036],"./install/linux/index.mdx":[18053,34169,91981,95396,18053],"./install/mac/index.mdx":[33104,34169,91981,95396,33104],"./install/mac/quickstart/index.mdx":[71021,34169,91981,95396,71021],"./install/opnsense/index.mdx":[31603,34169,91981,95396,31603],"./install/opnsense/opnsense.png":[64153,64153],"./install/opnsense/static-port-mapping.png":[16016,16016],"./install/opnsense/upnp-settings.jpg":[39888,39888],"./install/start/index.mdx":[48897,34169,91981,95396,48897],"./install/static/index.mdx":[30073,34169,91981,95396,30073],"./install/unstable/index.mdx":[37405,34169,91981,95396,37405],"./install/windows/index.mdx":[80630,34169,91981,95396,80630],"./install/windows/msi/index.mdx":[52693,34169,91981,95396,52693],"./install/windows/quickstart/index.mdx":[92616,34169,91981,95396,92616],"./install/windows/win-menu.png":[58330,58330],"./install/windows/wsl2/index.mdx":[91147,34169,91981,95396,91147],"./install/with-cloud-init/index.mdx":[59872,34169,91981,95396,59872],"./integrations/bitbucket/gitops/gitops-edit-warning.png":[17287,17287],"./integrations/bitbucket/gitops/index.mdx":[26867,34169,91981,95396,26867],"./integrations/bitbucket/index.mdx":[52567,34169,91981,95396,52567],"./integrations/captive-portals/captive-portal-notification.png":[75812,75812],"./integrations/captive-portals/index.mdx":[91049,34169,91981,95396,91049],"./integrations/codesandbox/index.mdx":[62161,34169,91981,95396,26706],"./integrations/codeserver/index.mdx":[2893,34169,91981,95396,2893],"./integrations/control-d/index.mdx":[96489,34169,91981,95396,96489],"./integrations/crowdstrike-zta/configure-crowdstrike-falcon-integration.png":[84888,84888],"./integrations/crowdstrike-zta/crowdstrike-scopes.png":[31702,31702],"./integrations/crowdstrike-zta/index.mdx":[5745,34169,91981,95396,5745],"./integrations/crowdstrike-zta/integration-status.png":[53196,53196],"./integrations/crowdstrike-zta/machine-attributes.png":[28457,28457],"./integrations/crunchy-bridge/index.mdx":[3103,34169,91981,95396,3103],"./integrations/firewalls/index.mdx":[891,34169,91981,95396,891],"./integrations/firewalls/opnsense-unbound/index.mdx":[82397,34169,91981,95396,82397],"./integrations/firewalls/opnsense-unbound/query-forwarding.png":[7704,7704],"./integrations/firewalls/opnsense-unbound/search-domain.png":[18685,18685],"./integrations/firewalls/palo-alto-firewall/index.mdx":[75884,34169,91981,95396,75884],"./integrations/firewalls/palo-alto-firewall/pan-os-PDIPP.png":[45135,45135],"./integrations/firewalls/palo-alto-firewall/pan-os-selective-PDIPP-original.png":[87677,87677],"./integrations/firewalls/palo-alto-firewall/pan-os-selective-PDIPP-service.png":[82898,82898],"./integrations/firewalls/palo-alto-firewall/pan-os-static-ip.png":[51039,51039],"./integrations/firewalls/pan-os-PDIPP.png":[38e3,38e3],"./integrations/firewalls/pfsense/index.mdx":[31764,34169,91981,95396,31764],"./integrations/firewalls/pfsense/static-port-mapping.png":[28049,28049],"./integrations/firewalls/pfsense/upnp-settings.jpg":[82302,82302],"./integrations/firewalls/sophos-nat.png":[40611,40611],"./integrations/firewalls/unifi-p2p.png":[21227,21227],"./integrations/fleet/configure-integration.png":[61172,61172],"./integrations/fleet/fleet-policy-example.png":[17074,17074],"./integrations/fleet/index.mdx":[33815,34169,91981,95396,33815],"./integrations/fleet/integration-status.png":[68023,68023],"./integrations/fleet/machine-attributes.png":[13463,13463],"./integrations/github/github-action/index.mdx":[85095,34169,91981,95396,85095],"./integrations/github/github-codespaces/codespace.jpg":[6744,6744],"./integrations/github/github-codespaces/index.mdx":[47337,34169,91981,95396,47337],"./integrations/github/gitops/actions-workflow.png":[35013,35013],"./integrations/github/gitops/gitops-edit-warning.png":[38814,38814],"./integrations/github/gitops/index.mdx":[35343,34169,91981,95396,35343],"./integrations/github/index.mdx":[73463,34169,91981,95396,73463],"./integrations/gitlab/gitlab-runner/index.mdx":[20927,34169,91981,95396,20927],"./integrations/gitlab/gitops/ci-workflow.png":[99600,99600],"./integrations/gitlab/gitops/gitops-edit-warning.png":[14396,14396],"./integrations/gitlab/gitops/index.mdx":[57762,34169,91981,95396,57762],"./integrations/gitlab/index.mdx":[66032,34169,91981,95396,66032],"./integrations/google-sync/index.mdx":[3887,34169,91981,95396,3887],"./integrations/grafana/index.mdx":[7345,34169,91981,95396,7345],"./integrations/huntress/index.mdx":[69017,34169,91981,95396,69017],"./integrations/huntress/integration-status.png":[21018,21018],"./integrations/huntress/machine-attributes.png":[45620,45620],"./integrations/identity/apple-sso/index.mdx":[16606,34169,91981,95396,16606],"./integrations/identity/apple-sso/sign-up-apple.png":[39383,39383],"./integrations/identity/custom-oidc/index.mdx":[28712,34169,91981,95396,28712],"./integrations/identity/custom-oidc/sign-up-oidc.png":[39791,39791],"./integrations/identity/custom-scim/copy-generated-api-key.png":[24625,24625],"./integrations/identity/custom-scim/generate-api-key.png":[33462,33462],"./integrations/identity/custom-scim/index.mdx":[2607,34169,91981,95396,2607],"./integrations/identity/entra/custom/application-properties.png":[47172,47172],"./integrations/identity/entra/custom/client-secret.png":[40724,40724],"./integrations/identity/entra/custom/create-app.png":[30657,30657],"./integrations/identity/entra/custom/index.mdx":[66550,34169,91981,95396,66550],"./integrations/identity/entra/custom/overview.png":[85241,85241],"./integrations/identity/entra/custom/provisioning.png":[15882,15882],"./integrations/identity/entra/custom/redirect-uri.png":[44152,44152],"./integrations/identity/entra/entra-id-scim/copy-generated-api-key.png":[27894,27894],"./integrations/identity/entra/entra-id-scim/entra-assignment-required.png":[89158,89158],"./integrations/identity/entra/entra-id-scim/entra-id-credentials.jpg":[1311,1311],"./integrations/identity/entra/entra-id-scim/entra-id-provisioning.jpg":[4965,4965],"./integrations/identity/entra/entra-id-scim/index.mdx":[10216,34169,91981,95396,10216],"./integrations/identity/entra/index.mdx":[27601,34169,91981,95396,27601],"./integrations/identity/entra/sign-up-microsoft.png":[80815,80815],"./integrations/identity/github/index.mdx":[88380,34169,91981,95396,88380],"./integrations/identity/google-sso/index.mdx":[69845,34169,91981,95396,69845],"./integrations/identity/google-sso/sign-up-google.png":[43875,43875],"./integrations/identity/index.mdx":[41e3,34169,91981,95396,41e3],"./integrations/identity/okta/index.mdx":[36546,34169,91981,95396,36546],"./integrations/identity/okta/okta-assignments.png":[12273,12273],"./integrations/identity/okta/okta-scim/configure-api-integration.png":[33561,33561],"./integrations/identity/okta/okta-scim/copy-generated-api-key.png":[67562,67562],"./integrations/identity/okta/okta-scim/email-username-format.png":[66250,66250],"./integrations/identity/okta/okta-scim/enable-api-integration.png":[25434,25434],"./integrations/identity/okta/okta-scim/enable-group-sync.png":[49557,49557],"./integrations/identity/okta/okta-scim/enable-user-sync.png":[91542,91542],"./integrations/identity/okta/okta-scim/generate-api-key.png":[52582,52582],"./integrations/identity/okta/okta-scim/group-not-syncing-message.png":[17867,17867],"./integrations/identity/okta/okta-scim/index.mdx":[65991,34169,91981,95396,65991],"./integrations/identity/okta/okta-scim/okta-assignments.png":[37483,37483],"./integrations/identity/okta/okta-scim/provision-users.png":[23615,23615],"./integrations/identity/okta/okta-scim/select-tailscale-instance.png":[98450,98450],"./integrations/identity/okta/okta-scim/sync-groups.png":[38777,38777],"./integrations/identity/onelogin/index.mdx":[3674,34169,91981,95396,3674],"./integrations/identity/passkeys/index.mdx":[62979,34169,91981,95396,62979],"./integrations/identity/passkeys/passkey-create-user.png":[29725,29725
1],"./integrations/identity/passkeys/passkey-join-user.png":[38743,38743],"./integrations/identity/passkeys/passkey-sign-up.png":[10275,10275],"./integrations/identity/passkeys/passkey-user-added.png":[74111,74111],"./integrations/identity/switch-identity-provider/index.mdx":[68399,34169,91981,95396,68399],"./integrations/index.mdx":[95887,34169,91981,95396,95887],"./integrations/iru/configure-integration.png":[94147,94147],"./integrations/iru/index.mdx":[78630,34169,91981,95396,78630],"./integrations/iru/integration-status.png":[32742,32742],"./integrations/iru/kandji-add-token.png":[17259,17259],"./integrations/iru/machine-attributes.png":[24770,24770],"./integrations/jamf-pro/configure-integration.png":[67691,67691],"./integrations/jamf-pro/index.mdx":[68444,34169,91981,95396,68444],"./integrations/jamf-pro/integration-status.png":[26770,26770],"./integrations/jamf-pro/jamfpro-add-token.png":[34586,34586],"./integrations/jamf-pro/machine-attributes.png":[10178,10178],"./integrations/jit-access/index.mdx":[32607,34169,91981,95396,32607],"./integrations/jit-conductorone/index.mdx":[93089,34169,91981,95396,93089],"./integrations/jit-opal/index.mdx":[72173,34169,91981,95396,72173],"./integrations/jit-sym/index.mdx":[64802,34169,91981,95396,64802],"./integrations/kolide/configure-integration.png":[55834,55834],"./integrations/kolide/index.mdx":[51854,34169,91981,95396,51854],"./integrations/kolide/integration-status.png":[49648,49648],"./integrations/kolide/kolide-add-token.png":[88248,88248],"./integrations/kolide/machine-attributes.png":[16100,16100],"./integrations/mdm/android/index.mdx":[84287,34169,91981,95396,84287],"./integrations/mdm/android/tinymdm-android-config-ui.png":[66137,66137],"./integrations/mdm/google-workspace/google-workspace-add-managed-configuration.png":[99145,99145],"./integrations/mdm/google-workspace/google-workspace-chromeos-policy.png":[49474,49474],"./integrations/mdm/google-workspace/google-workspace-search-for-apps.png":[92186,92186],"./integrations/mdm/google-workspace/google-workspace-settings.png":[3969,3969],"./integrations/mdm/google-workspace/google-workspace-sidebar.png":[31133,31133],"./integrations/mdm/google-workspace/google-workspace-tailscale-added.png":[41072,41072],"./integrations/mdm/google-workspace/google-workspace-tailscale-search-results.png":[8539,8539],"./integrations/mdm/google-workspace/google-workspace-user-access.png":[80190,80190],"./integrations/mdm/google-workspace/index.mdx":[96915,34169,91981,95396,96915],"./integrations/mdm/index.mdx":[78276,34169,91981,95396,78276],"./integrations/mdm/intune/configure-integration.png":[90656,90656],"./integrations/mdm/intune/index.mdx":[38085,34169,91981,95396,38085],"./integrations/mdm/intune/integration-status.png":[85342,85342],"./integrations/mdm/intune/intune-add-token.png":[48296,48296],"./integrations/mdm/intune/machine-attributes.png":[7416,7416],"./integrations/mdm/ios/index.mdx":[91867,34169,91981,95396,91867],"./integrations/mdm/iru/index.mdx":[51474,34169,91981,95396,51474],"./integrations/mdm/iru/kandji-1.png":[88528,88528],"./integrations/mdm/iru/kandji-2.png":[26540,26540],"./integrations/mdm/iru/kandji-3.png":[94499,94499],"./integrations/mdm/iru/kandji-4.png":[64613,64613],"./integrations/mdm/iru/kandji-5.png":[23292,23292],"./integrations/mdm/iru/kandji-6.png":[8266,8266],"./integrations/mdm/iru/kandji-7.png":[4321,4321],"./integrations/mdm/iru/kandji-8.png":[38851,38851],"./integrations/mdm/jamf/index.mdx":[58250,34169,91981,95396,58250],"./integrations/mdm/jamf/jamf-app-store-1.png":[34615,34615],"./integrations/mdm/jamf/jamf-app-store-2.png":[43476,43476],"./integrations/mdm/jamf/jamf-app-store-3.png":[90657,90657],"./integrations/mdm/jamf/jamf-app-store-4.png":[19384,19384],"./integrations/mdm/jamf/jamf-app-store-5.png":[52487,52487],"./integrations/mdm/jamf/jamf-app-store-6.png":[20088,20088],"./integrations/mdm/jamf/jamf-policies-1.png":[55229,55229],"./integrations/mdm/jamf/jamf-policies-2.png":[64266,64266],"./integrations/mdm/jamf/jamf-policies-3.png":[79333,79333],"./integrations/mdm/jamf/jamf-policies-4.png":[62605,62605],"./integrations/mdm/jamf/jamf-policies-6.png":[59962,59962],"./integrations/mdm/jamf/jamf-policies-7.png":[56453,56453],"./integrations/mdm/jamf/jamf-policies-8.png":[20436,20436],"./integrations/mdm/jumpcloud/index.mdx":[96966,34169,91981,95396,96966],"./integrations/mdm/jumpcloud/managed-software-tailscale-pkg.png":[84643,84643],"./integrations/mdm/jumpcloud/mobileconfig-title.png":[60429,60429],"./integrations/mdm/jumpcloud/policy-types.png":[37660,37660],"./integrations/mdm/linux/index.mdx":[90230,34169,91981,95396,90230],"./integrations/mdm/mac/imazing-profile-editor-tailscale.png":[4073,4073],"./integrations/mdm/mac/index.mdx":[32247,34169,91981,95396,32247],"./integrations/mdm/mac/system-extension-warning.png":[69169,69169],"./integrations/mdm/microsoft-intune/apple-intune-custom-profile-1.png":[97779,97779],"./integrations/mdm/microsoft-intune/apple-intune-custom-profile-2.png":[6123,6123],"./integrations/mdm/microsoft-intune/apple-intune-custom-profile-3.png":[5521,5521],"./integrations/mdm/microsoft-intune/index.mdx":[14526,34169,91981,95396,14526],"./integrations/mdm/microsoft-intune/windows-create-config-profile-template.png":[23325,23325],"./integrations/mdm/microsoft-intune/windows-create-profile-assignments.png":[47726,47726],"./integrations/mdm/microsoft-intune/windows-create-profile-basics.png":[40632,40632],"./integrations/mdm/microsoft-intune/windows-create-profile-review.png":[33021,33021],"./integrations/mdm/microsoft-intune/windows-create-profile-scope-tags.png":[35306,35306
1],"./integrations/mdm/microsoft-intune/windows-devices-configuration-profiles.png":[95531,95531],"./integrations/mdm/microsoft-intune/windows-import-admx.png":[86360,86360],"./integrations/mdm/microsoft-intune/windows-tailscale-config-settings-allow-incoming-connections.png":[10176,10176],"./integrations/mdm/microsoft-intune/windows-tailscale-config-settings-policies.png":[47696,47696],"./integrations/mdm/microsoft-intune/windows-tailscale-config-settings.png":[83619,83619],"./integrations/mdm/simplemdm/index.mdx":[72707,34169,91981,95396,72707],"./integrations/mdm/tinymdm/index.mdx":[54915,34169,91981,95396,54915],"./integrations/mdm/tinymdm/tinymdm-android-approved-apps-list.png":[76747,76747],"./integrations/mdm/tinymdm/tinymdm-android-apps.png":[37290,37290],"./integrations/mdm/tinymdm/tinymdm-android-config-ui.png":[9202,9202],"./integrations/mdm/tinymdm/tinymdm-android-configuration-item.png":[1290,1290],"./integrations/mdm/tinymdm/tinymdm-android-edit-policy.png":[73086,73086],"./integrations/mdm/tinymdm/tinymdm-android-enterprise-approved-apps.png":[37229,37229],"./integrations/mdm/tinymdm/tinymdm-android-managed-play-store.png":[16723,16723],"./integrations/mdm/tinymdm/tinymdm-android-play-store-listing.png":[64154,64154],"./integrations/mdm/windows-mdm/index.mdx":[20106,34169,91981,95396,20106],"./integrations/mdm/windows-mdm/windows-config-registry.png":[281,281],"./integrations/nas/index.mdx":[82547,34169,91981,95396,82547],"./integrations/nextdns/index.mdx":[45440,34169,91981,95396,45440],"./integrations/nextdns/nextdns-global-list.png":[61119,61119],"./integrations/nextdns/nextdns-ipv6.png":[96239,96239],"./integrations/open-vscode/index.mdx":[70370,34169,91981,95396,70370],"./integrations/partners/index.mdx":[90220,34169,91981,95396,90220],"./integrations/partners/mdm/index.mdx":[97032,34169,91981,95396,97032],"./integrations/pikvm/index.mdx":[76423,34169,91981,95396,76423],"./integrations/pikvm/pikvm-web-terminal.png":[95302,95302],"./integrations/proxmox/index.mdx":[10212,34169,91981,95396,10212],"./integrations/proxmox/proxmox.png":[42698,42698],"./integrations/pulumi-provider/index.mdx":[18971,34169,91981,95396,18971],"./integrations/qnap/index.mdx":[38407,34169,91981,95396,38407],"./integrations/qnap/qnap-app-center.png":[16479,16479],"./integrations/qnap/qnap-login.png":[24037,24037],"./integrations/secret-scanning/index.mdx":[70205,34169,91981,95396,70205],"./integrations/sentinelone/configure-sentinelone-integration.png":[17446,17446],"./integrations/sentinelone/index.mdx":[46899,34169,91981,95396,46899],"./integrations/sentinelone/integration-status.png":[70604,70604],"./integrations/sentinelone/machine-attributes.png":[58376,58376],"./integrations/sentinelone/sentinelone-serviceuser.png":[23559,23559],"./integrations/synology/index.mdx":[59018,34169,91981,95396,59018],"./integrations/synology/synology-login.png":[56974,56974],"./integrations/synology/synology-packagecenter.png":[52531,52531],"./integrations/terraform-provider/index.mdx":[97077,34169,91981,95396,97077],"./integrations/truenas/index.mdx":[73781,34169,91981,95396,73781],"./integrations/unraid/index.mdx":[85681,34169,91981,95396,85681],"./integrations/vscode-extension/full-window.png":[3057,3057],"./integrations/vscode-extension/funnel_palette_demo_web.mp4":[44994,44994],"./integrations/vscode-extension/funnel_panel_demo_web.mp4":[61361,61361],"./integrations/vscode-extension/funnel_port_disco_demo_web.mp4":[78937,78937],"./integrations/vscode-extension/index.mdx":[11959,34169,91981,95396,11959],"./integrations/vscode-extension/machine-explorer.png":[99144,99144],"./integrations/vscode-extension/panel-view.png":[82798,82798],"./integrations/vscode-extension/remote-explorer.svg":[85032,85032],"./integrations/vscode-extension/terminal.svg":[25466,25466],"./integrations/web-servers/caddy/caddy-certificates/index.mdx":[64746,34169,91981,95396,64746],"./integrations/web-servers/caddy/index.mdx":[31319,34169,91981,95396,31319],"./integrations/web-servers/index.mdx":[87012,34169,91981,95396,87012],"./integrations/web-servers/traefik/index.mdx":[34404,34169,91981,95396,34404],"./integrations/web-servers
1/traefik/traefik-certificates/index.mdx":[27918,34169,91981,95396,27918],"./kubernetes-operator/_d2-icons/_styles.d2":[48673,48673],"./kubernetes-operator/_d2-icons/api-server.svg":[60392,60392],"./kubernetes-operator/_d2-icons/pod.svg":[10978,10978],"./kubernetes-operator/_d2-icons/secret.svg":[113,113],"./kubernetes-operator/_d2-icons/sts.svg":[96650,96650],"./kubernetes-operator/_d2-icons/svc.svg":[1534,1534],"./kubernetes-operator/_d2-icons/tailscale-icon-blk.svg":[71977,71977],"./kubernetes-operator/_d2-icons/tailscale-squircle.svg":[53103,53103],"./kubernetes-operator/_diagrams/api-server-proxy-dedicated.d2":[93863,93863],"./kubernetes-operator/_diagrams/api-server-proxy-dedicated.svg":[74944,74944],"./kubernetes-operator/_diagrams/api-server-proxy.d2":[17959,17959],"./kubernetes-operator/_diagrams/api-server-proxy.svg":[83513,83513],"./kubernetes-operator/_diagrams/connector-architecture.d2":[97071,97071],"./kubernetes-operator/_diagrams/connector-architecture.svg":[48857,48857],"./kubernetes-operator/_diagrams/l3-egress-architecture.d2":[3859,3859],"./kubernetes-operator/_diagrams/l3-egress-architecture.svg":[44386,44386],"./kubernetes-operator/_diagrams/l3-standalone-ingress-architecture.d2":[63721,63721],"./kubernetes-operator/_diagrams/l3-standalone-ingress-architecture.svg":[14190,14190],"./kubernetes-operator/_diagrams/l7-standalone-ingress-architecture.d2":[98236,98236],"./kubernetes-operator/_diagrams/l7-standalone-ingress-architecture.svg":[35896,35896],"./kubernetes-operator/_diagrams/operator-overview.d2":[18810,18810],"./kubernetes-operator/_diagrams/operator-overview.svg":[66564,66564],"./kubernetes-operator/_diagrams/proxygroup-egress-architecture.d2":[22866,22866],"./kubernetes-operator/_diagrams/proxygroup-egress-architecture.svg":[33615,33615],"./kubernetes-operator/_diagrams/proxygroup-ingress-architecture.d2":[70302,70302],"./kubernetes-operator/_diagrams/proxygroup-ingress-architecture.svg":[43990,43990],"./kubernetes-operator/_diagrams/recorder-architecture.d2":[92597,92597],"./kubernetes-operator/_diagrams/recorder-architecture.svg":[29391,29391],"./kubernetes-operator/api-server-access/auth-and-rbac/index.mdx":[9306,34169,91981,95396,9306],"./kubernetes-operator/api-server-access/index.mdx":[13843,34169,91981,95396,13843],"./kubernetes-operator/api-server-access/noauth-mode/index.mdx":[54962,34169,91981,95396,57275],"./kubernetes-operator/api-server-access/setup-api-over-tailscale/index.mdx":[57166,34169,91981,95396,57166],"./kubernetes-operator/concepts/architecture/index.mdx":[15430,34169,91981,95396,15430],"./kubernetes-operator/concepts/dnsconfig/index.mdx":[4675,34169,91981,95396,4675],"./kubernetes-operator/concepts/index.mdx":[17230,34169,91981,95396,17230],"./kubernetes-operator/concepts/proxyclass/index.mdx":[71791,34169,91981,95396,71791],"./kubernetes-operator/concepts/proxygroup/index.mdx":[99902,34169,91981,95396,99902],"./kubernetes-operator/connector/deploy-app-connector/index.mdx":[63692,34169,91981,95396,63692],"./kubernetes-operator/connector/deploy-subnet-router/index.mdx":[8626,34169,91981,95396,8626],"./kubernetes-operator/connector/index.mdx":[45507,34169,91981,95396,45507],"./kubernetes-operator/egress/access-ip-behind-subnet-router/index.mdx":[65252,34169,91981,95396,65252],"./kubernetes-operator/egress/access-tailnet-service/index.mdx":[67402,34169,91981,95396,67402],"./kubernetes-operator/egress/enable-magicdns-resolution/index.mdx":[29799,34169,91981,95396,29799],"./kubernetes-operator/egress/expose-rds-to-tailnet/index.mdx":[896,34169,91981,95396,896],"./kubernetes-operator/egress/index.mdx":[67863,34169,91981,95396,67863],"./kubernetes-operator/images/image1.png":[39979,39979],"./kubernetes-operator/images/image2.png":[37115,37115],"./kubernetes-operator/images/image3.png":[18354,18354],"./kubernetes-operator/images/image4.png":[30088,30088],"./kubernetes-operator/images/image5.png":[92772,92772],"./kubernetes-operator/index.mdx":[69020,34169,91981,95396,69020],"./kubernetes-operator/ingress/expose-workload-to-internet/index.mdx":[1702,34169,91981,95396,1702],"./kubernetes-operator/ingress/expose-workload-to-tailnet-l3/index.mdx":[84434,34169,91981,95396,84434],"./kubernetes-operator/ingress/expose-workload-to-tailnet-l7/index.mdx":[32978,34169,91981,95396,32978],"./kubernetes-operator/ingress/index.mdx":[48
1004,34169,91981,95396,48004],"./kubernetes-operator/ingress/multi-cluster-service-mirroring/index.mdx":[74419,34169,91981,95396,74419],"./kubernetes-operator/ingress/multi-cluster/index.mdx":[6889,34169,91981,95396,6889],"./kubernetes-operator/install-operator/index.mdx":[82674,34169,91981,95396,82674],"./kubernetes-operator/manage-and-configure/configure-static-endpoints/index.mdx":[65269,34169,91981,95396,65269],"./kubernetes-operator/manage-and-configure/custom-machine-names/index.mdx":[52321,34169,91981,95396,52321],"./kubernetes-operator/manage-and-configure/enable-debug-endpoints/index.mdx":[53568,34169,91981,95396,53568],"./kubernetes-operator/manage-and-configure/expose-metrics/index.mdx":[67511,34169,91981,95396,67511],"./kubernetes-operator/manage-and-configure/high-availability/index.mdx":[1660,34169,91981,95396,1660],"./kubernetes-operator/manage-and-configure/index.mdx":[97088,34169,91981,95396,97088],"./kubernetes-operator/manage-and-configure/multi-tailnet/index.mdx":[47150,34169,91981,95396,47150],"./kubernetes-operator/manage-and-configure/proxy-group-policy/index.mdx":[21787,34169,91981,95396,21787],"./kubernetes-operator/manage-and-configure/workload-identity-federation/index.mdx":[17445,34169,91981,95396,17445],"./kubernetes-operator/peer-relay/index.mdx":[69493,34169,91981,95396,69493],"./kubernetes-operator/quickstart/index.mdx":[48251,34169,91981,95396,48251],"./kubernetes-operator/recorder/deploy-tsrecorder/index.mdx":[77183,34169,91981,95396,61422],"./kubernetes-operator/recorder/index.mdx":[77033,34169,91981,95396,77033],"./kubernetes-operator/recorder/kubectl-session-recording/index.mdx":[29140,34169,91981,95396,29140],"./kubernetes-operator/reference/compatibility/index.mdx":[56121,34169,91981,95396,56121],"./kubernetes-operator/reference/index.mdx":[7968,34169,91981,95396,7968],"./kubernetes-operator/reference/ipv6/index.mdx":[77102,34169,91981,95396,77102],"./kubernetes-operator/reference/limitations/index.mdx":[6424,34169,91981,95396,16893],"./kubernetes-operator/reference/rbac/index.mdx":[62084,34169,91981,95396,62084],"./kubernetes-operator/reference/tags/index.mdx":[38651,34169,91981,95396,38651],"./kubernetes-operator/reference/troubleshooting/index.mdx":[50058,34169,91981,95396,50058],"./privileged-access-management/architecture-and-concepts/index.mdx":[65292,34169,91981,95396,65292],"./privileged-access-management/connectors/high-availability/index.mdx":[971,34169,91981,95396,971],"./privileged-access-management/connectors/index.mdx":[12845,34169,91981,95396,12845],"./privileged-access-management/connectors/install/index.mdx":[90471,34169,91981,95396,90471],"./privileged-access-management/connectors/overview/index.mdx":[36013,34169,91981,95396,36013],"./privileged-access-management/get-started/index.mdx":[2773,34169,91981,95396,2773],"./privileged-access-management/how-to/access-database/amazon-rds/index.mdx":[20958,34169,91981,95396,20958],"./privileged-access-management/how-to/access-database/elasticsearch/index.mdx":[18911,34169,91981,95396,18911],"./privileged-access-management/how-to/access-database/google-cloud-sql/index.mdx":[443,34169,91981,95396,443],"./privileged-access-management/how-to/access-database/index.mdx":[55041,34169,91981,95396,55041],"./privileged-access-management/how-to/access-database/mongodb/index.mdx":[17260,34169,91981,95396,17260],"./privileged-access-management/how-to/access-database/mysql/index.mdx":[67025,34169,91981,95396,67025],"./privileged-access-management/how-to/access-database/postgresql/index.mdx":[5535,34169,91981,95396,5535],"./privileged-access-management/how-to/access-http-service/grafana/index.mdx":[45805,34169,91981,95396,45805],"./privileged-access-management/how-to/access-http-service/index.mdx":[25432,34169,91981,95396,25432],"./privileged-access-management/how-to/access-http-service/troubleshoot-sso-failure/index.mdx":[67200,34169,91981,95396,67200],"./privileged-access-management/how-to/access-kubernetes/index.mdx":[63278,34169,91981,95396,63278],"./privileged-access-management/how-to/access-s3/index.mdx":[85723,34169,91981,95396,85723],"./privileged-access-management/how-to/access-ssh/built-in-ssh/index.mdx":[4764,34169,91981,95396,4764],"./privileged-access-management/how-to/access-ssh/ec2-instance/index.mdx":[86310,34169,91981,95396,86310],"./privileged-access-management/how-to/access-ssh/ec2-ssm/index.mdx":[89398,34169,91981,95396,89398],"./privileged-access-management/how-to/access-ssh/ecs-ssm/index.mdx":[3815,34169,91981,95396,33136],"./privileged-access-management/how-to/access-ssh/index.mdx":[87916,34169,91981,95396,87916],"./privileged-access-management/how-to/access-ssh/remote-ssh/index.mdx":[67676,34169,91981,95396,67676],"./privileged-access-management/how-to/access-tcp-service/index.mdx":[21908,34169,91981,95396,21908],"./privileged-access-management/how-to/access-windows-server-rdp/index.mdx":[23598,34169,91981,95396,23598],"./privileged-access-management/how-to/control-access/index.mdx":[24690,34169,91981,95396,24690],"./privileged-access-management/how-to/custom-dns-domain/index.mdx":[18602,34169,91981,95396,18602],"./privileged-access-management/how-to/index.mdx":[26296,34169,91981,95396,26296],"./privileged-access-management/how-to/manage-resources-terraform/index.mdx":[55820,34169,91981,95396,55820],"./privileged-access-management/how-to/manage-secrets/index.mdx":[84739,34169,91981,95396,84739],"./privileged-access-management/how-to/manage-secrets/secretValue.png":[73296,73296],"./privileged-access-management/how-to/manage-secrets/upstreamConfiguration.png":[35626,35626],"./privileged-access-management/how-to/manage-secrets/upstreamInformation.png":[65654,65654],"./privileged-access-management/how-to/session-recordings-s3/index.mdx":[31555,34169,91981,95396,31555],"./privileged-access-management/index.mdx":[99468,34169,91981,95396,99468],"./privileged-access-management/reference/faq/index.mdx":[23564,34169,91981,95396,23564],"./privileged-access-management/reference/index.mdx":[42811,34169,91981,95396,428
111],"./privileged-access-management/reference/sandbox-servers/index.mdx":[37056,34169,91981,95396,37056],"./privileged-access-management/reference/troubleshooting/index.mdx":[28787,34169,91981,95396,28787],"./privileged-access-management/service-accounts/index.mdx":[53775,34169,91981,95396,53775],"./privileged-access-management/services/index.mdx":[55104,34169,91981,95396,55104],"./privileged-access-management/services/services.png":[9728,9728],"./privileged-access-management/session-logs/index.mdx":[30269,34169,91981,95396,30269],"./privileged-access-management/what-is-tailscale-pam/index.mdx":[69506,34169,91981,95396,69506],"./reference/admin-console-session-expiry/index.mdx":[42734,34169,91981,95396,42734],"./reference/best-practices/app-connectors/deferred-route-approval.png":[39802,39802],"./reference/best-practices/app-connectors/index.mdx":[89726,34169,91981,95396,89726],"./reference/best-practices/app-connectors/preconfiguration.png":[42622,42622],"./reference/best-practices/cloud/coreweave/index.mdx":[16460,34169,91981,95396,16460],"./reference/best-practices/cloud/index.mdx":[59775,34169,91981,95396,59775],"./reference/best-practices/device-hardening/index.mdx":[17709,34169,91981,95396,17709],"./reference/best-practices/index.mdx":[52360,34169,91981,95396,52360],"./reference/best-practices/performance/index.mdx":[77732,34169,91981,95396,77732],"./reference/best-practices/production/index.mdx":[4424,34169,91981,95396,26738],"./reference/best-practices/security/index.mdx":[40430,34169,91981,95396,40430],"./reference/cgnat-interoperability/index.mdx":[30097,34169,91981,95396,30097],"./reference/connection-types/index.mdx":[16377,34169,91981,95396,16377],"./reference/contact-preferences/index.mdx":[46022,34169,91981,95396,46022],"./reference/coordination-server-down/index.mdx":[34506,34169,91981,95396,34506],"./reference/debug-menu/index.mdx":[17489,34169,91981,95396,17489],"./reference/deployment-checklist/index.mdx":[6946,34169,91981,95396,6946],"./reference/derp-servers/custom-derp-servers/index.mdx":[34959,34169,91981,95396,34959],"./reference/derp-servers/index.mdx":[80957,34169,91981,95396,80957],"./reference/device-connectivity/index.mdx":[74432,34169,91981,95396,74432],"./reference/devices-without-tailscale/index.mdx":[99264,34169,91981,95396,99264],"./reference/dns-in-tailscale/dns-settings.png":[21921,21921],"./reference/dns-in-tailscale/index.mdx":[97382,34169,91981,95396,97382],"./reference/dns-in-tailscale/nameserver-dropdown.png":[71372,71372],"./reference/dns-in-tailscale/search-domains.png":[60333,60333],"./reference/examples/acls/index.mdx":[26047,34169,91981,95396,26047],"./reference/examples/funnel/funnel-hello-world.png":[46195,46195],"./reference/examples/funnel/index.mdx":[20178,34169,91981,95396,20178],"./reference/examples/grants/index.mdx":[99229,34169,91981,95396,99229],"./reference/examples/index.mdx":[53784,34169,91981,95396,53784],"./reference/examples/serve/index.mdx":[67183,34169,91981,95396,67183],"./reference/examples/serve/serve-hello-world.png":[1440,1440],"./reference/examples/tsnet-hello-world/hello-ts-net-remove.jpg":[57923,57923],"./reference/examples/tsnet-hello-world/index.mdx":[35534,34169,91981,95396,35534],"./reference/faq/dns-rebinding/index.mdx":[26119,34169,91981,95396,26119],"./reference/faq/dns-resolv-conf/index.mdx":[58182,34169,91981,95396,58182],"./reference/faq/firewall-ports/index.mdx":[69034,34169,91981,95396,69034],"./reference/faq/index.mdx":[76048,34169,91981,95396,76048],"./reference/faq/ipv6/index.mdx":[21818,34169,91981,95396,21818],"./reference/faq/magicdns/index.mdx":[13222,34169,91981,95396,13222],"./reference/faq/other-vpns/index.mdx":[29257,34169,91981,95396,29257],"./reference/funnel-vs-sharing/index.mdx":[26442,34169,91981,95396,26442],"./reference/glossary/aws-client-vpn-tailscale/index.mdx":[63465,34169,91981,95396,63465],"./reference/glossary/cisco-tailscale/index.mdx":[11278,34169,91981,95396,11278],"./reference/glossary/fortinet-tailscale/index.mdx":[24975,34169,91981,95396,24975],"./reference/glossary/globalprotect-tailscale/index.mdx":[5821,34169,91981,95396,5821],"./reference/glossary/index.mdx":[36586,34169,91981,95396,36586],"./reference/grants-vs-acls/index.mdx":[63202,34169,91981,95396,63202],"./reference/index.mdx":[8695,34169,91981,95396,8695],"./reference/interoperability/index.mdx":[42519,34169,91981,95396,42519],"./reference/invite-only-feature/generate-invite-link.png":[26026,26026],"./reference/invite-only-feature/index.mdx":[20474,34169,91981,95396,20474],"./reference/invite-only-feature/invite-only-dialog.png":[37394,37394],"./reference/inviting-vs-sharing/index.mdx":[32677,34169,91981,95396,53007],"./reference/ip-pool/edit-machine-ip.png":[67786,67786],"./reference/ip-pool/index.mdx":[95487,34169,91981,95396,95487],"./reference/kernel-vs-userspace-routers/index.mdx":[1965,34169,91981,95396,1965],"./reference/key-prefixes/index.mdx":[2350,34169,91981,95396,2350],"./reference/key-secret-management/index.mdx":[16590,34169,91981,95396,16590],"./reference/kubernetes-operator-api-request-event-recording/index.mdx":[15559,34169,91981,95396,15559],"./reference/linux-dns/index.mdx":[74215,34169,91981,95396,74215],"./reference/logging-streaming-events/index.mdx":[6390,34169,91981,95396,6390],"./reference/messages/client/coordination-server-issue/index.mdx":[81240,34169,91981,95396,81240],"./reference/messages/client/could-not-apply-config/index.mdx":[31954,34169,91981,95396,31954],"./reference/messages/client/docker-stateful-filtering/index.mdx":[75327,34169,91981,95396,75327],"./reference/messages/client/index.mdx":[72068,34169,91981,95396,72068],"./reference/messages/client/invalid-packet-filter/index.mdx":[98801,34169,91981,95396,98801],"./reference/messages/client/local-log-config-error/index.mdx":[28762,34169,91981,95396,28762],"./reference/messages/client/magicsock-receive-func-error/index.mdx":[10502,34169,91981,95396,10502],"./reference/messages/client/network-map-response-timeout/index.mdx":[79764,34169,91981,95396,79764],"./reference/messages/client/network-status/index.mdx":[36188,34169,91981,95396,36188],"./reference/messages/client/no-derp-connection/index.mdx":[86643,34169,91981,95396,86643],"./reference/messages/client/no-derp-home/index.mdx":[76810,34169,91981,95396,76810],"./reference/messages/client/not-in-map-poll/index.mdx":[57747,34169,91981,95396,57747],"./reference/messages/client/resolv-conf-overwritten/index.mdx":[9659,34169,91981,95396,9659],"./reference/messages/client/screen-time-controlclient/index.mdx":[63126,34169,91981,95396,63126],"./reference/messages/client/security-update-available/index.mdx":[35830,34169,91981,95396,35830],"./reference/messages/client/set-network-category-failed/index.mdx":[22129,34169,91981,95396,22129],"./reference/messages/client/ssh-unavailable-selinux-enabled/index.mdx":[86131,34169,91981,95396,86131],"./reference/messages/client/tls-connection-failed/index.mdx":[10760,34169,91981,95396,10760],"./reference/messages/client/update-available/index.mdx":[24132,34169,91981,95396,24132],"./reference/messages/client/using-unstable-version/index.mdx":[89389,34169,91981,95396,89389],"./reference/messages/console/account-not-admin/index.mdx":[70884,34169,91981,95396,88207],"./reference/messages/console/auth-failed-sso/index.mdx":[43320,34169,91981,95396,43320],"./reference/messages/console/duplicate-accounts/duplicate-account-banner.png":[98784,98784],"./reference/messages/console/duplicate-accounts/index.mdx":[98119,34169,91981,95396,98119],"./reference/messages/console/index.mdx":[72453,34169,91981,95396,72453],"./reference/messages/console/login-name-change/index.mdx":[61722,34169,91981,95396,61722],"./reference/messages/console/multi-user-login/index.mdx":[53009,34169,91981,95396,53009],"./reference/messages/console/no-access/index.mdx":[11747,34169,91981,95396,11747],"./reference/messages/console/no-auth-service/index.mdx":[3802
11,34169,91981,95396,38021],"./reference/messages/console/org-has-restrictions/index.mdx":[25242,34169,91981,95396,25242],"./reference/messages/console/reached-use-limit/index.mdx":[49657,34169,91981,95396,49657],"./reference/messages/console/sharing-failure/index.mdx":[21969,34169,91981,95396,21969],"./reference/messages/index.mdx":[2781,34169,91981,95396,2781],"./reference/migrate-acls-grants/index.mdx":[70172,34169,91981,95396,70172],"./reference/multifactor-auth/index.mdx":[4096,34169,91981,95396,4096],"./reference/multiple-recorder-nodes/index.mdx":[93429,34169,91981,95396,93429],"./reference/netfilter-modes/index.mdx":[93574,34169,91981,95396,93574],"./reference/node-attributes-vs-app-capabilities/index.mdx":[21012,34169,91981,95396,21012],"./reference/ping-types/index.mdx":[97534,34169,91981,95396,97534],"./reference/procurement/index.mdx":[38671,34169,91981,95396,38671],"./reference/quad100/index.mdx":[79756,34169,91981,95396,79756],"./reference/reauth-under-tailnet-lock/index.mdx":[4478,34169,91981,95396,4478],"./reference/reference-architectures/aws/aws-reference-architecture.drawio":[17226,17226],"./reference/reference-architectures/aws/aws-reference-architecture.png":[85580,85580],"./reference/reference-architectures/aws/index.mdx":[70129,34169,91981,95396,70129],"./reference/reference-architectures/azure/azure-reference-architecture.drawio":[31563,31563],"./reference/reference-architectures/azure/azure-reference-architecture.png":[15541,15541],"./reference/reference-architectures/azure/index.mdx":[82537,34169,91981,95396,82537],"./reference/reference-architectures/gcp/gcp-reference-architecture.drawio":[98205,98205],"./reference/reference-architectures/gcp/gcp-reference-architecture.png":[31503,31503],"./reference/reference-architectures/gcp/index.mdx":[15606,34169,91981,95396,15606],"./reference/reference-architectures/index.mdx":[91999,34169,91981,95396,91999],"./reference/reserved-ip-addresses/index.mdx":[76933,34169,91981,95396,76933],"./reference/route-injection/index.mdx":[19139,34169,91981,95396,19139],"./reference/ssh-over-tailscale/index.mdx":[88529,34169,91981,95396,88529],"./reference/stun-protocol/index.mdx":[46073,34169,91981,95396,46073],"./reference/subnet-site-to-site/index.mdx":[3760,34169,91981,95396,3815],"./reference/support-options/index.mdx":[12554,34169,91981,95396,12554],"./reference/syntax/grants/index.mdx":[90908,34169,91981,95396,90908],"./reference/syntax/index.mdx":[89894,34169,91981,95396,89894],"./reference/syntax/policy-file/index.mdx":[89583,34169,91981,95396,89583],"./reference/tailnet-passkey-admin/index.mdx":[16652,34169,91981,95396,16652],"./reference/tailscale-api/index.mdx":[83236,34169,91981,95396,83236],"./reference/tailscale-cli/funnel/index.mdx":[72078,34169,91981,95396,72078],"./reference/tailscale-cli/index.mdx":[10821,34169,91981,95396,10821],"./reference/tailscale-cli/lock/index.mdx":[68920,34169,91981,95396,68920],"./reference/tailscale-cli/serve/index.mdx":[3005,34169,91981,95396,3005],"./reference/tailscale-cli/up/index.mdx":[19831,34169,91981,95396,19831],"./reference/tailscale-client-metrics/index.mdx":[11306,34169,91981,95396,11306],"./reference/tailscale-client-versions/index.mdx":[86907,34169,91981,95396,86907],"./reference/tailscale-community-projects/index.mdx":[57768,34169,91981,95396,57768],"./reference/tailscale-fedramp-fips140/index.mdx":[84819,34169,91981,95396,84819],"./reference/tailscale-release-stages/index.mdx":[97491,34169,91981,95396,97491],"./reference/tailscale-release-stages/release-stage-indicator-admin-console.png":[9923,9923],"./reference/tailscale-release-stages/release-stage-indicator-docs.png":[90489,90489],"./reference/tailscale-services-configuration-file/index.mdx":[88238,34169,91981,95396,88238],"./reference/tailscaled/index.mdx":[18992,34169,91981,95396,18992],"./reference/tailscaled/tailscaled-config-file/index.mdx":[48614,34169,91981,95396,48614],"./reference/targets-and-selectors/index.mdx":[16802,34169,91981,95396,72546],"./reference/targets-and-selectors/table_explanation.mdx":[9904,34169,91981,95396,9904],"./reference/troubleshooting/apple/cant-access-appletv/index.mdx":[98449,34169,91981,95396,98449],"./reference/troubleshooting/apple/cant-access-macos-from-iphone/index.mdx":[3483,34169,91981,95396,3483],"./reference/troubleshooting/apple/index.mdx":[42524,34169,91981,95396,42524],"./reference/troubleshooting/apple/macos-doesnt-display-tailscale-icon/index.mdx":[55450,34169,91981,95396,55450],"./reference/troubleshooting/apple/macos-ping-issues/index.mdx":[60068,34169,91981,95396,60068],"./reference/troubleshooting/apple/macos-stuck-loading-backend/index.mdx":[8801,34169,91981,95396,8801],"./reference/troubleshooting/apple/macos-system-extension-errors/index.mdx":[25719,34169,91981,95396,25719],"./reference/troubleshooting/basic-network-troubleshooting/index.mdx":[180,34169,91981,95396,180],"./reference/troubleshooting/cloud/aws-google-routes/index.mdx":[53767,34169,91981,95396,53767],"./reference/troubleshooting/cloud/index.mdx":[90410,34169,91981,95396,90410],"./reference/troubleshooting/cloud/oracle-cloud/index.mdx":[99166,34169,91981,95396,99166],"./reference/troubleshooting/cloud/subnet-connectivity/index.mdx":[69431,34169,91981,95396,69431],"./reference/troubleshooting/connectivity/antivirus-failure/index.mdx":[85362,34169,91981,95396,85362],"./reference/troubleshooting/connectivity/captive-portal-failure/index.mdx":[52995,34169,91981,95396,52995],"./reference/troubleshooting/connectivity/connect-device-failure/index.mdx":[69222,34169,91981,95396,69222],"./reference/troubleshooting/connectivity/connect-internet-failure/index.mdx":[23812,34169,91981,95396,23812],"./reference/troubleshooting/connectivity/connect-lan-failure/index.mdx":[91861,34169,91981,95396,91861],"./reference/troubleshooting/connectivity/download-client-failure/index.mdx":[47124,34169,91981,95396,47124],"./reference/troubleshooting/connectivity/index.mdx":[49269,34169,91981,95396,49269],"./reference/troubleshooting/containers/index.mdx":[13812,34169,91981,95396,13812],"./reference/troubleshooting/containers/kubernetes-operator/byod-gateway-api/index.mdx":[79611,34169,91981,95396,79611],"./reference/troubleshooting/containers/kubernetes-operator/index.mdx":[67824,34169,91981,95396,67824],"./reference/troubleshooting/containers/proxmox/index.mdx":[67788,34169,91981,95396,67788],"./reference/troubleshooting/grants/index.mdx":[89629,34169,91981,95396,89629],"./reference/troubleshooting/index.mdx":[98041,34169,91981,95396,98041],"./reference/troubleshooting/linux/index.mdx":[46882,34169,91981,95396,46882],"./reference/troubleshooting/linux/linux-dns-issues/index.mdx":[83858,34169,91981,95396,83858],"./reference/troubleshooting/linux/linux-operator-permission/index.mdx":[68353,34169,91981,95396,68353],"./reference/troubleshooting/linux/linux-unseal-state-file/index.mdx":[84577,34169,91981,95396,84577],"./reference/troubleshooting/mobile/battery-drains/index.mdx":[80643,34169,91981,95396,80643],"./reference/troubleshooting/mobile/force-or-bypass-apps/index.mdx":[75871,34169,91981,95396,75871],"./reference/troubleshooting/mobile/index.mdx":[28933,34169,91981,95396,28933],"./reference/troubleshooting/network-configuration/cgnat-conflicts/index.mdx":[14943,34169,91981,95396,14943],"./reference/troubleshooting/network-configuration/derp-routing/index.mdx":[97743,34169,91981,95396,97743],"./reference/troubleshooting/network-configuration/disable-subnet-route-masquerading/index.mdx":[97327,34169,91981,95396,97327],"./reference/troubleshooting/network-configuration/dns-errors-internal-service/index.mdx":[70699,34169,91981,95396,70699],"./reference/troubleshooting/network-configuration/hard-nat-issues/index.mdx":[17698,34169,91981,95396,17698],"./reference/troubleshooting/network-configuration/index.mdx":[95453,34169,91981,95396,95453],"./reference/troubleshooting/network-configuration/inspect-unencrypted-packets/index.mdx":[80503,34169,91981,95396,80503],"./reference/troubleshooting/network-configuration/ip-forwarding-errors-advertise/index.mdx":[32640,34169,91981,95396,32640],"./reference/troubleshooting/network-configuration/lan-traffic-overlapping-subnets/index.mdx":[28540,34169,91981,95396,28540],"./reference/troubleshooting/network-configuration/multiple-devices-same-100-x-ip-address/index.mdx":[22569,34169,91981,95396,22569],"./reference/troubleshooting/network-configuration/overlapping-subnet-route-failover/index.mdx":[45838,34169,91981,95396,45838],"./reference/troubleshooting/network-configuration/route-traffic-default-node/index.mdx":[62575,34169,91981,95396,62575],"./reference/troubleshooting/network-configuration/soracom-issues/index.mdx":[10467,34169,91981,95396,10467],"./reference/troubleshooting/network-configuration/sunrise-communications-issues/index.mdx":[17630,34169,91981,95396,29979],"./reference/troubleshooting/network-configuration/tailscale-domains-sites-unreachable/index.mdx":[54154,34169,91981,95396,54154],"./reference/troubleshooting/network-configuration/tailscale-ip-routes/index.mdx":[96244,34169,91981,95396,96244],"./reference/troubleshooting/network-configuration/tally-erp-issues/index.mdx":[79213,34169,91981,95396,79213],"./reference/troubleshooting/network-configuration/tcp-connection-two-devices/index.mdx":[82058,34169,91981,95396,82058],"./reference/troubleshooting/override-local-dns-toggle.png":[47470,47470],"./reference/troubleshooting/poor-performance-internet/index.mdx":[57257,34169,91981,95396,57257],"./reference/troubleshooting/poor-performance-tailnet/index.mdx":[39832,34169,91981,95396,39832],"./reference/troubleshooting/resolve-domain-names-failure/index.mdx":[81358,34169,91981,95396,81358],"./reference/troubleshooting/windows/index.mdx":[52235,34169,91981,95396,52235],"./reference/troubleshooting/windows/supported-windows-versions/index.mdx":[58248,34169,91981,95396,58248],"./reference/troubleshooting/windows/windows-install-error/index.mdx":[23752,34169,91981,95396,23752],"./reference/troubleshooting/windows/windows-ping-issues/index.mdx":[7253,34169,91981,95396,7253],"./reference/troubleshooting/windows/windows-rdp-login-issue/index.mdx":[86791,34169,91981,95396,86791],"./reference/troubleshooting/windows/windows-rdp-user-account-restr
1iction/index.mdx":[92498,34169,91981,95396,92498],"./reference/troubleshooting/windows/windows-systray-no-internet-access/index.mdx":[59855,34169,91981,95396,59855],"./reference/troubleshooting/windows/windows-unseal-state-file-error/index.mdx":[31894,34169,91981,95396,31894],"./reference/troubleshooting/windows/windows-upgrade-error/index.mdx":[49109,34169,91981,95396,49109],"./reference/trust-credentials/index.mdx":[24334,34169,91981,95396,24334],"./reference/tsidp-configuration/index.mdx":[87629,34169,91981,95396,87629],"./reference/tsnet-server-api/index.mdx":[8105,34169,91981,95396,8105],"./reference/user-roles/index.mdx":[27879,34169,91981,95396,27879],"./reference/visual-editor/auto-approvers-exit-nodes-add.png":[47448,47448],"./reference/visual-editor/auto-approvers-route-add.png":[38992,38992],"./reference/visual-editor/auto-approvers.png":[60628,60628],"./reference/visual-editor/device-posture-add.png":[12944,12944],"./reference/visual-editor/device-posture-edit.png":[39286,39286],"./reference/visual-editor/device-posture.png":[20251,20251],"./reference/visual-editor/general-rules-add.png":[21109,21109],"./reference/visual-editor/general-rules.png":[27436,27436],"./reference/visual-editor/groups-add.png":[46403,46403],"./reference/visual-editor/groups.png":[19003,19003],"./reference/visual-editor/hosts-add.png":[34833,34833],"./reference/visual-editor/hosts-edit.png":[57546,57546],"./reference/visual-editor/hosts.png":[30778,30778],"./reference/visual-editor/index.mdx":[11539,34169,91981,95396,11539],"./reference/visual-editor/ip-sets-add.png":[68125,68125],"./reference/visual-editor/ip-sets.png":[7100,7100],"./reference/visual-editor/node-attribute-add.png":[52077,52077],"./reference/visual-editor/node-attributes-edit.png":[45543,45543],"./reference/visual-editor/node-attributes.png":[10826,10826],"./reference/visual-editor/tags-add.png":[57146,57146],"./reference/visual-editor/tags-edit.png":[65502,65502],"./reference/visual-editor/tags.png":[81918,81918],"./reference/visual-editor/tailscale-ssh-edit.png":[80763,80763],"./reference/visual-editor/tailscale-ssh.png":[57989,57989],"./reference/visual-editor/tests-general-add.png":[3968,3968],"./reference/visual-editor/tests-general-edit.png":[69938,69938],"./reference/visual-editor/tests-ssh-add.png":[10906,10906],"./reference/visual-editor/tests.png":[24752,24752],"./reference/wireguard-dynamic-ip/index.mdx":[83803,34169,91981,95396,83803],"./solutions/access-remote-desktops-using-windows-rdp/firewall-rules.png":[10680,10680],"./solutions/access-remote-desktops-using-windows-rdp/index.mdx":[44952,34169,91981,95396,44952],"./solutions/access-remote-desktops-using-windows-rdp/iprange.png":[92695,92695],"./solutions/access-remote-desktops-using-windows-rdp/machines-page.png":[7674,7674],"./solutions/access-remote-desktops-using-windows-rdp/tcp-scope-modded.png":[50995,50995],"./solutions/access-remote-desktops-using-windows-rdp/tcp-scope-unmodded.png":[1218,45303],"./solutions/access-remote-desktops-using-windows-rdp/welcome-page.png":[79802,79802],"./solutions/access-remote-desktops-using-windows-rdp/windef-adsec.png":[68240,68240],"./solutions/access-remote-desktops-with-rustdesk/index.mdx":[69561,34169,91981,95396,69561],"./solutions/access-remote-desktops-with-rustdesk/machines-page.png":[24837,24837],"./solutions/access-remote-desktops-with-rustdesk/welcome-page.png":[23654,23654],"./solutions/block-ads-all-devices-anywhere-using-raspberry-pi/configure-dns.gif":[28521,28521],"./solutions/block-ads-all-devices-anywhere-using-raspberry-pi/index.mdx":[60325,34169,91981,95396,60325],"./solutions/block-ads-all-devices-anywhere-using-raspberry-pi/machines-page.png":[43735,43735],"./solutions/block-ads-all-devices-anywhere-using-raspberry-pi/welcome-page.png":[93981,93981],"./solutions/code-on-ipad-vscode-caddy-code-server/code-server-runing.png":[74101,74101],"./solutions/code-on-ipad-vscode-caddy-code-server/index.mdx":[27701,34169,91981,95396,27701],"./solutions/connect-github-cicd-workflows-to-private-infrastructure-without-public-exposure/index.mdx":[38627,34169,91981,95396,38627],"./solutions/connect-kubernetes-pods-to-tailnet-using-sidecar/index.mdx":[30207,34169,91981,95396,30207],"./solutions/create-a-secure-connection-to-mongodb-atlas/index.mdx":[83770,34169,91981,95396,83770],"./solutions/index.mdx":[56602,34169,91981,95396,56602],"./solutions/kubernetes-operator-byod-gateway-api/gateway-api-custom-domain-architecture.png":[87714,87714],"./solutions/kubernetes-operator-byod-gateway-api/index.mdx":[17691,34169,91981,95396,17691],"./solutions/manage-multi-cluster-kubernetes-deployments-argocd/
1argocd-multi-cluster-architecture.png":[36187,36187],"./solutions/manage-multi-cluster-kubernetes-deployments-argocd/index.mdx":[63885,34169,91981,95396,63885],"./solutions/migrate-legacy-vpn-tailscale/add-first-device.png":[3402,3402],"./solutions/migrate-legacy-vpn-tailscale/add-second-device.png":[83114,83114],"./solutions/migrate-legacy-vpn-tailscale/edit-tags.png":[22487,22487],"./solutions/migrate-legacy-vpn-tailscale/index.mdx":[7009,34169,91981,95396,7009],"./solutions/migrate-legacy-vpn-tailscale/machines-page.png":[79155,79155],"./solutions/migrate-legacy-vpn-tailscale/users-page.png":[96051,96051],"./solutions/migrate-legacy-vpn-tailscale/welcome-page.png":[75990,75990],"./solutions/migrate-openvpn-tailscale/add-first-device.png":[47015,47015],"./solutions/migrate-openvpn-tailscale/add-second-device.png":[75023,75023],"./solutions/migrate-openvpn-tailscale/edit-tags.png":[85626,85626],"./solutions/migrate-openvpn-tailscale/index.mdx":[99724,34169,91981,95396,99724],"./solutions/migrate-openvpn-tailscale/machines-page.png":[36606,36606],"./solutions/migrate-openvpn-tailscale/users-page.png":[65867,29731],"./solutions/migrate-openvpn-tailscale/welcome-page.png":[10903,10903],"./solutions/protect-postgresql-unencrypted-macbooks/index.mdx":[13734,34169,91981,95396,13734],"./solutions/reduce-aperture-token-costs-with-tsheadroom/index.mdx":[79740,34169,91981,95396,79740],"./solutions/reduce-aperture-token-costs-with-tsheadroom/tsheadroom-flow.svg":[94831,94831],"./solutions/route-ai-code-reviews-through-aperture/index.mdx":[99924,34169,91981,95396,99924],"./solutions/secure-traffic-public-wifi-appletv/index.mdx":[15,34169,91981,95396,15],"./solutions/secure-traffic-public-wifi-appletv/machines-page.png":[96788,96788],"./solutions/secure-traffic-public-wifi-appletv/welcome-page.png":[89136,89136],"./solutions/set-up-dogcam/browser.jpg":[74900,74900],"./solutions/set-up-dogcam/index.mdx":[2386,34169,91981,95396,2386],"./solutions/set-up-dogcam/raspberry-pi.jpg":[51006,51006],"./solutions/set-up-minecraft/add-server.png":[23694,23694],"./solutions/set-up-minecraft/index.mdx":[67539,34169,91981,95396,67539],"./solutions/set-up-minecraft/server-details.png":[87531,87531],"./solutions/set-up-nixos-minecraft/droplet-tier.png":[8385,8385],"./solutions/set-up-nixos-minecraft/host-info.png":[73140,73140],"./solutions/set-up-nixos-minecraft/index.mdx":[94304,34169,91981,95396,94304],"./solutions/set-up-nixos-minecraft/minecraft-world.jpg":[86807,86807],"./solutions/set-up-nixos-minecraft/server-connect.png":[64753,64753],"./solutions/set-up-nixos-minecraft/user-data.png":[42411,42411],"./solutions/sync-kubernetes-secrets-across-clusters-external-secrets/external-secrets-architecture.png":[37480,37480],"./solutions/sync-kubernetes-secrets-across-clusters-external-secrets/index.mdx":[55746,34169,91981,95396,55746],"./use-cases/ai-infrastructure-access/centralize-llm-access-and-spending/index.mdx":[82883,34169,91981,95396,82883],"./use-cases/ai-infrastructure-access/connect-inference-servers/index.mdx":[15539,34169,91981,95396,15539],"./use-cases/ai-infrastructure-access/index.mdx":[22188,34169,91981,95396,22188],"./use-cases/ai-infrastructure-access/secure-ai-training-cluster/index.mdx":[33617,34169,91981,95396,33617],"./use-cases/application-testing/geo-specific-testing/index.mdx":[56411,34169,91981,95396,56411],"./use-cases/application-testing/index.mdx":[16506,34169,91981,95396,16506],"./use-cases/application-testing/share-local-dev-server-with-internet/index.mdx":[82961,34169,91981,95396,82961],"./use-cases/application-testing/share-local-dev-server-with-team/index.mdx":[69465,34169,91981,95396,69465],"./use-cases/index.mdx":[22712,34169,91981,95396,22712],"./use-cases/infrastructure-access/access-multi-cloud-or-multi-region-cloud-envs/index.mdx":[54256,34169,91981,95396,54256],"./use-cases/infrastructure-access/index.mdx":[70316,34169,91981,95396,70316],"./use-cases/infrastructure-access/manage-least-privileged-and-jit-access/index.mdx":[81163,34169,91981,95396,81163],"./use-cases/infrastructure-access/record-ssh-sessions-compl
1iance/index.mdx":[92804,34169,91981,95396,92804],"./use-cases/personal-or-at-home-use/access-devices-without-tailscale/index.mdx":[69229,34169,91981,95396,69229],"./use-cases/personal-or-at-home-use/access-nas-media-file-servers/index.mdx":[90551,34169,91981,95396,90551],"./use-cases/personal-or-at-home-use/index.mdx":[27206,34169,91981,95396,27206],"./use-cases/personal-or-at-home-use/share-private-game-server/index.mdx":[16073,34169,91981,95396,16073],"./use-cases/regulated-environment/enforce-device-compliance/index.mdx":[47394,34169,91981,95396,47394],"./use-cases/regulated-environment/index.mdx":[24734,34169,91981,95396,24734],"./use-cases/regulated-environment/static-egress-ip-allowlist/index.mdx":[3139,34169,91981,95396,3139],"./use-cases/vpn-replacement/employee-onboarding-offboarding/index.mdx":[98639,34169,91981,95396,98639],"./use-cases/vpn-replacement/index.mdx":[5208,34169,91981,95396,5208],"./use-cases/vpn-replacement/remote-workers/index.mdx":[40647,34169,91981,95396,40647],"./use-cases/vpn-replacement/secure-access/index.mdx":[57209,34169,91981,95396,57209]};function s(e){if(!a.o(i,e))return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=i[e],s=t[0];return Promise.all(t.slice(1).map(a.e)).then(function(){return a(s)})}s.keys=function(){return Object.keys(i)},s.id=88707,e.exports=s},82581:function(e,t,a){"use strict";a.d(t,{Tt:function(){return n},cS:function(){return r},JO:function(){return u},sz:function(){return p},kc:function(){return g},h4:function(){return o},ag:function(){return m},aN:function(){return f}});var i=a(57437),s=a(2265),l=a(61994);let n=s.memo(({className:e,isExpanded:t,hidden:a})=>(0,i.jsx)("svg",{className:(0,l.Z)("icon inline-block !h-[0.9em] !w-[0.9em] stroke-gray-500",{invisible:a},e),viewBox:"0 0 24 24",children:(0,i.jsx)("polyline",{points:t?"6 9 12 15 18 9":"9 18 15 12 9 6"})}));n.displayName="icon.Chevron";let r=()=>(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,i.jsx)("polygon",{points:"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"}),(0,i.jsx)("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),(0,i.jsx)("line",{x1:"9",y1:"9",x2:"15",y2:"15"})]});r.displayName="icon.DangerIcon";let o=()=>(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,i.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,i.jsx)("polyline",{points:"12 6 12 12 16 14"})]});o.displayName="icon.PlannedDeprecationIcon";var d=a(33145);let c={update:{alt:"update",fileName:"fa-arrow-up"},ellipsis:{alt:"ellipsis icon",fileName:"fa-ellipsis-h"}},u=s.memo(({name:e})=>(0,i.jsx)(d.default,{className:"fa-icon !text-gray-400",alt:c[e].alt,src:`/files/images/icons/${c[e].fileName}.svg`,height:24,width:24}));u.displayName="icon.Icon";let p=()=>(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,i.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,i.jsx)("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),(0,i.jsx)("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"})]});p.displayName="icon.InfoIcon";let g=()=>(0,i.jsx)("span",{"aria-hidden":!0,className:"inline-block opacity-0 transition-opacity duration-150 group-hover:opacity-100",children:(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"feather feather-link-2",children:[(0,i.jsx)("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"}),(0,i.jsx)("line",{x1:"8",y1:"12",x2:"16",y2:"12"})]})});g.displayName="icon.PermalinkIcon";let m=()=>(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,i.jsx)("path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14"}),(0,i.jsx)("polyline",{points:"22 4 12 14.01 9 11.01"})]});m.displayName="icon.TipIcon";let f=()=>(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,i.jsx)("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),(0,i.jsx)("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),(0,i.jsx)("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]});f.displayName="icon.WarningIcon"},91663:function(e,t,a){"use strict";a.r(t);var i=a(57437),s=a(2265),l=a(61994);let n=s.memo(({id:e,href:t,title:a,description:s,highlighted:n=!1})=>(0,i.jsxs)("a",{href:t,"data-result-id":e,className:(0,l.Z)("not-prose group relative flex rounded-md p-2 text-base transition-all",n?"bg-blue-200 hover:bg-blue-200":"hover:bg-blue-100"),children:[(0,i.jsx)("svg",{className:"icon relative -top-px mr-2 inline-block h-auto 
1stroke-blue-500 group-hover:stroke-blue-700",style:{flex:"0 0 1.35rem"},children:(0,i.jsx)("use",{href:"/files/images/marketing/icons.svg#file-text"})}),(0,i.jsxs)("div",{children:[(0,i.jsx)("h4",{className:"stretched-link m-0 !text-base !font-medium !text-blue-500 underline decoration-blue-50 underline-offset-4 transition-colors hover:decoration-blue-500 focus-visible:no-underline group-hover:!text-blue-700",dangerouslySetInnerHTML:{__html:a}}),(0,i.jsx)("p",{className:"!text-base text-gray-600 group-hover:text-gray-700",dangerouslySetInnerHTML:{__html:s}})]})]}));t.default=n,n.displayName="messaging.ArticlePreview"},89730:function(e,t,a){"use strict";a.d(t,{j:function(){return n}});var i=a(57437),s=a(2265),l=a(82581);let n=s.memo(({children:e})=>(0,i.jsxs)("div",{className:"note border-grey-200 relative mt-4 rounded border border-solid pb-2 pl-9 pr-3 pt-3 text-base leading-normal tracking-tight md:text-sm",children:[(0,i.jsx)("span",{className:"absolute left-3 top-3 inline-block h-[18px] w-[18px]",children:(0,i.jsx)(l.sz,{})}),e]}));n.displayName="messaging.Note"},46395:function(e,t,a){"use strict";a.d(t,{DocsMenu:function(){return p}});var i=a(57437),s=a(2265),l=a(99376),n=a(9653);let r=[{label:"Start",slug:"install/start",items:[{label:"Quickstart",slug:"how-to/quickstart"},{label:"Install Tailscale",slug:"install",items:[{label:"Download ↗",href:"/downloads"},{label:"Update Tailscale",slug:"features/client/update"},{label:"Uninstall Tailscale",slug:"features/client/uninstall"},{label:"Deploy with MDM",slug:"mdm",items:[{label:"Customize Tailscale using system policies",slug:"features/tailscale-system-policies",items:[{label:"Deploy on Android",slug:"integrations/mdm/android"},{label:"Deploy on iOS/tvOS",slug:"integrations/mdm/ios"},{label:"Deploy on macOS",slug:"integrations/mdm/mac"},{label:"Deploy on Windows",slug:"integrations/mdm/windows-mdm"}]},{label:"MDM integration partners",slug:"integrations/partners/mdm",items:[{label:"Google Workspace",slug:"integrations/mdm/google-workspace"},{label:"Jamf",slug:"integrations/mdm/jamf"},{label:"JumpCloud",slug:"integrations/mdm/jumpcloud"},{label:"Iru (Kandji)",slug:"integrations/mdm/iru"},{label:"Microsoft Intune",slug:"integrations/mdm/microsoft-intune"},{label:"SimpleMDM",slug:"integrations/mdm/simplemdm"},{label:"TinyMDM",slug:"integrations/mdm/tinymdm"}]}]}]},{label:"Quick guides",slug:"quick-guides",items:[{label:"Use exit nodes",slug:"features/exit-nodes/how-to/setup"},{label:"Configure a subnet router",slug:"features/subnet-routers/how-to/setup"},{label:"Host a website",slug:"features/tailscale-funnel/how-to/host-websites"},{label:"Install on AWS",slug:"install/cloud/aws/quickstart"},{label:"SSH into a Linux virtual machine",slug:"how-to/connect-ssh-linux-vm"},{label:"Access a virtual private cloud (VPC)",slug:"how-to/connect-vpc"},{label:"Connect a Docker container using Docker Compose",slug:"features/containers/docker/how-to/connect-docker-container"}]},{label:"OpenVPN migration guide",slug:"solutions/migrate-openvpn-tailscale"},{label:"Legacy VPN migration guide",slug:"solutions/migrate-legacy-vpn-tailscale"},{label:"Set up an identity provider",slug:"integrations/identity",items:[{label:"Google",slug:"integrations/identity/google-sso"},{label:"Microsoft Entra ID",slug:"integrations/identity/entra"},{label:"Okta",slug:"integrations/identity/okta"},{label:"GitHub",slug:"integrations/identity/github"},{label:"Apple",slug:"integrations/identity/apple-sso"},{label:"OneLogin",slug:"integrations/identity/onelogin"},{label:"User & group provisioning",slug:"features/user-group-provisioning",items:[{label:"Google Workspace",slug:"integrations/google-sync"},{label:"Microsoft Entra ID",slug:"integrations/identity/entra/entra-id-scim"},{label:"Okta",slug:"integrations/identity/okta/okta-scim"}]},{label:"Custom OIDC providers",slug:"integrations/identity/custom-oidc"},{label:"Switch identity provider",slug:"integrations/identity/switch-identity-provider"},{label:"Enable 2FA and MFA",slug:"multifactor-auth"}]},{label:"What is Tailscale?",slug:"concepts/what-is-tailscale"}]},{label:"Manage Access",slug:"manage",items:[{label:"Manage access control",slug:"features/access-control",items:[{label:"Manage ACLs",slug:"features/access-control/acls"},{label:"Manage grants",slug:"features/access-control/grants"},{label:"Migrate from ACLs to grants",slug:"reference/migrate-acls-grants"},{label:"Edit the tailnet policy file",slug:"features/tailnet-policy-file/manage-tailnet-policies"},{label:"Manage Tailscale with GitOps",slug:"gitops",items:[{label:"Manage Tailscale with Bitbucket",slug:"integrations/bitbucket/gitops"},{label:"Manage Tailscale with GitHub",slug:"integrations/github/gitops"},{label:"Manage Tailscale with GitLab",slug:"integrations/gitlab/gitops"}]}]}
1,{label:"Manage just-in-time access",slug:"features/access-control/just-in-time-access",items:[{label:"Device posture for JIT access",slug:"features/tailscale-accessbot-jit"},{label:"3rd party JIT access integrations",slug:"integrations/jit-access",items:[{label:"ConductorOne",slug:"integrations/jit-conductorone"},{label:"Opal",slug:"integrations/jit-opal"},{label:"Sym",slug:"integrations/jit-sym"}]}]},{label:"Manage devices",slug:"features/access-control/device-management",items:[{label:"Add a device",slug:"features/access-control/device-management/how-to/set-up"},{label:"Device approval",slug:"features/access-control/device-management/device-approval"},{label:"Rename a device",slug:"concepts/machine-names"},{label:"Remove a device",slug:"features/access-control/device-management/how-to/remove"},{label:"Device posture management",slug:"features/device-posture",items:[{label:"Use Device Identity Collection",slug:"features/access-control/device-management/how-to/manage-identity"},{label:"CrowdStrike Falcon",slug:"integrations/crowdstrike-zta"},{label:"SentinelOne",slug:"integrations/sentinelone"},{label:"1Password XAM",slug:"integrations/kolide"},{label:"Jamf Pro",slug:"integrations/jamf-pro"},{label:"Microsoft Intune",slug:"integrations/mdm/intune"},{label:"Iru (Kandji)",slug:"integrations/iru"}]},{label:"Filter devices",slug:"features/access-control/device-management/how-to/filter"},{label:"Export list of devices",slug:"features/access-control/device-management/how-to/export-list"},{label:"Use the web interface",slug:"features/client/device-web-interface"},{label:"Add a device using a QR code",slug:"features/access-control/device-management/how-to/set-up-qr-code"},{label:"Secure node state storage",slug:"features/secure-node-state-storage"}]},{label:"Manage users",slug:"manage-users",items:[{label:"Invite users",slug:"features/sharing/how-to/invite-users",items:[{label:"Invite team members",slug:"features/sharing/how-to/invite-team-members"},{label:"Invite any user",slug:"features/sharing/how-to/invite-any-user"},{label:"Use passkeys",slug:"integrations/identity/passkeys"}]},{label:"User approval",slug:"features/access-control/user-approval"},{label:"User roles",slug:"reference/user-roles"},{label:"Change user roles",slug:"features/sharing/how-to/change-role"},{label:"Remove users",slug:"features/sharing/how-to/remove-team-members"},{label:"Fast user switching",slug:"features/client/fast-user-switching"},{label:"Export list of users",slug:"features/sharing/how-to/export-list"},{label:"Offboard users",slug:"features/sharing/how-to/offboard"},{label:"Admin console session timeout",slug:"account/admin-console-session-timeout"}]},{label:"Tailnet Lock",slug:"features/tailnet-lock"}]},{label:"Tailscale PAM: Govern Privileged Access",slug:"privileged-access-management",items:[{label:"What is Tailscale PAM?",slug:"privileged-access-management/what-is-tailscale-pam"},{label:"Architecture and core concepts",slug:"privileged-access-management/architecture-and-concepts"},{label:"Get started with Tailscale PAM",slug:"privileged-access-management/get-started"},{label:"Tailscale PAM connectors",slug:"privileged-access-management/connectors",items:[{label:"Overview",slug:"privileged-access-management/connectors/overview"},{label:"Install a connector",slug:"privileged-access-management/connectors/install"},{label:"High availability",slug:"privileged-access-management/connectors/high-availability"}]},{label:"Tailscale PAM services",slug:"privileged-access-management/services",items:[{label:"Access an SSH server",slug:"privileged-access-management/how-to/access-ssh",items:[{label:"Built-in SSH server",slug:"privileged-access-management/how-to/access-ssh/built-in-ssh"},{label:"Remote SSH server",slug:"privileged-access-management/how-to/access-ssh/remote-ssh"},{label:"AWS EC2 Instance Connect",slug:"privileged-access-management/how-to/access-ssh/ec2-instance"},{label:"EC2 instance with AWS Systems Manager Session Manager",slug:"privileged-access-management/how-to/access-ssh/ec2-ssm"},{label:"ECS container with AWS Systems Manager Session Manager",slug:"privileged-access-management/how-to/access-ssh/ecs-ssm"}]},{label:"Access a database",slug:"privileged-access-management/how-to/access-database",items:[{label:"Access Amazon RDS",slug:"privileged-access-management/how-to/access-database/amazon-rds"},{label:"Access Google Cloud SQL",slug:"privileged-access-management/how-to/access-database/google-cloud-sql"},{label:"Access MongoDB",slug:"privileged-access-management/how-to/access-database/mongodb"},{label:"Access MySQL",slug:"privileged-access-management/how-to/access-database/mysql"},{label:"Access PostgreSQL",slug:"privileged-access-management/how-to/access-database/postgresql"},{label:"Access Elasticsearch",slug:"privileged-access-management/how-to/access-database/elasticsearch"}]},{label:"Access an HTTP service",slug:"privileged-access-management/how-to/access-http-service",items:[{label:"Use Tailscale identity in Grafana",slug:"privileged-access-management/how-to/access-http-service/grafana"},{label:"Troubleshoot SSO login failure",slug:"privileged-access-management/how-to/access-http-service/troubleshoot-sso-failure"}]},{label:"Access a TCP service",slug:"privileged-access-management/how-to/access-tcp-service"},{label:"Access a Kubernetes cluster",slug:"privileged-access-management/how-to/access-kubernetes"},{label:"Access Amazon S3 buckets",slug:"privileged-access-management/how-to/access-s3"}]},{label:"Use a custom DNS domain",slug:"privileged-access-management/how-to/custom-dns-domain"},{label:"Manage PAM resources using Terraform",slug:"privileged-access-management/how-to/manage-resources-terraform"},{label:"Store session recordings in Amazon S3",slug:"privileged-access-management/how-to/session-recordings-s3"},{label:"Service accounts",slug:"privileged-access-management/service-accounts"},{label:"Session logs",slug:"privileged-access-management/session-logs"},{label:"Control access to services",slug:"privileged-access-management/how-to/control-access"},{label:"Manage secrets and credentials",slug:"privileged-access-management/how-to/manage-secrets"},{label:"Reference",slug:"privileged-access-management/reference",items:[{label:"FAQ",slug:"privileged-access-management/reference/faq"},{label:"Sandbox servers",slug:"privileged-access-management/reference/sandbox-servers"},{label:"Troubleshooting",slug:"privileged-access-management/reference/troubleshooting"}]}]},{label:"Aperture: Secure AI",slug:"aperture",items:[{label:"What is Aperture?",slug:"aperture/what-is-aperture"},{label:"Get started with Aperture",slug:"aperture/get-started"},{label:"Connect devices outside your tailnet",slug:"aperture/connect-outside-tailnet"},{label:"Set up LLM clients",slug:"aperture/use-your-tools",items:[{label:"Aperture CLI",slug:"aperture/cli"},{label:"Chat UI",slug:"aperture/how-to/set-up-chat-ui"},{label:"Claude Code",slug:"aperture/how-to/use-claude-code"},{label:"Codex",slug:"aperture/how-to/use-codex"},{label:"OpenCode",slug:"aperture/how-to/use-opencode"},{label:"OpenAI-compatible tools",slug:"aperture/how-to/use-openai-compatible-tools"}]},{label:"Set up LLM providers",slug:"aperture/set-up-providers",items:[{label:"Passthrough mode",slug:"aperture/how-to/use-passthrough-mode",items:[{label:"Claude subscriptions",slug:"aperture/how-to/use-passthrough-mode/claude-subscriptions"},{label:"Codex subscriptions",slug:"aperture/how-to/use-passthrough-mode/codex-subscriptions"}]},{label:"OpenAI",slug:"aperture/how-to/use-openai"},{label:"Anthropic",slug:"aperture/how-to/use-anthropic"},{label:"Google Gemini",slug:"aperture/how-to/use-google-gemini"},{label:"Gemini Enterprise Agent Platform",slug:"aperture/how-to/use-gemini-enterprise-agent-platform"},{label:"Amazon Bedrock",slug:"aperture/how-to/use-amazon-bedrock"},{label:"Microsoft Foundry",slug:"aperture/how-to/use-microsoft-foundry"},{label:"OpenRouter",slug:"aperture/how-to/use-openrouter"},{label:"Vercel AI Gateway",slug:"aperture/how-to/use-vercel"}
1,{label:"Self-hosted",slug:"aperture/how-to/use-self-hosted"},{label:"OpenAI-compatible",slug:"aperture/how-to/use-openai-compatible-provider"}]},{label:"Connectors",slug:"aperture/connectors",items:[{label:"Get started with connectors",slug:"aperture/connectors/get-started"},{label:"Add a verified connector",slug:"aperture/connectors/add-verified-connector"},{label:"Set up an authenticated MCP connector",slug:"aperture/connectors/set-up-authenticated-mcp-connector"},{label:"Set up an HTTP API connector",slug:"aperture/how-to/set-up-http-api-connector"},{label:"Set up a per-user OAuth 2.0 connector",slug:"aperture/how-to/set-up-per-user-oauth2-connector"},{label:"Grant connector access by label",slug:"aperture/how-to/grant-connector-access-by-label"},{label:"Built-in connectors",slug:"aperture/connectors/built-in-connectors"},{label:"Use a connector",slug:"aperture/connectors/use-a-connector"},{label:"How connectors work",slug:"aperture/connectors/how-connectors-work"},{label:"Kinds of connector",slug:"aperture/connectors/kinds-of-connector"},{label:"Connectors reference",slug:"aperture/connectors/reference"}]},{label:"Chat",slug:"aperture/chat",items:[{label:"Projects",slug:"aperture/chat/projects"}]},{label:"Control AI access",slug:"aperture/control-access",items:[{label:"How grants work",slug:"aperture/how-grants-work"},{label:"Grant access to models",slug:"aperture/how-to/grant-model-access"},{label:"Grant access to MCP tools",slug:"aperture/how-to/grant-mcp-tool-access"},{label:"Set up admin access",slug:"aperture/how-to/set-up-admin-access"},{label:"Set up a guardrail",slug:"aperture/how-to/set-up-guardrails"},{label:"Chat sandbox",slug:"chat-sandbox"}]},{label:"Manage AI spending",slug:"aperture/manage-spending",items:[{label:"Buy tokens through Aperture",slug:"aperture/buy-tokens-through-aperture"},{label:"Set per-user spending limits",slug:"aperture/how-to/set-per-user-spending-limits"},{label:"Set a team-wide budget",slug:"aperture/how-to/set-team-budget"},{label:"Configure overdraft quotas",slug:"aperture/how-to/configure-overdraft-quotas"},{label:"Check and refill budgets",slug:"aperture/how-to/check-and-refill-budgets"}]},{label:"Observe and export AI usage",slug:"aperture/observe-and-export",items:[{label:"View usage dashboards",slug:"aperture/reference/dashboard"},{label:"View admin dashboards",slug:"aperture/reference/dashboard-admin"},{label:"Filter logs by header",slug:"aperture/how-to/filter-logs-by-header"},{label:"Export usage data to S3",slug:"aperture/how-to/export-usage-data-to-s3"}]},{label:"Privacy and data retention",slug:"aperture/privacy-and-data-retention",items:[{label:"Configure zero-retention mode",slug:"aperture/how-to/configure-zero-retention"}]},{label:"Integrate with external tools",slug:"aperture/integrate",items:[{label:"Integrate Cerbos",slug:"aperture/integrate/cerbos"},{label:"Integrate Cribl",slug:"aperture/integrate/cribl"},{label:"Integrate Highflame",slug:"aperture/integrate/highflame"},{label:"Integrate Oso",slug:"aperture/integrate/oso"},{label:"Build a custom webhook",slug:"aperture/how-to/build-custom-webhook"}]},{label:"Reference",slug:"aperture/reference",items:[{label:"Configuration reference",slug:"aperture/configuration"},{label:"Supported models and providers",slug:"aperture/provider-compatibility"},{label:"Aperture vs. tailnet policy file grants",slug:"aperture/reference/aperture-vs-tailnet-grants"}]},{label:"Troubleshooting",slug:"aperture/troubleshooting"}]},{label:"Route Traffic",slug:"route",items:[{label:"Set up a subnet router",slug:"features/subnet-routers",items:[{label:"Subnet router BGP advertisement",slug:"features/subnet-routers/how-to/bgp"},{label:"4via6 subnet routers",slug:"features/subnet-routers/4via6-subnets"},{label:"Site-to-site networking",slug:"features/site-to-site"}]},{label:"Set up an exit node",slug:"features/exit-nodes",items:[{label:"Use a Mullvad exit node",slug:"features/exit-nodes/mullvad-exit-nodes"},{label:"Recommended exit nodes",slug:"features/exit-nodes/auto-exit-nodes"},{label:"Mandatory exit nodes",slug:"features/exit-nodes/mandatory-exit-nodes"}]},{label:"Set up an app connector",slug:"features/app-connectors/how-to/setup",items:[{label:"Best practices",slug:"reference/best-practices/app-connectors"},{label:"How app connectors work",slug:"features/app-connectors"}]},{label:"Use DNS",slug:"reference/dns-in-tailscale",items:[{label:"Configure Linux DNS",slug:"reference/linux-dns"},{label:"Why is resolv.conf being overwritten?",slug:"reference/faq/dns-resolv-conf"},{label:"Use NextDNS",slug:"integrations/nextdns"},{label:"Use Control D",slug:"integrations/control-d"},{label:"Use Unbound DNS in OPNsense",slug:"integrations/firewalls/opnsense-unbound"}]},{label:"Set up MagicDNS",slug:"features/magicdns"},{label:"Set up high availability",slug:"how-to/set-up-high-availability"}]},{label:"Set Up Servers",slug:"servers",items:[{label:"Set up a server",slug:"how-to/set-up-servers"},{label:"Use tags",slug:"features/tags"},{label:"Install Tailscale with cloud-init",slug:"install/with-cloud-init"},{label:"Use auth keys",slug:"features/access-control/auth-keys"},{label:"Automate key expiry",slug:"features/access-control/key-expiry"},{label:"Use Tailscale SSH",slug:"features/tailscale-ssh",items:[{label:"Use Tailscale SSH Console",slug:"features/tailscale-ssh/tailscale-ssh-console"}]},{label:"Set up HTTPS certificates",slug:"how-to/set-up-https-certificates"},{label:"Run an ephemeral node",slug:"features/ephemeral-nodes"},{label:"Run unattended",slug:"how-to/run-unattended"}]},{label:"Access & Share Services",slug:"share",items:[{label:"Tailscale services",slug:"features/tailscale-services"},{label:"Endpoint collection",slug:"features/services"},{label:"Share nodes",slug:"features/sharing"},{label:"Use Taildrop",slug:"features/taildrop",items:[{label:"Taildrop with NAS",slug:"features/taildrop/how-to/set-up-taildrop-with-nas"}]}]},{label:"Share a web server",slug:"share-web-server",items:[{label:"Tailscale Funnel",slug:"features/tailscale-funnel",items:[{label:"Examples",slug:"reference/examples/funnel"},{label:"Funnel vs. sharing",slug:"reference/funnel-vs-sharing"}]},{label:"Tailscale Serve",slug:"features/tailscale-serve",items:[{label:"Examples",slug:"reference/examples/serve"}]}]},{label:"Solutions",slug:"solutions",items:[{label:"Secure traffic with Apple TV",slug:"solutions/secure-traffic-public-wifi-appletv"},{label:"Secure GitHub Actions runners",slug:"solutions/connect-github-cicd-workflows-to-private-infrastru
1cture-without-public-exposure"},{label:"Block ads with a Raspberry Pi",slug:"solutions/block-ads-all-devices-anywhere-using-raspberry-pi"},{label:"Access remote desktops with Windows RDP",slug:"solutions/access-remote-desktops-using-windows-rdp"},{label:"Access remote desktops with RustDesk",slug:"solutions/access-remote-desktops-with-rustdesk"},{label:"Connect to MongoDB Atlas",slug:"solutions/create-a-secure-connection-to-mongodb-atlas"},{label:"Code from your iPad",slug:"solutions/code-on-ipad-vscode-caddy-code-server"},{label:"Lock down a server",slug:"how-to/secure-ubuntu-server-with-ufw"},{label:"Protect production databases",slug:"solutions/protect-postgresql-unencrypted-macbooks"},{label:"Access a PiKVM",slug:"integrations/pikvm"},{label:"Secure external services",slug:"concepts/ip-blocklist-relays"},{label:"Just-in-time access",slug:"features/access-control/just-in-time-access",items:[{label:"Device posture for JIT access",slug:"features/tailscale-accessbot-jit"},{label:"3rd party JIT access integrations",slug:"integrations/jit-access",items:[{label:"ConductorOne",slug:"integrations/jit-conductorone"},{label:"Opal",slug:"integrations/jit-opal"},{label:"Sym",slug:"integrations/jit-sym"}]}]},{label:"Automation",slug:"automations",items:[{label:"Infrastructure as code",slug:"integration-infrastructure-as-code",items:[{label:"Terraform",slug:"integrations/terraform-provider"},{label:"Pulumi",slug:"integrations/pulumi-provider"}]},{label:"macOS and iOS shortcuts",slug:"features/mac-ios-shortcuts"}]},{label:"Deploy across clusters with ArgoCD",slug:"solutions/manage-multi-cluster-kubernetes-deployments-argocd"}]},{label:"Integrations",slug:"integrations",items:[{label:"Kubernetes Operator",slug:"kubernetes-operator",items:[{label:"Install the Kubernetes Operator",slug:"kubernetes-operator/install-operator"},{label:"Quickstart tutorial",slug:"kubernetes-operator/quickstart"},{label:"Kubernetes Operator explained",slug:"kubernetes-operator/concepts",items:[{label:"Architecture",slug:"kubernetes-operator/concepts/architecture"},{label:"ProxyGroup",slug:"kubernetes-operator/concepts/proxygroup"},{label:"ProxyClass",slug:"kubernetes-operator/concepts/proxyclass"},{label:"DNSConfig",slug:"kubernetes-operator/concepts/dnsconfig"}]},{label:"Ingress: Expose workloads",slug:"kubernetes-operator/ingress",items:[{label:"Expose workloads to your tailnet (L7)",slug:"kubernetes-operator/ingress/expose-workload-to-tailnet-l7"},{label:"Expose workloads to your tailnet (L3)",slug:"kubernetes-operator/ingress/expose-workload-to-tailnet-l3"},{label:"Expose workloads to the internet",slug:"kubernetes-operator/ingress/expose-workload-to-internet"},{label:"Multi-cluster ingress with regional routing",slug:"kubernetes-operator/ingress/multi-cluster"},{label:"Connect services across clusters",slug:"kubernetes-operator/ingress/multi-cluster-service-mirroring"}]},{label:"Egress: Access tailnet resources",slug:"kubernetes-operator/egress",items:[{label:"Access a tailnet service",slug:"kubernetes-operator/egress/access-tailnet-service"},{label:"Access an IP address behind a subnet router",slug:"kubernetes-operator/egress/access-ip-behind-subnet-router"},{label:"Expose Amazon RDS to your tailnet",slug:"kubernetes-operator/egress/expose-rds-to-tailnet"},{label:"Enable MagicDNS resolution",slug:"kubernetes-operator/egress/enable-magicdns-resolution"}]},{label:"Connector: Deploy infrastructure",slug:"kubernetes-operator/connector",items:[{label:"Deploy a subnet router",slug:"kubernetes-operator/connector/deploy-subnet-router"},{label:"Deploy an app connector",slug:"kubernetes-operator/connector/deploy-app-connector"}]},{label:"API Server Proxy: Access K8s API",slug:"kubernetes-operator/api-server-access",items:[{label:"Set up the Kubernetes API over Tailscale",slug:"kubernetes-operator/api-server-access/setup-api-over-tailscale"},{label:"Configure authentication and authorization",slug:"kubernetes-operator/api-server-access/auth-and-rbac"},{label:"Proxy without authentication (noauth mode)",slug:"kubernetes-operator/api-server-access/noauth-mode"}]},{label:"Recorder: Audit and record",slug:"kubernetes-operator/recorder",items:[{label:"Deploy a recorder",slug:"kubernetes-operator/recorder/deploy-tsrecorder"},{label:"Record kubectl sessions",slug:"kubernetes-operator/recorder/kubectl-session-recording"}]},{label:"PeerRelay: Host peer relays",slug:"kubernetes-operator/peer-relay"},{label:"Manage and configure",slug:"kubernetes-operator/manage-and-configure",items:[{label:"High availability",slug:"kubernetes-operator/manage-and-configure/high-availability"},{label:"Expose metrics",slug:"kubernetes-operator/manage-and-configure/expose-metrics"},{label:"Enable debug endpoints",slug:"kubernetes-operator/manage-and-configure/enable-debug-endpoints"},{label:"Use custom machine names",slug:"kubernetes-operator/manage-and-configure/custom-machine-names"},{label:"Configure static endpoints",slug:"kubernetes-operator/manage-and-configure/configure-static-endpoints"},{label:"Enable Workload Identity Federation",slug:"kubernetes-operator/manage-and-configure/workload-identity-federation"},{label:"Deploy across clusters with ArgoCD",slug:"solutions/manage-multi-cluster-kubernetes-deployments-argocd"},{label:"Use multiple tailnets",slug:"kubernetes-operator/manage-and-configure/multi-tailnet"},{label:"Control access to ProxyGroup resources",slug:"kubernetes-operator/manage-and-configure/proxy-group-policy"}]},{label:"Reference",slug:"kubernetes-operator/reference",items:[{label:"Permissions (RBAC)",slug:"kubernetes-operator/reference/rbac"},{label:"Tag customization",slug:"kubernetes-operator/reference/tags"},{label:"Compatibility",slug:"kubernetes-operator/reference/compatibility"},{label:"Troubleshooting",slug:"kubernetes-operator/reference/troubleshooting"},{label:"IPv6 support",slug:"kubernetes-operator/reference/ipv6"},{label:"Limitations",slug:"kubernetes-operator/reference/limitations"}]}]},{label:"Cloud servers",slug:"cloud-server",items:[{label:"AWS Lightsail",slug:"install/cloud/aws/aws-lightsail"},{label:"AWS VPC",slug:"install/cloud/aws"},{label:"Azure App Service",slug:"install/cloud/azure/azure-app-service"},{label:"Azure Linux VMs",slug:"install/cloud/azure/linux"},{label:"Azure Windows VMs",slug:"install/cloud/azure/windows"},{label:"Google Compute Engine VMs",slug:"install/cloud/gce"},{label:"Hetzner VMs",slug:"install/cloud/hetzner"},{label:"Oracle Cloud VMs",slug:"install/cloud/oracle-cloud"}]},{label:"Containers and virtualization",slug:"containers-and-virtualization",items:[{label:"Docker",slug:"features/containers/docker",items:[{label:"Docker 
1components",slug:"features/containers/docker/docker-components"},{label:"Use Docker standalone",slug:"features/containers/docker/how-to/connect-docker-standalone"},{label:"Use Docker Compose",slug:"features/containers/docker/how-to/connect-docker-container"},{label:"Use other Docker management tools",slug:"features/containers/docker/how-to/connect-docker-alt-manager"},{label:"Docker parameters",slug:"features/containers/docker/docker-params"}]},{label:"LXC containers",slug:"features/containers/lxc/lxc-unprivileged"},{label:"Proxmox",slug:"integrations/proxmox"}]},{label:"Serverless apps",slug:"integration-serverless-apps",items:[{label:"AWS App Runner",slug:"install/cloud/aws/aws-app-runner"},{label:"AWS Lambda",slug:"install/cloud/aws/aws-lambda"},{label:"Fly.io",slug:"install/cloud/flydotio"},{label:"Google Cloud Run",slug:"install/cloud/cloudrun"},{label:"Heroku",slug:"install/cloud/heroku"}]},{label:"Databases",slug:"database",items:[{label:"AWS RDS",slug:"install/cloud/aws/aws-rds"},{label:"Crunchy Bridge",slug:"integrations/crunchy-bridge"}]},{label:"Remote environments",slug:"remote-code",items:[{label:"code-server",slug:"integrations/codeserver"},{label:"Coder",slug:"install/cloud/coder"},{label:"CodeSandbox",slug:"integrations/codesandbox"},{label:"GitHub Codespaces",slug:"integrations/github/github-codespaces"},{label:"Gitpod",slug:"install/cloud/gitpod"},{label:"OpenVSCode",slug:"integrations/open-vscode"}]},{label:"Developer tools",slug:"integration-dev-tools",items:[{label:"Develop with AI",slug:"develop-with-ai"},{label:"Tailscale skill for coding agents",slug:"features/tailscale-skill"},{label:"Visual Studio Code Extension",slug:"integrations/vscode-extension"},{label:"Tailscale GitHub Action",slug:"integrations/github/github-action"},{label:"Tailscale with GitLab CI/CD",slug:"integrations/gitlab/gitlab-runner"},{label:"Docker Desktop",slug:"features/containers/docker/docker-desktop"},{label:"Grafana",slug:"integrations/grafana"}]},{label:"Firewalls",slug:"firewall",items:[{label:"Overview",slug:"integrations/firewalls"},{label:"OPNsense",slug:"install/opnsense"},{label:"Palo Alto Networks",slug:"integrations/firewalls/palo-alto-firewall"},{label:"pfSense",slug:"integrations/firewalls/pfsense"},{label:"Firewall mode",slug:"features/firewall-mode"}]},{label:"Web servers",slug:"integrations/web-servers",items:[{label:"Caddy Server",slug:"integrations/web-servers/caddy/caddy-certificates"},{label:"Traefik Proxy",slug:"integrations/web-servers/traefik/traefik-certificates"}]},{label:"NAS",slug:"integrations/nas",items:[{label:"Synology",slug:"integrations/synology"},{label:"QNAP",slug:"integrations/qnap"},{label:"TrueNAS SCALE",slug:"integrations/truenas"},{label:"Unraid",slug:"integrations/unraid"}]}]},{label:"FAQ",slug:"reference/faq"},{label:"Logging, Streaming, and Events",slug:"reference/logging-streaming-events",items:[{label:"Logging overview",slug:"features/logging"},{label:"Configuration audit logging",slug:"features/logging/audit-logging"},{label:"Network flow logs",slug:"features/logging/network-flow-logs"},{label:"Log streaming",slug:"features/logging/log-streaming"},{label:"SSH session recording",slug:"features/tailscale-ssh/tailscale-ssh-session-recording",items:[{label:"Send recordings to S3",slug:"features/tailscale-ssh/how-to/session-recording-s3"},{label:"Deploy multiple recorder nodes",slug:"reference/multiple-recorder-nodes"}]},{label:"Client metrics",slug:"reference/tailscale-client-metrics"},{label:"Webhooks",slug:"features/webhooks"}]},{label:"Manage Your Organization",slug:"account",items:[{label:"Contact preferences",slug:"reference/contact-preferences"},{label:"Manage billing",slug:"account/billing"},{label:"Manage your plan",slug:"account/manage-plans"},{label:"Tailnet name",slug:"concepts/tailnet-name"},{label:"Domain ownership",slug:"concepts/domain-ownership",items:[{label:"Verify your domain",slug:"account/domain-verification"},{label:"Domain aliases",slug:"account/domain-aliases"}]}]},{label:"Reference",slug:"reference",items:[{label:"Tailnet policy file syntax",slug:"reference/syntax/policy-file",items:[{label:"Grants syntax",slug:"reference/syntax/grants"}
1,{label:"IP sets",slug:"features/tailnet-policy-file/ip-sets"},{label:"Via in grants",slug:"features/access-control/grants/grants-via"}]},{label:"ACL examples",slug:"reference/examples/acls"},{label:"Grant examples",slug:"reference/examples/grants"},{label:"CLI",slug:"reference/tailscale-cli",items:[{label:"tailscale funnel",slug:"reference/tailscale-cli/funnel"},{label:"tailscale lock",slug:"reference/tailscale-cli/lock"},{label:"tailscale serve",slug:"reference/tailscale-cli/serve"},{label:"tailscale up",slug:"reference/tailscale-cli/up"},{label:"tailscaled",slug:"reference/tailscaled"}]},{label:"API",slug:"reference/tailscale-api",items:[{label:"Trust credentials",slug:"reference/trust-credentials",items:[{label:"OAuth",slug:"oauth",items:[{label:"OAuth clients",slug:"features/oauth-clients"},{label:"OAuth apps",slug:"features/oauth-apps",items:[{label:"Device provisioning with OAuth apps",slug:"features/oauth-apps/device-provisioning"}]}]},{label:"Workload identity federation",slug:"features/workload-identity-federation"}]},{label:"tsidp",slug:"features/tsidp",items:[{label:"tsidp configuration",slug:"reference/tsidp-configuration"}]},{label:"tsnet for Go programs",slug:"features/tsnet",items:[{label:"Hello tsnet",slug:"features/tsnet/how-to/create-basic-tsnet-app"},{label:"tsnet.Server",slug:"reference/tsnet-server-api"}]}]},{label:"Key prefixes",slug:"reference/key-prefixes"},{label:"Production best practices",slug:"reference/best-practices/production",items:[{label:"Deployment checklist",slug:"reference/deployment-checklist"},{label:"Security best practices",slug:"reference/best-practices/security",items:[{label:"Key and secret management",slug:"reference/key-secret-management"},{label:"Secret scanning",slug:"integrations/secret-scanning"},{label:"Admin with passkey",slug:"reference/tailnet-passkey-admin"}]},{label:"Performance best practices",slug:"reference/best-practices/performance"},{label:"AWS reference architecture",slug:"reference/reference-architectures/aws"},{label:"Azure reference architecture",slug:"reference/reference-architectures/azure"},{label:"GCP reference architecture",slug:"reference/reference-architectures/gcp"},{label:"CoreWeave best practices",slug:"reference/best-practices/cloud/coreweave"}]},{label:"Shared responsibility",slug:"concepts/shared-responsibility"},{label:"Technical overviews",slug:"concepts",items:[{label:"Tailscale identity",slug:"concepts/tailscale-identity"},{label:"About WireGuard",slug:"concepts/wireguard"},{label:"Tailscale encryption",slug:"concepts/tailscale-encryption",items:[{label:"FedRAMP and FIPS-140 considerations",slug:"reference/tailscale-fedramp-fips140"}]},{label:"Control and data planes",slug:"concepts/control-data-planes"},{label:"Grants vs. ACLs",slug:"reference/grants-vs-acls"},{label:"Application capabilities",slug:"features/access-control/grants/grants-app-capabilities"},{label:"Direct vs relayed connections",slug:"reference/connection-types"},{label:"Device connectivity",slug:"reference/device-connectivity"},{label:"How Tailscale assigns IP addresses",slug:"concepts/ip-and-dns-addresses"},{label:"CGNAT interoperability",slug:"reference/cgnat-interoperability"},{label:"Tailscale and the OSI model",slug:"concepts/tailscale-osi"},{label:"Smaller binaries for embedded devices",slug:"how-to/set-up-small-tailscale"},{label:"Kernel vs. netstack subnet routing & exit nodes",slug:"reference/kernel-vs-userspace-routers"},{label:"Userspace networking mode",slug:"concepts/userspace-networking"},{label:"Node keys",slug:"concepts/node-keys"},{label:"Protect SSH Servers",slug:"reference/ssh-over-tailscale"},{label:"Tailnet Lock white paper",slug:"concepts/tailnet-lock-whitepaper"},{label:"DERP servers",slug:"reference/derp-servers"},{label:"Zero Trust Networking (ZTN)",slug:"concepts/zero-trust"},{label:"IPv4 vs. IPv6 FAQ",slug:"reference/faq/ipv6"},{label:"Tailscale ping types",slug:"reference/ping-types"}]},{label:"Terminology and concepts",slug:"reference/glossary",items:[{label:"AWS Client VPN and Tailscale terminology map",slug:"reference/glossary/aws-client-vpn-tailscale"},{label:"Cisco and Tailscale terminology map",slug:"reference/glossary/cisco-tailscale"},{label:"Fortinet and Tailscale terminology map",slug:"reference/glossary/fortinet-tailscale"},{label:"Palo Alto Networks GlobalProtect and Tailscale terminology map",slug:"reference/glossary/globalprotect-tailscale"}]},{label:"Tailscale messages",slug:"reference/messages"},{label:"Debug menu and options",slug:"reference/debug-menu"},{label:"Interoperability with other software",slug:"reference/interoperability"},{label:"GitHub ↗",href:"https://github.com/tailscale/tailscale"}]},{label:"Get Support",slug:"support",items:[{label:"Troubleshooting",slug:"reference/troubleshooting",items:[{label:"Device connectivity",slug:"reference/troubleshooting/connectivity",items:[{label:"Can't download Tailscale client",slug:"reference/troubleshooting/connectivity/download-client-failure"}
1,{label:"Can't connect to other tailnet devices",slug:"reference/troubleshooting/connectivity/connect-device-failure"},{label:"Can't connect to internet",slug:"reference/troubleshooting/connectivity/connect-internet-failure"},{label:"Can't connect to LAN",slug:"reference/troubleshooting/connectivity/connect-lan-failure"},{label:"Poor performance with internet connections",slug:"reference/troubleshooting/poor-performance-internet"},{label:"Poor performance between tailnet devices",slug:"reference/troubleshooting/poor-performance-tailnet"},{label:"Domain names resolution issues",slug:"reference/troubleshooting/resolve-domain-names-failure"},{label:"Blocked by captive portal",slug:"reference/troubleshooting/connectivity/captive-portal-failure"},{label:"Tailscale client flagged by antivirus software",slug:"reference/troubleshooting/connectivity/antivirus-failure"}]},{label:"Network configuration",slug:"reference/troubleshooting/network-configuration",items:[{label:"Disable subnet route masquerading",slug:"reference/troubleshooting/network-configuration/disable-subnet-route-masquerading"},{label:"IP routes installed by Tailscale",slug:"reference/troubleshooting/network-configuration/tailscale-ip-routes"},{label:"CGNAT conflicts",slug:"reference/troubleshooting/network-configuration/cgnat-conflicts"},{label:"DERP traffic routing issues",slug:"reference/troubleshooting/network-configuration/derp-routing"},{label:"DNS errors with internal services",slug:"reference/troubleshooting/network-configuration/dns-errors-internal-service"},{label:"Hard NAT issues",slug:"reference/troubleshooting/network-configuration/hard-nat-issues"},{label:"IP forwarding errors",slug:"reference/troubleshooting/network-configuration/ip-forwarding-errors-advertise"},{label:"LAN traffic with overlapping subnets issues",slug:"reference/troubleshooting/network-configuration/lan-traffic-overlapping-subnets"},{label:"Multiple devices with same 100.x IP address",slug:"reference/troubleshooting/network-configuration/multiple-devices-same-100-x-ip-address"},{label:"Overlapping subnet route failover issues",slug:"reference/troubleshooting/network-configuration/overlapping-subnet-route-failover"},{label:"Route all traffic through a default route issues",slug:"reference/troubleshooting/network-configuration/route-traffic-default-node"},{label:"SoraCOM issues",slug:"reference/troubleshooting/network-configuration/soracom-issues"},{label:"Sunrise Communications issues",slug:"reference/troubleshooting/network-configuration/sunrise-communications-issues"},{label:"Tailscale domains and sites unreachable",slug:"reference/troubleshooting/network-configuration/tailscale-domains-sites-unreachable"},{label:"Tally ERP issues",slug:"reference/troubleshooting/network-configuration/tally-erp-issues"},{label:"TCP connection issues between two devices",slug:"reference/troubleshooting/network-configuration/tcp-connection-two-devices"},{label:"Unencrypted packet examination",slug:"reference/troubleshooting/network-configuration/inspect-unencrypted-packets"}]},{label:"Basic network troubleshooting",slug:"reference/troubleshooting/basic-network-troubleshooting"},{label:"Apple devices",slug:"reference/troubleshooting/apple",items:[{label:"Apple TV",slug:"reference/troubleshooting/apple/cant-access-appletv"},{label:"macOS access from iPhone",slug:"reference/troubleshooting/apple/cant-access-macos-from-iphone"},{label:"macOS ping issues",slug:"reference/troubleshooting/apple/macos-ping-issues"},{label:"macOS stuck at Loading backend",slug:"reference/troubleshooting/apple/macos-stuck-loading-backend"},{label:"macOS system extension errors",slug:"reference/troubleshooting/apple/macos-system-extension-errors"},{label:"macOS doesn't display Tailscale icon",slug:"reference/troubleshooting/apple/macos-doesnt-display-tailscale-icon"}]},{label:"Linux devices",slug:"reference/troubleshooting/linux",items:[{label:"Linux DNS",slug:"reference/troubleshooting/linux/linux-dns-issues"},{label:"Linux failure to unseal state file",slug:"reference/troubleshooting/linux/linux-unseal-state-file"},{label:"Linux operator permission",slug:"reference/troubleshooting/linux/linux-operator-permission"}]},{label:"Windows devices",slug:"reference/troubleshooting/windows",items:[{label:"Supported Windows versions",slug:"reference/troubleshooting/windows/supported-windows-versions"}
1,{label:"System tray shows no internet access",slug:"reference/troubleshooting/windows/windows-systray-no-internet-access"},{label:"Windows failure to unseal state file",slug:"reference/troubleshooting/windows/windows-unseal-state-file-error"},{label:"Windows installation error",slug:"reference/troubleshooting/windows/windows-install-error"},{label:"Windows ping issues",slug:"reference/troubleshooting/windows/windows-ping-issues"},{label:"Windows RDP login issue",slug:"reference/troubleshooting/windows/windows-rdp-login-issue"},{label:"Windows RDP user account restriction",slug:"reference/troubleshooting/windows/windows-rdp-user-account-restriction"},{label:"Windows upgrade error",slug:"reference/troubleshooting/windows/windows-upgrade-error"}]},{label:"Mobile devices",slug:"reference/troubleshooting/mobile",items:[{label:"Battery drains quickly",slug:"reference/troubleshooting/mobile/battery-drains"},{label:"Troubleshoot apps forced to use Tailscale",slug:"reference/troubleshooting/mobile/force-or-bypass-apps"}]},{label:"Grants",slug:"reference/troubleshooting/grants"},{label:"Containers",slug:"reference/troubleshooting/containers",items:[{label:"Kubernetes operator issues",slug:"reference/troubleshooting/containers/kubernetes-operator"},{label:"Proxmox issues",slug:"reference/troubleshooting/containers/proxmox"}]},{label:"Cloud environments",slug:"reference/troubleshooting/cloud",items:[{label:"AWS access to Google",slug:"reference/troubleshooting/cloud/aws-google-routes"},{label:"Oracle cloud devices",slug:"reference/troubleshooting/cloud/oracle-cloud"},{label:"Subnet connectivity ",slug:"reference/troubleshooting/cloud/subnet-connectivity"}]}]},{label:"Support options",slug:"reference/support-options"},{label:"Contact support ↗",href:"/contact/support"},{label:"Generate a bug report",slug:"account/bug-report"}]},{label:"Resources",slug:"resources",items:[{label:"Changelog ↗",href:"/changelog"},{label:"Comparisons ↗",href:"/compare"},{label:"Release stages",slug:"reference/tailscale-release-stages"},{label:"Security ↗",href:"/security"},{label:"Tailscale Community Projects",slug:"reference/tailscale-community-projects"},{label:"Versions",slug:"reference/tailscale-client-versions",items:[{label:"Unstable builds",slug:"install/unstable"}]},{label:"Use cases",slug:"use-cases"},{label:"Invite only features",slug:"reference/invite-only-feature"},{label:"Feedback ↗",href:"/feedback"}]}],o=e=>{if(e)return n.find(t=>t.slug===e)},d=()=>r.map(function e(t){let a=o(t?.slug);return{...t,label:t.label??a?.title,items:t.items?.map(e),hideInNav:a?.hidden===!0}});var c=a(49879),u=a(76740);function p({isOpen:e=!1}){let t=(0,s.useRef)(null),a=(0,l.usePathname)(),n=d();return(0,s.useEffect)(()=>{let e=t.current;if(!a||!e)return;let i=e.querySelector(`[data-slug="${a}"]`),s=i?.offsetTop;if(s){let e=window.innerWidth<640;t.current?.scroll({top:s-(e?110:68),left:0,behavior:"smooth"})}},[a,e]),(0,i.jsx)("nav",{className:"relative h-full pb-8 md:block ",children:(0,i.jsxs)("div",{className:"sticky top-36 flex h-full flex-col gap-8 first:overflow-clip md:h-auto",children:[(0,i.jsx)(c.tI,{side:"top"}),(0,i.jsxs)("ul",{ref:t,className:"flex max-h-[90vh] flex-col gap-1 overflow-y-auto pb-10 pt-4 text-sm md:pb-20",children:[n.map((e,t)=>(0,i.jsx)(u.default,{label:e.label,items:e?.items||[],level:0,linkSrc:e.href||`/docs/${e.slug}`,hideInNav:e.hideInNav},t)),(0,i.jsx)(c.tI,{side:"bottom"})]})]})})}p.displayName="navigation.DocsMenu"},79983:function(e,t,a){"use strict";var i=a(57437),s=a(2265),l=a(16842),n=a(49879);let r=s.memo(({data:e})=>{let t=(0,l.Z)();if(0===e.length)return null;let a=(s,l)=>{let r=[];for(let o=s;o<e.length;o++){let s=e[o];if(s&&s.level===l){let d=e[o+1]?.level,c=!!d&&d>l;r.push((0,i.jsx)(n.Mc.ck,{href:`#${s.id}`,text:s.text,onClick:t,children:c&&d&&(0,i.jsx)(i.Fragment,{children:a(o+1,d)})},o))}else if(s?.level&&s.level<l)break}return(0,i.jsx)(n.Mc.jo,{className:`${l>2&&"pl-4"}`,children:r})};return(0,i.jsxs)(n.Mc.W2,{children:[(0,i.jsx)(n.Mc.Dx,{children:"On this page"}),a(0,2)]})});t.default=r,r.displayName="navigation.DocsToc"},78281:function(e,t,a){"use strict";var i=a(57437),s=a(2265);function l(){window.scrollTo({top:0,behavior:"smooth"})}let n=()=>{let e=(0,s.useRef)(null);return(0,s.useEffect)(()=>{function t(){let{scrollTop:t}=document.documentElement;e.current&&e.current.classList.toggle("opacity-0",t<100)}return window.addEventListener("scroll",t),()=>{window.removeEventListener("scroll",t)}},[]),(0,i.jsxs)("button",{ref:e,onClick:l,"aria-label":"Scroll to top",type:"button",className:"text-foreground mt-6 flex cursor-pointer items-center self-start text-sm opacity-0 transition",children:[(0,i.jsx)("svg",{className:"icon mr-1 block h-2 w-2 stroke-gray-800 stroke-2 align-middle","aria-hidden":"true",children:(0,i.jsx)("use",{href:"/files/images/marketing/icons.svg#arrow-up"})}),(0,i.jsx)("span",{children:"Scroll to top"})]})};t.default=n,n.displayName="navigation.ScrollToTop"},55330:function(e,t,a){"use strict";a.d(t,{Search:function(){return d}});var i=a(57437),s=a(2265),l=a(36137),n=a.n(l),r=a(99376),o=a(91663);let d=s.memo(({initialQuery:e})=>{let t=(0,r.useSearchParams)(),a=(0,r.usePathname)(),[l,n]=(0,s.use
1State)(e||""),[d,c]=(0,s.useState)([]),[m,f]=(0,s.useState)(!1),[h,b]=(0,s.useState)(!1),[y,x]=(0,s.useState)(!1),[v,w]=(0,s.useState)(-1),T=(0,s.useRef)(null);(0,s.useEffect)(()=>{function e(e){T.current&&!T.current.contains(e.target)&&b(!1)}return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[T,b]);let k=(0,s.useCallback)(e=>{let i=new URLSearchParams(t||"");return""===e?i.delete("q"):i.set("q",e),0===i.size?a:`${a}?${i}`},[a,t]),C=(0,s.useCallback)(()=>{n(""),c([]),w(-1),window.history.replaceState(null,"",k("")),g.clear()},[k]);(0,s.useEffect)(()=>{let e=e=>{if(!h||0===d.length)return;let t=d.length-1;switch(e.key){case"Down":case"ArrowDown":e.preventDefault(),w(e=>Math.min(e+1,t));break;case"Up":case"ArrowUp":e.preventDefault(),w(e=>Math.max(e-1,-1));break;case"Enter":{let e=d[v];if(e&&e.permalink){let e=document.querySelector(`a[data-result-id="${v}"]`);e&&e.click()}break}case"Esc":case"Escape":e.preventDefault(),C()}};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[d,h,v,C]);let S=(0,s.useCallback)(e=>{!function(e,t=0){p&&clearTimeout(p),p=setTimeout(e,t)}(()=>{e.length<2||u(e).then(t=>{window.history.replaceState(null,"",k(e)),f(!0),c(t),w(-1)}).catch(e=>{f(!0),x(!0),console.error("Failed to search",e)})},350)},[k]);(0,s.useEffect)(()=>{m||(S(l),g.highlight(l))},[S,m,l]);let A=(0,s.useCallback)(e=>{e.preventDefault(),S(l)},[S,l]),D=(0,s.useCallback)(e=>{let t=e.target.value;n(e=>(t!==e&&f(!1),t)),S(t)},[S]);return(0,i.jsxs)("div",{className:"relative w-full",ref:T,children:[(0,i.jsxs)("form",{className:"relative flex w-full",autoComplete:"off",autoCapitalize:"off",autoCorrect:"off",onSubmit:A,children:[(0,i.jsx)("input",{className:"input hide-search-ui w-full",name:"q",type:"search",placeholder:"Search...","aria-label":"Search",onFocus:()=>b(!0),onInput:D,value:l}),l.length>0&&(0,i.jsx)("button",{className:"absolute right-2 z-20 h-full cursor-pointer appearance-none border-none bg-transparent text-gray-500",type:"reset",onClick:C,children:(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20  ",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,i.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,i.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),h&&l.length>=2?(0,i.jsx)("div",{className:"js-docHighlight ba bc-overlay overlay-shadow absolute -inset-x-2 z-30 mx-auto max-w-2xl rounded-lg border border-gray-200 bg-white px-2 py-2 shadow-lg md:-inset-x-8 lg:-inset-x-24",children:m?y?(0,i.jsxs)("div",{className:"py-5 text-center text-gray-600",children:["Sorry, something went wrong.",(0,i.jsx)("br",{}),(0,i.jsx)("a",{href:`https://google.com/search?q=${encodeURIComponent(`${l} site:tailscale.com`)}`,className:"link",children:"Search using Google"})]}):d.length>0?(0,i.jsx)("ul",{className:"flex flex-col gap-1",children:d.map((e,t)=>(0,i.jsx)("li",{children:(0,i.jsx)(o.default,{id:t,highlighted:v===t,href:`${e.permalink}${e.permalink.includes("?")?"&":"?"}q=${encodeURIComponent(l)}`,title:e.title,description:e.description})},e.permalink))}):(0,i.jsxs)("div",{className:"py-5 text-center text-gray-600",children:["No results for “",l,"”"]}):(0,i.jsx)("div",{className:"py-4 text-center",children:"..."})}):null]})});d.displayName="Search";let c=new Map,u=e=>{if(c.has(e)){let[t,a]=c.get(e);if(!(Date.now()>a+2e4))return Promise.resolve(t)}let t=new URLSearchParams;return t.set("q",e),fetch(`/api/search?${t.toString()}`).then(e=>{if(!e.ok)throw Error("invalid response");return e.json()}).then(t=>(c.set(e,[t.data,Date.now()]),t.data))},p=null,g={highlight(e){let t=new(n())(document.querySelectorAll(".js-docHighlight"));t.unmark({done:()=>{e.length<2||t.mark(e)}})},clear(){new(n())(document.querySelectorAll(".js-docHighlight")).unmark()}};d.displayName="navigation.Search"},18137:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return d}});var i=a(57437),s=a(2265),l=a(61994);let n=()=>{let[e,t]=(0,s.useState)(!1),a=(0,s.useCallback)(()=>t(!0),[]),i=(0,s.useCallback)(()=>t(!1),[]),l=(0,s.useCallback)(()=>t(e=>!e),[]);return(0,s.useMemo)(()=>({value:e,set:t,setTrue:a,setFalse:i,toggle:l}),[i,a,e,l])};var r=a(46395);let o=({children:e})=>{let t=n();return(0,s.useEffect)(()=>{let e=document.getElementsByTagName("html")[0];return!0===t.value?e?.classList.add("overflow-hidden"):e?.classList.remove("overflow-hidden"),()=>{e?.classList.remove("overflow-hidden")}},[t.value]),(0,i.jsxs)("div",{className:"flex items-center gap-4",children:[(0,i.jsx)(u,{disclosure:t}),e,(0,i.jsx)(c,{disclosure:t})]})};var d=o;o.displayName="navigation.SheetLeft";let c=({disclosure:e})=>{let t=s.useRef(null);return(0,s.useEffect)(()=>
1{if(!e.value)return;let a=t.current;if(!a)return;let i=a.querySelectorAll('a[href], button, input, textarea, select, [tabindex]:not([tabindex="-1"])'),s=i[0],l=i[i.length-1],n=e=>{"Tab"===e.key&&(e.shiftKey?document.activeElement===s&&(e.preventDefault(),l?.focus()):document.activeElement===l&&(e.preventDefault(),s?.focus()))};return a.addEventListener("keydown",n),s?.focus(),()=>a.removeEventListener("keydown",n)},[e.value]),(0,i.jsxs)("div",{ref:t,id:"drawer",role:"dialog","aria-modal":"true","aria-labelledby":"dialog-label",className:(0,l.Z)(e.value?"fixed":"hidden","flex flex-col","left-0 top-0 z-[101] bg-white shadow-md","h-full min-w-80 max-w-80 px-4 pt-40"),children:[(0,i.jsxs)("div",{className:"flex items-center justify-between",children:[(0,i.jsx)("h3",{id:"dialog-label",className:"px-2 text-xl font-semibold",children:"Documentation"}),(0,i.jsxs)("button",{type:"button",className:"text-gray-600 hover:text-gray-800","data-docs-menu":"toggle","aria-expanded":e.value,"aria-controls":"drawer","aria-label":"Close docs navigation",onClick:e.setFalse,children:[(0,i.jsxs)("svg",{stroke:"currentColor",fill:"none",strokeWidth:"2",viewBox:"0 0 24 24",strokeLinecap:"round",strokeLinejoin:"round",className:"size-5",height:"1em",width:"1em",xmlns:"http://www.w3.org/2000/svg",children:[(0,i.jsx)("path",{d:"M18 6 6 18"}),(0,i.jsx)("path",{d:"m6 6 12 12"})]}),(0,i.jsx)("span",{className:"sr-only",children:"Close navigation"})]})]}),(0,i.jsx)(r.DocsMenu,{isOpen:e.value})]})};c.displayName="navigation.SheetLeft.InnerSheet";let u=({disclosure:e})=>(0,i.jsx)("button",{type:"button",className:"text-gray-600 hover:text-gray-800 md:hidden","aria-label":"Open docs navigation","aria-expanded":e.value,"aria-controls":"drawer",onClick:e.setTrue,children:(0,i.jsx)("svg",{className:"icon block stroke-gray-800 stroke-2",children:(0,i.jsx)("use",{href:"/files/images/marketing/icons.svg#list"})})});u.displayName="navigation.SheetLeft.SheetLeftTrigger"},76740:function(e,t,a){"use strict";var i=a(57437),s=a(2265),l=a(99376),n=a(27648),r=a(61994),o=a(82581);let d=({label:e,items:t,level:a,linkSrc:n,hideInNav:u})=>{let p=(0,l.usePathname)(),g=`${p}/`===n||p===n,m=g||p?.startsWith(n)||0===a,[f,h]=(0,s.useState)(m);if((0,s.useEffect)(()=>{g&&h(!0)},[g]),!n||u)return null;if(!t)return(0,i.jsx)(c,{label:e,level:a,linkSrc:n,active:g,classNames:`${a>0&&"ml-7"} text-sm`,hideInNav:u});let b=t?.length>0&&t.find(e=>!1===e.hideInNav);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("li",{className:"flex items-baseline gap-x-2",children:[b&&(0,i.jsxs)("button",{type:"button",onClick:()=>h(e=>!e),className:(0,r.Z)(b&&"rounded px-1 py-0 hover:cursor-pointer hover:bg-stone-100"),children:[(0,i.jsx)(o.Tt,{isExpanded:f,hidden:!b}),(0,i.jsx)("span",{className:"sr-only",children:"Toggle"})]}),(0,i.jsx)(c,{label:e,level:a,linkSrc:n,active:g,hideInNav:u})]}),b&&f&&(0,i.jsx)("ul",{className:"ml-2.5 flex flex-col items-start gap-0.5 border-l pl-2 text-sm text-neutral-800 dark:text-neutral-300/85",children:t.map((t,i)=>(0,s.createElement)(d,{...t,key:`${e}-${i}`,level:a+1,linkSrc:t.href||`/docs/${t.slug}`}))})]})};t.default=d,d.displayName="navigation.SubLink";let c=({label:e,linkSrc:t,level:a,active:s,classNames:l,hideInNav:o})=>{let d=(0,r.Z)("rounded py-1 px-2 text-stone-800 hover:text-stone-900",0===a&&"mb-0.5 pl-2 font-semibold -outline-offset-1",s?"bg-stone-100 hover:bg-stone-200":"hover:bg-stone-100 hover:cursor-pointer",l);return!o&&t?(0,i.jsx)(n.default,{href:t,"data-slug":t,className:d,children:e}):(0,i.jsx)("p",{className:d,children:e})};c.displayName="navigation.SubLink.SubLinkItem"},11476:function(e,t,a){"use strict";a.d(t,{AvailableSettings:function(){return p}});var i=a(57437),s=a(61994),l=a(27648),n=a(99376),r=a(82581),o=a(23731);function d(e){return e?e.split(",").filter(Boolean):[]}function c(e,t){return e.category.localeCompare(t.category)||e.id.localeCompare(t.id)}let u={mdm:{anchor:"available-settings",items:o.CF,filters:o.c,headings:["Category","Policy key","Supported platforms"]}},p=({settingType:e})=>{let t=(0,n.useRouter)(),a=(0,n.useSearchParams)(),o=(0,n.usePathname)(),p=u[e]??null;if(!p)return(0,i.jsxs)("div",{className:"note relative mt-4 rounded border border-solid pb-2 pl-9 pr-3 pt-3 text-base leading-normal tracking-tight md:text-sm",children:[(0,i.jsx)("span",{className:"absolute left-3 top-3 inline-block h-[18px] w-[18px] text-orange-300",children:(0,i.jsx)(r.aN,{})}),(0,i.jsx)("p",{children:"There was an error while rendering the content for this section, please try again later."})]});let{anchor:g,items:m,filters:f,headings:h}=p,b=Object.fromEntries(f.map(e=>{let t=d(a?.get(e.key)??null);return[e.key,t]})),y=[...m].sort(c).filter(e=>f.every(t=>{let a=b[t.key];return!a?.length||t.matches(a,e)}));return(0,i.jsxs)("div",{children:[f.map(e=>{let l=b[e.key];return(0,i.jsxs)("div",{className:"mb-6",children:[(0,i.jsxs)("p",{className:"mb-2 text-base font-medium text-gray-600",children:["Filter by ",e.label]}),(0,i.jsx)("div",{className:"flex flex-wrap items-center gap-1.5",children:e.options.map(n=>{let r=l?.includes(n);return(0,i.jsx)("button",{type:"button",onClick:()=>(function(e,i){var s;let l=new URLSearchParams(a?.toString()),n=d(l.get(e)),r=(s=n.includes(i)?n.filter(e=>e!==i):[...n,i]).length?s.join(","):null;null===r?l.delete(e):l.set(e,r);let c=l.toString(),u=c?`${o}?${c}#${g}`:`${o}#${g}`;t.push(u,{scroll:!1})})(e.key,n),className:(0,s.Z)("rounded-lg border px-3 py-1.5 text-base",r?"border-gray-800 bg-gray-800 text-white":"border-gray-200 bg-gray-50 text-gray-800 hover:bg-gray-200"),children:n},n)})})]},e.key)}),(0,i.jsx)("div",{className:"mb-6 border-t border-gray-400"}),(0,i.jsxs)("table",{className:"table-auto text-left text-sm rtl:text-right",children:[(0,i.jsx)("thead",{children:(0,i.jsx)("tr",{children:h.map(e=>(0,i.jsx)("th",{children:e}))})}),(0,i.jsx)("tbody",{children:y.map(e=>(0,i.jsxs)("tr",{className:"border border-b border-solid hover:bg-gray-50",children:[(0,i.jsx)("td",{children:e.category}),(0,i.jsx)("td",{children:(0,i.jsx)(l.default,{href:e.href,children:(0,i.jsx)("code",{children:e.id})})}),(0,i.jsx)("td",{children:Array.isArray(e.os)?e.os.join(", "):e.os})]},e.id))})]}),0===y.length&&(0,i.jsx)("p",{children:"No settings match your filters."}),(0,i.jsx)("div",{className:"mt-6 border-t border-gray-400"})]})}},90923:function(e,t,a){"use strict";a.d(t,{DocsPageActions:function(){return ei}});var i=a(57437),s=a(2265),l=a(99376),n={gray:{0:"#FAF9F8",50:"#F9F7F6",100:"#F7F5F4",200:"#EEEBEA",300:"#DAD6D5",400:"#AFACAB",500:"#706E6D",600:"#444342",700:"#2E2D2D",800:"#232222",900:"#1F1E1E",1e3:"#181717"},green:{0:"#EFFFED",50:"#CBF4C9",100:"#85D996",200:"#33C27F",300:"#1EA672",400:"#09825D",500:"#0E6245",600:"#0D4B3B",700:"#0B3733",800:"#082429",900:"#082429"}};let r=(0,i.jsx)("path",{d:"M22 12H18L15 21L9 3L6 12H2",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),o=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M20 4H4C2.89543 4 2 4.89543 2 6V18C2 19.1046 2.89543 20 4 20H20C21.1046 20 22 19.1046 22 18V6C22 4.89543 21.1046 4 20 4Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M10 4V8",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M2 8H22",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M6 4V8",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),d=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M10.1001 2.18201C11.3551 1.93913 12.6451 1.93913 13.9001 2.18201",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M13.9001 21.818C12.6451 22.0609 11.3551 22.0609 10.1001 21.818",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M17.6089 3.72099C18.6704 4.44022 19.5836 5.35686 20.2989 6.42099",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M2.18216 13.9C1.93928 12.645 1.93928 11.355 2.18216 10.1",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M20.2791 17.609C19.5599 18.6705 18.6432 19.5837 17.5791 20.299",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M21.8179 10.1C22.0607 11.355 22.0607 12.645 21.8179 13.9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M3.72119 6.391C4.44041 5.32953 5.35706 4.41628 6.42119 3.701",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M6.39117 20.279C5.3297 19.5598 4.41645 18.6431 3.70117 17.579",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),c=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M6 3V15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M18 9C19.6569 9 21 7.65685 21 6C21 4.34315 19.6569 3 18 3C16.3431 3 15 4.34315 15 6C15 7.65685 16.3431 9 18 9Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M6 21C7.65685 21 9 19.6569 9 18C9 16.3431 7.65685 15 6 15C4.34315 15 3 16.3431 3 18C3 19.6569 4.34315 21 6 21Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M18 9C18 11.3869 17.0518 13.6761 15.364 15.364C13.6761 17.0518 11.3869 18 9 18",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),u=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M12 2C9.43223 4.69615 8 8.27674 8 12C8 15.7233 9.43223 19.3038 12 22C14.5678 19.3
1038 16 15.7233 16 12C16 8.27674 14.5678 4.69615 12 2Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M2 12H22",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),p=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M2 18V21C2 21.6 2.4 22 3 22H7V19H10V16H12L13.4 14.6C14.7898 15.0841 16.3028 15.0823 17.6915 14.5947C19.0801 14.1072 20.2622 13.1628 21.0444 11.9161C21.8265 10.6694 22.1624 9.19417 21.9971 7.73173C21.8318 6.2693 21.1751 4.90624 20.1344 3.86556C19.0937 2.82488 17.7307 2.16818 16.2683 2.00288C14.8058 1.83759 13.3306 2.17349 12.0839 2.95563C10.8372 3.73778 9.89279 4.91987 9.40525 6.30851C8.91771 7.69716 8.91585 9.21016 9.4 10.6L2 18Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M16.5 8C16.7761 8 17 7.77614 17 7.5C17 7.22386 16.7761 7 16.5 7C16.2239 7 16 7.22386 16 7.5C16 7.77614 16.2239 8 16.5 8Z",fill:"currentColor",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),g=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M20 13C20 18 16.5 20.5 12.34 21.95C12.1222 22.0238 11.8855 22.0203 11.67 21.94C7.5 20.5 4 18 4 13V6.00001C4 5.73479 4.10536 5.48044 4.29289 5.2929C4.48043 5.10536 4.73478 5.00001 5 5.00001C7 5.00001 9.5 3.80001 11.24 2.28001C11.4519 2.09901 11.7214 1.99956 12 1.99956C12.2786 1.99956 12.5481 2.09901 12.76 2.28001C14.51 3.81001 17 5.00001 19 5.00001C19.2652 5.00001 19.5196 5.10536 19.7071 5.2929C19.8946 5.48044 20 5.73479 20 6.00001V13Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M9 12L11 14L15 10",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),m=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M21 16L21 21L16 21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M21 8L21 3L16 3",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M2 12L10.3 12C10.8326 12.0057 11.361 11.905 11.8542 11.7037C12.3474 11.5025 12.7954 11.2047 13.172 10.828L21 3",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M15 15L21 21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),f=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M15 5L21.3 11.3C21.5237 11.523 21.7013 11.7879 21.8224 12.0796C21.9435 12.3714 22.0059 12.6841 22.0059 13C22.0059 13.3159 21.9435 13.6286 21.8224 13.9204C21.7013 14.2121 21.5237 14.477 21.3 14.7L17 19",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M9.586 5.586C9.21101 5.2109 8.70239 5.00011 8.172 5H3C2.73478 5 2.48043 5.10536 2.29289 5.29289C2.10536 5.48043 2 5.73478 2 6V11.172C2.00011 11.7024 2.2109 12.211 2.586 12.586L8.29 18.29C8.74451 18.7416 9.35925 18.9951 10 18.9951C10.6408 18.9951 11.2555 18.7416 11.71 18.29L15.29 14.71C15.7416 14.2555 15.9951 13.6408 15.9951 13C15.9951 12.3592 15.7416 11.7445 15.29 11.29L9.586 5.586Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M6.5 10C6.77614 10 7 9.77614 7 9.5C7 9.22386 6.77614 9 6.5 9C6.22386 9 6 9.22386 6 9.5C6 9.77614 6.22386 10 6.5 10Z",fill:"currentColor",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),h=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M19 11H5C3.89543 11 3 11.8954 3 13V20C3 21.1046 3.89543 22 5 22H19C20.1046 22 21 21.1046 21 20V13C21 11.8954 20.1046 11 19 11Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M7 11V7C7 5.67392 7.52678 4.40215 8.46447 3.46447C9.40215 2.52678 10.6739 2 12 2C13.3261 2 14.5979 2.52678 15.5355 3.46447C16.4732 4.40215 17 5.67392 17 7V11",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),b=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M21 16H17C16.4477 16 16 16.4477 16 17V21C16 21.5523 16.4477 22 17 22H21C21.5523 22 22 21.5523 22 21V17C22 16.4477 21.5523 16 21 16Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M7 16H3C2.44772 16 2 16.4477 2 17V21C2 21.5523 2.44772 22 3 22H7C7.55228 22 8 21.5523 8 21V17C8 16.4477 7.55228 16 7 16Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M14 2H10C9.44772 2 9 2.44772 9 3V7C9 7.55228 9.44772 8 10 8H14C14.5523 8 15 7.55228 15 7V3C15 2.44772 14.5523 2 14 2Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M5 16V13C5 12.7348 5.10536 12.4804 5.29289 12.2929C5.48043 12.1054 5.73478 12 6 12H18C18.2652 12 18.5196 12.1054 18.7071 12.2929C18.8946 12.4804 19 12.7348 19 13V16",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M12 12V8",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),y=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M16 18L22 12L16 6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M8 6L2 12L8 18",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),x=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M20 8H10C8.89543 8 8 8.89543 8 10V20C8 21.1046 8.89543 22 10 22H20C21.1046 22 22 21.1046 22 20V10C22 8.89543 21.1046 8 20 8Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M4 16C2.9 16 2 15.1 2 14V4C2 2.9 2.9 2 4 2H14C15.1 2 16 2.9 16 4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),v=(0,i.jsx)("path",{d:"M20 6L9 17L4 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),w=(0,i.jsx)("path",{d:"M14.6999 6.30001C14.5166 6.48694 14.414 6.73826 14.414 7.00001C14.414 7.26176 14.5166 7.51308 14.6999 7.70001L16.2999 9.30001C16.4868 9.48324 16.7381 9.58587 16.9999 9.58587C17.2616 9.58587 17.5129 9.48324 17.6999 9.30001L21.4699 5.53001C21.9727 6.6412 22.1249 7.87924 21.9063 9.07916C21.6877 10.2791 21.1086 11.3839 20.2461 12.2463C19.3837 13.1087 18.2789 13.6878 17.079 13.9065C15.8791 14.1251 14.641 13.9728 13.5299 13.47L6.61986 20.38C6.22203 20.7778 5.68246 21.0013 5.11986 21.0013C4.55725 21.0013 4.01768 20.7778 3.61986 20.38C3.22203 19.9822 2.99854 19.4426 2.99854 18.88C2.99854 18.3174 3.22203 17.7778 3.61986 17.38L10.5299 10.47C10.027 9.35882 9.87477 8.12078 10.0934 6.92087C10.312 5.72095 10.8911 4.61617 11.7536 3.75373C12.616 2.8913 13.7208 2.31218 14.9207 2.09355C16.1206 1.87493 17.3587 2.02718 18.4699 2.53001L14.7099 6.29001L14.6999 6.30001Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),T=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M16 21V19C16 17.9391 15.5786 16.9217 14.8284 16.1716C14.0783 15.4214 13.0609 15 12 15H6C4.93913 15 3.92172 15.4214 3.17157 16.1716C2.42143 16.9217 2 17.9391 2 19V21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M9 11C11.2091 11 13 9.20914 13 7C13 4.79086 11.2091 3 9 3C6.79086 3 5 4.79086 5 7C5 9.20914 6.79086 11 9 11Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M16 11L18 13L22 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),k=(0,i.jsx)("path",{d:"M20 6C20 4.89543 19.1046 4 18 4H4C2.89543 4 2 4.89543 2 6V14C2 15.1046 2.89543 16 4 16H14M1 20H14M17.8571 9H22.1429C22.6162 9 23 9.49249 23 10.1V18.9C23 19.5075 22.6162 20 22.1429 20H17.8571C17.3838 20 17 19.5075 17 18.9V10.1C17 9.49249 17.3838 9 17.8571 9Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),C=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M14 2L18 6L7 17H3V13L14 2Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M3 22H21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),S=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M8.49951 12.0001H1.49951",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"}
1),(0,i.jsx)("path",{d:"M13.501 12H17.501",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"}),(0,i.jsx)("path",{d:"M7.42285 8.00005V4.72076C7.42285 4.29033 7.69828 3.90819 8.10662 3.77208L12.1066 2.43874C12.7542 2.2229 13.4229 2.70487 13.4229 3.38743V8.00019V16.0002V20.6126C13.4229 21.2952 12.7542 21.7771 12.1067 21.5613L8.10665 20.2281C7.6983 20.092 7.42285 19.7098 7.42285 19.2794V16.0001",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"}),(0,i.jsx)("rect",{x:"17.501",y:"9",width:"6",height:"6",rx:"1.5",stroke:"currentColor",strokeWidth:"2"})]}),A=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M8.99951 12H1.99951",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"}),(0,i.jsx)("path",{d:"M13.9238 12H22",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"}),(0,i.jsx)("path",{d:"M7.92383 8.00005V4.72076C7.92383 4.29033 8.19926 3.90819 8.6076 3.77208L12.6076 2.43874C13.2551 2.2229 13.9238 2.70487 13.9238 3.38743V8.00019V16.0002V20.6126C13.9238 21.2952 13.2552 21.7771 12.6076 21.5613L8.60763 20.2281C8.19927 20.092 7.92383 19.7099 7.92383 19.2794V16.0001",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"}),(0,i.jsx)("path",{d:"M18.9995 15L22 12L18.9995 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),D=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M10.4004 19.1111C10.8461 20.2274 11.4002 20.8889 12.0007 20.8889C13.4734 20.8889 14.6673 16.9092 14.6673 12C14.6673 7.09081 13.4734 3.11111 12.0007 3.11111C11.4002 3.11111 10.8461 3.77261 10.4004 4.88889",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"}),(0,i.jsx)("path",{d:"M5.77767 12.8894L3.1106 15.5561L5.77767 18.2228",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M18.2218 11.1111L20.8889 8.44449L18.2218 5.77779",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M14.667 8.44446H20.8892",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"}),(0,i.jsx)("path",{d:"M14.667 15.5555H20.8892",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M11.1113 8.44446H3.11133",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M11.1113 15.5556L3.11133 15.5556",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}),V=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M4.88916 12.7114C3.77288 12.2656 3.11138 11.7115 3.11138 11.1111C3.11138 9.63834 7.09107 8.44444 12.0003 8.44444C16.9095 8.44444 20.8892 9.63835 20.8892 11.1111C20.8892 11.7115 20.2277 12.2656 19.1114 12.7114",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"}),(0,i.jsx)("path",{d:"M14.668 20.8889L18.2231 20.8889L18.2231 17.3333",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M9.33301 20.8889L5.77792 20.8889L5.77792 17.3333",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M13.7783 3.11111L13.7783 8.44445",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M10.2227 3.11111L10.2227 8.44445",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M13.7782 12.0001L13.7782 14.9335C13.7731 15.4069 13.8627 15.8766 14.0415 16.315C14.2204 16.7534 14.4851 17.1516 14.82 17.4863L18.2227 20.889",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M10.2228 12L10.2228 14.9333C10.2279 15.4068 10.1383 15.8765 9.95943 16.3149C9.78053 16.7533 9.51588 17.1515 9.181 17.4862L5.77832 20.8889",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),G=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("g",{clipPath:"url(#clip0_1192_4912)",children:[(0,i.jsx)("path",{d:"M13 3H4C3.46957 3 2.96086 3.21071 2.58579 3.58579C2.21071 3.96086 2 4.46957 2 5V15C2 15.5304 2.21071 16.0391 2.58579 16.4142C2.96086 16.7893 3.46957 17 4 17H20C20.5304 17 21.0391 16.7893 21.4142 16.4142C21.7893 16.0391 22 15.5304 22 15V12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M8 21H16",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M12 17V21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M15.9645 5.49989H23.0355",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M19.5358 1.99999V9.07106",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),(0,i.jsx)("defs",{children:(0,i.jsx)("clipPath",{id:"clip0_1192_4912",children:(0,i.jsx)("rect",{width:"24",height:"24",fill:"white"})})})]}),j=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M12 8C16.9706 8 21 6.65685 21 5C21 3.34315 16.9706 2 12 2C7.02944 2 3 3.34315 3 5C3 6.65685 7.02944 8 12 8Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M3 12C2.99856 12.5592 3.46595 13.1073 4.34943 13.5826C5.23292 14.0579 6.49733 14.4415 8 14.69",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M21 9.3V5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M3 5V19C2.99937 19.6487 3.62952 20.28 4.796 20.7992C5.96248 21.3184 7.60242 21.6976 9.47 21.88",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M12 12V16H16",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M13 20C13.6296 20.8395 14.5075 21.4597 15.5092 21.7726C16.5108 22.0855 17.5856 22.0753 18.5811 21.7434C19.5767 21.4116 20.4426 20.7749 21.0562 19.9236C21.6698 19.0722 22 18.0494 22 17C22 15.8065 21.5259 
114.6619 20.682 13.818C19.8381 12.9741 18.6935 12.5 17.5 12.5C16.17 12.5 14.96 13.04 14.09 13.91L12 16",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),L=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M9 11L12 14L22 4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M21 12V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V5C3 4.46957 3.21071 3.96086 3.58579 3.58579C3.96086 3.21071 4.46957 3 5 3H16",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),M=(0,i.jsx)("path",{d:"M22 3H2L10 12.46V19L14 21V12.46L22 3Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),P=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M10 4C10 2.9 9.1 2 8 2",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M4 2C2.9 2 2 2.9 2 4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M2 8C2 9.1 2.9 10 4 10",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M8 10C9.1 10 10 9.1 10 8",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M21 7L18 10L15 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M18 10V5C18 3.3 16.7 2 15 2H14",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M16 14H20C21.1046 14 22 14.8954 22 16V20C22 21.1046 21.1046 22 20 22H16C14.8954 22 14 21.1046 14 20V16C14 14.8954 14.8954 14 16 14Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M10 14C8.9 14 8 14.9 8 16V20C8 21.1 8.9 22 10 22",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M4 14C2.9 14 2 14.9 2 16V20C2 21.1 2.9 22 4 22",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),I=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M16 21V19C16 17.9391 15.5786 16.9217 14.8284 16.1716C14.0783 15.4214 13.0609 15 12 15H6C4.93913 15 3.92172 15.4214 3.17157 16.1716C2.42143 16.9217 2 17.9391 2 19V21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M9 11C11.2091 11 13 9.20914 13 7C13 4.79086 11.2091 3 9 3C6.79086 3 5 4.79086 5 7C5 9.20914 6.79086 11 9 11Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M22 21V19C21.9993 18.1137 21.7044 17.2528 21.1614 16.5523C20.6184 15.8519 19.8581 15.3516 19 15.13",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M16 3.13C16.8604 3.35031 17.623 3.85071 18.1676 4.55232C18.7122 5.25392 19.0078 6.11683 19.0078 7.005C19.0078 7.89318 18.7122 8.75608 18.1676 9.45769C17.623 10.1593 16.8604 10.6597 16 10.88",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),O=(0,i.jsx)("path",{d:"M3.99999 14C3.81076 14.0007 3.62522 13.9476 3.46495 13.847C3.30467 13.7464 3.17623 13.6024 3.09454 13.4317C3.01286 13.261 2.98129 13.0706 3.00349 12.8827C3.0257 12.6947 3.10077 12.517 3.21999 12.37L13.12 2.17001C13.1943 2.08429 13.2955 2.02637 13.407 2.00574C13.5185 1.98512 13.6337 2.00302 13.7337 2.05651C13.8337 2.11001 13.9126 2.19591 13.9573 2.30012C14.0021 2.40433 14.0101 2.52066 13.98 2.63001L12.06 8.65001C12.0034 8.80153 11.9844 8.96453 12.0046 9.12502C12.0248 9.2855 12.0837 9.43869 12.1761 9.57144C12.2685 9.70418 12.3918 9.81253 12.5353 9.88717C12.6788 9.96182 12.8382 10.0005 13 10H20C20.1892 9.99937 20.3748 10.0524 20.535 10.153C20.6953 10.2536 20.8238 10.3977 20.9054 10.5684C20.9871 10.7391 21.0187 10.9294 20.9965 11.1174C20.9743 11.3053 20.8992 11.4831 20.78 11.63L10.88 21.83C10.8057 21.9157 10.7045 21.9737 10.593 21.9943C10.4815 22.0149 10.3663 21.997 10.2663 21.9435C10.1663 21.89 10.0874 21.8041 10.0427 21.6999C9.99791 21.5957 9.98991 21.4794 10.02 21.37L11.94 15.35C11.9966 15.1985 12.0156 15.0355 11.9954 14.875C11.9752 14.7145 11.9163 14.5613 11.8239 14.4286C11.7315 14.2958 11.6082 14.1875 11.4647 14.1129C11.3212 14.0382 11.1617 13.9995 11 14H3.99999Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),W=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M4 14H10V20",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M20 10H14V4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M14 10L21 3",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M3 21L10 14",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),N=(0,i.jsx)("path",{d:"M4 19.5V4.5C4 3.83696 4.26339 3.20107 4.73223 2.73223C5.20107 2.26339 5.83696 2 6.5 2H20V22H6.5C5.83696 22 5.20107 21.7366 4.73223 21.2678C4.26339 20.7989 4 20.163 4 19.5ZM4 19.5C4 18.837 4.26339 18.2011 4.73223 17.7322C5.20107 17.2634 5.83696 17 6.5 17H20",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),U=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M15.6858 15C15.1298 17.6299 13.8536 20.0534 11.9998 22C9.43207 19.3038 7.99984 15.7233 7.99984 12C7.99984 8.27674 9.43207 4.69615 11.9998 2C10.1517 2.00048 8.33986 2.51311 6.76543 3.48098C5.191 4.44885 3.91559 5.8341 3.08078 7.48294C2.24596 9.13178 1.88441 10.9797 2.03625 12.8216C2.1881 14.6635 2.8474 16.4273 3.94096 17.9171C5.03452 19.407 6.51957 20.5647 8.23125 21.2616C9.94292 21.9586 11.8143 22.1676 13.6375 21.8654C15.4608 21.5632 17.1646 20.7617 18.5599 19.5498C19.9552 18.3379 20.9874 16.763 21.5418 15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M2 12H10.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M20 6V4C20 3.46957 19.7893 2.96086 19.4142 2.58579C19.0391 2.21071 18.5304 2 18 2C17.4696 2 16.9609 2.21071 16.5858 2.58579C16.2107 2.96086 16 3.46957 16 4V6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M21 6H15C14.4477 6 14 6.44772 14 7V10C14 10.5523 14.4477 11 15 11H21C21.5523 11 22 10.5523 22 10V7C22 6.44772 21.5523 6 21 6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),H=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M12 3L10.088 8.813C9.99015 9.11051 9.82379 9.38088 9.60234 9.60234C9.38088 9.82379 9.11051 9.99015 8.813 10.088L3 12L8.813 13.912C9.11051 14.0099 9.38088 14.1762 9.60234 14.3977C9.82379 14.6191 9.99015 14.8895 10.088 15.187L12 21L13.912 15.187C14.0099 14.8895 14.1762 14.6191 14.3977 14.3977C14.6191 14.1762 14.8895 14.0099 15.187 13.912L21 12L15.187 10.088C14.8895 9.99015 14.6191 9.82379 14.3977 9.60234C14.1762 9.38088 14.0099 9.11051 13.912 8.813L12 3Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M5 3V7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M19 17V21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M3 5H7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M17 19H21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),E=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M3 12C3 9.61305 3.94821 7.32387 5.63604 5.63604C7.32387 3.94821 9.61305 3 12 3C14.516 3.00947 16.931 3.99122 18.74 5.74L21 8",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M21 3V8H16",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M21 12C21 14.3869 20.0518 16.6761 18.364 18.364C16.6761 20.0518 14.3869 21 12 21C9.48395 20.9905 7.06897 20.0088 5.26 18.26L3 16",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M8 16H3V21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),z=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M20 3H15C14.4477 3 14 3.44772 14 4V9C14 9.55228 14.4477 10 15 10H20C20.5523 10 21 9.55228 21 9V4C21 3.44772 20.5523 3 20 3Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M10 21V8C10 7.73478 9.89464 7.48043 9.70711 7.29289C9.51957 7.10536 9.26522 7 9 7H4C3.73478 7 3.48043 7.10536 3.29289 7.29289C3.10536 7.48043 3 7.73478 3 8V20C3 20.2652 3.10536 20.5196 3.29289 20.7071C3.48043 20.8946 3.73478 21 4 21H16C16.2652 21 16.5196 20.8946 16.7071 20.7071C16.8946 20.5196 17 20.2652 17 20V15C17 14.7348 16.8946 14.4804 16.7071 14.2929C16.5196 14.1054 16.2652 14 16 14H3",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),R=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M4 17L10 11L4 5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M12 19H20",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),q=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M3 17L5 19L9 15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M3 7L5 9L9 5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M13 6H21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M13 12H21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M13 18H21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),F=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M10 13C10.4295 13.5741 10.9774 14.0492 11.6066 14.3929C12.2357 14.7367 12.9315 14.9411 13.6467 14.9923C14.3618 15.0435 15.0796 14.9404 15.7513 14.6898C16.4231 14.4392 17.0331 14.0471 17.54 13.54L20.54 10.54C21.4508 9.59699 21.9548 8.33397 21.9434 7.02299C21.932 5.71201 21.4061 4.45794 20.4791 3.5309C19.5521 2.60386 18.298 2.07802 16.987 2.06663C15.676 2.05523 14.413 2.55921 13.47 3.47L11.75 5.18",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M14.0002 11C13.5707 10.4259 13.0228 9.95083 12.3936 9.60707C11.7645 9.26331 11.0687 9.05889 10.3535 9.00768C9.63841 8.95646 8.92061 9.05964 8.24885 9.31023C7.5771 9.56082 6.96709 9.95294 6.4602 10.46L3.4602 13.46C2.54941 14.403 2.04544 15.666 2.05683 16.977C2.06822 18.288 2.59407 19.5421 3.52111 20.4691C4.44815 21.3961 5.70221 21.922 7.01319 21.9334C8.32418 21.9448 9.58719 21.4408 10.5302 20.53L12.2402 18.82",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),K=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M3 15C4.65685 15 6 13.6569 6 12C6 10.3431 4.65685 9 3 9C1.34315 9 0 10.3431 0 12C0 13.6569 1.34315 15 3 15Z",fill:"white"}),(0,i.jsx)("path",{d:"M12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15Z",fill:"white"}),(0,i.jsx)("path",{d:"M12 24C13.6569 24 15 22.6569 15 21C15 19.3431 13.6569 18 12 18C10.3431 18 9 19.3431 9 21C9 22.6569 10.3431 24 12 24Z",fill:"white"}),(0,i.jsx)("path",{d:"M21 15C22.6569 15 24 13.6569 24 12C24 10.3431 22.6569 9 21 9C19.3431 9 18 10.3431 18 12C18 13.6569 19.3431 15 21 15Z",fill:"white"}),(0,i.jsx)("path",{d:"M3 24C4.65685 24 6 22.6569 6 21C6 19.3431 4.65685 18 3 18C1.34315 18 0 19.3431 0 21C0 22.6569 1.34315 24 3 24Z",fill:"white",fillOpacity:"0.4"}),(0,i.jsx)("path",{d:"M21 24C22.6569 24 24 22.6569 24 21C24 19.3431 22.6569 18 21 18C19.3431 18 18 19.3431 18 21C18 22.6569 19.3431 24 21 24Z",fill:"white",fillOpacity:"0.4"}),(0,i.jsx)("path",{d:"M3 6C4.65685 6 6 4.65685 6 3C6 1.34315 4.65685 0 3 0C1.34315 0 0 1.34315 0 3C0 4.65685 1.34315 6 3 6Z",fill:"white",fillOpacity:"0.4"}),(0,i.jsx)("path",{d:"M12 6C13.6569 6 15 4.65685 15 3C15 1.34315 13.6569 0 12 0C10.3431 0 9 1.34315 9 3C9 4.65685 10.3431 6 12 6Z",fill:"white",fillOpacity:"0.4"}),(0,i.jsx)("path",{d:"M21 6C22.6569 6 24 4.65685 24 3C24 1.34315 22.6569 0 21 0C19.3431 0 18 1.34315 18 3C18 4.65685 19.3431 6 21 6Z",fill:"white",fillOpacity:"0.4"})]}),B=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M9 3H4C3.44772 3 3 3.44772 3 4V9C3 9.55228 3.44772 10 4 10H9C9.55228 10 10 9.55228 10 9V4C10 3.44772 9.55228 3 9 3Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M20 3H15C14.4477 3 14 3.44772 14 4V9C14 9.55228 14.4477 10 15 10H20C20.5523 10 21 9.55228 21 9V4C21 3.44772 20.5523 3 20 3Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M20 14H15C14.4477 14 14 14.4477 14 15V20C14 20.5523 14.4477 21 15 21H20C20.5523 21 21 20.5523 21 20V15C21 14.4477 20.5523 14 20 14Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M9 14H4C3.44772 14 3 14.4477 3 15V20C3 20.5523 3.44772 21 4 21H9C9.55228 21 10 20.5523 10 20V15C10 14.4477 9.55228 14 9 14Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),_=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("g",{clipPath:"url(#clip0_1689_6617)",children:(0,i.jsx)("path",{d:"M19.439 7.84999C19.39 8.17199 19.4981 8.49799 19.7281 8.72799L21.296 10.296C21.766 10.766 22.0021 11.383 22.0021 12C22.0021 12.617 21.767 13.233 21.296 13.704L19.685 15.315C19.5768 15.4232 19.4447 15.5045 19.2993 15.5524C19.154 15.6003 18.9994 15.6135 18.848 15.591C18.378 15.521 18.046 15.111 17.88 14.666C17.7344 14.2728 17.4922 13.9225 17.1758 13.6474C16.8593 13.3722 16.4788 13.1811 16.0692 13.0915C15.6595 13.0019 15.2339 13.0167 14.8315 13.1346C14.4291 13.2525 14.0628 13.4697 13.7663 13.7662C13.4698 14.0627 13.2526 14.429 13.1347 14.8315C13.0168 15.2339 13.0019 15.6595 13.0915 16.0691C13.1811 16.4787 13.3723 16.8593 13.6474 17.1757C13.9226 17.4922 14.2728 17.7343 14.666 17.88C15.112 18.046 15.521 18.377 15.591 18.848C15.6137 18.9994 15.6005 19.1539 15.5526 19.2993C15.5046 19.4447 15.4233 19.5768 15.315 19.685L13.705 21.295C13.4814 21.5194 13.2157 21.6973 12.9231 21.8186C12.6305 21.94 12.3168 22.0023 12 22.002C11.6835 22.0024 11.37 21.9402 11.0776 21.8191C10.7852 21.6979 10.5195 21.5201 10.296 21.296L8.72805 19.728C8.61472 19.6145 8.47634 19.5291 8.32403 19.4787C8.17172 19.4283 8.00972 19.4144 7.85105 19.438C7.35805 19.512 7.01105 19.942 6.83105 20.406C6.68017 20.7932 6.43513 21.1368 6.11809 21.4055C5.80105 21.6742 5.42202 21.8597 5.01528 21.9451C4.60853 22.0305 4.18692 22.0131 3.78857 21.8946C3.39022 21.7761 3.02771 21.5601 2.73383 21.2662C2.43995 20.9723 2.22397 20.6098 2.10543 20.2115C1.98689 19.8131 1.96954 19.3915 2.05494 18.9848C2.14033 18.578 2.32579 18.199 2.59452 17.8819C2.86325 17.5649 3.20679 17.3199 3.59405 17.169C4.05805 16.989 4.48805 16.642 4.56105 16.149C4.58476 15.9904 4.57097 15.8284 4.52079 15.6761C4.4706 15.5238 4.38541 15.3854 4.27205 15.272L2.70405 13.704C2.4799 13.4805 2.30213 13.2149 2.18097 12.9225C2.05981 12.63 1.99765 12.3165 1.99805 12C1.99805 11.383 2.23405 10.766 2.70405 10.296L4.23005 8.76999C4.47005 8.52999 4.81105 8.41699 5.14705 8.46699C5.66205 8.54399 6.02405 8.99499 6.22005 9.47699C6.37575 9.85874 6.62344 10.1961 6.94106 10.4589C7.25869 10.7217 7.63639 10.902 8.04052 10.9835C8.44466 11.065 8.86269 11.0453 9.25737 10.9262C9.65206 10.807 10.0112 10.5921 10.3027 10.3006C10.5942 10.0091 10.8091 9.65 10.9283 9.25531C11.0474 8.86063 11.0671 8.4426 10.9855 8.03846C10.904 7.63433 10.7238 7.25663 10.461 6.939C10.1981 6.62138 9.8608 6.37369 9.47905 6.21799C8.99705 6.02199 8.54605 5.65999 8.46905 5.14499C8.41905 4.80899 8.53105 4.46899 8.77205 4.22799L10.297 2.70299C10.5205 2.47914 10.786 2.30162 11.0782 2.18064C11.3705 2.05966 11.6837 1.99759 12 1.99799C12.617 1.99799 13.234 2.23399 13.704 2.70399L15.272 4.27199C15.502 4.50199 15.8
128 4.60999 16.149 4.56199C16.642 4.48799 16.989 4.05799 17.169 3.59399C17.3199 3.20673 17.565 2.86319 17.882 2.59446C18.199 2.32573 18.5781 2.14027 18.9848 2.05488C19.3916 1.96948 19.8132 1.98683 20.2115 2.10537C20.6099 2.22391 20.9724 2.43988 21.2663 2.73377C21.5602 3.02765 21.7761 3.39016 21.8947 3.78851C22.0132 4.18686 22.0306 4.60847 21.9452 5.01521C21.8598 5.42196 21.6743 5.80099 21.4056 6.11803C21.1368 6.43507 20.7933 6.68011 20.406 6.83099C19.942 7.01099 19.512 7.35699 19.439 7.84999Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),(0,i.jsx)("defs",{children:(0,i.jsx)("clipPath",{id:"clip0_1689_6617",children:(0,i.jsx)("rect",{width:"24",height:"24",fill:"transparent"})})})]}),Z=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("path",{d:"M3 3L10.07 19.97L12.58 12.58L19.97 10.07L3 3Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,i.jsx)("path",{d:"M13 13L19 19",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),$=(0,i.jsx)("path",{fill:"currentColor",stroke:"currentColor",strokeWidth:"0.3",d:"M20.56 18H3.44C2.65 18 2 17.37 2 16.59V7.41C2 6.63 2.65 6 3.44 6h17.12c.79 0 1.44.63 1.44 1.41v9.18c0 .78-.65 1.41-1.44 1.41M3.44 6.94c-.26 0-.48.21-.48.47v9.19c0 .25.22.46.48.46h17.12c.26 0 .48-.21.48-.46V7.41c0-.26-.22-.47-.48-.47zm1.45 8.25V8.81h1.92l1.92 2.35l1.92-2.35h1.93v6.38h-1.93v-3.66l-1.92 2.35l-1.92-2.35v3.66zm12.01 0l-2.9-3.1h1.94V8.81h1.92v3.28h1.93z"}),Q="globe",J="medium",Y={small:16,[J]:24,large:48},X=({size:e=J,color:t=n.gray[700],type:a=Q})=>(0,i.jsx)("svg",{width:Y[e],height:Y[e],viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",color:t,children:ee[a]}),ee={activity:r,appConnector:S,appWindow:o,circleDashed:d,code:y,check:v,copy:x,devices:k,edit:C,exitNode:A,gitBranch:c,[Q]:u,key:p,lock:h,markdown:$,natGateway:D,network:b,shield:g,split:m,subnetRouter:V,tags:f,userCheck:T,wrench:w,devicePlus:G,dbBackup:j,squareCheck:L,filter:M,replaceAll:P,users:I,zap:O,minimize:W,book:N,globeLock:U,sparkles:H,refresh:E,blocks:z,terminal:R,list:q,link:F,tailscale:K,layoutGrid:B,puzzle:_,mousePointer:Z};var et=a(27648),ea=a(94051);let ei=({formattedDate:e,lastValidated:t,docPath:a})=>{let r=(0,l.usePathname)(),[o,d]=(0,s.useState)(!1),c=`${r?.replace(/\/$/,"")}.md`,u=async e=>{e.preventDefault();let t=await fetch(c),a=await t.text();await navigator.clipboard.writeText(a),d(!0),setTimeout(()=>d(!1),1500)};return(0,i.jsxs)("div",{className:"my-4 flex items-center gap-x-2 text-sm font-medium leading-snug text-gray-600",children:[e&&(0,i.jsxs)("span",{children:["Last validated: ",(0,i.jsx)("time",{dateTime:t,children:e})]}),(0,i.jsxs)("span",{className:"hidden lg:flex lg:items-center lg:gap-x-2",children:[(0,i.jsx)("span",{className:"select-none","aria-hidden":"true",children:"|"}),(0,i.jsxs)("button",{type:"button",onClick:u,className:"flex gap-x-2 hover:text-gray-900",children:[o?(0,i.jsx)(X,{type:"check",size:"small",color:n.green[300]}):(0,i.jsx)(X,{type:"copy",size:"small"}),(0,i.jsx)("span",{children:"Copy as Markdown"})]}),(0,i.jsx)("span",{className:"select-none","aria-hidden":"true",children:"|"}),(0,i.jsxs)(et.default,{href:`${(0,ea.ss)(a)}.md`,target:"_blank",className:"flex flex-row items-center gap-x-2",children:[(0,i.jsx)(X,{type:"markdown",size:"small",color:"#2E2D2D"}),(0,i.jsx)("span",{className:"  transition-colors hover:text-gray-900",children:"View as Markdown"})]})]})]})}},81242:function(e,t,a){"use strict";a.d(t,{HeaderLink:function(){return d}});var i=a(57437),s=a(2265),l=a(27648),n=a(16842),r=a(82581),o=a(81422);let d=s.memo(({children:e,level:t,id:a})=>{let s=`h${t}`,o=(0,n.Z)();return(0,i.jsx)(s,{id:a,className:"scroll-mt-40 md:scroll-mt-36",children:(0,i.jsxs)(l.default,{href:`#${a}`,onClick:e=>{o(e);let t=e.currentTarget.href;navigator.clipboard.writeText(t)},className:"group flex items-center gap-2",children:[(0,i.jsx)("span",{id:"inner-text",children:e}),(0,i.jsx)(r.kc,{})]})})});d.displayName=o.V},86290:function(e,t,a){"use strict";a.d(t,{Dx:function(){return o},W2:function(){return r},ck:function(){return c},jo:function(){return d}});var i=a(57437),s=a(2265),l=a(27648),n=a(61994);let r=s.memo(({children:e})=>(0,i.jsx)("div",{className:"flex max-h-[50vh] flex-col gap-2 overflow-y-auto",children:e}));r.displayName="ui.LinkList.Container";let o=s.memo(({children:e})=>(0,i.jsx)("p",{className:"tracking-wider text-xs font-semibold uppercase",children:e}));o.displayName="ui.LinkList.Title";let d=s.memo(({children:e,className:t})=>(0,i.jsx)("ul",{className:(0,n.Z)("flex flex-col gap-1 overflow-x-auto overflow-y-auto py-1 leading-tight",t),children:e}));d.displayName="ui.LinkList.NestedList";let c=s.memo(({href:e,text:t,children:a,onClick:s})=>(0,i.jsxs)("li",{children:[(0,i.jsx)(l.default,{href:e,className:"text-sm !text-gray-500 transition-colors hover:!text-gray-900",onClick:s,children:t}),a]}));c.displayName="ui.LinkList.Item"},81422:function(e,t,a){"use strict";a.d(t,{V:function(){return i}});let i="HeaderLink"},49879:function(e,t,a){"use strict";a.d(t,{gK:function(){return r},pT:function(){return k.AvailableSettings},aG:function(){return o},gN:function(){return c},At:function(){return p},Jb:function(){return d},bg:function(){return g},ZP:function(){return m},pR:function(){return h},kn:function(){return b},Bc:function(){return x},tI:function(){return w},VG:function(){return M.V},KS:function(){return T.HeaderLink},rU:function(){return C},Mc:function(){return S},iG:function(){return A},Vp:function(){return D},nk:function(){return j},uq:function(){return L}});var i=a(57437),s=a(2265),l=a(27648);let n={"derp-map-page":{title:"DERP map",path:"/derpmap/default"},"login-page":{title:"Login",path:"/login"},"start-oidc-page":{title:"Sign up with OIDC",path:"/start/oidc"},"start-page":{title:"Sign up",path:"/start"}},r=({id:e,title:t,font_weight:a,code:s})=>{let r=n[e];if(!r)throw Error(`Invalid auth_link id: ${e}`);return(0,i.jsx)(l.default,{href:"https://login.tailscale.com"+r.path,className:`${"medium"===a?"!font-medium":"!font-bold"} !text-[#3b82f6] underline decoration-blue-50 underline-offset-4 hover:!text-[#2563eb] hover:!decoration-[#3b82f6] focus-visible:no-underline`,children:"true"===s?(0,i.jsx)("code",{children:t||r.title}):t||r.title})};r.displayName="ui.AuthLink";let o=e=>(0,i.jsx)("nav",{"aria-label":"breadcrumb",...e});o.displayName="ui.Breadcrumb";let d=e=>(0,i.jsx)("ol",{className:"flex min-w-0 flex-wrap items-center gap-2 text-sm font-medium",...e});d.displayName="ui.BreadcrumbList";let c=e=>(0,i.jsx)("li",{className:"inline-flex items-center gap-1.5",...e});c.displayName="ui.BreadcrumbItem";let u=({href:e,isLastCrumb:t,children:a})=>!t&&e?(0,i.jsx)(l.default,{href:e,className:"transition-color cursor-pointer text-gray-600 hover:text-gray-800",children:a}):(0,i.jsx)("span",{role:"link","aria-disabled":"true","aria-current":"page",className:"text-gray-800",children:a});var p=u;u.displayName="ui.BreadcrumbLink";let g=()=>(0,i.jsx)("span",{role:"presentation","aria-hidden":"true",className:"text-gray-500",children:"›"});g.displayName="ui.BreadcrumbSeparator";let m=s.memo(({href:e,target:t="_self",rel:a,children:s})=>(0,i.jsx)(l.default,{href:e,target:t,rel:a,className:"!mt-4 inline-block !rounded !bg-[#497ede] !px-3 !py-1.5 !font-medium !text-white hover:!bg-[#4c77c7] hover:!text-white",children:s}));m.displayName="ui.ButtonLink";let f={"access-controls-file-page":{title:"Access controls",path:"/admin/acls
1/file"},"access-controls-page":{title:"Access controls",path:"/admin/acls"},"access-controls-preview-tab":{title:"Preview rules",path:"/admin/acls/preview"},"access-controls-visual-editor-tab":{title:"Visual editor",path:"/admin/acls/visual"},"apps-page":{title:"Apps",path:"/admin/apps"},"billing-page":{title:"Billing",path:"/admin/settings/billing"},"device-management-page":{title:"Device management",path:"/admin/settings/device-management"},"dns-page":{title:"DNS",path:"/admin/dns"},"domains-page":{title:"Domains",path:"/admin/settings/domains"},"home-page":{title:"admin console",path:"/admin"},"logs-configuration-page":{title:"Configuration logs",path:"/admin/logs"},"logs-network-page":{title:"Network flow logs",path:"/admin/logs/network"},"logs-page":{title:"Logs",path:"/admin/logs"},"machines-page-exit-node":{title:"Machines",path:"/admin/machines?q=property%3Aexit-node"},"machines-page-last-seen":{title:"Machines",path:"/admin/machines?q=version%3Aupdate-available+auto-update%3Aenabled+lastseen%3Aconnected"},"machines-page-locked-out":{title:"Machines",path:"/admin/machines?q=property%3Alocked-out"},"machines-page-needs-approval":{title:"Machines",path:"/admin/machines?q=disabled%3Aneeds-approval"},"machines-page-subnet":{title:"Machines",path:"/admin/machines?q=property%3Asubnet"},"machines-page-update-available":{title:"Machines",path:"/admin/machines?q=version%3Aupdate-available"},"machines-page-user-needs-approval":{title:"Machines",path:"/admin/machines/?q=disabled%3Auser-needs-approval"},"machines-page":{title:"Machines",path:"/admin/machines"},"mullvad-page":{title:"Configure Mullvad VPN",path:"/admin/settings/general/mullvad"},"pam-connectors-page":{title:"Connectors",path:"/admin/connectors"},"pam-sessions-page":{title:"Sessions",path:"/admin/logs/pam_sessions"},"pam-settings-page":{title:"PAM",path:"/admin/settings/pam"},"services-page":{title:"Services",path:"/admin/services"},"settings-contacts-preference-page":{title:"Contact preferences",path:"/admin/settings/contact-preferences"},"settings-general-page":{title:"General",path:"/admin/settings/general"},"settings-keys-page":{title:"Keys",path:"/admin/settings/keys"},"settings-trust-credentials-page":{title:"Trust credentials",path:"/admin/settings/trust-credentials"},"settings-page":{title:"General",path:"/admin/settings"},"settings-policy-file-management-page":{title:"Policy file management",path:"/admin/settings/policy-file-management"},"settings-webhooks-page":{title:"Webhooks",path:"/admin/settings/webhooks"},"user-management-page":{title:"User management",path:"/admin/settings/user-management"},"users-invited-page":{title:"Users",path:"/admin/users?q=status%3Ainvited"},"users-page":{title:"Users",path:"/admin/users"},"users-needsapproval-page":{title:"Users",path:"/admin/users?q=status%3Aneedsapproval"}},h=({id:e,title:t,font_weight:a,code:s})=>{let n=f[e];if(!n)throw Error(`Invalid console_link id: ${e}`);return(0,i.jsx)(l.default,{href:"https://console.tailscale.com"+n.path,className:`${"medium"===a?"!font-medium":"!font-bold"} !text-[#3b82f6] underline decoration-blue-50 underline-offset-4 hover:!text-[#2563eb] hover:!decoration-[#3b82f6] focus-visible:no-underline`,children:"true"===s?(0,i.jsx)("code",{children:t||n.title}):t||n.title})};function b({svg:e,className:t,alt:a}){return(0,i.jsx)("figure",{className:t,children:(0,i.jsx)("div",{className:"d2-diagram",style:{overflowX:"auto"},role:"img","aria-label":a,children:(0,i.jsx)("div",{dangerouslySetInnerHTML:{__html:e}})})})}h.displayName="ui.ConsoleLink",a(90923),b.displayName="ui.D2Diagram";var y=a(33145);let x=({src:e,caption:t="",alt:a=t,className:s,title:l,link:n,width:r,height:o,attrlink:d,attr:c})=>(0,i.jsxs)("figure",{className:s,children:[l?(0,i.jsx)("h4",{className:"text-center font-medium",children:l}):null,n?(0,i.jsx)("a",{href:n,children:(0,i.jsx)(y.default,{src:e,alt:a,width:r,height:o})}):(0,i.jsx)(y.default,{src:e,alt:a,width:r,height:o}),t||c?(0,i.jsx)("figcaption",{children:(0,i.jsxs)("p",{className:"text-center",children:[t," ",(0,i.jsx)("a",{href:d,children:c})]})}):null]});x.displayName="ui.Figure";var v=a(61994);let w=({side:e})=>(0,i.jsx)("div",{className:(0,v.Z)("absolute inset-x-0 h-6 w-full from-white","top"===e?"top-0 bg-gradient-to-b to-90%":"bottom-0 bg-gradient-to-t to-90%")});w.displayName="ui.GradientBoundary";var T=a(81242),k=a(11476);let C=s.memo(({href:e,children:t})=>(0,i.jsx)(l.default,{href:e,className:"!font-medium !text-[#3b82f6] underline decoration-blue-50 underline-offset-4 hover:!text-[#2563eb] hover:!decoration-[#3b82f6] focus-visible:no-underline",children:t}));C.displayName="ui.Link";var S=a(86290);let A=s.memo(({id:e})=>(0,i.jsx)("span",{id:e}));A.displayName="ui.PermanentAnchor";let D=s.memo(({children:e})=>(0,i.jsx)("span",{className:"relative -top-px ml-1 inline-flex items-center justify-center rounded-full bg-yellow-50 px-2 py-1 text-xs font-medium leading-none text-yellow-600",children:e}));D.displayName="ui.Tag";var V=a(89730);let G={"video-get-started":"sPdvyR7bLqI","video-border0-get-started":"2760wCNI4Pc","video-pam-get-started":"rvYO9VgXlk4","video-serve-funnel":"MpxmfpCl20c","video-tailscale-ssh":"08clF9srJ2k","video-docker-deep-dive":"tqvvZhGrciQ","video-docker-quickstart":"YTjYXii4WzI","video-tsexplained-subnet-routers":"UmVMaymH1-s","video-pikvm":"Btqw56DFhro","video-cloud-init-part1":"e-X5FJwrkaA","video-subnet-routers":"UmVMaymH1-s","video-macos-quickstart":"vkZwu7I4tcY","video-acls":"Jn8_Sh4r8d4","video-synology":"0o2EhK-QvmY","video-exit-nodes":"Ad7D2pkFNdA","video-how-to-proxmox-lxc":"JC63OGSzTQI","video-tailnet-lock":"G6ReHlan2EA","video-peer-relays":"wkBSjT1hO6k"},j=s.memo(({id:e,title:t="Video",hasNote:a=!1,customNote:s="The following related video provides additional context and examples."})=>{let l=G[e];if(!l)throw Error(`Invalid video id: ${e}`);return(0,i.jsxs)(i.Fragment,{children:[a?(0,i.jsx)(V.j,{children:s}):null,(0,i.jsx)("figure",{children:(0,i.jsx)("iframe",{src:`https://www.youtube.com/embed/${l}?rel=0`,title:t,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})]})});j.displayName="ui.Video";let L=()=>(0,i.jsx)(l.default,{href:"https://my.tailscale.com",className:"!font-medium !text-[#3b82f6] underline decoration-blue-50 underline-offset-4 hover:!text-[#2563eb] hover:!decoration-[#3b82f6] focus-visible:no-underline",children:"browser client"});L.displayName="ui.WebClientLink";var M=a(81422)},23731:function(e,t,a){"use strict";a.d(t,{CF:function(){return i},c:function(){return s}});let i=[{id:"AdminConsole",category:"UI visibility",href:"#hide-the-admin-console-menu-item",possibleValues:"show, hide",os:["Windows"],minClient:"1.50"},{id:"CLIIntegration",category:"UI visibility",href:"#hide-the-cli-integration-installer",possibleValues:"show, hide",os:["macOS"],minClient:"1.68"},{id:"ExitNodesPicker",category:"UI visibility",href:"#hide-the-exit-node-picker",possibleValues:"show, hide",os:["Android","iOS","macOS","Windows"],minClient:"1.50, 1.66 (Android)"},{id:"HiddenNetworkDevices",category:"UI visibility",href:"#hide-network-devices",possibleValues:"String Array. Use one or more of: current-user, other-users, tagged-devices.",os:["Android","iOS","macOS"],minClient:"1.52, 1.66 (Android)"},{id:"ManageTailnetLock",category:"UI visibility",href:"#hide-the-tailnet-lock-settings",possibleValues:"show, hide",os:["Android","iOS","macOS"],minClient:"1.50, 1.66 (Android)"},{id:"NetworkDevices",category:"UI visibility",href:"#hide-the-network-devices-menu",possibleValues:"show, hide",os:["Windows"],minClient:"1.50"},{id:"PreferencesMenu",category:"UI visibility",href:"#hide-the-preferences-menu",possibleValues:"show, hide",os:["Windows"],minClient:"1.50"},{id:"ResetToDefaults",category:"UI visibility",href:"#hide-the-reset-to-defaults-menu-item",possibleValues:"show, hide",os:["macOS"],minClient:"1.50"},{id:"AppIntroShown",category:"UI visibility",href:"#suppress-the-app-window-intro-flow",possibleValues:"Boolean",os:["macOS"],minClient:"1.96"},{id:"RunExitNode",category:"UI visibility",href:"#hide-the-run-as-exit-node-menu-item",possibleValues:"show, hide",os:["Android","macOS","tvOS","Windows"],minClient:"1.50, 1.66 (Android)"},{id:"StartOnLoginMenuItem",category:"UI visibility",href:"#hide-the-start-on-login-menu-item",possibleValues:"show, hide",os:["macOS"],minClient:"1.50"},{id:"TestMenu",category:"UI visibility",href:"#hide-the-debug-menu",possibleValues:"show, hide",os:["macOS","Windows"],minClient:"1.50"},{id:"UpdateMenu",category:"UI visibility",href:"#hide-the-update-menu",possibleValues:"show, hide",os:["iOS","macOS (standalone variant only)","Windows"],minClient:"1.50 (Windows), 1.56 (macOS [Standalone variant only], iOS)"},{id:"VPNOnDemandSettings",category:"UI visibility",href:"#hide-the-vpn-on-demand-menu-item",possibleValues:"show, hide",os:["iOS","macOS"],minClient:"1.52"},{id:"HideDockIcon",category:"UI visibility",href:"#hide-the-macos-dock-icon-after-all-windows-close",possibleValues:"Boolean",os:["macOS"],minClient:"1.94"},{id:"ManagedByOrganizationName",category:"Organization",href:"#set-your-organization-name",possibleValues:"any String",os:["Android","iOS","macOS","Windows"],minClient:"1.52, 1.62 (Windows), 1.66 (Android)"},{id:"ManagedByCaption",category:"Organization",href:"#set-an-info-message",possibleValues:"any String",os:["Android","iOS","macOS","Windows"],minClient:"1.52, 1.62 (Windows), 1.66 (Android)"},{id:"ManagedByURL",category:"Organization",href:"#set-a-support-url",possibleValues:"a valid URL",os:["Android","iOS","macOS","Windows"],minClient:"1.52, 1.62 (Windows), 1.66 (Android)"},{id:"SUEnableAutomaticChecks",category:"Auto update",href:"#check-for-updates-automatically-macos",possibleValues:"Boolean",os:["macOS (standalone variant only)"],minClient:"1.46"},{id:"SUAutomaticallyUpdate",category:"Auto update",href:"#install-updates-automatically-macos",possibleValues:"Boolean",os:["macOS (standalone variant only)"],minClient:"1.52"},{id:"ApplyUpdates",category:"Auto update",href:"#hide-the-auto-update-settings-macos",possibleValues:"show, hide",os:["macOS (standalone variant only)"],minClient:"1.52"},{id:"CheckUpdates",category:"Auto update",href:"#check-for-updates-automatically-windows",possibleValues:"always, never, user-decides",os:["Windows"],minClient:"1.56"},{id:"InstallUpdates",category:"Auto update",href:"#install-updates-automatically-windows",possibleValues:"always, never, user-decides",os:["Windows"],minClient:"1.56"},{id:"UnstableUpdates",category:"Auto update",href:"#manage-unstable-versions-availability",possibleValues:"always, never, user-decides",os:["macOS (standalone variant only)"],minClient:"1.60"},{id:"ExitNodeID",category:"Exit nodes",href:"#force-an-exit-node-to-always-be-used",possibleValues:"String, either an exit node ID or auto:any",os:["Android","iOS","Linux","macOS","Windows"],minClient:"1.56, 1.66 (Android), 1.70.0 for auto:any, 1.102 (Linux)"}
1,{id:"AdvertiseExitNode",category:"Exit nodes",href:"#advertise-exit-node",possibleValues:"always, never, user-decides",os:["Android","Linux","macOS","tvOS","Windows"],minClient:"1.56, 1.102 (Linux)"},{id:"AllowedSuggestedExitNodes",category:"Exit nodes",href:"#suggest-allowed-forced-exit-nodes",possibleValues:"Not set, an empty set, or a list of strings of exit node device IDs",os:["iOS","Linux","macOS","Windows"],minClient:"1.70, 1.102 (Linux)"},{id:"ExitNodeAllowLANAccess",category:"Exit nodes",href:"#toggle-local-network-access-when-an-exit-node-is-in-use",possibleValues:"always, never, user-decides",os:["Android","iOS","Linux","macOS","Windows"],minClient:"1.56, 1.66 (Android), 1.102 (Linux)"},{id:"ExitNode.AllowOverride",category:"Exit nodes",href:"#set-a-different-exit-node-when-forced",possibleValues:"Boolean",os:["Linux","macOS","Windows"],minClient:"1.88, 1.102 (Linux)"},{id:"TailscaleStartOnLogin",category:"Runtime configuration",href:"#automatically-start-tailscale-when-the-user-logs-in",possibleValues:"Boolean",os:["macOS"],minClient:"1.46"},{id:"PostureChecking",category:"Runtime configuration",href:"#enable-gathering-device-posture-data",possibleValues:"always, never, user-decides",os:["iOS","Linux","macOS","tvOS","Windows"],minClient:"1.52, 1.102 (Linux)"},{id:"ForceEnabled",category:"Runtime configuration",href:"#force-tailscale-to-always-be-running",possibleValues:"Boolean",os:["Android","iOS","macOS"],minClient:"1.52"},{id:"LoginURL",category:"Runtime configuration",href:"#set-a-custom-control-server-url",possibleValues:"https://controlplane.tailscale.com or another Tailscale server instance",os:["Android","iOS","Linux","macOS","tvOS","Windows"],minClient:"1.4 (Windows), 1.38.1 (macOS, iOS), 1.66 (Android), 1.102 (Linux)"},{id:"MachineCertificateSubject",category:"Runtime configuration",href:"#set-a-machine-certificate-subject",possibleValues:"consult customer-specific documentation",os:["Windows"],minClient:"1.52"},{id:"ReconnectAfter",category:"Runtime configuration",href:"#set-a-reconnection-timer",possibleValues:"Refer to https://pkg.go.dev/time#ParseDuration for information about the supported duration strings.",os:["Android","Linux","macOS","Windows"],minClient:"1.84, 1.86 (macOS), 1.102 (Linux)"},{id:"Tailnet",category:"Runtime configuration",href:"#set-a-suggested-or-required-tailnet",possibleValues:"String (a comma-separated list of tailnet IDs or organization IDs)",os:["Android","iOS","Linux","macOS","tvOS","Windows"],minClient:"1.52, 1.66 (Android), 1.102 (Linux)"},{id:"KeyExpirationNotice",category:"Runtime configuration",href:"#set-the-key-expiration-notice-period",possibleValues:"Go-style Duration, for example, 24h or 5h25m30s",os:["iOS","macOS","Windows"],minClient:"1.50 (Windows), 1.58 (macOS, iOS)"},{id:"UnattendedMode",category:"Runtime configuration",href:"#set-unattended-mode",possibleValues:"always, never, user-decides",os:["Windows"],minClient:"1.52"},{id:"UseTailscaleSubnets",category:"Runtime configuration",href:"#set-whether-the-device-accepts-tailscale-subnets",possibleValues:"always, never, user-decides",os:["Android","iOS","Linux","macOS","tvOS","Windows"],minClient:"1.56, 1.66 (Android), 1.102 (Linux)"},{id:"UseTailscaleDNSSettings",category:"Runtime configuration",href:"#set-whether-the-device-uses-tailscale-dns-settings",possibleValues:"always, never, user-decides",os:["Android","iOS","Linux","macOS","tvOS","Windows"],minClient:"1.56, 1.66 (Android), 1.102 (Linux)"},{id:"AllowIncomingConnections",category:"Runtime configuration",href:"#set-whether-to-allow-incoming-connections",possibleValues:"always, never, user-decides",os:["Android","iOS","Linux","macOS","tvOS","Windows"],minClient:"1.56, 1.66 (Android), 1.102 (Linux)"},{id:"AlwaysOn.Enabled",category:"Runtime configuration",href:"#set-tailscale-to-always-be-connected",possibleValues:"Boolean",os:["iOS","macOS","Windows"],minClient:"1.84"},{id:"AlwaysOn.OverrideWithReason",category:"Runtime configuration",href:"#set-a-required-reason-for-disconnection",possibleValues:"Boolean",os:["iOS","macOS","Windows"],minClient:"1.84"},{id:"DeviceSerialNumber",category:"Runtime configuration",href:"#specify-the-device-serial-number",possibleValues:"a String containing the device seri
1al number",os:["iOS","tvOS"],minClient:"1.70"},{id:"EnableDNSRegistration",category:"Runtime configuration",href:"#force-tailscale-ip-registration-in-active-directory",possibleValues:"always, never, user-decides",os:["Windows"],minClient:"1.84"},{id:"IPAddressCopiedAlertSuppressed",category:"Runtime configuration",href:"#suppress-ip-address-copied-notifications",possibleValues:"Boolean",os:["macOS"],minClient:"1.50"},{id:"OnboardingFlow",category:"UI visibility",href:"#suppress-the-first-launch-onboarding-flow",possibleValues:"show, hide",os:["Android","macOS","Windows"],minClient:"1.86"},{id:"HideDHCP121Warnings",category:"Runtime configuration",href:"#suppress-dhcp-option-121-warnings",possibleValues:"Boolean",os:["macOS"],minClient:"1.68"},{id:"ExcludedPackageNames",category:"Runtime configuration",href:"#set-excluded-applications",possibleValues:"String (a comma-separated list of application package names, such as com.google.android.apps.maps,com.google.android.calendar)",os:["Android"],minClient:"1.70"},{id:"IncludedPackageNames",category:"Runtime configuration",href:"#set-included-applications",possibleValues:"String (a comma-separated list of application package names, such as com.google.android.apps.maps,com.google.android.calendar)",os:["Android"],minClient:"1.70"},{id:"AuthKey",category:"Runtime configuration",href:"#set-an-auth-key",possibleValues:"A Tailscale auth key. We recommend you use a one-off auth key.",os:["Android","iOS","Linux","macOS","tvOS","Windows"],minClient:"1.74, 1.102 (Linux)"},{id:"EncryptState",category:"Runtime configuration",href:"#encrypt-node-state-file",possibleValues:"Boolean",os:["Linux","macOS (standalone variant only)","Windows"],minClient:"1.86, 1.102 (Linux)"},{id:"Hostname",category:"Runtime configuration",href:"#set-whether-device-hostnames-can-be-modified",possibleValues:"A String value such as user-macbook-pro",os:["Android","iOS","Linux","macOS","tvOS","Windows"],minClient:"1.80, 1.102 (Linux)"},{id:"AuthBrowser.macos",category:"Runtime configuration",href:"#set-a-custom-browser-for-authentication",possibleValues:"A String value such as com.apple.Safari",os:["macOS"],minClient:"1.94"}],s=[{key:"category",label:"categories",options:["Auto update","Exit nodes","Organization","Runtime configuration","UI visibility"],matches:(e,t)=>e.includes(t.category)},{key:"platform",label:"platforms",options:["Android","iOS","Linux","macOS","macOS (standalone variant only)","tvOS","Windows"],matches:(e,t)=>{let a=Array.isArray(t.os)?t.os:[t.os];return 0===e.length||e.some(e=>a.join(" ").includes(e))}}];i.map(e=>[e.id,e])},16842:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});var i=a(2265);function s(){return(0,i.useCallback)(e=>{let t=e.currentTarget;if("A"!==t.tagName||!(t.pathname===window.location.pathname&&t.origin===window.location.origin)||!t.hash)return;let a=t.hash.slice(1),i=document.getElementById(a);i&&(e.preventDefault(),i.scrollIntoView({behavior:"smooth",block:"start"}),window.history.pushState(null,"",`#${a}`))},[])}},94051:function(e,t,a){"use strict";a.d(t,{ss:function(){return l},x7:function(){return s}});var i=a(9653);let s=e=>i.find(t=>t.slug===e),l=e=>""===e?"/docs":`/docs/${e}`},9653:function(e){"use strict";e.exports=JSON.parse('[{"visibility":"visible","tocDepth":3,"tags":["security-features","admin-console","security"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Admin console session timeout","summary":"Explore idle session timeout in the Tailscale admin console.","lastValidated":"2026-01-05","slug":"account/admin-console-session-timeout","pathToContent":"account/admin-console-session-timeout/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale on Azure Marketplace","summary":"Manage Tailscale billing in the Microsoft Azure Marketplace.","lastValidated":"2024-12-20","slug":"account/billing/azure-marketplace-for-billing","pathToContent":"account/billing/azure-marketplace-for-billing/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage billing","summary":"Change billing information related to your Tailscale account.","lastValidated":"2026-04-08","slug":"account/billing","pathToContent":"account/billing/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage your invoices","summary":"Acce
1ss and download your Tailscale invoices, understand invoice availability, and get help with billing questions.","lastValidated":"2026-04-08","slug":"account/billing/manage-invoices","pathToContent":"account/billing/manage-invoices/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Modify your billing information","summary":"Manage and update your billing details to keep your payment information, invoices, and tax settings accurate.","lastValidated":"2026-04-08","slug":"account/billing/modify-billing","pathToContent":"account/billing/modify-billing/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Generate a bug report","summary":"Generate a bug report to help troubleshoot issues with your tailnet.","lastValidated":"2026-01-05","slug":"account/bug-report","pathToContent":"account/bug-report/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Delete your tailnet","summary":"Delete your Tailscale network using the Admin console.","lastValidated":"2025-10-28","slug":"account/delete-tailnet","pathToContent":"account/delete-tailnet/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["domain-aliases","account-management"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Domain aliases","summary":"Understand how domain aliases work for tailnets and where they affect Tailscale behavior.","lastValidated":"2026-05-11","slug":"account/domain-aliases","pathToContent":"account/domain-aliases/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["domain-verification","account-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Manage domains","summary":"Manage the domains associated with your tailnet.","lastValidated":"2026-05-11","slug":"account/domain-verification","pathToContent":"account/domain-verification/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage your organization","summary":"Manage your contact information, your account, the plans we offer, and how to manage your tailnet DNS name and domain.","lastValidated":"2026-04-08","slug":"account","pathToContent":"account/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Downgrade your plan","summary":"Downgrade your Tailscale plan to a different plan or the free Personal plan.","lastValidated":"2026-04-08","slug":"account/manage-plans/downgrade-plan","pathToContent":"account/manage-plans/downgrade-plan/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Free pricing plans and discounts","summary":"Explore the free plans and discount pricing offered by Tailscale.","lastValidated":"2026-04-08","slug":"account/manage-plans/free-plans-discounts","pathToContent":"account/manage-plans/free-plans-discounts/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage your plan","summary":"Change your Tailscale plan by upgrading or downgrading to a different plan to suit your needs.","lastValidated":"2026-04-08","slug":"account/manage-plans","pathToContent":"account/manage-plans/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Change your legacy plan","summary":"Migrate or upgrade your legacy Tailscale plan to a newer plan.","lastValidated":"2026-04-08","slug":"account/manage-plans/legacy-plans","pathToContent":"account/manage-plans/legacy-plans/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Modify an existing plan","summary":"You can modify your existing plan to add seats, remove seats, and purchase features such as Mullvad exit nodes.","lastValidated":"2026-04-08","slug":"account/manage-plans/modify-existing-plan","pathToContent":"account/manage-plans/modify-existing-plan/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Upgrade your plan","summary":"Upgrade your Tailscale plan, whether you are moving from the Personal plan to a paid plan or switching between paid plans.","lastValidated":"2026-04-08","slug":"account/manage-plans/upgrade-plan","pathToContent":"account/manage-plans/upgrade-plan/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","oauth","auth-keys","device-provisioning"],"releaseStatus":"private alpha","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Auto-auth for provisioned devices","summary":"Build internal tools that provision user devices within your tailnet using a standard OAuth authorization code flow with full user identity attribution.","lastValidated":"2026-04-17","slug":"aperture/auto-auth","pathToContent":"aperture/auto-auth/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai","billing","tokens"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Buy tokens through Aperture","summary":"Buy tokens through Aperture for model usage, or continue using your own supported providers.","lastValidated":"2026-08-20","slug":"aperture/buy-tokens-through-aperture","pathToContent":"aperture/buy-tokens-through-aperture/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Chat","summary":"Find documentation for the Aperture chat UI, including projects, sandbox, and setup.","lastValidated":"2026-08-22","hubType":"feature","slug":"aperture/ch
1at","pathToContent":"aperture/chat/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Chat projects","summary":"Group conversations, set reusable instructions, and control tool access with chat projects.","lastValidated":"2026-08-22","slug":"aperture/chat/projects","pathToContent":"aperture/chat/projects/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"public alpha","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Chat sandbox","summary":"Run code, analyze data, and create downloadable files in an isolated Linux environment during a chat conversation.","lastValidated":"2026-08-13","slug":"aperture/chat-sandbox","pathToContent":"aperture/chat-sandbox/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","cli"],"releaseStatus":"public alpha","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Aperture CLI","summary":"Use the Aperture CLI to discover, configure, and run coding agents that connect through your Aperture proxy.","lastValidated":"2026-07-24","slug":"aperture/cli","pathToContent":"aperture/cli/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["reference","ai","aperture"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Aperture configuration reference","summary":"Complete reference for Aperture by Tailscale configuration fields, providers, grants, quotas, hooks, exporters, connectors, and database settings.","lastValidated":"2026-08-14","slug":"aperture/configuration","pathToContent":"aperture/configuration/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Connect devices outside your tailnet","summary":"Connect devices that are not in your tailnet to your Aperture gateway using an Aperture CLI bridge or ts-unplug.","lastValidated":"2026-07-28","slug":"aperture/connect-outside-tailnet","pathToContent":"aperture/connect-outside-tailnet/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","mcp","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Add a verified connector","summary":"Configure a verified connector such as Salesforce or Slack from the Aperture connector picker, supplying OAuth client credentials when required.","lastValidated":"2026-08-13","slug":"aperture/connectors/add-verified-connector","pathToContent":"aperture/connectors/add-verified-connector/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","mcp","ai"],"releaseStatus":"public alpha","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Built-in connectors","summary":"Set up the built-in Aperture connectors that provision tailnet nodes and run shell commands over Tailscale SSH.","lastValidated":"2026-09-18","slug":"aperture/connectors/built-in-connectors","pathToContent":"aperture/connectors/built-in-connectors/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","mcp","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Get started with connectors","summary":"Add a connector, grant access, and verify the connection in Aperture.","lastValidated":"2026-08-13","slug":"aperture/connectors/get-started","pathToContent":"aperture/connectors/get-started/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","mcp","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"How connectors work","summary":"Understand how Aperture connectors reach external MCP servers and HTTP APIs, how they relate to providers, and how authentication and access control apply.","lastValidated":"2026-09-18","slug":"aperture/connectors/how-connectors-work","pathToContent":"aperture/connectors/how-connectors-work
1/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","mcp","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Connectors","summary":"Find documentation for Aperture connectors, including setup guides, conceptual explanations, and configuration reference.","lastValidated":"2026-08-21","hubType":"feature","slug":"aperture/connectors","pathToContent":"aperture/connectors/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","mcp","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Kinds of connector","summary":"Aperture has five kinds of tool integration. They differ by who runs the tool and who can reach it, which determines their configuration, grants, and failure behavior.","lastValidated":"2026-08-21","slug":"aperture/connectors/kinds-of-connector","pathToContent":"aperture/connectors/kinds-of-connector/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["reference","ai","aperture"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Aperture connectors reference","summary":"Complete reference for Aperture connectors, including field definitions, authentication types, MCP and HTTP protocol behavior, grants, dynamic registration through the legacy MCP section, and migration from the deprecated MCP servers syntax.","lastValidated":"2026-08-23","slug":"aperture/connectors/reference","pathToContent":"aperture/connectors/reference/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","mcp","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up an authenticated MCP connector","summary":"Connect Aperture to an MCP server that requires authentication using a shared bearer token or OAuth 2.0 client credentials.","lastValidated":"2026-06-29","slug":"aperture/connectors/set-up-authenticated-mcp-connector","pathToContent":"aperture/connectors/set-up-authenticated-mcp-connector/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","mcp","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Use a connector","summary":"Authorize a connector, discover and call its tools, and reconnect when access expires.","lastValidated":"2026-06-15","slug":"aperture/connectors/use-a-connector","pathToContent":"aperture/connectors/use-a-connector/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Control AI access","summary":"Manage who can access Aperture and which models they can use.","lastValidated":"2026-07-30","slug":"aperture/control-access","pathToContent":"aperture/control-access/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"private alpha","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Direct provider access","summary":"Reach embedding, image, and other non-chat models through Aperture using the /direct endpoint, with Tailscale identity for access control and Aperture-managed provider credentials.","lastValidated":"2026-07-31","slug":"aperture/direct-access","pathToContent":"aperture/direct-access/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Get started with Aperture","summary":"Sign up for Aperture, configure a provider, and send your first request.","lastValidated":"2026-06-27","slug":"aperture/get-started","pathToContent":"aperture/get-started/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Guardrails","summary":"Inspect, modify, or block LLM requests before they reach the provider.","lastValidated":"2026-07-23","slug":"aperture/guardrails","pathToContent":"aperture/guardrails/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"How Aperture works","
1summary":"Understand how Aperture uses Tailscale identity, model-based routing, and telemetry to secure and monitor LLM requests.","lastValidated":"2026-07-24","slug":"aperture/how-aperture-works","pathToContent":"aperture/how-aperture-works/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"How Aperture grants work","summary":"Understand the Aperture grants model, including deny-by-default access, additive allow-only rules, capability matching, and how Aperture resolves precedence when multiple grants apply.","lastValidated":"2026-08-13","slug":"aperture/how-grants-work","pathToContent":"aperture/how-grants-work/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Build a custom webhook","summary":"Create a custom webhook integration to send Aperture event data to your own services.","lastValidated":"2026-07-03","slug":"aperture/how-to/build-custom-webhook","pathToContent":"aperture/how-to/build-custom-webhook/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Check and refill budgets","summary":"Check the status of Aperture quota buckets and manually refill balances using the Aperture dashboard.","lastValidated":"2026-06-24","slug":"aperture/how-to/check-and-refill-budgets","pathToContent":"aperture/how-to/check-and-refill-budgets/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Configure overdraft quotas","summary":"Chain Aperture quota buckets so requests borrow from additional buckets when a primary bucket is exhausted.","lastValidated":"2026-07-27","slug":"aperture/how-to/configure-overdraft-quotas","pathToContent":"aperture/how-to/configure-overdraft-quotas/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Configure zero-retention mode","summary":"Configure Aperture so it never stores prompt and response content on disk, to minimize data at rest and meet strict internal or contractual data-handling requirements.","lastValidated":"2026-08-18","slug":"aperture/how-to/configure-zero-retention","pathToContent":"aperture/how-to/configure-zero-retention/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"public alpha","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Enable the chat sandbox","summary":"Enable the sandbox feature so the Aperture assistant can run code, edit files, and produce downloadable artifacts in conversations.","lastValidated":"2026-08-13","slug":"aperture/how-to/enable-sandbox","pathToContent":"aperture/how-to/enable-sandbox/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Export usage data to S3","summary":"Configure Aperture to export LLM usage data to an Amazon S3 bucket for analysis, archiving, and long-term retention.","lastValidated":"2026-07-02","slug":"aperture/how-to/export-usage-data-to-s3","pathToContent":"aperture/how-to/export-usage-data-to-s3/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Filter logs by header","summary":"Index request and response headers in Aperture so you can filter by header presence or value on any dashboard page that supports filtering.","lastValidated":"2026-07-24","slug":"aperture/how-to/filter-logs-by-header","pathToContent":"aperture/how-to/filter-logs-by-header/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Grant connector access by label","summary":"Label Aperture connectors and grant access by label so a single grant covers every connector in a group instead of naming each connector ID.","lastValidated":"2026-08-14","slug":"aperture/how-to/grant-connector-access-by-label","pathToContent":"aperture/how-to/grant-connector-access-by-label/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Grant access to MCP tools","summary":"Configure Aperture grants to control which connector capabilities users can access, including MCP tools, resources, templates, and HTTP proxy access.","lastValidated":"2026-08-13","slug":"aperture/how-to/grant-mcp-tool-access","pathToContent":"aperture/how-to/grant-mcp-tool-access/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Grant access to models","summary":"Configure Aperture grants to control which models each user or group can access.","lastValidated":"2026-08-13","slug":"aperture/how-to/grant-model-access","pathToContent":"aperture/how-to/grant-model-access/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Aperture how-to guides","summary":"Step-by-step guides for configuring Aperture providers, access controls, spending limits, observability, and integrations.","lastValidated":"2026-04-09","slug":"aperture/how-to","pathToContent":"aperture/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"public alpha","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Manage sandbox operations","summary":"Monitor sandbox health and understand the security properties of the Aperture chat sandbox.","lastValidated":"2026-08-13","slug":"aperture/how-to/manage-sandbox","pathToContent":"aperture/how-to/manage-sandbox/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set per-user spending limits","summary":"Configure quota buckets in Aperture to set spending limits for individual users.","lastValidated":"2026-06-16","slug":"aperture/how-to/set-per-user-spending-limits","pathToContent":"aperture/how-to/set-per-user-spending-limits/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set a team-wide budget","summary":"Configure a shared quota bucket in Aperture to cap total AI spending across your organization.","lastValidated":"2026-06-16","slug":"aperture/how-to/set-team-budget","pathToContent":"aperture/how-to/set-team-budget/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up admin access","
1summary":"Configure administrator roles for managing Aperture settings and accessing all user data.","lastValidated":"2026-06-16","slug":"aperture/how-to/set-up-admin-access","pathToContent":"aperture/how-to/set-up-admin-access/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up the chat UI","summary":"Enable Aperture\'s chat UI so your users can talk to LLMs directly through their browser.","lastValidated":"2026-06-27","slug":"aperture/how-to/set-up-chat-ui","pathToContent":"aperture/how-to/set-up-chat-ui/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up a guardrail","summary":"Configure a pre-request hook to inspect, modify, or block LLM requests before they reach the provider.","lastValidated":"2026-06-26","slug":"aperture/how-to/set-up-guardrails","pathToContent":"aperture/how-to/set-up-guardrails/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up an HTTP API connector","summary":"Configure Aperture to proxy requests to an upstream REST API with automatic credential injection.","lastValidated":"2026-08-13","slug":"aperture/how-to/set-up-http-api-connector","pathToContent":"aperture/how-to/set-up-http-api-connector/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up a per-user OAuth 2.0 connector","summary":"Connect Aperture to an external service that requires individual user consent using the OAuth 2.0 authorization code flow.","lastValidated":"2026-06-30","slug":"aperture/how-to/set-up-per-user-oauth2-connector","pathToContent":"aperture/how-to/set-up-per-user-oauth2-connector/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","providers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up Amazon Bedrock","summary":"Configure an Amazon Bedrock provider in Aperture so your team can access foundation models through AWS.","lastValidated":"2026-08-13","slug":"aperture/how-to/use-amazon-bedrock","pathToContent":"aperture/how-to/use-amazon-bedrock/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","providers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up Anthropic","summary":"Configure an Anthropic provider in Aperture so your team can access Claude models.","lastValidated":"2026-06-27","slug":"aperture/how-to/use-anthropic","pathToContent":"aperture/how-to/use-anthropic/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Use Claude Code with Aperture","summary":"Configure Claude Code to route requests through your Aperture proxy.","lastValidated":"2026-07-24","slug":"aperture/how-to/use-claude-code","pathToContent":"aperture/how-to/use-claude-code/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai","ci-cd","github-actions"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Use Claude Code Action with Aperture","summary":"Configure the Claude Code GitHub Action to route requests through Aperture so CI runners authenticate with Tailscale identity instead of individual API keys.","lastValidated":"2026-06-16","slug":"aperture/how-to/use-claude-code-action","pathToContent":"aperture/how-to/use-claude-code-action/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Use Claude Desktop with Aperture","summary":"Configure the Claude Desktop app to route model inference through your Aperture proxy.","lastValidated":"2026-07-20","slug":"aperture/how-to/use-claude-desktop","pathToContent":"aperture/how-to/use-claude-desktop/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Use Codex with Aperture","summary":"Configure OpenAI Codex to route requests through your Aperture proxy.","lastValidated":"2026-07-24","slug":"aperture/how-to/use-codex","pathToContent":"aperture/how-to/use-codex/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","providers","vertex"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up Gemini Enterprise Agent Platform","summary":"Configure a Gemini Enterprise Agent Platform provider in Aperture with a GCP service account and key file so your team can access Gemini and Claude models through Aperture.","lastValidated":"2026-08-18","slug":"aperture/how-to/use-gemini-enterprise-agent-platform","pathToContent":"aperture/how-to/use-gemini-enterprise-agent-platform/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","providers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up Google Gemini","summary":"Configure a Google Gemini provider in Aperture so your team can access Gemini models using the direct Gemini API.","lastValidated":"2026-07-20","slug":"aperture/how-to/use-google-gemini","pathToContent":"aperture/how-to/use-google-gemini/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","providers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up Microsoft Foundry","summary":"Configure Microsoft Foundry providers in Aperture so your team can access OpenAI GPT and Anthropic Claude models deployed in Foundry.","lastValidated":"2026-06-08","slug":"aperture/how-to/use-microsoft-foundry","pathToContent":"aperture/how-to/use-microsoft-foundry/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","providers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up OpenAI","summary":"Configure an OpenAI provider in Aperture so your team can access GPT models.","lastValidated":"2026-06-27","slug":"aperture/how-to/use-openai","pathToContent":"aperture/how-to/use-openai/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","providers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up an OpenAI-compatible provider","summary":"Configure any provider that exposes an OpenAI-compatible API as a provider in Aperture.","lastValidated":"2026-08-21","slug":"aperture/how-to/use-openai-compatible-provider","pathToContent":"aperture/how-to/use-openai-compatible-provider/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Use OpenAI-compatible tools with Aperture","summary":"Configure Gemini CLI, Roo Code, Cline, and other OpenAI-compatible tools to route requests through Aperture.","lastValidated":"2026-07-24","slug":"aperture/how-to/use-openai-compatible-tools","pathToContent":"aperture/how-to/use-openai-compatible-tools/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Use OpenCode with Aperture","summary":"Configure OpenCode to route requests through your Aperture proxy.","lastValidated":"2026-07-24","slug":"aperture/how-to/use-opencode","pathToContent":"aperture/how-to/use-opencode/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","providers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up OpenRouter","summary":"Configure an OpenRouter provider in Aperture so your team can access models from multiple providers through a single aggregator.","lastValidated":"2026-06-08","slug":"aperture/how-to/use-openrouter","pathToContent":"aperture/how-to/use-openrouter/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","providers","auth"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Route a Claude subscription through Aperture","summary":"Configure Aperture passthrough mode so Claude Code forwards a Claude Pro or Max subscription\'s OAuth token to Anthropic, without a shared API key.","lastValidated":"2026-08-13","slug":"aperture/how-to/use-passthrough-mode/claude-subscriptions","pathToContent":"aperture/how-to/use-passthrough-mode/claude-subscriptions/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","providers","auth"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Route a ChatGPT subscription through Aperture","summary":"Configure Aperture passthrough mode so the C
1odex CLI forwards a ChatGPT subscription\'s OAuth token to the ChatGPT backend, without a shared API key.","lastValidated":"2026-08-13","slug":"aperture/how-to/use-passthrough-mode/codex-subscriptions","pathToContent":"aperture/how-to/use-passthrough-mode/codex-subscriptions/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","providers","auth"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up passthrough mode","summary":"Configure an Aperture provider to forward each client\'s own credential, including subscription OAuth tokens, to the upstream provider instead of injecting a shared API key.","lastValidated":"2026-06-27","slug":"aperture/how-to/use-passthrough-mode","pathToContent":"aperture/how-to/use-passthrough-mode/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","providers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up a self-hosted provider","summary":"Configure a self-hosted or locally running LLM server as a provider in Aperture so your team can access private models through your tailnet.","lastValidated":"2026-04-15","slug":"aperture/how-to/use-self-hosted","pathToContent":"aperture/how-to/use-self-hosted/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","providers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Set up Vercel AI Gateway","summary":"Configure a Vercel AI Gateway provider in Aperture so your team can access models from multiple LLM providers.","lastValidated":"2026-04-15","slug":"aperture/how-to/use-vercel","pathToContent":"aperture/how-to/use-vercel/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ai","aperture"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Aperture","summary":"Monitor and secure LLM usage with Aperture by Tailscale.","lastValidated":"2026-07-24","slug":"aperture","pathToContent":"aperture/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Integrate Cerbos with Aperture","summary":"Send AI request data from Aperture to Cerbos for fine-grained authorization decisions on LLM access.","lastValidated":"2026-06-26","slug":"aperture/integrate/cerbos","pathToContent":"aperture/integrate/cerbos/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Integrate Cribl with Aperture","summary":"Route AI usage data from Aperture to Cribl for processing and forwarding to your observability destinations.","lastValidated":"2026-06-26","slug":"aperture/integrate/cribl","pathToContent":"aperture/integrate/cribl/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Integrate Highflame with Aperture","summary":"Connect Aperture to Highflame for synchronous pre-request enforcement and asynchronous post-response observability of LLM requests.","lastValidated":"2026-07-02","slug":"aperture/integrate/highflame","pathToContent":"aperture/integrate/highflame/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Integrate with external tools","summary":"Connect Aperture with authorization engines, log aggregators, and external services.","lastValidated":"2026-05-24","slug":"aperture/integrate","pathToContent":"aperture/integrate/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Integrate Oso with Aperture","summary":"Send AI tool use data from Aperture to Oso for authorization decisions and observability.","lastValidated":"2026-06-26","slug":"aperture/integrate/oso","pathToContent":"aperture/integrate/oso/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Manage AI spending","summary":"Set budgets, buy tokens, control per-user spending limits, and monitor quota balances in Aperture.","lastValidated":"2026-04-09","slug":"aperture/manage-spending","pathToContent":"aperture/manage-spending/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","mcp","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"MCP server proxying","summary":"Aggregate tools and resources from remote MCP servers through Aperture with identity-based access control.","lastValidated":"2026-08-14","slug":"aperture/mcp-server","pathToContent":"aperture/mcp-server/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Observe and export AI usage","summary":"Acce
1ss dashboards, review session logs, and export usage data from Aperture.","lastValidated":"2026-07-02","slug":"aperture/observe-and-export","pathToContent":"aperture/observe-and-export/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Privacy and data retention","summary":"Control how long Aperture retains captured data, where it exports, and where request content leaves Aperture.","lastValidated":"2026-07-02","slug":"aperture/privacy-and-data-retention","pathToContent":"aperture/privacy-and-data-retention/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["reference","aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Provider compatibility reference","summary":"Complete reference for Aperture provider compatibility flags, authorization types, cost basis values, and model cost mapping.","lastValidated":"2026-08-14","slug":"aperture/provider-compatibility","pathToContent":"aperture/provider-compatibility/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["reference","aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Aperture grants vs. tailnet policy file grants","summary":"How Aperture configuration grants differ from tailnet policy file grants, why the `dst` field is required in the policy file, and how to convert grants between the two.","lastValidated":"2026-06-08","slug":"aperture/reference/aperture-vs-tailnet-grants","pathToContent":"aperture/reference/aperture-vs-tailnet-grants/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["reference","aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Aperture dashboard reference","summary":"Reference for the pages every Aperture user can access in the dashboard, organized by sidebar group, including My Dashboard, Agent Config, Models, Connectors, Chat, and Usage Overview.","lastValidated":"2026-09-18","slug":"aperture/reference/dashboard","pathToContent":"aperture/reference/dashboard/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["reference","aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Aperture admin dashboard reference","summary":"Reference for admin-only Aperture dashboard pages, grouped by sidebar section, including Security, Administration, Usage & Adoption, Integrations, and API Docs.","lastValidated":"2026-09-18","slug":"aperture/reference/dashboard-admin","pathToContent":"aperture/reference/dashboard-admin/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Aperture reference","summary":"Configuration, provider compatibility, and CLI reference documentation for Aperture.","lastValidated":"2026-06-16","slug":"aperture/reference","pathToContent":"aperture/reference/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai","reference"],"releaseStatus":"public alpha","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Sandbox reference","summary":"Reference for Aperture chat sandbox tools, parameters, size limits, timeouts, file system layout, and error messages.","lastValidated":"2026-06-16","slug":"aperture/reference/sandbox","pathToContent":"aperture/reference/sandbox/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Set up LLM providers","summary":"Configure upstream LLM providers so Aperture can route requests and inject authentication on behalf of your users.","lastValidated":"2026-07-20","slug":"aperture/set-up-providers","pathToContent":"aperture/set-up-providers/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["reference","troubleshooting","aperture"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Troubleshooting Aperture","summary":"Common Aperture by Tailscale error conditions, their causes, and resolution steps.","lastValidated":"2026-07-28","slug":"aperture/troubleshooting","pathToContent":"aperture/troubleshooting/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"public alpha","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Troubleshoot sandbox issues","summary":"Diagnose and resolve common issues with the Aperture chat sandbox.","lastValidated":"2026-06-16","slug":"aperture/troubleshooting/sandbox","pathToContent":"aperture/troubleshooting/sandbox/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Set up LLM clients","summary":"Configure LLM clients to route requests through Aperture.","lastValidated":"2026-06-15","slug":"aperture/use-your-tools","pathToContent":"aperture/use-your-tools/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai","node-attributes"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Visible groups for Aperture","summary":"Use Tailscale groups and 
1SCIM groups to control access to Aperture models and admin roles.","lastValidated":"2026-06-16","slug":"aperture/visible-groups","pathToContent":"aperture/visible-groups/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"What is Aperture?","summary":"Aperture by Tailscale is an AI gateway that secures, monitors, and routes LLM requests across your organization.","lastValidated":"2026-09-18","slug":"aperture/what-is-aperture","pathToContent":"aperture/what-is-aperture/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"beta","related":[],"index":false,"hidden":true,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Border0 architecture and core concepts","summary":"Get an overview of the Border0 + Tailscale architecture and core concepts.","lastValidated":"2026-07-15","slug":"border0/architecture-and-concepts","pathToContent":"border0/architecture-and-concepts/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"beta","related":[],"index":false,"hidden":true,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Border0 connector high availability","summary":"Understand when to deploy highly available connectors to account for a single connector failure when connecting your users to your sockets.","lastValidated":"2026-07-06","
1slug":"border0/connectors/high-availability","pathToContent":"border0/connectors/high-availability/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"beta","related":[],"index":false,"hidden":true,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Border0 connectors","summary":"Find documentation for Border connectors, including setup guides, conceptual explanations, and configuration reference.","lastValidated":"2026-07-06","hubType":"feature","slug":"border0/connectors","pathToContent":"border0/connectors/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"beta","related":[],"index":false,"hidden":true,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Install a Border0 connector","summary":"Set up a Border0 connector to provide users with privileged access to resources in your Tailscale network.","lastValidated":"2026-07-06","slug":"border0/connectors/install","pathToContent":"border0/connectors/install/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"beta","related":[],"index":false,"hidden":true,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Border0 connectors overview","summary":"Understand how Border0 connectors enable privileged access to resources in your Tailscale network.","lastValidated":"2026-07-06","
1slug":"border0/connectors/overview","pathToContent":"border0/connectors/overview/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"beta","related":[],"index":false,"hidden":true,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Border0 connectors reference","summary":"Explore reference guides for Border0 connectors.","lastValidated":"2026-07-06","slug":"border0/connectors/reference","pathToContent":"border0/connectors/reference/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"beta","related":[],"index":false,"hidden":true,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Troubleshooting Border0 connectors","summary":"Common Border0 connector error conditions, their causes, and resolution steps.","lastValidated":"2026-07-06","slug":"border0/connectors/reference/troubleshooting","pathToContent":"border0/connectors/reference/troubleshooting/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"beta","related":[],"index":false,"hidden":true,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Get started with Border0","summary":"Sign up for Border0 and use it to provide privileged access to resources in your Tailscale network.","lastValidated":"2026-06-02","slug":"border0/get-started","pathToContent":"border0/get-started/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"beta","related":[],"index":false,"hidden":true,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Border0 + Tailscale","summary":"Govern and secure privileged access with Border0 + Tailscale.","lastValidated":"2026-06-02","slug":"border0","pathToContent":"border0/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"beta","related":[],"index":false,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage secrets and credentials","summary":"Secure your secrets and credentials for the resources in your Tailscale network.","lastValidated":"2026-08-04","slug":"border0/manage-secrets","pathToContent":"border0/manage-secrets/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"beta","related":[],"index":false,"hidden":true,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Border0 sockets","summary":"Use Border0 sockets to manage privileged access to services on your Tailscale network.","lastValidated":"2026-07-14","slug":"border0/services","pathToContent":"border0/services/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"beta","related":[],"index":false,"hidden":true,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"What is Border0?","summary":"Border0 + Tailscale provides privileged and auditable access to resources like Linux servers, databases, and Kubernetes clusters in your Tailscale network.","lastValidated":"2026-06-02","slug":"border0/what-is-border0","pathToContent":"border0/what-is-border0/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"VPN from the couch to the office and HQ","summary":"Tailscale\'s encryption, low latency, easy configuration, and robust access controls like SSO and MFA make it an ideal modern office VPN solution for remote and distributed workforces.","lastValidated":"2026-01-05","slug":"concepts/all-your-offices","pathToContent":"concepts/all-your-offices/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Antivirus flagging of the Tailscale client","summary":"What to do when Tailscale is being flagged by antivirus software and how to report legitimate concerns.","lastValidated":"2025-04-01","slug":"concepts/av-flagging","pathToContent":"concepts/av-flagging/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Can Tailscale decrypt my traffic?","summary":"Understand why Tailscale cannot decrypt your traffic.","lastValidated":"2024-06-18","slug":"concepts/can-tailscale-decrypt-traffic","pathToContent":"concepts/can-tailscale-decrypt-traffic/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["technical-overview","control-plane","data-plane","coordination-server"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Control and data planes","summary":"Understand the control plane and data planes in Tailscale.","lastValidated":"2026-01-05","slug":"concepts/control-data-planes","pathToContent":"concepts/control-data-planes
1/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Corporate VPN, explained","summary":"Secure your corporate VPN with direct device-to-device encryption, seamless identity provider integration, and flexible access controls.","lastValidated":"2026-01-05","slug":"concepts/corporate-vpn","pathToContent":"concepts/corporate-vpn/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deprecate complex physical network (wired and Wi-Fi) security schemes","summary":"Use Tailscale to move off of complex physical networks.","lastValidated":"2026-01-05","slug":"concepts/deprecated-physical-security","pathToContent":"concepts/deprecated-physical-security/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"What devices can connect to or know mine?","summary":"Understand how Tailscale determines which devices can connect to or know about your devices.","lastValidated":"2026-01-05","slug":"concepts/device-visibility","pathToContent":"concepts/device-visibility/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Domain ownership","summary":"Explore how your tailnet is tied to your domain.","lastValidated":"2026-05-11","slug":"concepts/domain-ownership","pathToContent":"concepts/domain-ownership/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Technical overviews","summary":"Get in-depth technical details about Tailscale.","lastValidated":"2025-02-13","slug":"concepts","pathToContent":"concepts/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Transparently interconnect microservices between data centers and pods","summary":"Use Tailscale to transparently interconnect microservices between data centers and pods.","lastValidated":"2026-01-05","slug":"concepts/interconnect-microservices","pathToContent":"concepts/interconnect-microservices/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deploy internal apps anywhere, without changing firewall settings","summary":"Deploying servers without modifying firewall settings using Tailscale.","lastValidated":"2025-08-22","slug":"concepts/internal-apps-anywhere","pathToContent":"concepts/internal-apps-anywhere/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ip-addresses","dns","tailscale-ip-addresses"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How Tailscale assigns IP addresses","summary":"Understand how Tailscale assigns stable IP addresses based on the device and authorization credentials.","lastValidated":"2026-01-12","slug":"concepts/ip-and-dns-addresses","pathToContent":"concepts/ip-and-dns-addresses/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["serverless","integrations","subnets","routing","app-connectors"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Connect to external services with IP block lists","summary":"Control access to SaaS applications hosted on servers that aren\'t running Tailscale.","lastValidated":"2026-01-05","slug":"concepts/ip-blocklist-relays","pathToContent":"concepts/ip-blocklist-relays/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ipv6","routing"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale IPv6 support","summary":"Understand how Tailscale works with IPv6.","lastValidated":"2026-01-12","slug":"concepts/ipv6","pathToContent":"concepts/ipv6/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Connect to your corporate laptop no matter where you left it","summary":"Connect to your corporate laptop no matter where it is.","lastValidated":"2026-01-05","slug":"concepts/laptop-anywhere","pathToContent":"concepts/laptop-anywhere/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Connect to colleagues\' local servers from anywhere","summary":"Discover how Tailscale helps you to securely connect to colleagues and servers.","lastValidated":"2026-01-05","slug":"concepts/local-team-server","pathToContent":"concepts/local-team-server/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["magicdns","tailnet-name"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Machine names","summary":"Understand how Tailscale determines machine names, and how you can rename a machine.","lastValidated":"2026-01-05","slug":"concepts/machine-names","pathToContent":"concepts/machine-names/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["macos","macsys","standalone"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Authorizing the Tailscale system extension on macOS","summary":"Authorize Tailscale system extensions on macOS.","lastValidated":"2026-01-05","slug":"concepts/macos-sysext","pathToContent":"concepts/macos-sysext/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["macos"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Three ways to run Tailscale on macOS","summary":"Explore three ways to run Tailscale on macOS so you can choose the right approach for your situation.","lastValidated":"2026-01-05","slug":"concepts/macos-variants","pathToContent":"concepts/macos-variants/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["macos","conflict","screen-time","filter","webfilterproxyd"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"macOS Screen Time and Tailscale","summary":"Identify conflicts between the macOS web content filter and Tailscale.","lastValidated":"2026-01-05","slug":"concepts/macos-webfilterproxyd","pathToContent":"concepts/macos-webfilterproxyd/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Node keys","
1summary":"How Tailscale uses node keys as the mechanism for which machines can join a tailnet.","lastValidated":"2026-01-05","slug":"concepts/node-keys","pathToContent":"concepts/node-keys/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Post-quantum cryptography","summary":"Explore post-quantum cryptography in relation to Tailscale.","lastValidated":"2025-05-02","slug":"concepts/post-quantum-cryptography","pathToContent":"concepts/post-quantum-cryptography/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Shared responsibility model","summary":"Understand the responsibilities for protecting your network.","lastValidated":"2026-01-05","slug":"concepts/shared-responsibility","pathToContent":"concepts/shared-responsibility/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["tailnet-name","tailnet"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"What is a tailnet?","summary":"Understand what the term tailnet means.","lastValidated":"2026-01-12","slug":"concepts/tailnet","pathToContent":"concepts/tailnet/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailnet Lock white paper","summary":"Review the details about the Tailnet Lock feature.","lastValidated":"2026-01-05","slug":"concepts/tailnet-lock-whitepaper","pathToContent":"concepts/tailnet-lock-whitepaper/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["tailnet-name","tailnet"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailnet names and types","summary":"A tailnet uses several name types to identify devices and manage access, including Tailnet DNS, machine, Tailnet ID, and Legacy ID, each serving unique purposes.","lastValidated":"2026-01-05","slug":"concepts/tailnet-name","pathToContent":"concepts/tailnet-name/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["security","encryption","wireguard","control-plane","data-plane","technical-overview"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale encryption","summary":"Review how Tailscale uses encryption.","lastValidated":"2026-01-07","slug":"concepts/tailscale-encryption","pathToContent":"concepts/tailscale-encryption/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["identity"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale identity","summary":"Understand how identity is established and used in Tailscale.","lastValidated":"2026-02-11","slug":"concepts/tailscale-identity","pathToContent":"concepts/tailscale-identity/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ip-addresses","dns","tailscale-ip-addresses"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"What are these 100.x.y.z addresses?","summary":"Tailscale uses 100.x.y.z IP addresses from the Carrier-Grade NAT (CGNAT) range to ensure stable, private connections for devices on your private network.","lastValidated":"2026-01-12","slug":"concepts/tailscale-ip-addresses","pathToContent":"concepts/tailscale-ip-addresses/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["osi","networking","tailnet"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale and the OSI model","summary":"Review how Tailscale relates to the OSI model layers.","lastValidated":"2026-01-05","slug":"concepts/tailscale-osi","pathToContent":"concepts/tailscale-osi/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Is my traffic routed through your servers?","summary":"Understand how Tailscale makes routing decisions and when your traffic is routed through our DERP servers.","lastValidated":"2026-01-05","slug":"concepts/traffic-routing-through-tailscale","pathToContent":"concepts/traffic-routing-through-tailscale/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"TunnelVision vulnerability and Tailscale","summary":"Understand the TunnelVision network vulnerability warning pop-up on macOS, and how to manage it.","lastValidated":"2025-10-29","slug":"concepts/tunnel-vision","pathToContent":"concepts/tunnel-vision/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["serverless","containers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Userspace networking mode (for containers
1)","summary":"Find out about userspace networking mode and when it is useful.","lastValidated":"2025-11-12","slug":"concepts/userspace-networking","pathToContent":"concepts/userspace-networking/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["faq","tailnet","technical-overview"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"What is Tailscale?","summary":"Get a brief introduction to Tailscale.","lastValidated":"2025-09-30","slug":"concepts/what-is-tailscale","pathToContent":"concepts/what-is-tailscale/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Where are the Windows configuration and log files?","summary":"Understand where Tailscale stores configuration and log files in devices.","lastValidated":"2025-08-06","slug":"concepts/windows-config-and-log-files","pathToContent":"concepts/windows-config-and-log-files/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["wireguard","encryption","security"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"About WireGuard","summary":"Discover how Tailscale builds on WireGuard to offer single sign-on (SSO) and other capabilities.","lastValidated":"2026-01-05","slug":"concepts/wireguard","pathToContent":"concepts/wireguard/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"\\"Zero Trust Networking\\" definition","summary":"Find out what Zero Trust Networking means.","lastValidated":"2026-01-05","slug":"concepts/zero-trust","pathToContent":"concepts/zero-trust/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","acl-tags","acls"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage permissions using ACLs","summary":"Configure access control lists (ACLs) in Tailscale to manage device permissions and secure your network.","lastValidated":"2026-01-05","slug":"features/access-control/acls","pathToContent":"features/access-control/acls/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How To","summary":"How To documentation index.","lastValidated":"2026-01-29","slug":"features/access-control/auth-keys/how-to","pathToContent":"features/access-control/auth-keys/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Securely handle an auth key","summary":"Use an environment variable to pass in auth keys to Tailscale 
1CLI commands.","lastValidated":"2025-07-23","slug":"features/access-control/auth-keys/how-to/secure-auth-keys","pathToContent":"features/access-control/auth-keys/how-to/secure-auth-keys/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["acl-tags","ephemeral-nodes"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Auth keys","summary":"Use Tailscale auth keys to authenticate devices, automate device provisioning, and enhance security. Create and manage auth keys for streamlined network access and control.","lastValidated":"2026-06-30","slug":"features/access-control/auth-keys","pathToContent":"features/access-control/auth-keys/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","security-features"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Device approval","summary":"Review and approve new devices before they can join your Tailscale network.","lastValidated":"2026-01-05","slug":"features/access-control/device-management/device-approval","pathToContent":"features/access-control/device-management/device-approval/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Device certificate verification","summary":"Use device certificates to automatically verify devices before they can join your Tailscale network.","lastValidated":"2025-09-24","slug":"features/access-control/device-management/device-certificate-verification","pathToContent":"features/access-control/device-management/device-certificate-verification/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Exporting a list of tailnet devices","summary":"Export a list of devices in your tailnet.","lastValidated":"2026-01-05","slug":"features/access-control/device-management/how-to/export-list","pathToContent":"features/access-control/device-management/how-to/export-list/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Filter devices in the admin console","summary":"Find devices meeting certain criteria in the machines page of the admin console.","lastValidated":"2026-01-05","slug":"features/access-control/device-management/how-to/filter","pathToContent":"features/access-control/device-management/how-to/filter/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How To","summary":"How To documentation index.","lastValidated":"2026-01-29","slug":"features/access-control/device-management/how-to","pathToContent":"features/access-control/device-management/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Use Device Identity Collection","summary":"Enable Device Identity Collection to collect serial numbers from devices on your Tailscale network.","lastValidated":"2026-01-05","slug":"features/access-control/device-management/how-to/manage-identity","pathToContent":"features/access-control/device-management/how-to/manage-identity/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Remove a device","summary":"Remove devices from your Tailscale network.","lastValidated":"2026-01-05","slug":"features/access-control/device-management/how-to/remove","pathToContent":"features/access-control/device-management/how-to/remove/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Add a device","summary":"Add new devices to your Tailscale network.","lastValidated":"2026-01-05","slug":"features/access-control/device-management/how-to/set-up","pathToContent":"features/access-control/device-management/how-to/set-up/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Add a device using a QR code","summary":"Add new devices to your Tailscale network using QR code scanning.","lastValidated":"2025-09-30","slug":"features/access-control/device-management/how-to/set-up-qr-code","pathToContent":"features/access-control/device-management/how-to/set-up-qr-code/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage devices","summary":"See how to review and approve devices, rename a machine, and filter devices in the admin console.","lastValidated":"2025-02-03","slug":"features/access-control/device-management","pathToContent":"features/access-control/device-management/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["explanation","grants","access-controls"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Application capabilities","summary":"Understand capabilities at the application level.","lastValidated":"2025-12-01","slug":"features/access-control/grants/grants-app-capabilities","pathToContent":"features/access-control/grants/grants-app-capabilities/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","grants","via"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Route filtering with Via","summary":"Control how traffic routes from a source to a destination, such as through specific exit nodes, subnet routers, or app connectors.","lastValidated":"2026-01-05","slug":"features/access-control/grants/grants-via","pathToContent":"features/access-control/grants/grants-via/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","grants","overview"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Grants","summary":"Grant access control permissions across both network connections and application permissions.","lastValidated":"2026-07-24","slug":"features/access-control/grants","pathToContent":"features/access-control/grants/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How To","summary":"How To documentation index.","lastValidated":"2026-01-29","slug":"features/access-control/how-to","pathToContent":"features/access-control/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access control","summary":"Understand the options available for access control in Tailscale.","lastValidated":"2025-05-29","slug":"features/access-control","pathToContent":"features/access-control/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Just-in-time access","
1summary":"Provide just-in-time access, also known as on-demand access, to your Tailscale network users.","lastValidated":"2025-05-02","slug":"features/access-control/just-in-time-access","pathToContent":"features/access-control/just-in-time-access/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["security-features"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Key expiry","summary":"Prevent unnecessary re-authentication when you disable key expiry. Avoid disruptions in network connectivity and still keep your Tailscale network secure.","lastValidated":"2026-01-05","slug":"features/access-control/key-expiry","pathToContent":"features/access-control/key-expiry/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","security-features"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"User approval","summary":"Review and approve new users before they can join your Tailscale network.","lastValidated":"2025-09-25","slug":"features/access-control/user-approval","pathToContent":"features/access-control/user-approval/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How To","summary":"How To documentation index.","lastValidated":"2026-01-29","slug":"features/app-connectors/how-to","pathToContent":"features/app-connectors/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["app-connectors","routing"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Set up an app connector","summary":"Update your tailnet policy file and set up your app connector devices, and app connector settings.","lastValidated":"2026-01-05","slug":"features/app-connectors/how-to/setup","pathToContent":"features/app-connectors/how-to/setup/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["routing","app-connectors","exit-nodes","subnets"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How app connectors work","summary":"Route SaaS application traffic in your tailnet using app connectors.","lastValidated":"2025-12-10","slug":"features/app-connectors","pathToContent":"features/app-connectors/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["android","split-tunnel","apps"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Using app-based split tunneling on Android","summary":"Configure specific apps to use or be excluded from Tailscale tunneling on Android devices.","lastValidated":"2026-01-05","slug":"features/client/android-app-split-tunneling","pathToContent":"features/client/android-app-split-tunneling/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage devices using the web interface","summary":"Manage your individual device using the web interface.","lastValidated":"2026-01-05","slug":"features/client/device-web-interface","pathToContent":"features/client/device-web-interface/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Fast user switching","summary":"Quickly switch between two or more logged in accounts on the same device, without requiring re-authentication.","lastValidated":"2025-12-04","slug":"features/client/fast-user-switching","pathToContent":"features/client/fast-user-switching/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Client","summary":"Client documentation index.","lastValidated":"2026-01-29","slug":"features/client","pathToContent":"features/client/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Using VPN On Demand for iOS and macOS","summary":"Automatically connect and disconnect Tailscale on your iOS and macOS devices.","lastValidated":"2026-01-05","slug":"features/client/ios-vpn-on-demand","pathToContent":"features/client/ios-vpn-on-demand/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Linux systray application","summary":"Use the Linux systray app for quick access to features like user switching and exit nodes.","lastValidated":"2026-01-05","slug":"features/client/linux-systray","pathToContent":"features/client/linux-systray/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage client preferences","summary":"Block incoming connections from Tailscale, or ignore Tailscale\'s DNS settings and advertised routes.","lastValidated":"2026-01-05","slug":"features/client/manage-preferences","pathToContent":"features/client/manage-preferences/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Uninstall Tailscale","summary":"Uninstall the Tailscale client.","lastValidated":"2026-07-22","slug":"features/client/uninstall","pathToContent":"features/client/uninstall/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Update Tailscale","summary":"Update the Tailscale client on various platforms.","lastValidated":"2025-12-04","slug":"features/client/update","pathToContent":"features/client/update/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["containers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Understanding Docker 
1components","summary":"Docker components overview covering Engine that runs containers, Dockerfiles that define images, images that package apps, containers that run them, and Compose for multi container setups.","lastValidated":"2026-03-23","slug":"features/containers/docker/docker-components","pathToContent":"features/containers/docker/docker-components/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Setting up Docker Desktop to work with Tailscale","summary":"Set up Docker Desktop containers that can be accessed in your tailnet.","lastValidated":"2026-03-23","slug":"features/containers/docker/docker-desktop","pathToContent":"features/containers/docker/docker-desktop/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["containers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Docker configuration parameters","summary":"Use Docker environment variables to configure how a Tailscale container authenticates, connects to your tailnet, and exposes services.","lastValidated":"2026-03-23","slug":"features/containers/docker/docker-params","pathToContent":"features/containers/docker/docker-params/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["containers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Connect a Docker container to your tailnet with an alternative Docker manager","summary":"Run the Tailscale Docker image with alternative container managers like Podman, Portainer, or Colima using the same configuration.","lastValidated":"2026-03-23","slug":"features/containers/docker/how-to/connect-docker-alt-manager","pathToContent":"features/containers/docker/how-to/connect-docker-alt-manager/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["containers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Connect a Docker container to your tailnet with Docker Compose","summary":"Set up a Tailscale-connected container using Docker Compose with nginx, allowing secure access to the service over your tailnet.","lastValidated":"2026-03-23","slug":"features/containers/docker/how-to/connect-docker-container","pathToContent":"features/containers/docker/how-to/connect-docker-container/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["containers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Connect a Docker container to your tailnet with standalone Docker","summary":"Run the Tailscale Docker image using a single command to create and authenticate a container to your tailnet.","lastValidated":"2026-03-23","slug":"features/containers/docker/how-to/connect-docker-standalone","pathToContent":"features/containers/docker/how-to/connect-docker-standalone/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How To","summary":"How To documentation index.","lastValidated":"2026-01-29","slug":"features/containers/docker/how-to","pathToContent":"features/containers/docker/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Docker","summary":"Explore how to use Tailscale inside Docker containers.","lastValidated":"2026-03-23","slug":"features/containers/docker","pathToContent":"features/containers/docker/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Containers","summary":"Containers documentation index.","lastValidated":"2026-01-29","slug":"features/containers","pathToContent":"features/containers/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"LXC","summary":"LXC documentation index.","lastValidated":"2026-01-29","slug":"features/containers/lxc","pathToContent":"features/containers/lxc/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["containers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale in LXC containers","summary":"Use Tailscale in LXC containers.","lastValidated":"2026-01-09","slug":"features/containers/lxc/lxc-unprivileged","pathToContent":"features/containers/lxc/lxc-unprivileged/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"public alpha","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Declarative node sharing","summary":"Define sharing relationships and grant access to resources across trusted tailnets using policy.","lastValidated":"2026-08-26","slug":"features/declarative-node-sharing","pathToContent":"features/declarative-node-sharing/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Device posture management","summary":"Use device posture for enforcing device rules in your tailnet.","lastValidated":"2026-06-24","slug":"features/device-posture","pathToContent":"features/device-posture/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ephemeral-nodes","serverless"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Ephemeral nodes","summary":"Use ephemeral nodes in Tailscale for managing short-lived devices like containers and CI/CD systems.","lastValidated":"2025-12-04","slug":"features/ephemeral-nodes","pathToContent":"features/ephemeral-nodes/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["exit-nodes"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Recommended exit nodes","summary":"Understand how Tailscale can recommend exit nodes based on your location and latency.","lastValidated":"2025-01-07","slug":"features/exit-nodes/auto-exit-nodes","pathToContent":"features/exit-nodes/auto-exit-nodes/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How To","summary":"How To documentation index.","lastValidated":"2026-01-29","slug":"features/exit-nodes/how-to","pathToContent":"features/exit-nodes/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["exit-nodes","quick-guide"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Use exit nodes","summary":"Route traffic through a specific device in your tailnet, and configure devices to use an exit node.","lastValidated":"2025-09-19","slug":"features/exit-nodes/how-to/setup","pathToContent":"features/exit-nodes/how-to/setup/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["routing","exit-nodes"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Exit nodes (route all traffic)","summary":"Route all internet traffic through a specific device on your network.","lastValidated":"2025-12-15","slug":"features/exit-nodes","pathToContent":"features/exit-nodes/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["exit-nodes"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Mandatory exit nodes","summary":"Enforce use of an exit node for your Tailscale devices.","lastValidated":"2024-12-20","slug":"features/exit-nodes/mandatory-exit-nodes","pathToContent":"features/exit-nodes/mandatory-exit-nodes/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["routing","exit-nodes","mullvad","add-ons"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Mullvad exit nodes","summary":"Use Mullvad VPN endpoints as exit nodes for your tailnet.","lastValidated":"2026-01-09","slug":"features/exit-nodes/mullvad-exit-nodes","pathToContent":"features/exit-nodes/mullvad-exit-nodes/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Firewall mode in tailscaled","summary":"Understand the different firewall modes supported by Tailscale on Linux devices.","lastValidated":"2025-12-29","slug":"features/firewall-mode","pathToContent":"features/firewall-mode/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"public alpha","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Group visibility on Tailscale clients","summary":"Get group membership information for applications running in your Tailscale network.","lastValidated":"2026-06-10","
1slug":"features/group-visibility-clients","pathToContent":"features/group-visibility-clients/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Features","summary":"Features documentation index.","lastValidated":"2026-01-29","slug":"features","pathToContent":"features/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Configuration audit logging","summary":"Identify who did what, and when, to your tailnet configuration.","lastValidated":"2026-01-05","slug":"features/logging/audit-logging","pathToContent":"features/logging/audit-logging/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Logging overview","summary":"Understand Tailscale\'s logging infrastructure.","lastValidated":"2026-01-05","slug":"features/logging","pathToContent":"features/logging/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["monitoring","log-streaming"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Log streaming","summary":"Stream Tailscale logs to a security information and event management (SIEM) system, Amazon S3, and S3-compatible service.","lastValidated":"2026-02-02","slug":"features/logging/log-streaming","pathToContent":"features/logging/log-streaming/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Network flow logs","summary":"View networking telemetry for nodes in your Tailscale network.","lastValidated":"2026-01-23","slug":"features/logging/network-flow-logs","pathToContent":"features/logging/network-flow-logs/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["automation","macos","ios"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"macOS and iOS shortcuts","summary":"Understand how Tailscale works with the Shortcuts app, allowing you to automate tasks.","lastValidated":"2026-01-05","slug":"features/mac-ios-shortcuts","pathToContent":"features/mac-ios-shortcuts/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["dns","magicdns","tailnet-name"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"MagicDNS","summary":"Find out how to automatically register DNS names for devices in your Tailscale network.","lastValidated":"2026-01-05","slug":"features/magicdns","pathToContent":"features/magicdns/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage multiple tailnets","summary":"Manage multiple tailnets under a single organization.","lastValidated":"2026-02-04","slug":"features/multiple-tailnets","pathToContent":"features/multiple-tailnets/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["oauth","auth-keys","device-provisioning"],"releaseStatus":"public alpha","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Device provisioning with OAuth apps","summary":"Build internal tools that provision tailnet devices on behalf of individual users with a standard OAuth authorization code flow, so each device carries the consenting user\'s identity.","lastValidated":"2026-06-24","slug":"features/oauth-apps/device-provisioning","pathToContent":"features/oauth-apps/device-provisioning/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["oauth"],"releaseStatus":"public alpha","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"OAuth apps","summary":"Build internal tools that act on behalf of individual users through a standard OAuth 2.0 authorization code flow, so each action carries the consenting user\'s identity.","lastValidated":"2026-06-30","slug":"features/oauth-apps","pathToContent":"features/oauth-apps/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["oauth","auth"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"OAuth clients","summary":"Use OAuth clients to provide ongoing access to the Tailscale API.","lastValidated":"2026-06-30","slug":"features/oauth-clients","pathToContent":"features/oauth-clients/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["feature-guide","peer-relays"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Tailscale Peer Relays","summary":"Use Tailscale Peer Relays for client-to-client connections when direct connections aren\'t possible.","lastValidated":"2026-02-04","slug":"features/peer-relay","pathToContent":"features/peer-relay/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Renew a device\'
1s key seamlessly","summary":"Renew a device\'s node key without losing network connectivity.","lastValidated":"2025-12-19","slug":"features/seamless-key-renewal","pathToContent":"features/seamless-key-renewal/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["security-features","security"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Secure node state storage","summary":"Encrypt Tailscale node state at rest.","lastValidated":"2026-01-12","slug":"features/secure-node-state-storage","pathToContent":"features/secure-node-state-storage/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Viewing the list of endpoints on your network","summary":"Find out how to monitor and easily connect to the endpoints running on machines in your Tailscale network.","lastValidated":"2026-01-05","slug":"features/services","pathToContent":"features/services/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Let connections continue when node keys expire","summary":"Control session connectivity when a device\'s node key expires.","lastValidated":"2025-12-08","slug":"features/session-expiry","pathToContent":"features/session-expiry/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Changing user roles","summary":"Change user roles for restricting admin console access.","lastValidated":"2026-01-05","slug":"features/sharing/how-to/change-role","pathToContent":"features/sharing/how-to/change-role/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Exporting a list of tailnet users","summary":"Export a list of users in your tailnet.","lastValidated":"2026-01-05","slug":"features/sharing/how-to/export-list","pathToContent":"features/sharing/how-to/export-list/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How To","summary":"How To documentation index.","lastValidated":"2026-01-29","slug":"features/sharing/how-to","pathToContent":"features/sharing/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Invite any user to your tailnet","summary":"Send and manage invitations for your Tailscale network.","lastValidated":"2026-01-05","slug":"features/sharing/how-to/invite-any-user","pathToContent":"features/sharing/how-to/invite-any-user/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Invite team members to your tailnet","summary":"Invite team members to your Tailscale network.","lastValidated":"2026-01-05","slug":"features/sharing/how-to/invite-team-members","pathToContent":"features/sharing/how-to/invite-team-members/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Inviting users","summary":"Explore the different ways to invite users to your Tailscale network.","lastValidated":"2024-06-18","slug":"features/sharing/how-to/invite-users","pathToContent":"features/sharing/how-to/invite-users/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["sso"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Offboarding users","summary":"Offboard users from your Tailscale network.","lastValidated":"2026-01-05","slug":"features/sharing/how-to/offboard","pathToContent":"features/sharing/how-to/offboard/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deleting and suspending users","summary":"Delete and suspend users.","lastValidated":"2026-01-05","slug":"features/sharing/how-to/remove-team-members","pathToContent":"features/sharing/how-to/remove-team-members/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Share your machines with other users","summary":"Give a Tailscale user on another tail
1net access to a private machine within your tailnet, without exposing the machine publicly.","lastValidated":"2026-01-05","slug":"features/sharing","pathToContent":"features/sharing/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["routing","subnets","use-case"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Site-to-site networking","summary":"Connect two subnets in your tailnet with each other.","lastValidated":"2025-12-08","slug":"features/site-to-site","pathToContent":"features/site-to-site/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["feature-guide","split-dns","dns","device-attributes"],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Split DNS policies","summary":"Create split DNS policies using node attributes.","lastValidated":"2025-12-10","slug":"features/split-dns-policies","pathToContent":"features/split-dns-policies/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["routing","subnets"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"4via6 subnet routers","summary":"Send traffic to overlapped IPv4 subnets.","lastValidated":"2026-02-02","slug":"features/subnet-routers/4via6-subnets","pathToContent":"features/subnet-routers/4via6-subnets/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["routing","subnets"],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Subnet router BGP advertisement","summary":"Set up BGP advertisement for return path from HA subnet routers","lastValidated":"2026-01-05","slug":"features/subnet-routers/how-to/bgp","pathToContent":"features/subnet-routers/how-to/bgp/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How To","summary":"How To documentation index.","lastValidated":"2026-01-29","slug":"features/subnet-routers/how-to","pathToContent":"features/subnet-routers/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Set up Raspberry Pi as a subnet router","summary":"Set up a Raspberry Pi as a subnet router in your tailnet.","lastValidated":"2025-10-29","slug":"features/subnet-routers/how-to/raspberry-pi","pathToContent":"features/subnet-routers/how-to/raspberry-pi/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["routing","subnets"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Configure a subnet router","summary":"Configure a subnet router to relay access in your network, including resources where Tailscale cannot be installed.","lastValidated":"2026-01-05","slug":"features/subnet-routers/how-to/setup","pathToContent":"features/subnet-routers/how-to/setup/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["routing","subnets"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Subnet routers","summary":"Use subnet routers to give devices outside your local network access to services within specific subnets. Extend your private network with Tailscale.","lastValidated":"2026-01-12","slug":"features/subnet-routers","pathToContent":"features/subnet-routers/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","tags","tailnet-policy-file","acls","grants"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Group devices with tags","summary":"Use Tailscale tags to authenticate and identify non-user devices, such as a server.","lastValidated":"2025-12-04","slug":"features/tags","pathToContent":"features/tags/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["taildrive","sharing","files"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Taildrive","summary":"Share folders securely between devices on your Tailscale network.","lastValidated":"2026-01-05","slug":"features/taildrive","pathToContent":"features/taildrive/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How To","summary":"How To documentation index.","lastValidated":"2026-01-29","slug":"features/taildrop/how-to","pathToContent":"features/taildrop/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["taildrop","nas"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Taildrop with NAS devices","summary":"Transfer files from your personal devices to a NAS device.","lastValidated":"2026-01-05","slug":"features/taildrop/how-to/set-up-taildrop-with-nas","pathToContent":"features/taildrop/how-to/set-up-taildrop-with-nas/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["taildrop"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Taildrop","summary":"Send files between your personal devices on a Tailscale network.","lastValidated":"2026-01-05","slug":"features/taildrop","pathToContent":"features/taildrop/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailnet Lock","
1summary":"Ensure that no node joins your tailnet unless trusted nodes in your tailnet sign the new node.","lastValidated":"2025-12-02","slug":"features/tailnet-lock","pathToContent":"features/tailnet-lock/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Add custom extra DNS records to your tailnet","summary":"Add extra DNS records to your tailnet for resolving nodes.","lastValidated":"2025-12-10","slug":"features/tailnet-policy-file/extra-dns-records","pathToContent":"features/tailnet-policy-file/extra-dns-records/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","tailnet","policies","tailnet-policy-file"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailnet policy file","summary":"Understand the tailnet policy file.","lastValidated":"2025-05-21","slug":"features/tailnet-policy-file","pathToContent":"features/tailnet-policy-file/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ipsets","policies","access-controls","acls","grants"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"IP sets","summary":"Review how to use IP sets.","lastValidated":"2025-10-29","slug":"features/tailnet-policy-file/ip-sets","pathToContent":"features/tailnet-policy-file/ip-sets/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","tailnet-policy-file"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Edit access control policies in your tailnet policy file","summary":"Create and edit access control policies in your tailnet policy file.","lastValidated":"2026-03-13","slug":"features/tailnet-policy-file/manage-tailnet-policies","pathToContent":"features/tailnet-policy-file/manage-tailnet-policies/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailnets API","summary":"Create and manage tailnets in your organization programmatically with the Tailscale Tailnets API.","lastValidated":"2026-08-25","slug":"features/tailnets-api","pathToContent":"features/tailnets-api/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Use device posture for just-in-time access","summary":"Use device posture for just-in-time access to resources in your tailnet.","lastValidated":"2026-01-19","slug":"features/tailscale-accessbot-jit","pathToContent":"features/tailscale-accessbot-jit/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Host a website using a tailnet device","summary":"Host a website from a device in your tailnet.","lastValidated":"2026-01-05","slug":"features/tailscale-funnel/how-to/host-websites","pathToContent":"features/tailscale-funnel/how-to/host-websites/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How To","summary":"How To documentation index.","lastValidated":"2026-01-29","slug":"features/tailscale-funnel/how-to","pathToContent":"features/tailscale-funnel/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["funnel"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale Funnel","summary":"Securely route internet traffic to local services using Tailscale Funnel.","lastValidated":"2026-01-20","slug":"features/tailscale-funnel","pathToContent":"features/tailscale-funnel/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["serve"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale Serve","summary":"Explore the Tailscale Serve service.","lastValidated":"2026-01-20","slug":"features/tailscale-serve","pathToContent":"features/tailscale-serve/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["services","feature-guide"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale Services","summary":"Securely connect to and manage access to your internal resources using Tailscale Services.","lastValidated":"2026-02-02","slug":"features/tailscale-services","pathToContent":"features/tailscale-services/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["feature-guide","tailscale-skill"],"releaseStatus":"public alpha","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Tailscale skill for coding agents","summary":"Install the Tailscale skill so a coding agent can work with Tailscale configuration and code.","lastValidated":"2026-07-24","slug":"features/tailscale-skill","pathToContent":"features/tailscale-skill/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How To","summary":"How To documentation index.","lastValidated":"2026-01-29","slug":"features/tailscale-ssh/how-to","pathToContent":"features/tailscale-ssh/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ssh"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Send Tailscale SSH session recordings to S3","summary":"Configure an S3 backend for SSH session recording.","lastValidated":"2026-01-09","slug":"features/tailscale-ssh/how-to/session-recording-s3","pathToContent":"features/tailscale-ssh/how-to/session-recording-s3/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ssh"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale SSH","summary":"Use Tailscale SSH to manage the authentication and authorization of SSH connections in your tailnet.","lastValidated":"2026-01-05","slug":"features/tailscale-ssh","pathToContent":"features/tailscale-ssh/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ssh"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale SSH Console","summary":"Use Tailscale SSH Console to start an SSH session directly from the admin console.","lastValidated":"2026-01-05","slug":"features/tailscale-ssh/tailscale-ssh-console","pathToContent":"features/tailscale-ssh/tailscale-ssh-console/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ssh"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale SSH session recording","summary":"Use Tailscale SSH session recording to collect end-to-e
1nd encrypted recordings of Tailscale SSH sessions.","lastValidated":"2026-01-05","slug":"features/tailscale-ssh/tailscale-ssh-session-recording","pathToContent":"features/tailscale-ssh/tailscale-ssh-session-recording/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["mdm","windows","ios","macos","android","linux","restriction","managed"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Customize Tailscale using system policies","summary":"A list of configuration keys you can use to customize the Tailscale client using system policies, including MDM.","lastValidated":"2026-08-11","slug":"features/tailscale-system-policies","pathToContent":"features/tailscale-system-policies/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"tsidp","summary":"Use tsidp to secure any service that supports OIDC/OAuth with no additional login while in a tailnet, including self-hosted apps like Grafana and MCP servers.","lastValidated":"2026-03-10","slug":"features/tsidp","pathToContent":"features/tsidp/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Hello tsnet","summary":"Create a basic HTTP server in your tailnet using the Tailscale tsnet library.","lastValidated":"2025-09-18","slug":"features/tsnet/how-to/create-basic-tsnet-app","pathToContent":"features/tsnet/how-to/create-basic-tsnet-app/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How To","summary":"How To documentation index.","lastValidated":"2026-01-29","slug":"features/tsnet/how-to","pathToContent":"features/tsnet/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Register a tsnet application as a Tailscale Service","summary":"Use the tsnet package and register a Go program as a Tailscale Service host.","lastValidated":"2026-01-27","slug":"features/tsnet/how-to/register-service","pathToContent":"features/tsnet/how-to/register-service/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"tsnet","summary":"Use the tsnet package to embed Tailscale inside a Go program.","lastValidated":"2026-07-24","slug":"features/tsnet","pathToContent":"features/tsnet/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"tsrecorder","summary":"Use tsrecorder for session recording with Tailscale SSH and the Tailscale Kubernetes Operator.","lastValidated":"2026-06-12","slug":"features/tsrecorder","pathToContent":"features/tsrecorder/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","security-features"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"User & group provisioning","summary":"Learn about the System for Cross-domain Identity Management (SCIM) identity providers that Tailscale supports.","lastValidated":"2025-12-08","slug":"features/user-group-provisioning","pathToContent":"features/user-group-provisioning/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","grants","visual-editor"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Visual policy editor","summary":"Update your tailnet policy file with the visual policy editor.","lastValidated":"2026-03-13","slug":"features/visual-editor","pathToContent":"features/visual-editor/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How To","summary":"How To documentation index.","lastValidated":"2026-01-29","slug":"features/webhooks/how-to","pathToContent":"features/webhooks/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["webhooks","how-to","secrets"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Rotate a webhook secret","summary":"Replace a webhook secret to secure your webhook endpoint as part of regular security maintenance or replace a compromised key","lastValidated":"2026-01-20","slug":"features/webhooks/how-to/rotate-webhook-secret","pathToContent":"features/webhooks/how-to/rotate-webhook-secret/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Webhooks","summary":"Set up a webhook to receive notification of events on your Tailscale network.","lastValidated":"2026-01-05","slug":"features/webhooks","pathToContent":"features/webhooks/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Workload identity federation","summary":"Use federated OIDC workload identities from third-party providers to authenticate requests to the Tailscale API.","lastValidated":"2026-01-30","slug":"features/workload-identity-federation","pathToContent":"features/workload-identity-federation/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"SSH into a Linux VM","summary":"Use Tailscale SSH to connect securely to a Linux VM.","lastValidated":"2025-12-08","slug":"how-to/connect-ssh-linux-vm","pathToContent":"how-to/connect-ssh-linux-vm/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["devices"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Connect to devices","summary":"Connect to devices in your tailnet.","lastValidated":"2026-01-05","slug":"how-to/connect-to-devices","pathToContent":"how-to/connect-to-devices/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access your virtual private cloud (VPC)","summary":"Acce
1ss your virtual private cloud (VPC) and configure a subnet router using Tailscale.","lastValidated":"2026-01-05","slug":"how-to/connect-vpc","pathToContent":"how-to/connect-vpc/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"How-to Guides","summary":"Step-by-step instructions on how to use Tailscale features to make managing your network easy.","lastValidated":"2024-07-24","slug":"how-to","pathToContent":"how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale quickstart","summary":"Install Tailscale in minutes. Create your private network and manage any device, anywhere.","lastValidated":"2026-01-05","slug":"how-to/quickstart","pathToContent":"how-to/quickstart/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Keep Tailscale running when I\'m not logged in to my computer","summary":"Configure your device to run Tailscale even when no users are logged in.","lastValidated":"2026-01-05","slug":"how-to/run-unattended","pathToContent":"how-to/run-unattended/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Use ufw to lock down an Ubuntu server","summary":"Accept connections from Tailscale and ignore internet traffic to a server.","lastValidated":"2026-01-05","slug":"how-to/secure-ubuntu-server-with-ufw","pathToContent":"how-to/secure-ubuntu-server-with-ufw/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Configure Tailscale clients to use a custom control server","summary":"Configure Tailscale clients to use a custom control server such as Headscale.","lastValidated":"2026-01-05","slug":"how-to/set-up-custom-control-server","pathToContent":"how-to/set-up-custom-control-server/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["routing","subnets","apps"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Set up high availability","summary":"Set up high availability (HA) for subnet routers and app connectors.","lastValidated":"2025-10-03","slug":"how-to/set-up-high-availability","pathToContent":"how-to/set-up-high-availability/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Enabling HTTPS","summary":"Configure HTTPS for devices in your Tailscale network.","lastValidated":"2025-12-10","slug":"how-to/set-up-https-certificates","pathToContent":"how-to/set-up-https-certificates/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ssh"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Setting up a server on your Tailscale network","summary":"Set up a server in your tailnet, and use Tailscale SSH to manage authentication for those servers.","lastValidated":"2025-12-04","slug":"how-to/set-up-servers","pathToContent":"how-to/set-up-servers/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Smaller binaries for embedded devices","summary":"Build an extra-small Tailscale binary for deployment in disk space constrained environments.","lastValidated":"2026-01-05","slug":"how-to/set-up-small-tailscale","pathToContent":"how-to/set-up-small-tailscale/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Testing your connection","summary":"Ensure your Tailscale connection is working.","lastValidated":"2026-01-05","slug":"how-to/test-connections","pathToContent":"how-to/test-connections/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Third-party deep packet inspection (DPI) solutions with Tailscale","summary":"Use third-party deep packet inspection (DPI) solutions with Tailscale.","lastValidated":"2025-11-18","slug":"how-to/use-third-party-dpi","pathToContent":"how-to/use-third-party-dpi/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["automation"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Automations","summary":"Automate your tailnet using infrastru
1cture-as-code providers, webhooks, and other integrations.","lastValidated":"2025-12-14","slug":"automations","pathToContent":"hubs/automations/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Aperture chat sandbox","summary":"Find documentation for the Aperture chat sandbox, including setup, operations, reference, and troubleshooting.","lastValidated":"2026-08-14","slug":"chat-sandbox","pathToContent":"hubs/chat-sandbox/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Connect to a cloud server","summary":"Connect your cloud server to Tailscale.","lastValidated":"2024-06-18","slug":"cloud-server","pathToContent":"hubs/cloud-server/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Containers and virtualization","summary":"Integrate Tailscale with container and virtualization technologies.","lastValidated":"2024-06-18","slug":"containers-and-virtualization","pathToContent":"hubs/containers-and-virtualization/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Connect to a database","summary":"Connect to databases over Tailscale.","lastValidated":"2025-12-01","slug":"database","pathToContent":"hubs/database/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["tailscale-skill"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Develop with AI","summary":"Give AI coding agents and chat assistants accurate Tailscale information.","lastValidated":"2026-07-28","slug":"develop-with-ai","pathToContent":"hubs/develop-with-ai/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Integrate with a firewall","summary":"Integrate Tailscale with popular firewall products.","lastValidated":"2025-08-03","slug":"firewall","pathToContent":"hubs/firewall/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["acls","gitops"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"GitOps for Tailscale","summary":"Use GitOps to maintain your tailnet policy file as code.","lastValidated":"2025-05-02","slug":"gitops","pathToContent":"hubs/gitops/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Hubs","summary":"Hubs documentation index.","lastValidated":"2026-01-29","slug":"hubs","pathToContent":"hubs/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Access or share resources from within your development environment","summary":"Explore recommended developer tools to use with Tailscale.","lastValidated":"2026-07-24","slug":"integration-dev-tools","pathToContent":"hubs/integration-dev-tools/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Infrastructure as code","summary":"Infrastructure as Code integrations let you deploy infrastructure programmatically.","lastValidated":"2025-01-28","slug":"integration-infrastru
1cture-as-code","pathToContent":"hubs/integration-infrastructure-as-code/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Connect to a serverless app","summary":"Securely connect to serverless applications using Tailscale","lastValidated":"2025-04-23","slug":"integration-serverless-apps","pathToContent":"hubs/integration-serverless-apps/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["containers","kubernetes"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Tailscale on Kubernetes","summary":"Use Tailscale for Kubernetes cluster deployments.","lastValidated":"2026-05-29","slug":"kubernetes","pathToContent":"hubs/kubernetes/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Manage access","summary":"Manage access to your Tailscale resources.","lastValidated":"2025-05-07","slug":"manage","pathToContent":"hubs/manage/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Manage users","summary":"See how to invite users, assign or change user roles, remove users, and quickly switch between accounts.","lastValidated":"2025-09-30","slug":"manage-users","pathToContent":"hubs/manage-users/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Deploy Tailscale with an MDM solution","summary":"Integrate Tailscale with an MDM solution.","lastValidated":"2024-07-18","slug":"mdm","pathToContent":"hubs/mdm/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["idp"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Enable two-factor and multifactor authentication","summary":"Enable MFA from your identity provider.","lastValidated":"2024-06-18","slug":"multifactor-auth","pathToContent":"hubs/multifactor-auth/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["oauth"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"OAuth on Tailscale","summary":"Authorize tools and integrations to act upon your tailnet through OAuth.","lastValidated":"2026-06-30","slug":"oauth","pathToContent":"hubs/oauth/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Tailscale quick guides","summary":"Configure some of Tailscale\'s most popular features.","lastValidated":"2026-01-05","slug":"quick-guides","pathToContent":"hubs/quick-guides/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Connect to your remote code environment","summary":"Connect to remote code environments like code-server, Coder, GitHub Codespaces, Gitpod, and OpenVSCode.","lastValidated":"2024-12-20","slug":"remote-code","pathToContent":"hubs/remote-code/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Resources","summary":"Access resources about Tailscale software changes, comparisons with other products, open source community projects, security, privacy, and compliance.","lastValidated":"2026-01-05","slug":"resources","pathToContent":"hubs/resources/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Route traffic","summary":"Explore Tailscale routing features, such as subnet routers, exit nodes, and MagicDNS.","lastValidated":"2025-06-03","slug":"route","pathToContent":"hubs/route/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Secure the network","summary":"Prevent security issues with your Tailscale network.","lastValidated":"2026-01-05","slug":"secure-networks","pathToContent":"hubs/secure-networks/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Set up servers","summary":"Securely set up servers using tags, pre-authorization keys, ephemeral nodes, and more.","lastValidated":"2025-03-03","slug":"servers","pathToContent":"hubs/servers
1/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Access and share services","summary":"View services, share machines, and share files in your tailnet.","lastValidated":"2026-01-05","slug":"share","pathToContent":"hubs/share/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Share a web server","summary":"Share resources, including websites, from tailnet devices.","lastValidated":"2024-12-20","slug":"share-web-server","pathToContent":"hubs/share-web-server/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Get support","summary":"Get support from Tailscale.","lastValidated":"2024-08-14","slug":"support","pathToContent":"hubs/support/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Docs","summary":"Use Tailscale to securely connect your devices, no matter where they live.","lastValidated":"2026-02-04","slug":"","pathToContent":"index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on Amazon Fire devices","summary":"Install Tailscale on your Amazon Fire devices, including Amazon Fire TV and Amazon Fire Tablets.","lastValidated":"2026-01-27","slug":"install/amazon-fire","pathToContent":"install/amazon-fire/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on Android","summary":"Install the Tailscale client on Android devices.","lastValidated":"2025-02-21","slug":"install/android/android-quickstart","pathToContent":"install/android/android-quickstart/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on Android","summary":"Install the Tailscale client on Android devices.","lastValidated":"2026-01-05","slug":"install/android","pathToContent":"install/android/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on an Apple TV","summary":"Install the Tailscale client on an Apple TV.","lastValidated":"2026-01-05","slug":"install/appletv","pathToContent":"install/appletv/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on a Chromebook","summary":"Install the Tailscale client on a Chromebook.","lastValidated":"2025-08-22","slug":"install/chromebook","pathToContent":"install/chromebook/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aws","ephemeral-nodes","serverless"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale on AWS App Runner","summary":"Install the Tailscale client on AWS App Runner.","lastValidated":"2026-01-05","slug":"install/cloud/aws/aws-app-runner","pathToContent":"install/cloud/aws/aws-app-runner/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aws","ephemeral-nodes","serverless"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale on AWS Lambda","summary":"Run Tailscale on AWS Lambda functions.","lastValidated":"2026-01-05","slug":"install/cloud/aws/aws-lambda","pathToContent":"install/cloud/aws/aws-lambda/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aws","ephemeral-nodes","serverless"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale on AWS Lightsail","summary":"Install the Tailscale client in AWS Lightsail containers.","lastValidated":"2026-01-05","slug":"install/cloud/aws/aws-lightsail","pathToContent":"install/cloud/aws/aws-lightsail/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aws","subnets"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access AWS RDS privately using Tailscale","summary":"Use Tailscale to privately access AWS RDS.","lastValidated":"2026-01-05","slug":"install/cloud/aws/aws-rds","pathToContent":"install/cloud/aws/aws-rds/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aws","subnets"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Connect to an AWS VPC using subnet routes","summary":"Deploy a Tailscale subnet router on an Amazon EC2 instance. Get secure access to your VPC\'s EC2 instances.","lastValidated":"2025-12-04","slug":"install/cloud/aws","pathToContent":"install/cloud/aws/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on an AWS VM","summary":"Install the Tailscale client on an AWS Linux VM and use some common features.","lastValidated":"2026-01-12","slug":"install/cloud/aws/quickstart","pathToContent":"install/cloud/aws/quickstart/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ephemeral-nodes","serverless"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Using Tailscale on Azure App Service","summary":"Use Azure App Service with Tailscale.","lastValidated":"2026-01-05","slug":"install/cloud/azure/azure-app-service","pathToContent":"install/cloud/azure/azure-app-service/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Azure","summary":"Azure documentation index.","lastValidated":"2026-01-29","slug":"install/cloud/azure","pathToContent":"install/cloud/azure/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["azure","subnets"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access Azure Linux VMs privately using Tailscale","summary":"Acce
1ss Azure Linux VMs privately with Tailscale.","lastValidated":"2026-01-05","slug":"install/cloud/azure/linux","pathToContent":"install/cloud/azure/linux/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["azure","subnets"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access Azure Windows VMs privately using Tailscale","summary":"Use Tailscale to privately access Azure Windows VMs.","lastValidated":"2026-01-05","slug":"install/cloud/azure/windows","pathToContent":"install/cloud/azure/windows/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ephemeral-nodes","serverless","gcp"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale on Google Cloud Run","summary":"Install the Tailscale client on containers in Google Cloud Run.","lastValidated":"2026-01-05","slug":"install/cloud/cloudrun","pathToContent":"install/cloud/cloudrun/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["code"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access your tailnet from Coder","summary":"Write code remotely by installing Tailscale on Coder.","lastValidated":"2025-03-03","slug":"install/cloud/coder","pathToContent":"install/cloud/coder/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ephemeral-nodes","serverless"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale on Fly.io","summary":"Use Tailscale with Fly.io.","lastValidated":"2025-12-04","slug":"install/cloud/flydotio","pathToContent":"install/cloud/flydotio/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["gcp","subnets"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access Google Compute Engine VMs privately using Tailscale","summary":"Access Google Compute Engine VMs privately using Tailscale.","lastValidated":"2025-12-04","slug":"install/cloud/gce","pathToContent":"install/cloud/gce/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["code"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access your tailnet from Gitpod","summary":"Write code remotely by installing Tailscale on Gitpod.","lastValidated":"2026-01-05","slug":"install/cloud/gitpod","pathToContent":"install/cloud/gitpod/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ephemeral-nodes","serverless"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale on Heroku","summary":"Use Tailscale on Heroku.","lastValidated":"2025-12-04","slug":"install/cloud/heroku","pathToContent":"install/cloud/heroku/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access Hetzner Servers privately using Tailscale","summary":"Set up secure connections to Hetzner\'s Linux VMs, configure firewalls, and optimize performance with step-by-step instructions.","lastValidated":"2026-01-05","slug":"install/cloud/hetzner","pathToContent":"install/cloud/hetzner/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Cloud","summary":"Cloud documentation index.","lastValidated":"2026-01-29","slug":"install/cloud","pathToContent":"install/cloud/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ephemeral-nodes","serverless","koyeb"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale on Koyeb","summary":"Use Tailscale with Koyeb.","lastValidated":"2026-01-05","slug":"install/cloud/koyeb","pathToContent":"install/cloud/koyeb/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["subnets"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access Oracle Cloud VMs privately using Tailscale","summary":"Use Tailscale to privately access Oracle Cloud VMs.","lastValidated":"2026-01-05","slug":"install/cloud/oracle-cloud","pathToContent":"install/cloud/oracle-cloud/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale","summary":"Install and uninstall the Tailscale client.","lastValidated":"2025-12-19","slug":"install","pathToContent":"install/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on iOS","summary":"Install the Tailscale client on iOS.","lastValidated":"2025-02-21","slug":"install/ios","pathToContent":"install/ios/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on iOS","summary":"Install the Tailscale client on iOS devices.","lastValidated":"2025-02-21","slug":"install/ios/quickstart","pathToContent":"install/ios/quickstart/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on Linux","summary":"Install the Tailscale client on Linux distributions using the install script for mainstream distributions, or other distributions with alternative package managers.","lastValidated":"2026-01-05","slug":"install/linux","pathToContent":"install/linux/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["macos"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on macOS","summary":"Install the Tailscale client on macOS.","lastValidated":"2026-01-05","slug":"install/mac","pathToContent":"install/mac/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on macOS","summary":"Install Tailscale on macOS devices.","lastValidated":"2024-0
17-13","slug":"install/mac/quickstart","pathToContent":"install/mac/quickstart/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Using OPNsense with Tailscale","summary":"Set up a Tailscale VPN on OPNsense. Get secure communication across your devices without the need for complex configuration.","lastValidated":"2025-12-04","slug":"install/opnsense","pathToContent":"install/opnsense/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Start using Tailscale","summary":"Install Tailscale, create a network, and invite your team.","lastValidated":"2025-02-21","slug":"install/start","pathToContent":"install/start/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale with static binaries","summary":"Use static binaries to install Tailscale on unsupported Linux distributions.","lastValidated":"2025-02-21","slug":"install/static","pathToContent":"install/static/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install unstable Tailscale clients","summary":"Find out how to test new features before they are released to the wider community.","lastValidated":"2025-01-07","slug":"install/unstable","pathToContent":"install/unstable/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on Windows","summary":"Install the Tailscale client on Windows.","lastValidated":"2025-11-21","slug":"install/windows","pathToContent":"install/windows/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on Windows with MSI","summary":"Install the Tailscale client on Windows with MSI.","lastValidated":"2026-01-05","slug":"install/windows/msi","pathToContent":"install/windows/msi/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on Windows","summary":"Install the Tailscale client on Windows.","lastValidated":"2025-02-21","slug":"install/windows/quickstart","pathToContent":"install/windows/quickstart/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale on Windows with WSL 2","summary":"Install the Tailscale client on Windows with WSL 2.","lastValidated":"2025-11-03","slug":"install/windows/wsl2","pathToContent":"install/windows/wsl2/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ssh"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Install Tailscale with cloud-init","summary":"Install Tailscale automatically on the first boot of a machine with cloud-init.","lastValidated":"2026-01-05","slug":"install/with-cloud-init","pathToContent":"install/with-cloud-init/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["acls","gitops","bitbucket"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"GitOps for Tailscale with Bitbucket","summary":"Use a Bitbucket CI to maintain your tailnet policy file as code.","lastValidated":"2025-12-04","slug":"integrations/bitbucket/gitops","pathToContent":"integrations/bitbucket/gitops/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Bitbucket","summary":"Bitbucket documentation index.","lastValidated":"2026-01-29","slug":"integrations/bitbucket","pathToContent":"integrations/bitbucket/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Using Tailscale with captive portals","summary":"Understand how Tailscale handles captive portals when you connect to a public network.","lastValidated":"2025-12-10","slug":"integrations/captive-portals","pathToContent":"integrations/captive-portals/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["code"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access your tailnet from CodeSandbox","summary":"Privately access CodeSandbox repositories.","lastValidated":"2026-01-05","slug":"integrations/codesandbox","pathToContent":"integrations/codesandbox/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["code"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access your tailnet from code-server","summary":"Write code remotely by installing Tailscale on code-server.","lastValidated":"2025-09-18","slug":"integrations/codeserver","pathToContent":"integrations/codeserver/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["dns","integrations","control-d"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Use Control D","summary":"Use Control D with devices in your tailnet.","lastValidated":"2025-12-08","slug":"integrations/control-d","pathToContent":"integrations/control-d/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Restrict device access with CrowdStrike ZTA scores","summary":"Use Zero Trust Assessment (ZTA) scores reported by CrowdStrike Falcon as a device posture attribute for use in access rules.","lastValidated":"2026-01-28","slug":"integrations/crowdstrike-zta","pathToContent":"integrations/crowdstrike-zta/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access Crunchy Bridge privately using Tailscale","summary":"Use Crunchy Bridge with Tailscale.","lastValidated":"2026-01-12","slug":"integrations/crunchy-bridge","pathToContent":"integrations/crunchy-bridge/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Using Tailscale with your firewall","summary":"Use Tailscale with an existing firewall configuration.","lastValidated":"2026-01-28","slug":"integrations/firewalls","pathToContent":"integrations/firewalls/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["dns"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Unbound DNS in OPNsense","summary":"MagicDNS in OPNsense Unbound DNS","lastValidated":"2025-05-06","
1slug":"integrations/firewalls/opnsense-unbound","pathToContent":"integrations/firewalls/opnsense-unbound/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Using Tailscale with your Palo Alto Networks firewall","summary":"Use Tailscale with a Palo Alto Networks firewall.","lastValidated":"2025-09-30","slug":"integrations/firewalls/palo-alto-firewall","pathToContent":"integrations/firewalls/palo-alto-firewall/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"pfSense settings to enable direct connections","summary":"Configure pfSense in your tailnet to enable direct connections.","lastValidated":"2026-02-02","slug":"integrations/firewalls/pfsense","pathToContent":"integrations/firewalls/pfsense/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Restrict device access with Fleet","summary":"Use signals reported by Fleet as a device posture attribute for use in access rules.","lastValidated":"2026-01-29","slug":"integrations/fleet","pathToContent":"integrations/fleet/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ci-cd","github-actions","github","solution-guide"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale GitHub Action","summary":"Secure CI/CD workflows in GitHub using the Tailscale GitHub Action.","lastValidated":"2026-01-30","slug":"integrations/github/github-action","pathToContent":"integrations/github/github-action/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["code"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access your tailnet GitHub Codespaces","summary":"Write code remotely by installing Tailscale on GitHub Codespaces.","lastValidated":"2026-01-05","slug":"integrations/github/github-codespaces","pathToContent":"integrations/github/github-codespaces/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["acls","gitops","github"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"GitOps for Tailscale with GitHub Actions","summary":"Use a GitHub Action to maintain your tailnet policy file as code.","lastValidated":"2025-12-05","slug":"integrations/github/gitops","pathToContent":"integrations/github/gitops/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"GitHub","summary":"GitHub documentation index.","lastValidated":"2026-01-29","slug":"integrations/github","pathToContent":"integrations/github/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale with GitLab CI/CD","summary":"Connect your Tailscale network to a GitLab Runner.","lastValidated":"2025-12-04","slug":"integrations/gitlab/gitlab-runner","pathToContent":"integrations/gitlab/gitlab-runner/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["acls","gitops","gitlab"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"GitOps for Tailscale with GitLab CI","summary":"Use a GitLab CI to maintain your tailnet policy file as code.","lastValidated":"2025-12-04","slug":"integrations/gitlab/gitops","pathToContent":"integrations/gitlab/gitops/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"GitLab","summary":"GitLab documentation index.","lastValidated":"2026-01-29","slug":"integrations/gitlab","pathToContent":"integrations/gitlab/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"User & group provisioning for Google Worksp
1ace","summary":"Sync users and groups from Google Workspace to use in Tailscale access controls.","lastValidated":"2026-07-06","slug":"integrations/google-sync","pathToContent":"integrations/google-sync/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["grafana","integrations","monitoring"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Use Grafana with Tailscale","summary":"Use Grafana to monitor your tailnet or secure access to a Grafana dashboard using Tailscale.","lastValidated":"2025-07-31","slug":"integrations/grafana","pathToContent":"integrations/grafana/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Restrict device access with Huntress","summary":"Use signals reported by Huntress as device posture attributes for use in access rules.","lastValidated":"2026-02-02","slug":"integrations/huntress","pathToContent":"integrations/huntress/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["sso"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Setting up Apple to work with Tailscale","summary":"Configure an Apple ID with Tailscale.","lastValidated":"2025-09-26","slug":"integrations/identity/apple-sso","pathToContent":"integrations/identity/apple-sso/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Custom OIDC providers","summary":"Configure your OpenID Connect (OIDC) identity provider to integrate with Tailscale.","lastValidated":"2025-12-10","slug":"integrations/identity/custom-oidc","pathToContent":"integrations/identity/custom-oidc/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"User & group provisioning for custom providers","summary":"Sync users and groups from a custom identity provider to use in Tailscale access controls.","lastValidated":"2026-01-05","slug":"integrations/identity/custom-scim","pathToContent":"integrations/identity/custom-scim/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Setting up a custom Microsoft Entra application to work with Tailscale","summary":"Configure a custom Microsoft Entra application with Tailscale.","lastValidated":"2025-10-31","slug":"integrations/identity/entra/custom","pathToContent":"integrations/identity/entra/custom/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["Azure AD","Entra ID","scim","provisioning"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"User & group provisioning for Microsoft Entra ID","summary":"See how to sync users and groups from Microsoft Entra ID to use in Tailscale access controls.","lastValidated":"2026-07-06","
1slug":"integrations/identity/entra/entra-id-scim","pathToContent":"integrations/identity/entra/entra-id-scim/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["sso"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Setting up Microsoft Entra ID to work with Tailscale","summary":"Configure Microsoft Entra ID with Tailscale.","lastValidated":"2026-01-05","slug":"integrations/identity/entra","pathToContent":"integrations/identity/entra/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["sso"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Setting up GitHub to work with Tailscale","summary":"Configure a GitHub organization account or a GitHub personal account with Tailscale.","lastValidated":"2026-02-04","slug":"integrations/identity/github","pathToContent":"integrations/identity/github/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["sso"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Setting up Google to work with Tailscale","summary":"Use Tailscale with the Google identity provider.","lastValidated":"2025-11-12","slug":"integrations/identity/google-sso","pathToContent":"integrations/identity/google-sso/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["idp"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Supported SSO identity providers","summary":"Tailscale works on top of the IdP or SSO provider you already use. Leverage the capabilities of these providers for secure access, including passkeys, 2FA, and MFA.","lastValidated":"2026-01-05","slug":"integrations/identity","pathToContent":"integrations/identity/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["okta"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Setting up Okta to work with Tailscale","summary":"Configure Okta with Tailscale.","lastValidated":"2026-01-05","slug":"integrations/identity/okta","pathToContent":"integrations/identity/okta/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["okta","scim","provisioning"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"User & group provisioning for Okta","summary":"See how to sync users and groups from Okta to use in Tailscale access controls.","lastValidated":"2026-01-05","slug":"integrations/identity/okta/okta-scim","pathToContent":"integrations/identity/okta/okta-scim/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Setting up OneLogin to work with Tailscale","summary":"Use Tailscale with OneLogin.","lastValidated":"2024-07-08","slug":"integrations/identity/onelogin","pathToContent":"integrations/identity/onelogin/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Using passkeys for Tailscale authentication","summary":"Create and manage passkeys for authentication to your Tailscale network.","lastValidated":"2026-01-05","slug":"integrations/identity/passkeys","pathToContent":"integrations/identity/passkeys/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Switch identity provider","summary":"Switch the identity provider you use for your Tailscale network.","lastValidated":"2026-06-29","slug":"integrations/identity/switch-identity-provider","pathToContent":"integrations/identity/switch-identity-provider/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Integrations","summary":"How to use Tailscale to various kinds of servers, services, or devices.","lastValidated":"2024-06-18","slug":"integrations","pathToContent":"integrations/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Restrict device access with Iru","summary":"Use signals reported by Iru (formerly Kandji) as device posture attributes for use in access rules.","lastValidated":"2026-01-28","slug":"integrations/iru","pathToContent":"integrations/iru/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Restrict device access with Jamf Pro","summary":"Use signals reported by Jamf Pro as device posture attributes for use in access rules.","lastValidated":"2026-01-28","slug":"integrations/jamf-pro","pathToContent":"integrations/jamf-pro/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Third-party integrations for JIT access","
1summary":"Use third-party integrations for just-in-time access, also known as on-demand access, to your Tailscale network.","lastValidated":"2025-11-12","slug":"integrations/jit-access","pathToContent":"integrations/jit-access/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"JIT access with ConductorOne","summary":"Use Tailscale and ConductorOne for on-demand access to your Tailscale network.","lastValidated":"2026-01-05","slug":"integrations/jit-conductorone","pathToContent":"integrations/jit-conductorone/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"JIT access with Opal","summary":"Use Tailscale and Opal for on-demand access to your Tailscale network.","lastValidated":"2026-01-05","slug":"integrations/jit-opal","pathToContent":"integrations/jit-opal/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"JIT access with Sym","summary":"Use Tailscale and Sym for on-demand access to your Tailscale network.","lastValidated":"2025-12-04","slug":"integrations/jit-sym","pathToContent":"integrations/jit-sym/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Restrict device access with 1Password Extended Access Management (XAM)","summary":"Use signals reported by 1Password Extended Access Management (XAM) as a device posture attribute for use in access rules.","lastValidated":"2026-01-28","slug":"integrations/kolide","pathToContent":"integrations/kolide/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["android","mdm","tinymdm","google-workspace","intune","restriction","apps"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deploy Tailscale on Android using MDM","summary":"Deploy Tailscale on Android using MDM.","lastValidated":"2025-08-18","slug":"integrations/mdm/android","pathToContent":"integrations/mdm/android/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["android","mdm","google","g-suite","workspace"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deploy Tailscale using Google Workspace","summary":"Deploy Tailscale on enrolled Android devices using Google Workspace.","lastValidated":"2026-01-05","slug":"integrations/mdm/google-workspace","pathToContent":"integrations/mdm/google-workspace/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"MDM","summary":"MDM documentation index.","lastValidated":"2026-01-29","slug":"integrations/mdm","pathToContent":"integrations/mdm/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Restrict device access with Microsoft Intune","summary":"Use signals reported by Microsoft Intune as device posture attributes for use in access rules.","lastValidated":"2026-01-28","slug":"integrations/mdm/intune","pathToContent":"integrations/mdm/intune/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ios","tvos"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deploy Tailscale on iOS/tvOS using MDM","summary":"Deploy Tailscale on iOS or tvOS using MDM.","lastValidated":"2026-01-05","slug":"integrations/mdm/ios","pathToContent":"integrations/mdm/ios/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["mdm","ios","macos","kandji"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deploy Tailscale with Iru","summary":"Deploy Tailscale system policies using Iru (formerly Kandji) MDM.","lastValidated":"2025-12-02","slug":"integrations/mdm/iru","pathToContent":"integrations/mdm/iru/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["mdm","ios","macos","jamf"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deploy Tailscale with Jamf Pro","summary":"Deploy Tailscale system policies using the Jamf Pro MDM solution.","lastValidated":"2026-01-05","slug":"integrations/mdm/jamf","pathToContent":"integrations/mdm/jamf/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["mdm","ios","macos","windows","android","jumpcloud"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deploy Tailscale with JumpCloud","summary":"Deploy Tailscale and system policies using the JumpCloud MDM solution.","lastValidated":"2026-01-05","slug":"integrations/mdm/jumpcloud","pathToContent":"integrations/mdm/jumpcloud/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["linux","mdm","syspolicy"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deploy Tailscale on Linux using MDM","summary":"Deploy Tailscale on Linux using MDM.","lastValidated":"2026-08-11","slug":"integrations/mdm/linux","pathToContent":"integrations/mdm/linux/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["macos"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deploy Tailscale on macOS using MDM","summary":"Deploy Tailscale on macOS using MDM.","lastValidated":"2026-01-05","slug":"integrations/mdm/mac","pathToContent":"integrations/mdm/mac/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["mdm","windows","ios","macos","intune","microsoft","android"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deploy Tailscale with Microsoft Intune","summary":"Deploy Tailscale system policies using Microsoft Intune MDM.","lastValidated":"2026-01-05","slug":"integrations/mdm/microsoft-intune","pathToContent":"integrations/mdm/microsoft-intune/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["mdm","ios","macos","simplemdm"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deploy Tailscale with SimpleMDM","summary":"Deploy Tailscale system policies using SimpleMDM.","lastValidated":"2026-01-05","slug":"integrations/mdm/simplemdm","pathToContent":"integrations/mdm/simplemdm/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["android","mdm","tinymdm"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deploy Tailscale using TinyMDM","summary":"Deploy Tailscale on Android using TinyMDM.","lastValidated":"2026-01-05","slug":"integrations/mdm/tinymdm","pathToContent":"integrations/mdm/tinymdm/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["windows"],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deploy Tailscale on Windows using MDM","summary":"Deploy Tailscale on Windows using MDM.","lastValidated":"2026-01-05","slug":"integrations/mdm/windows-mdm","pathToContent":"integrations/mdm/windows-mdm/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Connect to network attached storage (NAS)","summary":"Install the Tailscale client on supp
1orted network-attached storage (NAS) devices.","lastValidated":"2025-10-29","slug":"integrations/nas","pathToContent":"integrations/nas/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["dns"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Use NextDNS","summary":"Use NextDNS with devices in your tailnet.","lastValidated":"2025-12-08","slug":"integrations/nextdns","pathToContent":"integrations/nextdns/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["code"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access your tailnet from OpenVSCode","summary":"Write code remotely by installing Tailscale on OpenVSCode.","lastValidated":"2025-09-18","slug":"integrations/open-vscode","pathToContent":"integrations/open-vscode/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Technology partner integration guide","summary":"Integrate your product with Tailscale.","lastValidated":"2026-01-05","slug":"integrations/partners","pathToContent":"integrations/partners/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale MDM integration partners","summary":"Explore MDM solutions that integrate with Tailscale.","lastValidated":"2025-12-02","slug":"integrations/partners/mdm","pathToContent":"integrations/partners/mdm/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["pi"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access PiKVM from anywhere","summary":"Set up Tailscale on PiKVM.","lastValidated":"2026-01-05","slug":"integrations/pikvm","pathToContent":"integrations/pikvm/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["containers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale on a Proxmox host","summary":"Optimally configure Proxmox for use with Tailscale.","lastValidated":"2026-01-05","slug":"integrations/proxmox","pathToContent":"integrations/proxmox/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["infrastructure-as-code","automation"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage Tailscale resources using Pulumi","summary":"Use the Pulumi Tailscale provider to interact with the Tailscale API.","lastValidated":"2025-03-03","slug":"integrations/pulumi-provider","pathToContent":"integrations/pulumi-provider/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["nas","qnap"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access QNAP NAS from anywhere","summary":"Configure the Tailscale client on a QNAP NAS device.","lastValidated":"2026-01-05","slug":"integrations/qnap","pathToContent":"integrations/qnap/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Scanning for exposed Tailscale secrets","summary":"Find out how Tailscale partners scan for exposed Tailscale secrets and provide notifications to help prevent fraudulent access.","lastValidated":"2026-01-05","slug":"integrations/secret-scanning","pathToContent":"integrations/secret-scanning/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Restrict device access with SentinelOne","summary":"Use signals reported by SentinelOne agents as device posture attributes for use in access rules.","lastValidated":"2026-01-28","slug":"integrations/sentinelone","pathToContent":"integrations/sentinelone/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["nas","synology"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access Synology NAS from anywhere","summary":"Install Tailscale on your Synology device. Use this guide to get secure access to your Synology NAS from anywhere.","lastValidated":"2026-01-05","slug":"integrations/synology","pathToContent":"integrations/synology/index.mdx"}
1,{"visibility":"visible","tocDepth":3,"tags":["infrastructure-as-code","automation"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage Tailscale resources using Terraform","summary":"Use the Terraform Tailscale provider to interact with the Tailscale API.","lastValidated":"2026-01-30","slug":"integrations/terraform-provider","pathToContent":"integrations/terraform-provider/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["nas","truenas-scale"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access TrueNAS SCALE from anywhere","summary":"Configure the Tailscale client on a TrueNAS SCALE server and securely connect multiple TrueNAS SCALE servers for ZFS replication.","lastValidated":"2025-09-19","slug":"integrations/truenas","pathToContent":"integrations/truenas/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["nas","unraid","integrations","how-to"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access Unraid NAS from anywhere","summary":"Configure the Tailscale client on an Unraid NAS server.","lastValidated":"2026-01-05","slug":"integrations/unraid","pathToContent":"integrations/unraid/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Use the Tailscale extension for Visual Studio Code","summary":"Use the Tailscale extension for VS Code.","lastValidated":"2026-01-05","slug":"integrations/vscode-extension","pathToContent":"integrations/vscode-extension/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Caddy certificates on Tailscale","summary":"Use Caddy certificates with Tailscale.","lastValidated":"2026-01-05","slug":"integrations/web-servers/caddy/caddy-certificates","pathToContent":"integrations/web-servers/caddy/caddy-certificates/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Caddy","summary":"Caddy documentation index.","lastValidated":"2026-01-29","slug":"integrations/web-servers/caddy","pathToContent":"integrations/web-servers/caddy/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Integrate with a web server","summary":"Use Tailscale with a web server.","lastValidated":"2024-06-18","slug":"integrations/web-servers","pathToContent":"integrations/web-servers/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Traefik","summary":"Traefik documentation index.","lastValidated":"2026-01-29","slug":"integrations/web-servers/traefik","pathToContent":"integrations/web-servers/traefik/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Traefik certificates on Tailscale","summary":"Use Traefik Proxy with Tailscale.","lastValidated":"2026-01-05","slug":"integrations/web-servers/traefik/traefik-certificates","pathToContent":"integrations/web-servers/traefik/traefik-certificates/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["api-server-proxy","kubernetes-operator","rbac"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Configure Kubernetes RBAC for the API server proxy","
1summary":"Configure Kubernetes RBAC for the API server proxy using Tailscale identity impersonation.","lastValidated":"2026-06-05","slug":"kubernetes-operator/api-server-access/auth-and-rbac","pathToContent":"kubernetes-operator/api-server-access/auth-and-rbac/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["api-server-proxy","kubernetes-operator"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Access the Kubernetes API server over Tailscale","summary":"Securely access the Kubernetes API server over Tailscale.","lastValidated":"2026-06-05","slug":"kubernetes-operator/api-server-access","pathToContent":"kubernetes-operator/api-server-access/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["api-server-proxy","kubernetes-operator"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Use the API server proxy without Tailscale authentication","summary":"Use the API server proxy for connectivity only, with external authentication.","lastValidated":"2026-06-05","slug":"kubernetes-operator/api-server-access/noauth-mode","pathToContent":"kubernetes-operator/api-server-access/noauth-mode/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["api-server-proxy","kubernetes-operator"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Set up the Kubernetes API server over Tailscale","summary":"Set up the API server proxy to access your Kubernetes API server over Tailscale.","lastValidated":"2026-06-05","slug":"kubernetes-operator/api-server-access/setup-api-over-tailscale","pathToContent":"kubernetes-operator/api-server-access/setup-api-over-tailscale/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale Kubernetes Operator architecture","summary":"The architecture and design of the Tailscale Kubernetes Operator.","lastValidated":"2026-06-05","slug":"kubernetes-operator/concepts/architecture","pathToContent":"kubernetes-operator/concepts/architecture/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["dnsconfig","kubernetes-operator"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Use DNSConfig for in-cluster MagicDNS resolution","summary":"Understand the DNSConfig custom resource and how it enables in-cluster resolution of Tailscale MagicDNS names.","lastValidated":"2026-06-05","slug":"kubernetes-operator/concepts/dnsconfig","pathToContent":"kubernetes-operator/concepts/dnsconfig/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale Kubernetes Operator concepts explained","summary":"Learn about the architecture and key resources of the Tailscale Kubernetes Operator.","lastValidated":"2026-06-05","slug":"kubernetes-operator/concepts","pathToContent":"kubernetes-operator/concepts/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["proxyclass","kubernetes-operator"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Use ProxyClass for proxy customization","summary":"Understand the ProxyClass custom resource and how it customizes proxy resources.","lastValidated":"2026-06-05","slug":"kubernetes-operator/concepts/proxyclass","pathToContent":"kubernetes-operator/concepts/proxyclass/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["proxygroup","kubernetes-operator"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Use ProxyGroup for high availability proxies","summary":"Understand the ProxyGroup custom resource and how it enables high availability proxies.","lastValidated":"2026-06-05","slug":"kubernetes-operator/concepts/proxygroup","pathToContent":"kubernetes-operator/concepts/proxygroup/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Deploy app connectors on Kubernetes","summary":"Deploy app connectors to your Kubernetes cluster using the Tailscale Kubernetes Operator.","lastValidated":"2026-06-05","slug":"kubernetes-operator/connector/deploy-app-connector","pathToContent":"kubernetes-operator/connector/deploy-app-connector/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Deploy exit nodes and subnet routers on Kubernetes","summary":"Deploy exit nodes and subnet routers on Kubernetes using the Connector custom resource.","lastValidated":"2026-06-05","slug":"kubernetes-operator/connector/deploy-subnet-router","pathToContent":"kubernetes-operator/connector/deploy-subnet-router/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes-operator","connector","subnet-routers","exit-nodes","app-connectors"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Host Tailscale resources in Kubernetes with Connector","summary":"Deploy subnet routers and exit nodes on Kubernetes using the Connector resource","lastValidated":"2026-06-05","slug":"kubernetes-operator/connector","pathToContent":"kubernetes-operator/connector/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["egress","kubernetes-operator"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Access an IP address behind a subnet router","summary":"Acce
1ss an IP address behind a subnet router from your Kubernetes cluster using cluster egress.","lastValidated":"2026-06-05","slug":"kubernetes-operator/egress/access-ip-behind-subnet-router","pathToContent":"kubernetes-operator/egress/access-ip-behind-subnet-router/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["egress","kubernetes-operator"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Access a tailnet device from your Kubernetes cluster","summary":"Access a tailnet device from your Kubernetes cluster using cluster egress.","lastValidated":"2026-06-05","slug":"kubernetes-operator/egress/access-tailnet-service","pathToContent":"kubernetes-operator/egress/access-tailnet-service/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["egress","dnsconfig","kubernetes-operator"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Enable MagicDNS resolution in your cluster","summary":"Configure in-cluster DNS resolution for Tailscale MagicDNS names using DNSConfig.","lastValidated":"2026-06-05","slug":"kubernetes-operator/egress/enable-magicdns-resolution","pathToContent":"kubernetes-operator/egress/enable-magicdns-resolution/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes-operator","rds","cloud-services","connector","subnet-routers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Expose Amazon RDS to your tailnet","summary":"Expose Amazon RDS or other cloud services to your tailnet using the Tailscale Kubernetes Operator.","lastValidated":"2026-06-05","slug":"kubernetes-operator/egress/expose-rds-to-tailnet","pathToContent":"kubernetes-operator/egress/expose-rds-to-tailnet/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["egress","kubernetes-operator"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Access tailnet resources from your cluster with Egress","summary":"Access tailnet resources from your Kubernetes cluster using the Tailscale Kubernetes Operator.","lastValidated":"2026-06-05","slug":"kubernetes-operator/egress","pathToContent":"kubernetes-operator/egress/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale Kubernetes Operator","summary":"The Tailscale Kubernetes Operator provides secure connectivity to and from your Kubernetes cluster.","lastValidated":"2026-06-05","slug":"kubernetes-operator","pathToContent":"kubernetes-operator/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes-operator","funnel","ingress"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Expose a Kubernetes cluster workload to the public internet using Tailscale Funnel","summary":"Expose a Kubernetes cluster workload to the public internet using Tailscale Funnel.","lastValidated":"2026-06-05","slug":"kubernetes-operator/ingress/expose-workload-to-internet","pathToContent":"kubernetes-operator/ingress/expose-workload-to-internet/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Expose a cluster workload to your tailnet (layer 3)","summary":"Expose a Kubernetes cluster workload to your tailnet using Layer 3 ingress.","lastValidated":"2026-06-05","slug":"kubernetes-operator/ingress/expose-workload-to-tailnet-l3","pathToContent":"kubernetes-operator/ingress/expose-workload-to-tailnet-l3/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Expose a cluster workload to your tailnet (layer 7)","summary":"Expose a Kubernetes cluster workload to your tailnet using layer 7 ingress.","lastValidated":"2026-06-05","slug":"kubernetes-operator/ingress/expose-workload-to-tailnet-l7","pathToContent":"kubernetes-operator/ingress/expose-workload-to-tailnet-l7/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ingress","kubernetes-operator"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Expose cluster workloads to your tailnet with Ingress","summary":"Expose Kubernetes workloads to your tailnet or the internet using the Tailscale Kubernetes Operator.","lastValidated":"2026-06-05","slug":"kubernetes-operator/ingress","pathToContent":"kubernetes-operator/ingress/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Configure multi-cluster ingress with regional routing","summary":"Create a multi-cluster ingress with regional routing using the Tailscale Kubernetes Operator.","lastValidated":"2026-06-05","slug":"kubernetes-operator/ingress/multi-cluster","pathToContent":"kubernetes-operator/ingress/multi-cluster/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Connect services across clusters","summary":"Acce
1ss a Kubernetes Service in one cluster from another cluster using ingress and egress.","lastValidated":"2026-06-05","slug":"kubernetes-operator/ingress/multi-cluster-service-mirroring","pathToContent":"kubernetes-operator/ingress/multi-cluster-service-mirroring/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Install the Tailscale Kubernetes Operator","summary":"Install the Tailscale Kubernetes Operator in your Kubernetes cluster.","lastValidated":"2026-06-05","slug":"kubernetes-operator/install-operator","pathToContent":"kubernetes-operator/install-operator/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Add static endpoints to a cluster","summary":"Configure static endpoints for ProxyGroup proxies to enable direct connections.","lastValidated":"2026-06-05","slug":"kubernetes-operator/manage-and-configure/configure-static-endpoints","pathToContent":"kubernetes-operator/manage-and-configure/configure-static-endpoints/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Use custom machine names for ingress and egress proxies","summary":"Use custom machine names for Tailscale Kubernetes Operator ingress and egress proxies.","lastValidated":"2026-06-05","slug":"kubernetes-operator/manage-and-configure/custom-machine-names","pathToContent":"kubernetes-operator/manage-and-configure/custom-machine-names/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Enable Operator debug endpoints","summary":"Enable debug endpoints for Tailscale Kubernetes Operator proxies.","lastValidated":"2026-06-05","slug":"kubernetes-operator/manage-and-configure/enable-debug-endpoints","pathToContent":"kubernetes-operator/manage-and-configure/enable-debug-endpoints/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Expose Operator metrics","summary":"Expose client metrics from Tailscale Kubernetes Operator proxies.","lastValidated":"2026-06-05","slug":"kubernetes-operator/manage-and-configure/expose-metrics","pathToContent":"kubernetes-operator/manage-and-configure/expose-metrics/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"High availability for the Tailscale Kubernetes Operator","summary":"Configure ProxyGroup and ProxyClass for highly available ingress, egress, and API server proxies.","lastValidated":"2026-06-05","slug":"kubernetes-operator/manage-and-configure/high-availability","pathToContent":"kubernetes-operator/manage-and-configure/high-availability/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage and configure the Tailscale Kubernetes Operator","summary":"Manage and configure your Tailscale Kubernetes Operator cluster.","lastValidated":"2026-06-05","slug":"kubernetes-operator/manage-and-configure","pathToContent":"kubernetes-operator/manage-and-configure/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Use multiple tailnets for devices running on Kubernetes","summary":"Deploy devices across multiple tailnets using the Tailscale Kubernetes Operator","lastValidated":"2026-06-05","slug":"kubernetes-operator/manage-and-configure/multi-tailnet","pathToContent":"kubernetes-operator/manage-and-configure/multi-tailnet/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Control access to ProxyGroup resources","summary":"Create per-namespace policies that limit access to ProxyGroup resources","lastValidated":"2026-06-05","slug":"kubernetes-operator/manage-and-configure/proxy-group-policy","pathToContent":"kubernetes-operator/manage-and-configure/proxy-group-policy/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes-operator","workload-identity-federation"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Configure workload identity federation for the Tailscale Kubernetes Operator","summary":"Use workload identity federation to allow the Tailscale Kubernetes Operator securely access cloud resources without storing long-lived credentials or secrets.","lastValidated":"2026-06-05","slug":"kubernetes-operator/manage-and-configure/workload-identity-federation","pathToContent":"kubernetes-operator/manage-and-configure/workload-identity-federation/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes-operator","peer-relays"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Host peer relays in Kubernetes with PeerRelay","summary":"Deploy Tailscale peer relays on Kubernetes using the PeerRelay custom resource.","lastValidated":"2026-08-12","slug":"kubernetes-operator/peer-relay","pathToContent":"kubernetes-operator/peer-relay/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Quickstart tutorial for the Tailscale Kubernetes Operator","summary":"A hands-on guide to the Tailscale Kubernetes Operator and its key features.","lastValidated":"2026-07-28","slug":"kubernetes-operator/quickstart","pathToContent":"kubernetes-operator/quickstart/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes-operator","session-recording"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Deploy a session recorder in your Kubernetes cluster","summary":"Deploy a tsrecorder instance in your Kubernetes cluster using the Recorder custom resource.","lastValidated":"2026-06-05","slug":"kubernetes-operator/recorder/deploy-tsrecorder","pathToContent":"kubernetes-operator/recorder/deploy-tsrecorder/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes-operator","session-recording"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Session recording with the Tailscale Kubernetes Operator","summary":"Deploy and configure session recording using the Tailscale Kubernetes Operator.","lastValidated":"2026-06-05","slug":"kubernetes-operator/recorder","pathToContent":"kubernetes-operator/recorder/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes-operator","session-recording"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Record kubectl sessions","summary":"Configure grants to enable kubectl session and API request recording.","lastValidated":"2026-06-05","slug":"kubernetes-operator/recorder/kubectl-session-recording","pathToContent":"kubernetes-operator/recorder/kubectl-session-recording/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Compatibility for the Tailscale Kubernetes Operator","summary":"Compatibility information for the Tailscale Kubernetes Operator.","lastValidated":"2026-06-05","slug":"kubernetes-operator/reference/compatibility","pathToContent":"kubernetes-operator/reference/compatibility/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale Kubernetes Operator reference","summary":"Reference documentation for the Tailscale Kubernetes Operator.","lastValidated":"2026-06-05","slug":"kubernetes-operator/reference","pathToContent":"kubernetes-operator/reference/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"IPv6 support for the Tailscale Kubernetes Operator","summary":"IPv6 support for the Tailscale Kubernetes Operator across ingress, egress, and API server proxy modes.","lastValidated":"2026-06-05","slug":"kubernetes-operator/reference/ipv6","pathToContent":"kubernetes-operator/reference/ipv6/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes-operator","limitations"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Limitations for the Tailscale Kubernetes Operator","summary":"Known limitations of the Tailscale Kubernetes Operator.","lastValidated":"2026-06-05","slug":"kubernetes-operator/reference/limitations","pathToContent":"kubernetes-operator/reference/limitations/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Permissions and RBAC for the Tailscale Kubernetes Operator","summary":"Configure permissions and RBAC for the Tailscale Kubernetes Operator.","lastValidated":"2026-08-14","slug":"kubernetes-operator/reference/rbac","pathToContent":"kubernetes-operator/reference/rbac/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes-operator","tags"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Tag customization for the Tailscale Kubernetes Operator","summary":"Configure tags for the operator and devices it manages","lastValidated":"2026-06-05","slug":"kubernetes-operator/reference/tags","pathToContent":"kubernetes-operator/reference/tags/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes-operator","troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Troubleshooting the Tailscale Kubernetes Operator","summary":"Troubleshoot issues with the Tailscale Kubernetes Operator.","lastValidated":"2026-06-05","slug":"kubernetes-operator/reference/troubleshooting","pathToContent":"kubernetes-operator/reference/troubleshooting/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management","technical-overview"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Tailscale PAM architecture and core concepts","summary":"Get an overview of the Tailscale PAM architecture and core concepts.","lastValidated":"2026-08-17","slug":"privileged-access-management/architecture-and-concepts","pathToContent":"privileged-access-management/architecture-and-concepts/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Tailscale PAM connector high availability","summary":"Understand when to deploy highly available connectors to account for a single connector failure when connecting your users to your services.","lastValidated":"2026-08-17","slug":"privileged-access-management/connectors/high-availability","pathToContent":"privileged-access-management/connectors/high-availability/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Tailscale PAM connectors","summary":"Find documentation for Border connectors, including setup guides, conceptual explanations, and configuration reference.","lastValidated":"2026-08-17","hubType":"feature","slug":"privileged-access-management/connectors","pathToContent":"privileged-access-management/connectors/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Install a Tailscale PAM connector","summary":"Set up a Tailscale PAM connector to provide users with privileged access to resources in your Tailscale network.","lastValidated":"2026-08-17","slug":"privileged-access-management/connectors/install","pathToContent":"privileged-access-management/connectors/install/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Tailscale PAM connectors overview","summary":"Understand how Tailscale PAM connectors enable privileged access to resources in your Tailscale network.","lastValidated":"2026-08-17","slug":"privileged-access-management/connectors/overview","pathToContent":"privileged-access-management/connectors/overview/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Get started with Tailscale PAM","summary":"Sign up for Tailscale PAM and use it to provide privileged access to resources in your Tailscale network.","lastValidated":"2026-06-02","slug":"privileged-access-management/get-started","pathToContent":"privileged-access-management/get-started/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access an Amazon RDS database using Tailscale PAM","summary":"Acce
1ss an Amazon RDS database using Tailscale PAM.","lastValidated":"2026-09-02","slug":"privileged-access-management/how-to/access-database/amazon-rds","pathToContent":"privileged-access-management/how-to/access-database/amazon-rds/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access an Elasticsearch server using Tailscale PAM","summary":"Access an Elasticsearch server using Tailscale PAM.","lastValidated":"2026-08-21","slug":"privileged-access-management/how-to/access-database/elasticsearch","pathToContent":"privileged-access-management/how-to/access-database/elasticsearch/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access a Google Cloud SQL database using Tailscale PAM","summary":"Access a Google Cloud SQL database using Tailscale PAM.","lastValidated":"2026-08-20","slug":"privileged-access-management/how-to/access-database/google-cloud-sql","pathToContent":"privileged-access-management/how-to/access-database/google-cloud-sql/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Access a database using Tailscale PAM","summary":"Access a database with your Tailscale identity by using Tailscale PAM.","lastValidated":"2026-08-20","slug":"privileged-access-management/how-to/access-database","pathToContent":"privileged-access-management/how-to/access-database/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access a MongoDB database using Tailscale PAM","summary":"Access a MongoDB database using Tailscale PAM.","lastValidated":"2026-08-18","slug":"privileged-access-management/how-to/access-database/mongodb","pathToContent":"privileged-access-management/how-to/access-database/mongodb/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access a MySQL database using Tailscale PAM","summary":"Access a MySQL database using Tailscale PAM.","lastValidated":"2026-08-19","slug":"privileged-access-management/how-to/access-database/mysql","pathToContent":"privileged-access-management/how-to/access-database/mysql/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access a PostgreSQL database using Tailscale PAM","summary":"Access a PostgreSQL database using Tailscale PAM.","lastValidated":"2026-08-18","slug":"privileged-access-management/how-to/access-database/postgresql","pathToContent":"privileged-access-management/how-to/access-database/postgresql/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Use Tailscale identity in your Grafana HTTP service","summary":"Use Tailscale PAM identity headers in your Grafana integration.","lastValidated":"2026-08-18","slug":"privileged-access-management/how-to/access-http-service/grafana","pathToContent":"privileged-access-management/how-to/access-http-service/grafana/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access an HTTP service using Tailscale PAM","summary":"Provide privileged access to an HTTP service using Tailscale PAM.","lastValidated":"2026-09-11","slug":"privileged-access-management/how-to/access-http-service","pathToContent":"privileged-access-management/how-to/access-http-service/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot SSO login failure for an HTTP service","summary":"Troubleshoot SSO login failure for an HTTP service using Tailscale PAM.","lastValidated":"2026-09-17","slug":"privileged-access-management/how-to/access-http-service/troubleshoot-sso-failure","pathToContent":"privileged-access-management/how-to/access-http-service/troubleshoot-sso-failure/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access a Kubernetes cluster using Tailscale PAM","summary":"Provide privileged access to a Kubernetes cluster using Tailscale PAM.","lastValidated":"2026-08-19","slug":"privileged-access-management/how-to/access-kubernetes","pathToContent":"privileged-access-management/how-to/access-kubernetes/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access Amazon S3 buckets using Tailscale PAM","summary":"Acce
1ss Amazon S3 buckets with your Tailscale identity by using Tailscale PAM.","lastValidated":"2026-08-17","slug":"privileged-access-management/how-to/access-s3","pathToContent":"privileged-access-management/how-to/access-s3/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access the Tailscale PAM built-in SSH server","summary":"Access the built-in SSH server for your Tailscale PAM connector.","lastValidated":"2026-08-17","slug":"privileged-access-management/how-to/access-ssh/built-in-ssh","pathToContent":"privileged-access-management/how-to/access-ssh/built-in-ssh/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access an EC2 instance with AWS EC2 Instance Connect using Tailscale PAM","summary":"Access an EC2 instance with AWS EC2 Instance Connect by using Tailscale PAM.","lastValidated":"2026-08-20","slug":"privileged-access-management/how-to/access-ssh/ec2-instance","pathToContent":"privileged-access-management/how-to/access-ssh/ec2-instance/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Access an EC2 instance with AWS Systems Manager Session Manager using Tailscale PAM","summary":"Access an EC2 instance with AWS Systems Manager Session Manager by using Tailscale PAM.","lastValidated":"2026-08-20","slug":"privileged-access-management/how-to/access-ssh/ec2-ssm","pathToContent":"privileged-access-management/how-to/access-ssh/ec2-ssm/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Access an ECS container with AWS Systems Manager using Tailscale PAM","summary":"Access an ECS container with AWS Systems Manager by using Tailscale PAM.","lastValidated":"2026-08-20","slug":"privileged-access-management/how-to/access-ssh/ecs-ssm","pathToContent":"privileged-access-management/how-to/access-ssh/ecs-ssm/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Access an SSH server (or shell) using Tailscale PAM","summary":"Access your SSH servers with your Tailscale identity by using Tailscale PAM.","lastValidated":"2026-08-17","slug":"privileged-access-management/how-to/access-ssh","pathToContent":"privileged-access-management/how-to/access-ssh/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access a remote SSH server using Tailscale PAM","summary":"Access a remote SSH server by using Tailscale PAM.","lastValidated":"2026-08-20","slug":"privileged-access-management/how-to/access-ssh/remote-ssh","pathToContent":"privileged-access-management/how-to/access-ssh/remote-ssh/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access a TCP service using Tailscale PAM","summary":"Provide privileged access to a TCP service using Tailscale PAM.","lastValidated":"2026-09-03","slug":"privileged-access-management/how-to/access-tcp-service","pathToContent":"privileged-access-management/how-to/access-tcp-service/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Access a Windows server using RDP with Tailscale PAM","summary":"Acce
1ss a Windows server with RDP by using Tailscale PAM.","lastValidated":"2026-08-17","slug":"privileged-access-management/how-to/access-windows-server-rdp","pathToContent":"privileged-access-management/how-to/access-windows-server-rdp/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management","grants"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Control access to Tailscale PAM services","summary":"Use Tailscale PAM to control access to the privileged resources in your Tailscale network.","lastValidated":"2026-08-12","slug":"privileged-access-management/how-to/control-access","pathToContent":"privileged-access-management/how-to/control-access/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management","grants"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Use a custom DNS domain with Tailscale PAM","summary":"Use your own DNS domain for Tailscale PAM HTTP services.","lastValidated":"2026-08-21","slug":"privileged-access-management/how-to/custom-dns-domain","pathToContent":"privileged-access-management/how-to/custom-dns-domain/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Tailscale PAM how-to guides","summary":"Step-by-step guides for configuring Tailscale PAM to provide privileged access to your services.","lastValidated":"2026-07-31","slug":"privileged-access-management/how-to","pathToContent":"privileged-access-management/how-to/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage Tailscale PAM resources using Terraform","summary":"Use Terraform to manage Tailscale PAM connectors and services as Infrastructure as Code.","lastValidated":"2026-08-21","slug":"privileged-access-management/how-to/manage-resources-terraform","pathToContent":"privileged-access-management/how-to/manage-resources-terraform/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage secrets and credentials with Tailscale PAM","summary":"Secure your secrets and credentials for the resources in your Tailscale network.","lastValidated":"2026-08-14","slug":"privileged-access-management/how-to/manage-secrets","pathToContent":"privileged-access-management/how-to/manage-secrets/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Store Tailscale PAM session recordings in S3","summary":"Store Tailscale PAM session recordings in your own Amazon S3 bucket.","lastValidated":"2026-08-21","slug":"privileged-access-management/how-to/session-recordings-s3","pathToContent":"privileged-access-management/how-to/session-recordings-s3/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Tailscale PAM","summary":"Govern and secure privileged access with Tailscale PAM.","lastValidated":"2026-08-17","slug":"privileged-access-management","pathToContent":"privileged-access-management/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Tailscale PAM FAQ","summary":"Answers to common questions about Tailscale PAM.","lastValidated":"2026-07-06","
1slug":"privileged-access-management/reference/faq","pathToContent":"privileged-access-management/reference/faq/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"hub","availability":["all"],"title":"Tailscale PAM reference","summary":"Explore reference guides for Tailscale PAM.","lastValidated":"2026-07-06","slug":"privileged-access-management/reference","pathToContent":"privileged-access-management/reference/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Tailscale PAM sandbox servers","summary":"Experiment with Tailscale PAM without using your own servers.","lastValidated":"2026-08-24","slug":"privileged-access-management/reference/sandbox-servers","pathToContent":"privileged-access-management/reference/sandbox-servers/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["reference","troubleshooting","privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"reference","availability":["all"],"title":"Troubleshooting Tailscale PAM","summary":"Common Tailscale PAM connector error conditions, their causes, and resolution steps.","lastValidated":"2026-07-06","
1slug":"privileged-access-management/reference/troubleshooting","pathToContent":"privileged-access-management/reference/troubleshooting/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Tailscale PAM service accounts","summary":"Use service accounts to manage Tailscale PAM programmatically and to access an HTTP service without the Tailscale client.","lastValidated":"2026-08-13","slug":"privileged-access-management/service-accounts","pathToContent":"privileged-access-management/service-accounts/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"Tailscale PAM services","summary":"Use Tailscale PAM services to manage privileged access to services on your Tailscale network.","lastValidated":"2026-08-17","slug":"privileged-access-management/services","pathToContent":"privileged-access-management/services/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"explanation","availability":["all"],"title":"Tailscale PAM session logs","summary":"Get insight into the privileged access sessions in your Tailscale network.","lastValidated":"2026-08-20","slug":"privileged-access-management/session-logs","pathToContent":"privileged-access-management/session-logs/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["privileged-access-management"],"releaseStatus":"beta","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"feature-guide","availability":["all"],"title":"What is Tailscale PAM?","summary":"Tailscale PAM provides privileged and auditable access to resources like Linux servers, databases, and Kubernetes clusters in your Tailscale network.","lastValidated":"2026-08-17","slug":"privileged-access-management/what-is-tailscale-pam","pathToContent":"privileged-access-management/what-is-tailscale-pam/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["admin-console","security"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Do admin console sessions expire?","summary":"Understand Tailscale admin console session expiration.","lastValidated":"2025-09-30","slug":"reference/admin-console-session-expiry","pathToContent":"reference/admin-console-session-expiry/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["app-connectors","best-practices","routing","saas"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Best practices for using app connectors","summary":"Configure and optimize routes and domain settings for your SaaS applications.","lastValidated":"2025-12-04","slug":"reference/best-practices/app-connectors","pathToContent":"reference/best-practices/app-connectors/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["coreweave","coreweave-best-practices","best-practices","cloud-best-practices"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"CoreWeave best practices","summary":"Deploy Tailscale on CoreWeave with best practices, security, and production readiness in mind.","lastValidated":"2026-08-21","slug":"reference/best-practices/cloud/coreweave","pathToContent":"reference/best-practices/cloud/coreweave/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Cloud best practices","summary":"Best practices for deploying Tailscale on various cloud service providers.","lastValidated":"2026-09-01","slug":"reference/best-practices/cloud","pathToContent":"reference/best-practices/cloud/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Guidance for hardening Tailscale nodes","summary":"Follow advanced guid
1ance for hardening and sandboxing nodes.","lastValidated":"2026-01-30","slug":"reference/best-practices/device-hardening","pathToContent":"reference/best-practices/device-hardening/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Best Practices","summary":"Best Practices documentation index.","lastValidated":"2026-01-29","slug":"reference/best-practices","pathToContent":"reference/best-practices/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["best-practices","performance"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Performance best practices","summary":"Get the most performance out of your Tailscale deployment.","lastValidated":"2025-12-04","slug":"reference/best-practices/performance","pathToContent":"reference/best-practices/performance/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Production best practices","summary":"Follow production and security best practices for deploying Tailscale.","lastValidated":"2025-05-23","slug":"reference/best-practices/production","pathToContent":"reference/best-practices/production/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["best-practices","aws-best-practices","security"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Best practices to secure your tailnet","summary":"Discover best practices for keeping your Tailscale network secure.","lastValidated":"2026-01-20","slug":"reference/best-practices/security","pathToContent":"reference/best-practices/security/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"CGNAT interoperability","summary":"Disable the CGNAT drop rule to use Tailscale alongside networks that consume CGNAT address space.","lastValidated":"2026-07-01","slug":"reference/cgnat-interoperability","pathToContent":"reference/cgnat-interoperability/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["derp","connectivity","peer-relays"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Connection types","summary":"Understand how Tailscale connects devices using either direct or relayed connections.","lastValidated":"2026-06-01","slug":"reference/connection-types","pathToContent":"reference/connection-types/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Contact preferences","summary":"Set contacts for account changes, configuration issues, security issues, and billing.","lastValidated":"2026-01-05","slug":"reference/contact-preferences","pathToContent":"reference/contact-preferences/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"What happens if the coordination server is down?","summary":"Review how Tailscale handles coordination server downtime.","lastValidated":"2025-05-02","slug":"reference/coordination-server-down","pathToContent":"reference/coordination-server-down/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Debug menu and options","summary":"Enable debug mode of the Tailscale client menu to help troubleshoot issues.","lastValidated":"2026-03-23","slug":"reference/debug-menu","pathToContent":"reference/debug-menu/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["best-practices"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deployment checklist","summary":"Your checklist to ensure a successful Tailscale deployment.","lastValidated":"2026-01-05","slug":"reference/deployment-checklist","pathToContent":"reference/deployment-checklist/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Custom DERP servers","summary":"About custom DERP servers, their limitations, and how to set them up.","lastValidated":"2026-01-05","slug":"reference/derp-servers/custom-derp-servers","pathToContent":"reference/derp-servers/custom-derp-servers/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["derp","routing","peer-relays","connection-types"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"DERP servers","summary":"Tailscale uses Designated Encrypted Relay for Packets (DERP) servers for secure, low-latency connections in your tailnet. Customization options let you optimize device communication and NAT traversal.","lastValidated":"2026-01-21","slug":"reference/derp-servers","pathToContent":"reference/derp-servers/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["connectivity","connection-types"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Device connectivity","summary":"Understand connectivity between Tailscale devices.","lastValidated":"2026-01-07","slug":"reference/device-connectivity","pathToContent":"reference/device-connectivity/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["subnets"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Connecting without installing Tailscale","summary":"Securely connect to devices that without installing Tailscale.","lastValidated":"2025-08-01","slug":"reference/devices-without-tailscale","pathToContent":"reference/devices-without-tailscale/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["dns"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"DNS in Tailscale","summary":"Optimize your Tailscale network for DNS management, including custom DNS servers, for seamless access and better control.","lastValidated":"2025-12-22","slug":"reference/dns-in-tailscale","pathToContent":"reference/dns-in-tailscale/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","tags","tailnet-policy-file","examples","acls"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"ACL policy examples","summary":"View example ACL policies for common sce
1narios.","lastValidated":"2026-02-02","slug":"reference/examples/acls","pathToContent":"reference/examples/acls/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["funnel","examples"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale Funnel examples","summary":"Explore Tailscale Funnel examples that let you share your files and services with the internet.","lastValidated":"2025-10-14","slug":"reference/examples/funnel","pathToContent":"reference/examples/funnel/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","tags","tailnet-policy-file","grants","examples"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Grant examples","summary":"Explore example grant rules for common scenarios.","lastValidated":"2026-01-05","slug":"reference/examples/grants","pathToContent":"reference/examples/grants/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Examples","summary":"Examples documentation index.","lastValidated":"2026-01-29","slug":"reference/examples","pathToContent":"reference/examples/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["serve","examples"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale Serve examples","summary":"Share files and services with your tailnet using Tailscale Serve.","lastValidated":"2026-01-14","slug":"reference/examples/serve","pathToContent":"reference/examples/serve/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"What is hello.ts.net?","summary":"Explore our demo server, hello.ts.net.","lastValidated":"2026-07-08","slug":"reference/examples/tsnet-hello-world","pathToContent":"reference/examples/tsnet-hello-world/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["dns","troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"DNS problems with internal services and DNS rebinding protection","summary":"Address DNS issues with internal services and DNS rebinding protection.","lastValidated":"2025-04-01","slug":"reference/faq/dns-rebinding","pathToContent":"reference/faq/dns-rebinding/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["dns"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Why is resolv.conf being overwritten?","summary":"Understand why tailscaled overwrites /etc/resolv.conf","lastValidated":"2026-01-05","slug":"reference/faq/dns-resolv-conf","pathToContent":"reference/faq/dns-resolv-conf/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"What firewall ports should I open to use Tailscale?","summary":"Determine which firewall ports to open in your tailnet.","lastValidated":"2026-02-02","slug":"reference/faq/firewall-ports","pathToContent":"reference/faq/firewall-ports/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"FAQ","summary":"Answers to common questions.","lastValidated":"2025-08-22","slug":"reference/faq","pathToContent":"reference/faq/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ipv6"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"IPv4 vs. IPv6 FAQ","summary":"Answers to common questions around IPv6.","lastValidated":"2026-01-05","slug":"reference/faq/ipv6","pathToContent":"reference/faq/ipv6/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["dns"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Why is MagicDNS fetching records on port 443?","summary":"Understand how MagicDNS handles DNS-over-HTTPS and fetches records on port 443.","lastValidated":"2025-09-18","slug":"reference/faq/magicdns","pathToContent":"reference/faq/magicdns/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["faq","tailscale-ip-addresses","compatibility","troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Can I use Tailscale alongside other VPNs?","summary":"Get information about Tailscale compatibility or incompatibility with other VPNs.","lastValidated":"2026-01-12","slug":"reference/faq/other-vpns","pathToContent":"reference/faq/other-vpns/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["funnel","sharing"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Funnel vs. sharing devices","summary":"Understand the differences between Tailscale Funnel service and sharing devices.","lastValidated":"2025-08-03","slug":"reference/funnel-vs-sharing","pathToContent":"reference/funnel-vs-sharing/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"AWS Client VPN and Tailscale terminology mapping","summary":"AWS Client VPN terminology to the closest match in Tailscale.","lastValidated":"2025-10-08","slug":"reference/glossary/aws-client-vpn-tailscale","pathToContent":"reference/glossary/aws-client-vpn-tailscale/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Cisco and Tailscale terminology mapping","summary":"Relate Cisco terminology to the closest match in Tailscale.","lastValidated":"2026-01-05","slug":"reference/glossary/cisco-tailscale","pathToContent":"reference/glossary/cisco-tailscale/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Fortinet and Tailscale terminology mapping","summary":"Relate Fortinet terminology to the closest match in Tailscale.","lastValidated":"2026-01-14","slug":"reference/glossary/fortinet-tailscale","pathToContent":"reference/glossary/fortinet-tailscale/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Palo Alto Networks GlobalProtect and Tailscale terminology mapping","summary":"Relate Palo Alto Networks GlobalProtect terminology to the closest match in Tailscale.","lastValidated":"2025-10-06","slug":"reference/glossary/globalprotect-tailscale","pathToContent":"reference/glossary/globalprotect-tailscale/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Terminology and concepts","summary":"Review Tailscale terminology and concepts.","lastValidated":"2026-01-12","slug":"reference/glossary","pathToContent":"reference/glossary/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","acls","grants","comparison"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Grants vs. ACLs","summary":"A comparison of grants and ACLs as access control mechanisms","lastValidated":"2025-08-01","slug":"reference/grants-vs-acls","pathToContent":"reference/grants-vs-acls/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Technical reference","summary":"Explore reference guides for Tailscale tools and features, including access control policies, command-line interface (Tailscale 
1CLI), API, and best practices for managing your tailnet. Understand access controls, production strategies, security, and key terminology.","lastValidated":"2025-05-07","slug":"reference","pathToContent":"reference/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["interoperability"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Interoperability with other software","summary":"Get information about Tailscale interoperability with other software.","lastValidated":"2026-03-25","slug":"reference/interoperability","pathToContent":"reference/interoperability/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Invite only features","summary":"Create and accept invitations for Tailscale features.","lastValidated":"2025-09-26","slug":"reference/invite-only-feature","pathToContent":"reference/invite-only-feature/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["sharing","inviting","comparison"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Inviting users vs sharing a device","summary":"Understand the difference between inviting a user and sharing a device.","lastValidated":"2026-01-05","slug":"reference/inviting-vs-sharing","pathToContent":"reference/inviting-vs-sharing/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"IP pool","summary":"Configure Tailscale to assign IP addresses from a specific IP pool.","lastValidated":"2026-01-12","slug":"reference/ip-pool","pathToContent":"reference/ip-pool/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["exit-nodes","subnets","netstack"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Kernel vs. netstack subnet routing & exit nodes","summary":"Understand the kernel and userspace modes and how they are used by subnet routers and exit nodes.","lastValidated":"2026-01-05","slug":"reference/kernel-vs-userspace-routers","pathToContent":"reference/kernel-vs-userspace-routers/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Key prefixes","summary":"Learn about the Tailscale prefixes for keys, such as an API access token.","lastValidated":"2025-08-01","slug":"reference/key-prefixes","pathToContent":"reference/key-prefixes/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Key and secret management","summary":"Manage the various types of keys and secrets for your tailnet.","lastValidated":"2026-01-05","slug":"reference/key-secret-management","pathToContent":"reference/key-secret-management/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Kubernetes API request events with Tailscale","summary":"Record all Kubernetes API requests with Tailscale Kubernetes API server proxy.","lastValidated":"2026-01-05","slug":"reference/kubernetes-operator-api-request-event-recording","pathToContent":"reference/kubernetes-operator-api-request-event-recording/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["dns"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Configuring Linux DNS","summary":"Common problems when configuring DNS on Linux.","lastValidated":"2026-01-05","slug":"reference/linux-dns","pathToContent":"reference/linux-dns/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Logging, streaming, and events","summary":"Explore Tailscale\'s logging features and events for webhooks.","lastValidated":"2025-02-05","slug":"reference/logging-streaming-events","pathToContent":"reference/logging-streaming-events/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Coordination server reports an issue","summary":"Coordination server issues can stem from connectivity problems. Check your network, firewall, or restart the Tailscale client.","lastValidated":"2025-08-01","slug":"reference/messages/client/coordination-server-issue","pathToContent":"reference/messages/client/coordination-server-issue/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Could not apply configuration","summary":"Envknob errors stem from misconfigurations or conflicts. Fixing them involves reviewing settings and restarting the client.","lastValidated":"2025-07-31","slug":"reference/messages/client/could-not-apply-config","pathToContent":"reference/messages/client/could-not-apply-config/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Docker with stateful filtering","summary":"Docker\'s firewall may conflict with Tailscale\'s stateful filtering. Adjust iptables or use Tailscale 
1CLI to restore container connectivity.","lastValidated":"2025-12-29","slug":"reference/messages/client/docker-stateful-filtering","pathToContent":"reference/messages/client/docker-stateful-filtering/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Client","summary":"Client documentation index.","lastValidated":"2026-01-29","slug":"reference/messages/client","pathToContent":"reference/messages/client/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Invalid packet filter","summary":"The coordination server may send an unsafe packet filter. Check your tailnet policy and firewall rules, then restart the Tailscale client to resolve the issue.","lastValidated":"2025-08-01","slug":"reference/messages/client/invalid-packet-filter","pathToContent":"reference/messages/client/invalid-packet-filter/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Local log misconfiguration","summary":"The Tailscale client cannot initialize local connectivity logging due to a misconfigured or inaccessible log destination, limiting debug visibility.","lastValidated":"2026-01-30","slug":"reference/messages/client/local-log-config-error","pathToContent":"reference/messages/client/local-log-config-error/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"MagicSock function not running","summary":"A core MagicSock function failed. You can restart or update the client, check UDP firewall settings, or reinstall to restore connectivity.","lastValidated":"2025-07-31","slug":"reference/messages/client/magicsock-receive-func-error","pathToContent":"reference/messages/client/magicsock-receive-func-error/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Network map response timeout","summary":"The Tailscale client did not receive a network map from the control plane in time, preventing it from updating network state and potentially affecting connectivity.","lastValidated":"2026-01-30","slug":"reference/messages/client/network-map-response-timeout","pathToContent":"reference/messages/client/network-map-response-timeout/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Network down","summary":"The Tailscale client detects no network. Check your internet connection and restart the client to restore connectivity.","lastValidated":"2025-08-01","slug":"reference/messages/client/network-status","pathToContent":"reference/messages/client/network-status/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Relay server unavailable","summary":"The client can\'t reach a DERP relay server. Check your internet, restart the client, or review firewall settings to restore connectivity.","lastValidated":"2025-07-31","slug":"reference/messages/client/no-derp-connection","pathToContent":"reference/messages/client/no-derp-connection/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"No home relay server","summary":"The client can\'t connect to any DERP relay. Check internet, restart the client, or review firewall settings to restore fallback connectivity.","lastValidated":"2025-08-01","slug":"reference/messages/client/no-derp-home","pathToContent":"reference/messages/client/no-derp-home/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Out of sync","summary":"The client can\'t sync with the coordination server. Check internet, firewall, or device restrictions to maintain peer connectivity.","lastValidated":"2026-01-05","slug":"reference/messages/client/not-in-map-poll","pathToContent":"reference/messages/client/not-in-map-poll/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Linux DNS configuration issue","summary":"The client can\'t apply DNS settings on Linux. Enable systemd-resolved, run tailscaled as root, or manually configure DNS.","lastValidated":"2026-01-12","slug":"reference/messages/client/resolv-conf-overwritten","pathToContent":"reference/messages/client/resolv-conf-overwritten/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale blocked by Screen Time","summary":"macOS Screen Time is blocking Tailscale. Disable the restriction in System Settings to restore proper client functionality.","lastValidated":"2025-07-31","slug":"reference/messages/client/screen-time-controlclient","pathToContent":"reference/messages/client/screen-time-controlclient/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Security update available","summary":"Notification of a Tailscale security update. To stay secure, install the update promptly using the client UI, app store, or CLI.","lastValidated":"2025-08-01","slug":"reference/messages/client/security-update-available","pathToContent":"reference/messages/client/security-update-available/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Windows network configuration failed","
1summary":"The Tailscale client failed to set required Windows network settings for its adapter, which can block routing, DNS, or overall connectivity.","lastValidated":"2026-01-30","slug":"reference/messages/client/set-network-category-failed","pathToContent":"reference/messages/client/set-network-category-failed/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale SSH and SELinux","summary":"SELinux is enforcing security rules that may block Tailscale\'s built-in SSH, since it runs inside the tailscaled process instead of the system SSH daemon.","lastValidated":"2026-01-30","slug":"reference/messages/client/ssh-unavailable-selinux-enabled","pathToContent":"reference/messages/client/ssh-unavailable-selinux-enabled/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Encrypted connection failed","summary":"The Tailscale client could not establish a secure, encrypted connection with a peer or control plane because the required cryptographic handshake failed.","lastValidated":"2026-01-30","slug":"reference/messages/client/tls-connection-failed","pathToContent":"reference/messages/client/tls-connection-failed/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Update available","summary":"Notification of a new Tailscale version. Update using the client UI, app store, or CLI to get the latest features and improvements.","lastValidated":"2025-07-31","slug":"reference/messages/client/update-available","pathToContent":"reference/messages/client/update-available/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Using an unstable version","summary":"Unstable Tailscale versions are for testing. They\'re safe if intentional, but not recommended for production use.","lastValidated":"2025-07-31","slug":"reference/messages/client/using-unstable-version","pathToContent":"reference/messages/client/using-unstable-version/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Your account is not an administrator","summary":"A Member user tried to access the admin console. Only users with Admin, IT admin, or Owner roles have permission to manage settings.","lastValidated":"2025-07-31","slug":"reference/messages/console/account-not-admin","pathToContent":"reference/messages/console/account-not-admin/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Authentication failed while retrieving details from your identity provider","summary":"The client couldn\'t connect to the SSO provider. Check IdP status, config, redirect URLs, and firewall rules to resolve authentication issues.","lastValidated":"2025-08-01","slug":"reference/messages/console/auth-failed-sso","pathToContent":"reference/messages/console/auth-failed-sso/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Duplicate accounts created","summary":"From May to August 2025, a bug created duplicate Tailscale accounts and tailnets for some users. It is fixed, but support may be required.","lastValidated":"2025-08-21","slug":"reference/messages/console/duplicate-accounts","pathToContent":"reference/messages/console/duplicate-accounts/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Console","summary":"Console documentation index.","lastValidated":"2026-01-29","slug":"reference/messages/console","pathToContent":"reference/messages/console/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Login name change detected","summary":"A login email changed for a tailnet on a public domain. Revert the change or create a new tailnet, as admin access is now blocked.","lastValidated":"2025-07-31","slug":"reference/messages/console/login-name-change","pathToContent":"reference/messages/console/login-name-change/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Multiple users with login","summary":"A login email matches multiple users or tailnets. Confirm the correct email or contact support to resolve the login issue.","lastValidated":"2025-07-31","slug":"reference/messages/console/multi-user-login","pathToContent":"reference/messages/console/multi-user-login/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"You don\'t have access to the admin console","summary":"A Member user tried to access the admin console. Only users with Owner, Admin, or IT admin roles have admin permissions.","lastValidated":"2025-08-20","slug":"reference/messages/console/no-access","pathToContent":"reference/messages/console/no-access/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Error 500 no auth service","summary":"The client can\'t reach the IdP auth service. Check IdP config, redirect URLs, and firewall rules to restore SSO login.","lastValidated":"2025-08-01","slug":"reference/messages/console/no-auth-service","pathToContent":"reference/messages/console/no-auth-service/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Your organization has restricted members from joining external tail
1nets","summary":"Your org blocks joining external tailnets. Use a different email or contact your admin to request access with your org address.","lastValidated":"2025-07-31","slug":"reference/messages/console/org-has-restrictions","pathToContent":"reference/messages/console/org-has-restrictions/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Reached use limit","summary":"Your plan reached its user limit. Upgrade, remove users, or contact support or your admin to resolve account or policy restrictions.","lastValidated":"2025-07-31","slug":"reference/messages/console/reached-use-limit","pathToContent":"reference/messages/console/reached-use-limit/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Failed to load sharing information","summary":"Sharing info failed to load in the admin console. Try again later or check Tailscale status for possible service issues.","lastValidated":"2025-10-15","slug":"reference/messages/console/sharing-failure","pathToContent":"reference/messages/console/sharing-failure/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale messages","summary":"Tailscale client and admin console messages to help you understand, manage, and troubleshoot tailnet-related issues.","lastValidated":"2026-01-30","slug":"reference/messages","pathToContent":"reference/messages/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["tutorial","migration","grants","access-controls"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Migrate from ACLs to grants","summary":"Convert ACLs to grants.","lastValidated":"2026-03-13","slug":"reference/migrate-acls-grants","pathToContent":"reference/migrate-acls-grants/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Add multifactor authentication to any legacy service","summary":"Explore how Tailscale integrates with SSO providers for authentication, including for 2FA/MFA.","lastValidated":"2026-01-05","slug":"reference/multifactor-auth","pathToContent":"reference/multifactor-auth/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ssh"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Deploy multiple Tailscale SSH session recorder nodes","summary":"Configure multiple SSH session recorder nodes in your tailnet to provide backup nodes for failover","lastValidated":"2025-12-08","slug":"reference/multiple-recorder-nodes","pathToContent":"reference/multiple-recorder-nodes/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["reference","linux","firewall","netfilter","cli"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale netfilter modes","summary":"Information about the netfilter modes supported by Tailscale on Linux devices.","lastValidated":"2025-12-29","slug":"reference/netfilter-modes","pathToContent":"reference/netfilter-modes/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["explanation","access-controls","grants","node-attributes"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Node attributes vs. grant app capabilities","summary":"Understand whether a capability belongs on a device or on a connection, and how node attributes and grant app capabilities differ.","lastValidated":"2026-06-24","slug":"reference/node-attributes-vs-app-capabilities","pathToContent":"reference/node-attributes-vs-app-capabilities/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ping","tailscale-cli","connectivity"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale ping message types","summary":"The Tailscale 
1CLI ping command supports four types of ping messages.","lastValidated":"2026-01-13","slug":"reference/ping-types","pathToContent":"reference/ping-types/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Procurement at Tailscale","summary":"A guide for Tailscale vendors and service providers.","lastValidated":"2026-01-05","slug":"reference/procurement","pathToContent":"reference/procurement/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ip-addresses","dns","tailscale-ip-addresses"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"What is 100.100.100.100?","summary":"Find out what 100.100.100.100 (also known as Quad100) is.","lastValidated":"2026-01-12","slug":"reference/quad100","pathToContent":"reference/quad100/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":true,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Re-authenticating under Tailnet Lock","summary":"How to safely re-authenticate a node under Tailnet Lock.","lastValidated":"2026-01-05","slug":"reference/reauth-under-tailnet-lock","pathToContent":"reference/reauth-under-tailnet-lock/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aws","aws-best-practices","best-practices","cloud-best-practices"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"AWS reference architecture","summary":"Deploy Tailscale to Amazon Web Services (AWS) with best practices, security, and production readiness in mind.","lastValidated":"2026-01-05","slug":"reference/reference-architectures/aws","pathToContent":"reference/reference-architectures/aws/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["azure","azure-best-practices","best-practices","cloud-best-practices"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Azure reference architecture","summary":"Deploy Tailscale to Microsoft Azure with best practices, security, and production readiness in mind.","lastValidated":"2026-01-05","slug":"reference/reference-architectures/azure","pathToContent":"reference/reference-architectures/azure/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["gcp","gcp-best-practices","best-practices","cloud-best-practices"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Google Cloud Platform reference architecture","summary":"Deploy Tailscale to Google Cloud Platform (GCP) with best practices, security, and production readiness in mind.","lastValidated":"2026-01-05","slug":"reference/reference-architectures/gcp","pathToContent":"reference/reference-architectures/gcp/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Reference architectures","summary":"Reference architectures documentation index.","lastValidated":"2026-08-21","slug":"reference/reference-architectures","pathToContent":"reference/reference-architectures/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ip-addresses","dns","tailscale-ip-addresses","networking"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Reserved IP addresses","summary":"Review the reserved IP addresses and ranges that Tailscale uses for device addressing and internal services.","lastValidated":"2026-01-12","slug":"reference/reserved-ip-addresses","pathToContent":"reference/reserved-ip-addresses/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["routing","subnets","reference"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Route injection","summary":"Understand how Tailscale injects subnet routes into client routing tables, including the relationship between routes and access controls.","lastValidated":"2026-02-13","slug":"reference/route-injection","pathToContent":"reference/route-injection/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ssh"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Protect your SSH servers using Tailscale","summary":"Understand how Tailscale works well with SSH clients and SSH servers, improving security and offering a better user experience.","lastValidated":"2026-01-12","slug":"reference/ssh-over-tailscale","pathToContent":"reference/ssh-over-tailscale/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["faq"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"What is STUN?","summary":"Explore the STUN protocol and how Tailscale uses it.","lastValidated":"2025-08-06","slug":"reference/stun-protocol","pathToContent":"reference/stun-protocol/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["routing","subnets"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Replace site-to-site VPNs with Tailscale and WireGuard","summary":"Use Tailscale for site-to-site VPN to forward network traffic between local networks.","lastValidated":"2024-09-04","slug":"reference/subnet-site-to-site","pathToContent":"reference/subnet-site-to-site/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Support options","summary":"Understand Tailscale\'s support options.","lastValidated":"2026-01-05","slug":"reference/support-options","pathToContent":"reference/support-options/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["reference","grants","access-controls"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Grants syntax","summary":"Complete reference documentation for Tailscale\'s grants system.","lastValidated":"2026-01-05","slug":"reference/syntax/grants","pathToContent":"reference/syntax/grants/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":false,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Syntax","summary":"Syntax documentation index.","lastValidated":"2026-01-29","slug":"reference/syntax","pathToContent":"reference/syntax/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","tags","acls","grants","policies","syntax","tailnet-policy-file"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Syntax reference for the tailnet policy file","summary":"Reference syntax for the tailnet policy file.","lastValidated":"2026-04-08","slug":"reference/syntax/policy-file","pathToContent":"reference/syntax/policy-file/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Admin account with passkey login","summary":"Proactively set up an admin user that can log in to your tailnet with a passkey, to mitigate against a future SSO lockout.","lastValidated":"2026-01-05","slug":"reference/tailnet-passkey-admin","pathToContent":"reference/tailnet-passkey-admin/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale API","summary":"Explore the Tailscale application programming interface (API).","lastValidated":"2026-06-24","slug":"reference/tailscale-api","pathToContent":"reference/tailscale-api/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["funnel"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"tailscale funnel c
1ommand","summary":"Review the `tailscale funnel` CLI command.","lastValidated":"2026-01-26","slug":"reference/tailscale-cli/funnel","pathToContent":"reference/tailscale-cli/funnel/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale CLI","summary":"Manage and troubleshoot your tailnet with the Tailscale command-line interface (Tailscale CLI).","lastValidated":"2026-07-30","slug":"reference/tailscale-cli","pathToContent":"reference/tailscale-cli/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"tailscale lock command","summary":"Review the `tailscale lock` CLI command.","lastValidated":"2026-01-05","slug":"reference/tailscale-cli/lock","pathToContent":"reference/tailscale-cli/lock/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["serve","cli"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"tailscale serve command","summary":"Use the `tailscale serve` CLI command to share a local service securely within your tailnet.","lastValidated":"2026-01-26","slug":"reference/tailscale-cli/serve","pathToContent":"reference/tailscale-cli/serve/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"tailscale up command","summary":"Connect to Tailscale using the command line.","lastValidated":"2026-01-26","slug":"reference/tailscale-cli/up","pathToContent":"reference/tailscale-cli/up/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["monitoring","logging"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale client metrics","summary":"Collect metrics from Tailscale clients.","lastValidated":"2026-07-28","slug":"reference/tailscale-client-metrics","pathToContent":"reference/tailscale-client-metrics/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale client versions and release tracks","summary":"Understand Tailscale client versions and release tracks.","lastValidated":"2025-02-21","slug":"reference/tailscale-client-versions","pathToContent":"reference/tailscale-client-versions/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale Community Projects","summary":"Use community-supported open source projects built on Tailscale\'s platform. These projects include apps, tools, extensions, and interfaces that build on Tailscale\'s networking and identity primitives.","lastValidated":"2025-08-18","slug":"reference/tailscale-community-projects","pathToContent":"reference/tailscale-community-projects/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["compliance"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale FedRAMP and FIPS-140 considerations","summary":"Use Tailscale in FedRAMP Moderate environments and in the context of FIPS 140.","lastValidated":"2026-01-05","slug":"reference/tailscale-fedramp-fips140","pathToContent":"reference/tailscale-fedramp-fips140/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Release stages","summary":"Understand the Tailscale release stages.","lastValidated":"2025-03-25","slug":"reference/tailscale-release-stages","pathToContent":"reference/tailscale-release-stages/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["services","reference"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale Services configuration file","summary":"Use the Tailscale Services configuration file to define how resources are exposed within your tailnet.","lastValidated":"2026-01-27","slug":"reference/tailscale-services-configuration-file","pathToContent":"reference/tailscale-services-configuration-file/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"tailscaled daemon","summary":"Explore the tailscaled daemon.","lastValidated":"2026-01-05","slug":"reference/tailscaled","pathToContent":"reference/tailscaled/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["linux","configuration","headless","automation","containers","kubernetes"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale daemon configuration file","summary":"Use a JSON configuration file to configure the Tailscale daemon for automated and headless deployments.","lastValidated":"2026-01-08","slug":"reference/tailscaled/tailscaled-config-file","pathToContent":"reference/tailscaled/tailscaled-config-file/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","autogroups","targets","policies","acls","grants"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Targets and selectors","summary":"Understand Tailscale targets, the identifiers you use to identify users, devices, or subnets in the tailnet policy file.","lastValidated":"2026-01-05","slug":"reference/targets-and-selectors","pathToContent":"reference/targets-and-selectors/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Apple TV","summary":"Troubleshoot Apple TV issues.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/apple/cant-access-appletv","pathToContent":"reference/troubleshooting/apple/cant-access-appletv/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot macOS access from iPhone","summary":"Troubleshoot your iPhone access to a Mac.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/apple/cant-access-macos-from-iphone","pathToContent":"reference/troubleshooting/apple/cant-access-macos-from-iphone/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshooting guide for Apple","summary":"Troubleshoot common Apple client issues.","lastValidated":"2026-02-10","slug":"reference/troubleshooting/apple","pathToContent":"reference/troubleshooting/apple/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Tailscale icon not appearing","summary":"Troubleshoot the Tailscale icon not appearing on your Mac.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/apple/macos-doesnt-display-tailscale-icon","pathToContent":"reference/troubleshooting/apple/macos-doesnt-display-tailscale-icon/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot macOS ping issues","summary":"Troubleshoot your mac when it has ping issues.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/apple/macos-ping-issues","pathToContent":"reference/troubleshooting/apple/macos-ping-issues/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot macOS stuck at Loading backend","summary":"Troubleshoot your macOS if it is stuck at Loading backend.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/apple/macos-stuck-loading-backend","pathToContent":"reference/troubleshooting/apple/macos-stuck-loading-backend/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot macOS system extension errors","summary":"Troubleshoot system extension errors on your Mac.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/apple/macos-system-extension-errors","pathToContent":"reference/troubleshooting/apple/macos-system-extension-errors/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","connectivity"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Basic network troubleshooting","summary":"Troubleshoot basic network connectivity.","lastValidated":"2025-11-14","slug":"reference/troubleshooting/basic-network-troubleshooting","pathToContent":"reference/troubleshooting/basic-network-troubleshooting/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","cloud"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot AWS access to Google with advertised routes","summary":"Troubleshoot AWS access to Google with advertised routes in your Tailscale network.","lastValidated":"2026-03-20","slug":"reference/troubleshooting/cloud/aws-google-routes","pathToContent":"reference/troubleshooting/cloud/aws-google-routes/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","cloud"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot cloud environments","summary":"Troubleshoot cloud environment issues in your Tailscale network.","lastValidated":"2026-03-20","slug":"reference/troubleshooting/cloud","pathToContent":"reference/troubleshooting/cloud/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","cloud"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Oracle cloud devices","summary":"Troubleshoot Oracle cloud devices in your Tailscale network.","lastValidated":"2026-03-20","slug":"reference/troubleshooting/cloud/oracle-cloud","pathToContent":"reference/troubleshooting/cloud/oracle-cloud/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","cloud"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot subnet connectivity in the cloud","summary":"Troubleshoot subnet connectivity for cloud VMs in your Tailscale network.","lastValidated":"2026-03-20","slug":"reference/troubleshooting/cloud/subnet-connectivity","pathToContent":"reference/troubleshooting/cloud/subnet-connectivity/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale client flagged by antivirus software","summary":"Troubleshoot the Tailscale client flagged by antivirus software.","lastValidated":"2026-03-24","slug":"reference/troubleshooting/connectivity/antivirus-failure","pathToContent":"reference/troubleshooting/connectivity/antivirus-failure/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Blocked by captive portal","summary":"Troubleshoot blocked by captive portal issues.","lastValidated":"2026-03-23","slug":"reference/troubleshooting/connectivity/captive-portal-failure","pathToContent":"reference/troubleshooting/connectivity/captive-portal-failure/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","connectivity"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Can\'t connect to other tail
1net devices","summary":"Troubleshoot tailnet device connectivity.","lastValidated":"2025-11-14","slug":"reference/troubleshooting/connectivity/connect-device-failure","pathToContent":"reference/troubleshooting/connectivity/connect-device-failure/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","connectivity"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Can\'t connect to internet","summary":"Troubleshoot internet connectivity issues.","lastValidated":"2025-12-10","slug":"reference/troubleshooting/connectivity/connect-internet-failure","pathToContent":"reference/troubleshooting/connectivity/connect-internet-failure/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","connectivity"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Can\'t connect to local area network","summary":"Troubleshoot local area network (LAN) connectivity.","lastValidated":"2025-11-14","slug":"reference/troubleshooting/connectivity/connect-lan-failure","pathToContent":"reference/troubleshooting/connectivity/connect-lan-failure/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Can\'t download Tailscale client","summary":"Troubleshoot Tailscale client download issues.","lastValidated":"2026-03-23","slug":"reference/troubleshooting/connectivity/download-client-failure","pathToContent":"reference/troubleshooting/connectivity/download-client-failure/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","connectivity"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot device connectivity","summary":"Troubleshoot device connectivity.","lastValidated":"2025-11-14","slug":"reference/troubleshooting/connectivity","pathToContent":"reference/troubleshooting/connectivity/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","containers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot containers","summary":"Troubleshoot container issues in your Tailscale network.","lastValidated":"2026-03-18","slug":"reference/troubleshooting/containers","pathToContent":"reference/troubleshooting/containers/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot custom domains with Kubernetes Gateway API and Tailscale","summary":"Resolve common issues when configuring custom domains for services exposed through Tailscale using Kubernetes Gateway API.","lastValidated":"2026-01-05","slug":"reference/troubleshooting/containers/kubernetes-operator/byod-gateway-api","pathToContent":"reference/troubleshooting/containers/kubernetes-operator/byod-gateway-api/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes","kubernetes-operator","troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshooting Kubernetes operator issues","summary":"Troubleshoot Kubernetes operator issues in your Tailscale network.","lastValidated":"2026-01-05","slug":"reference/troubleshooting/containers/kubernetes-operator","pathToContent":"reference/troubleshooting/containers/kubernetes-operator/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","containers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshooting Proxmox issues","summary":"Troubleshoot Proxmox issues in your Tailscale network.","lastValidated":"2026-03-18","slug":"reference/troubleshooting/containers/proxmox","pathToContent":"reference/troubleshooting/containers/proxmox/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","grants","troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshooting grants","summary":"Guidance for diagnosing and troubleshooting common issues with grants","lastValidated":"2026-01-12","slug":"reference/troubleshooting/grants","pathToContent":"reference/troubleshooting/grants/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshooting guide","summary":"Troubleshoot common tailnet scenarios.","lastValidated":"2026-01-05","slug":"reference/troubleshooting","pathToContent":"reference/troubleshooting/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshooting guide for Linux","summary":"Troubleshoot common Linux client issues.","lastValidated":"2026-02-10","slug":"reference/troubleshooting/linux","pathToContent":"reference/troubleshooting/linux/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Linux DNS issues","summary":"Troubleshoot DNS issues on Linux.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/linux/linux-dns-issues","pathToContent":"reference/troubleshooting/linux/linux-dns-issues/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Linux operator permission","summary":"Troubleshoot Linux operator permission for the Tailscale daemon.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/linux/linux-operator-permission","pathToContent":"reference/troubleshooting/linux/linux-operator-permission/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Linux failure to unseal state file","summary":"Troubleshoot failure to unseal state file on Linux.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/linux/linux-unseal-state-file","pathToContent":"reference/troubleshooting/linux/linux-unseal-state-file/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","mobile"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Mobile device batteries drain quickly","summary":"Troubleshoot battery draining of mobile devices in your Tailscale network.","lastValidated":"2026-03-20","slug":"reference/troubleshooting/mobile/battery-drains","pathToContent":"reference/troubleshooting/mobile/battery-drains/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","mobile"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot apps forced to use Tailscale","summary":"Troubleshoot which apps can bypass Tailscale and which apps must use Tailscale.","lastValidated":"2026-03-20","slug":"reference/troubleshooting/mobile/force-or-bypass-apps","pathToContent":"reference/troubleshooting/mobile/force-or-bypass-apps/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","mobile"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot mobile devices","summary":"Troubleshoot mobile device issues in your Tailscale network.","lastValidated":"2026-03-20","slug":"reference/troubleshooting/mobile","pathToContent":"reference/troubleshooting/mobile/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot CGNAT conflicts","summary":"Troubleshoot CGNAT conflicts in your Tailscale network.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration/cgnat-conflicts","pathToContent":"reference/troubleshooting/network-configuration/cgnat-conflicts/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot DERP traffic routing issues","summary":"Troubleshoot DERP traffic routing issues in your Tailscale network.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration/derp-routing","pathToContent":"reference/troubleshooting/network-configuration/derp-routing/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Disable subnet route masquerading","summary":"Disable Source Network Address Translation (SNAT) for a device in your Tailscale network.","lastValidated":"2026-03-25","slug":"reference/troubleshooting/network-configuration/disable-subnet-route-masquerading","pathToContent":"reference/troubleshooting/network-configuration/disable-subnet-route-masquerading/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot DNS errors for internal services","summary":"Troubleshoot DNS errors for internal services connectivity in your Tailscale network.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration/dns-errors-internal-service","pathToContent":"reference/troubleshooting/network-configuration/dns-errors-internal-service/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot hard NAT issues","summary":"Troubleshoot hard NAT issues with slow or timed out connections in your Tailscale network.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration/hard-nat-issues","pathToContent":"reference/troubleshooting/network-configuration/hard-nat-issues/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot network configuration","summary":"Troubleshoot common network configuration issues.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration","pathToContent":"reference/troubleshooting/network-configuration/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Unencrypted packet examination","summary":"Inspect unencrypted packets as part of troubleshooting.","lastValidated":"2026-03-26","slug":"reference/troubleshooting/network-configuration/inspect-unencrypted-packets","pathToContent":"reference/troubleshooting/network-configuration/inspect-unencrypted-packets/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot IP forwarding issues when advertising subnet routes or exit nodes","summary":"Troubleshoot IP forwarding issues when advertising subnet routes or exit nodes in your Tailscale network.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration/ip-forwarding-errors-advertise","pathToContent":"reference/troubleshooting/network-configuration/ip-forwarding-errors-advertise/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot LAN traffic prioritization issues with overlapping subnet routes","summary":"Troubleshoot LAN traffic prioritization issues with overlapping subnet routes in your Tailscale network.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration/lan-traffic-overlapping-subnets","pathToContent":"reference/troubleshooting/network-configuration/lan-traffic-overlapping-subnets/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot multiple devices with the same 100.x IP address","summary":"Troubleshoot multiple devices with the same 100.x IP address in your Tailscale network.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration/multiple-devices-same-100-x-ip-address","pathToContent":"reference/troubleshooting/network-configuration/multiple-devices-same-100-x-ip-address/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot overlapping subnet route failover","summary":"Troubleshoot overlapping subnet route failover issues in your Tailscale network.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration/overlapping-subnet-route-failover","pathToContent":"reference/troubleshooting/network-configuration/overlapping-subnet-route-failover/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot routing all traffic through a default route","summary":"Troubleshoot routing all traffic through a default route in your Tailscale network.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration/route-traffic-default-node","pathToContent":"reference/troubleshooting/network-configuration/route-traffic-default-node/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot SoraCOM issues","summary":"Troubleshoot SoraCOM issues in your Tailscale network.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration/soracom-issues","pathToContent":"reference/troubleshooting/network-configuration/soracom-issues/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Sunrise Communications issues","summary":"Troubleshoot Sunrise Communications issues in your Tailscale network.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration/sunrise-communicat
1ions-issues","pathToContent":"reference/troubleshooting/network-configuration/sunrise-communications-issues/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Tailscale domains and sites unreachable","summary":"Troubleshoot Tailscale domains and sites unreachable issues in your Tailscale network.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration/tailscale-domains-sites-unreachable","pathToContent":"reference/troubleshooting/network-configuration/tailscale-domains-sites-unreachable/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"IP routes installed by Tailscale","summary":"Determine which routes that Tailscale installs.","lastValidated":"2026-03-25","slug":"reference/troubleshooting/network-configuration/tailscale-ip-routes","pathToContent":"reference/troubleshooting/network-configuration/tailscale-ip-routes/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Tally ERP issues","summary":"Troubleshoot Tally ERP issues in your Tailscale network.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration/tally-erp-issues","pathToContent":"reference/troubleshooting/network-configuration/tally-erp-issues/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot TCP connection issues between two devices","summary":"Troubleshoot TCP connection issues between two devices in your Tailscale network.","lastValidated":"2026-03-16","slug":"reference/troubleshooting/network-configuration/tcp-connection-two-devices","pathToContent":"reference/troubleshooting/network-configuration/tcp-connection-two-devices/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","connectivity"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Poor performance with internet connections","summary":"Troubleshoot poor network performance with connections to the internet.","lastValidated":"2025-11-14","slug":"reference/troubleshooting/poor-performance-internet","pathToContent":"reference/troubleshooting/poor-performance-internet/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","connectivity"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Poor performance between tailnet devices","summary":"Troubleshoot poor network performance between devices in your tailnet.","lastValidated":"2026-01-05","slug":"reference/troubleshooting/poor-performance-tailnet","pathToContent":"reference/troubleshooting/poor-performance-tailnet/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting","connectivity"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Can\'t resolve domain names","summary":"Troubleshoot inability to resolve domain names.","lastValidated":"2026-01-23","slug":"reference/troubleshooting/resolve-domain-names-failure","pathToContent":"reference/troubleshooting/resolve-domain-names-failure/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshooting guide for Windows","summary":"Troubleshoot common Windows client issues.","lastValidated":"2026-02-10","slug":"reference/troubleshooting/windows","pathToContent":"reference/troubleshooting/windows/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Supported Windows versions","summary":"Find out which versions of Windows that Tailscale supports.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/windows/supported-windows-versions","pathToContent":"reference/troubleshooting/windows/supported-windows-versions/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Windows installation error","summary":"Troubleshoot a Tailscale error during client installation on Windows.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/windows/windows-install-error","pathToContent":"reference/troubleshooting/windows/windows-install-error/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Windows ping issues","summary":"Troubleshoot your Windows device when it has ping issues.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/windows/windows-ping-issues","pathToContent":"reference/troubleshooting/windows/windows-ping-issues/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Windows RDP login issue","summary":"Troubleshoot the inability to log in to Windows RDP.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/windows/windows-rdp-login-issue","pathToContent":"reference/troubleshooting/windows/windows-rdp-login-issue/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Windows RDP user account restriction","summary":"Troubleshoot a user account restriction when logging in to Windows RDP.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/windows/windows-rdp-user-account-restr
1iction","pathToContent":"reference/troubleshooting/windows/windows-rdp-user-account-restriction/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot system tray shows no internet access","summary":"Troubleshoot the system tray showing there is no internet access for your Windows device.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/windows/windows-systray-no-internet-access","pathToContent":"reference/troubleshooting/windows/windows-systray-no-internet-access/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Windows failure to unseal state file","summary":"Troubleshoot failure to unseal state file on Windows.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/windows/windows-unseal-state-file-error","pathToContent":"reference/troubleshooting/windows/windows-unseal-state-file-error/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["troubleshooting"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Troubleshoot Windows upgrade error","summary":"Troubleshoot a Tailscale error during client upgrade on Windows.","lastValidated":"2026-02-18","slug":"reference/troubleshooting/windows/windows-upgrade-error","pathToContent":"reference/troubleshooting/windows/windows-upgrade-error/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Trust credentials","summary":"Use trust credentials to provide ongoing fine grained access to the Tailscale API.","lastValidated":"2026-01-30","slug":"reference/trust-credentials","pathToContent":"reference/trust-credentials/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"tsidp configuration","summary":"Customize the configuration of tsidp to securely isolate and authorize any service that supports OIDC/OAuth.","lastValidated":"2026-03-10","slug":"reference/tsidp-configuration","pathToContent":"reference/tsidp-configuration/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"tsnet.Server","summary":"Use tsnet.Server in a Go program to access tailnet services.","lastValidated":"2026-07-07","slug":"reference/tsnet-server-api","pathToContent":"reference/tsnet-server-api/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["roles","users"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"User roles","summary":"Use roles for restricting access to the admin console.","lastValidated":"2025-12-04","slug":"reference/user-roles","pathToContent":"reference/user-roles/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","grants","visual-editor"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Visual policy editor reference","summary":"Complete reference for the visual policy editor user interface.","lastValidated":"2025-12-02","slug":"reference/visual-editor","pathToContent":"reference/visual-editor/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["wireguard","encryption","security"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"WireGuard VPN with a dynamic IP address","summary":"How WireGuard VPN works with dynamic IP addresses.","lastValidated":"2024-12-10","slug":"reference/wireguard-dynamic-i
1p","pathToContent":"reference/wireguard-dynamic-ip/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access remote desktops using Windows RDP","summary":"Access a Windows PC securely from anywhere using Remote Desktop and Tailscale. Connect devices on your private tailnet without port forwarding or public IPs.","lastValidated":"2025-12-15","slug":"solutions/access-remote-desktops-using-windows-rdp","pathToContent":"solutions/access-remote-desktops-using-windows-rdp/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access remote desktops using RustDesk","summary":"Set up secure remote desktop access using RustDesk and Tailscale for connecting devices directly over your private tailnet, no servers needed.","lastValidated":"2025-12-15","slug":"solutions/access-remote-desktops-with-rustdesk","pathToContent":"solutions/access-remote-desktops-with-rustdesk/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["solution-guide"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Block ads on all your devices from anywhere using a Raspberry Pi","summary":"Increase privacy, security, and browsing performance in a cost-effective way by using a Raspberry Pi with Pi-hole to block ads.","lastValidated":"2025-12-15","slug":"solutions/block-ads-all-devices-anywhere-using-raspberry-pi","pathToContent":"solutions/block-ads-all-devices-anywhere-using-raspberry-pi/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["code","solution-guide"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Code on iPad using Visual Studio Code, Caddy, and code-server","summary":"Code from your iPad from anywhere with a secure private connection to your own remote coding environment.","lastValidated":"2025-10-16","slug":"solutions/code-on-ipad-vscode-caddy-code-server","pathToContent":"solutions/code-on-ipad-vscode-caddy-code-server/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ci-cd","github-actions","tsnet","oauth","ephemeral-nodes","solution-guide"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Connect GitHub CI/CD workflows to private infrastructure without public exposure","summary":"Connect GitHub-hosted runners to private infrastructure without public exposure using Tailscale\'s ephemeral, authenticated connections.","lastValidated":"2026-01-23","slug":"solutions/connect-github-cicd-workflows-to-private-infrastructure-without-public-exposure","pathToContent":"solutions/connect-github-cicd-workflows-to-private-infrastructure-without-public-exposure/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes","containers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"how-to-guide","availability":["all"],"title":"Connect Kubernetes pods to your tailnet using a sidecar","summary":"Run the Tailscale container image as a sidecar in Kubernetes with persistent state, DNS configuration, authentication, and routing guidance.","lastValidated":"2026-03-28","slug":"solutions/connect-kubernetes-pods-to-tailnet-using-sidecar","pathToContent":"solutions/connect-kubernetes-pods-to-tailnet-using-sidecar/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["solution-guide"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Create a secure connection to MongoDB Atlas","summary":"Securely connect to a MongoDB Atlas database and permit access only to your Tailscale network.","lastValidated":"2025-12-04","slug":"solutions/create-a-secure-connection-to-mongodb-atlas","pathToContent":"solutions/create-a-secure-connection-to-mongodb-atlas/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Solutions","summary":"Explore how to use Tailscale in various scenarios through hands-on guides.","lastValidated":"2026-07-03","slug":"solutions","pathToContent":"solutions/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["solution-guide"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Use custom domains with Kubernetes Gateway API and Tailscale","summary":"Configure custom domains for services exposed through Tailscale using Kubernetes Gateway API, Exter
1nalDNS, and automated TLS certificate management.","lastValidated":"2026-01-05","slug":"solutions/kubernetes-operator-byod-gateway-api","pathToContent":"solutions/kubernetes-operator-byod-gateway-api/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["solution-guide"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage multi-cluster Kubernetes deployments with ArgoCD","summary":"Set up secure multi-cluster Kubernetes management with ArgoCD using Tailscale\'s private network to connect clusters across regions without complex networking.","lastValidated":"2026-01-05","slug":"solutions/manage-multi-cluster-kubernetes-deployments-argocd","pathToContent":"solutions/manage-multi-cluster-kubernetes-deployments-argocd/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["migration-guides"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Migrate from a legacy VPN to Tailscale","summary":"Migrate your legacy VPN to Tailscale. Securely connect multiple devices, restrict access by user role and purpose, and explore additional Tailscale features.","lastValidated":"2026-01-05","slug":"solutions/migrate-legacy-vpn-tailscale","pathToContent":"solutions/migrate-legacy-vpn-tailscale/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["migration-guides"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Migrate from OpenVPN to Tailscale","summary":"Migrate your OpenVPN network to Tailscale. Securely connect multiple devices, restrict access by user role and purpose, and explore additional Tailscale features.","lastValidated":"2026-01-05","slug":"solutions/migrate-openvpn-tailscale","pathToContent":"solutions/migrate-openvpn-tailscale/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["access-controls","grants","device-posture","via","databases","postgresql","solution-guide"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Protect production PostgreSQL databases from unencrypted MacBooks","summary":"Use grants to automatically route PostgreSQL traffic based on MacBook encryption status, providing direct access for encrypted devices while monitoring unencrypted device connections.","lastValidated":"2026-01-13","slug":"solutions/protect-postgresql-unencrypted-macbooks","pathToContent":"solutions/protect-postgresql-unencrypted-macbooks/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai","solution-guide"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"solution-guide","availability":["all"],"title":"Reduce AI token spend without changing your applications","summary":"Add tsheadroom to Aperture to compress bulky AI request bodies before they reach your provider, cutting token spend across all of your traffic with no changes to your client applications.","lastValidated":"2026-08-13","slug":"solutions/reduce-aperture-token-costs-with-tsheadroom","pathToContent":"solutions/reduce-aperture-token-costs-with-tsheadroom/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai","ci-cd","github-actions","solution-guide"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"solution-guide","availability":["all"],"title":"Route AI code reviews through Aperture","summary":"Centralize API key management, usage tracking, and cost control for AI-powered code reviews by routing Claude Code GitHub Action requests through Aperture by Tailscale.","lastValidated":"2026-06-26","slug":"solutions/route-ai-code-reviews-through-aperture","pathToContent":"solutions/route-ai-code-reviews-through-aperture/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["apple-tv","exit-nodes","solution-guide"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Secure your internet traffic on public Wi-Fi using an Apple TV","summary":"Route Tailscale traffic through your Ap
1ple TV for secure, private browsing and access to region-locked content.","lastValidated":"2025-12-15","slug":"solutions/secure-traffic-public-wifi-appletv","pathToContent":"solutions/secure-traffic-public-wifi-appletv/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Set up a dog camera with Tailscale, Raspberry Pi, and Motion","summary":"Set up a dog camera that you can securely access from anywhere.","lastValidated":"2026-01-05","slug":"solutions/set-up-dogcam","pathToContent":"solutions/set-up-dogcam/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["minecraft"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Run a private Minecraft server with Tailscale","summary":"Share a Minecraft server with the people you want from anywhere.","lastValidated":"2026-01-05","slug":"solutions/set-up-minecraft","pathToContent":"solutions/set-up-minecraft/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Tailscale on NixOS: A New Minecraft Server in Ten Minutes","summary":"Set up a Minecraft server on NixOS.","lastValidated":"2026-02-02","slug":"solutions/set-up-nixos-minecraft","pathToContent":"solutions/set-up-nixos-minecraft/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":"solution-guide","availability":["all"],"title":"Sync Kubernetes secrets across clusters with External Secrets Operator","summary":"Distribute secrets between Kubernetes clusters using External Secrets Operator and Tailscale\'s private network, eliminating the need to store credentials in Git or expose API servers to the internet.","lastValidated":"2026-03-09","slug":"solutions/sync-kubernetes-secrets-across-clusters-external-secrets","pathToContent":"solutions/sync-kubernetes-secrets-across-clusters-external-secrets/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["aperture","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Centralize LLM access and spending","summary":"Route all LLM requests through a single gateway to eliminate API key sprawl, track per-user spending, and enforce access controls across developers, agents, and CI/CD pipelines.","lastValidated":"2026-07-24","slug":"use-cases/ai-infrastructure-access/centralize-llm-access-and-spending","pathToContent":"use-cases/ai-infrastructure-access/centralize-llm-access-and-spending/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Connect inference and training servers","summary":"Give GPU and inference servers identity-based access in your tailnet using tags and auth keys, with multi-tenant isolation and containerized workload support.","lastValidated":"2026-05-18","slug":"use-cases/ai-infrastructure-access/connect-inference-servers","pathToContent":"use-cases/ai-infrastructure-access/connect-inference-servers/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"AI infrastructure access","summary":"Secure access to AI infrastructure, GPU clusters, and private LLM deployments across your network.","lastValidated":"2026-05-18","slug":"use-cases/ai-infrastructure-access","pathToContent":"use-cases/ai-infrastructure-access/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["kubernetes","ai"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Secure your AI training cluster","summary":"Remove the Kubernetes API server from the public internet and enforce identity-based access, session recording, and device posture for AI training cluster operations.","lastValidated":"2026-05-18","slug":"use-cases/ai-infrastru
1cture-access/secure-ai-training-cluster","pathToContent":"use-cases/ai-infrastructure-access/secure-ai-training-cluster/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["exit-nodes","application-testing"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Localization and geo-specific testing by simulating traffic from different global locations","summary":"Use Tailscale exit nodes to route test traffic through different geographic locations and validate localization behavior with Siege.","lastValidated":"2026-05-18","slug":"use-cases/application-testing/geo-specific-testing","pathToContent":"use-cases/application-testing/geo-specific-testing/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Application testing","summary":"Share local development servers, test webhooks, and simulate geo-specific traffic without deploying to the cloud.","lastValidated":"2026-05-18","slug":"use-cases/application-testing","pathToContent":"use-cases/application-testing/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["tailscale-funnel","application-testing"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Share a local development server with the internet","summary":"Use Tailscale Funnel to expose a local development server to the public internet over HTTPS, without configuring port forwarding or a public IP address.","lastValidated":"2026-05-18","slug":"use-cases/application-testing/share-local-dev-server-with-internet","pathToContent":"use-cases/application-testing/share-local-dev-server-with-internet/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["tailscale-serve","application-testing"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Share a local development server with your team","summary":"Use Tailscale Serve to expose a local development server to other members of your tailnet over HTTPS, without opening access to the public internet.","lastValidated":"2026-05-18","slug":"use-cases/application-testing/share-local-dev-server-with-team","pathToContent":"use-cases/application-testing/share-local-dev-server-with-team/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Use cases","summary":"Explore how you can use Tailscale at home and at work.","lastValidated":"2026-05-18","slug":"use-cases","pathToContent":"use-cases/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["infrastructure-provisioning"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage access across multi-cloud or multi-region cloud environments","summary":"Connect cloud VPCs, Kubernetes clusters, and remote teams across AWS, GCP, Azure, and on-premises networks using Tailscale.","lastValidated":"2026-05-18","slug":"use-cases/infrastructure-access/access-multi-cloud-or-multi-region-cloud-envs","pathToContent":"use-cases/infrastructure-access/access-multi-cloud-or-multi-region-cloud-envs/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Infrastructure access","summary":"Manage secure, audited access to production servers, Kubernetes clusters, and cloud environments.","lastValidated":"2026-05-18","slug":"use-cases/infrastructure-access","pathToContent":"use-cases/infrastructure-access/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["infrastructure-provisioning","jit"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Manage least-privilege access and just-in-time access to production environments","summary":"Enforce least-privilege and just-in-time access policies for production infrastru
1cture using Tailscale tags, grants, and ephemeral nodes.","lastValidated":"2026-05-18","slug":"use-cases/infrastructure-access/manage-least-privileged-and-jit-access","pathToContent":"use-cases/infrastructure-access/manage-least-privileged-and-jit-access/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["infrastructure-provisioning","session-recording"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Record SSH sessions for compliance and audit","summary":"Record SSH sessions for compliance and auditing purposes.","lastValidated":"2026-05-18","slug":"use-cases/infrastructure-access/record-ssh-sessions-compliance","pathToContent":"use-cases/infrastructure-access/record-ssh-sessions-compliance/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["personal-or-at-home-use","subnet-routers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Remotely access devices that can\'t run Tailscale","summary":"Remotely access devices that can\'t run the Tailscale client.","lastValidated":"2026-05-18","slug":"use-cases/personal-or-at-home-use/access-devices-without-tailscale","pathToContent":"use-cases/personal-or-at-home-use/access-devices-without-tailscale/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["personal-or-at-home-use","nas","file-sharing"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Access NAS, media servers, or file shares remotely","summary":"Reach your home files and media from anywhere without opening firewall ports.","lastValidated":"2026-05-18","slug":"use-cases/personal-or-at-home-use/access-nas-media-file-servers","pathToContent":"use-cases/personal-or-at-home-use/access-nas-media-file-servers/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Personal or at-home use","summary":"Connect and manage your home network devices and services from anywhere with Tailscale.","lastValidated":"2026-05-18","slug":"use-cases/personal-or-at-home-use","pathToContent":"use-cases/personal-or-at-home-use/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["personal-or-at-home-use","game-servers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Share a private game server with friends","summary":"Share a private game server with friends using Tailscale.","lastValidated":"2026-05-18","slug":"use-cases/personal-or-at-home-use/share-private-game-server","pathToContent":"use-cases/personal-or-at-home-use/share-private-game-server/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["regulated-environments","device-posture"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Enforce device compliance before granting access","summary":"Use Tailscale\'s device posture features to verify device health and restrict access to sensitive resources based on compliance status.","lastValidated":"2026-05-18","slug":"use-cases/regulated-environment/enforce-device-compliance","pathToContent":"use-cases/regulated-environment/enforce-device-compliance/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Accessing a regulated environment","summary":"Meet compliance requirements with static egress IPs, device posture checks, and access controls you can audit.","lastValidated":"2026-05-18","slug":"use-cases/regulated-environment","pathToContent":"use-cases/regulated-environment/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["regulated-environments","subnet-routers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Provide a static IP egress address to a regulated environment","summary":"Use a static egress IP address for allowlisting when accessing regulated environments like banks or healthcare systems.","lastValidated":"2026-05-18","slug":"use-cases/regulated-environment/static-egress-ip-allowlist","pathToContent":"use-cases/regulated-environment/static-egress-ip-allowlist/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["vpn-replacement","scim"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Automate employee onboarding and offboarding","summary":"Use SCIM to automate employee onboarding and offboarding in Tailscale.","lastValidated":"2026-05-18","slug":"use-cases/vpn-replacement/employee-onboarding-offboarding","pathToContent":"use-cases/vpn-replacement/employee-onboarding-offboarding/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":[],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"VPN replacement","summary":"Replace your legacy corporate VPN with Tailscale for faster and more secure remote access to your devices.","lastValidated":"2026-05-18","slug":"use-cases/vpn-replacement","pathToContent":"use-cases/vpn-replacement/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["vpn-replacement","exit-nodes","subnet-routers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Secure remote access for work from home or remote employees","summary":"Use Tailscale configurations to secure remote access to on-prem or in-office resources.","lastValidated":"2026-05-18","slug":"use-cases/vpn-replacement/remote-workers","pathToContent":"use-cases/vpn-replacement/remote-workers/index.mdx"},{"visibility":"visible","tocDepth":3,"tags":["vpn-replacement","exit-nodes","subnet-routers"],"releaseStatus":"GA","related":[],"index":true,"hidden":false,"featured":false,"deprecated":false,"contentType":null,"availability":["all"],"title":"Secure remote access to internal 
1corporate applications and data","summary":"Use Tailscale configurations to secure remote access to dashboards, file shares, SaaS, infra, and more.","lastValidated":"2026-05-18","slug":"use-cases/vpn-replacement/secure-access","pathToContent":"use-cases/vpn-replacement/secure-access/index.mdx"}]')}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.