About
The Team
I’m Davide, the “team” behind every aspect of Passepartout.
Bear with me because my duties entail, among others:
- Planning (GitHub Projects)
- Design and Development (GitHub)
- Testing (TestFlight)
- CI/CD (GitHub Actions)
- Localization (GPT)
- Customer Care (Reddit, App Store)
- This website
How Passepartout was born
Today, Passepartout is a comprehensive networking/privacy tool for iPhone, iPad, Mac, and Apple TV.
How did it start?
During my days at PIA, I wondered why there were so many VPN providers doing the same over and over with different skins: an app with a VPN on/off toggle.
I came up with the idea of a single key that would open multiple doors, be it different protocols, providers, or platforms. That’s what the word Passepartout stands for in French, a master key.
Frustrated by the abandonment of OpenVPN Connect, I first published Passepartout in 2018 as an alternative OpenVPN client for iOS based on TunnelKit. Through the years, the app has become multiplatform, and WireGuard support was also added.
The “new” TunnelKit
Unfortunately, TunnelKit was not designed for the original concept of Passepartout, so the app ended up lagging behind its limitations. Beyond that, the library architecture was in general very primitive, tightly coupled to the underlying implementations, and hard to test.
That’s why I dedicated a relevant part of 2023/2024 to a completely new library, PassepartoutKit, a huge rewrite that was, however, worth the pain. It’s a well-thought architecture that leverages the experience I gained with TunnelKit and WireGuardKit for OpenVPN and WireGuard connectivity.
PassepartoutKit is a game changer in that:
- It is much easier to deploy and use
- It is more stable, for using strict Swift Concurrency
- It is agnostic of OpenSSL, WireGuard, and even Network Extension
- It handles multiple protocols in a single Packet Tunnel Provider
- It is not bound to VPN
- It opens the doors to other platforms like Windows and Android
- Last but not least, it is widely mockable/testable
Contrary to TunnelKit, which is available under the GPL, PassepartoutKit is currently closed-source.
Feel free to contact me for licensing or further information.
The story behind TunnelKit
TunnelKit is a custom Swift/ObjC implementation of the OpenVPN protocol, written from scratch and now superseded by PassepartoutKit.
It all started in 2017, when a former colleague at Private Internet Access sent me some Ruby snippets that would connect to an OpenVPN server. He would then ask me: “would you port this to the iPhone?”
Well, not only did I, but the guy left the company a few weeks later. I took care of the project alone for the next 7 years.
TunnelKit is the only stable OpenVPN implementation in native Swift/ObjC out there and, believe it or not, it is relied on by millions of users, be it via my apps or providers like Hide.me, PIA, or ProtonVPN.
A pretty big project, huh?