Tailscale just shipped tailscale-rs, a Rust version of its tsnet library that lets you embed Tailscale networking straight into your apps. It works natively in Rust and includes bindings for Python, Elixir, and C. But it's an experimental preview right now, so don't put it in production.
The problem tailscale-rs solves is real. Tailscale's previous attempt at this, libtailscale, was a C wrapper that fired up an entire Go runtime inside your process. That's fine until you're running Ruby or Python and two runtimes start fighting over process lifecycle. Crashes followed. As Tailscale explained in their announcement, mixing libtailscale with a Ruby VM "is a quick way to end up with a crash, because the two runtimes will step on each other's toes."
Rust fixes this because it doesn't carry a mandatory runtime or garbage collector. You get memory safety without the baggage. That makes it clean for FFI bindings across languages. Tailscale picked Rust over C specifically because, in their words, "you need an overwhelmingly good reason to start writing new code in a language that lacks basic memory safety properties." The company isn't ditching Go. The main client daemon and backend services stay Go. But for embedding, edge computing, and WebAssembly, where a Go runtime won't fit, Rust is now the answer. In their view, they finally found that overwhelmingly good reason to choose something else.