GotaTun Rollout Marks Major WireGuard Shift at Mullvad
- What GotaTun Is: Rust-based WireGuard implementation, forked from BoringTun, focused on Mullvad's performance, reliability, and privacy features.
- Why It Was Needed: wireguard-go caused over 85% Android crashes; Rust removed instability and complex Go-Rust integration issues.
- Impact and Roadmap: Android crash rate dropped to 0.01%; iOS, desktop rollout and security audit planned for 2026.
Mullvad VPN has announced GotaTun, a new WireGuard® implementation written in the Rust programming language. The company says GotaTun is designed to be faster, more efficient, and more reliable, and it represents the future of WireGuard within Mullvad VPN.
The announcement was made on December 19, 2025. GotaTun has already been rolled out to Android users, and Mullvad plans to bring it to other platforms next year.
What is GotaTun?
GotaTun is not a new VPN protocol. It is simply WireGuard® rewritten in Rust. The project is a fork of BoringTun, a WireGuard implementation originally developed by Cloudflare.
The name GotaTun comes from a mix of BoringTun and Götatunneln, a real tunnel located in Gothenburg, Sweden.
According to Mullvad, GotaTun includes several privacy-focused features such as DAITA and Multihop. It also offers first-class support for Android. By using Rust, Mullvad says it can achieve better performance through safe multi-threading and zero-copy memory techniques.
GotaTun was rolled out to all Android users last month, and Mullvad aims to release it on remaining platforms, including desktop and iOS, in 2026.
Why Mullvad Built GotaTun and What is its effect on WireGuard?
For many years, Mullvad’s mobile apps relied on wireguard-go, a popular userspace WireGuard implementation written in Go. This implementation is widely used across the VPN industry and has served as the standard choice for a long time.
However, since mid-2024, Mullvad has been maintaining its own fork of wireguard-go to support advanced features like DAITA and Multihop. Over time, several challenges became clear.
On Android, apps distributed through the Google Play Store automatically send crash reports to developers. Mullvad noticed that over 85% of reported crashes in its Android app were caused by wireguard-go. While the company fixed some difficult bugs over the years, many issues remained unresolved.
Because of this, Mullvad chose Android as the first platform to introduce GotaTun, allowing them to quickly see whether the change reduced crashes.
Another major issue was the complexity of combining Rust and Go in the same app. Most Mullvad VPN service components are written in Rust, except wireguard-go. Communication between Rust and Go requires a foreign function interface (FFI), which Mullvad describes as complex and unsafe.
Since Go has its own runtime, it is difficult for Rust code to understand what is happening inside it. When wireguard-go crashes or freezes, it is not always possible to retrieve useful crash information, making debugging and long-term maintenance harder.
Results After the Android Rollout
Mullvad says the results after switching to GotaTun on Android have been immediate and clear.
So far, not a single crash has been linked to GotaTun. All previous crashes caused by wireguard-go have effectively disappeared. After releasing GotaTun in Android version 2025.10 at the end of November, Mullvad saw the user-perceived crash rate drop from 0.40% to 0.01% compared to earlier versions.
User feedback has also been positive. Some users have reported better connection speeds and lower battery usage after the update.
What’s Next for GotaTun
Mullvad says the Android release is only the first major milestone. More developments are planned for 2026.
The company has confirmed that:
- A third-party security audit will take place early next year.
- GotaTun will replace wireguard-go on all platforms, including desktop and iOS.
- Additional work will focus on performance improvements.
Mullvad says it is looking forward to expanding GotaTun further in 2026 as it continues to refine its WireGuard implementation.











