¶ Intro / Opening
Well, welcome onto the show, Carl. It's so good to actually have you here. I know we've crossed paths a few times before in the space, really, just online, so it's really cool to be able to see you. Video to video, I guess we would call it. Yeah. Chat a little bit more about what you've been up to because y'all had a very big release, I feel like, a couple months ago now, so a lot to talk about today. A lot to talk about today.
Yeah, no, 100%. It's been super exciting times. I think our official release was just last month. To me, it seems like eons ago now, but it's been really fun answering the user questions and helping people along and squashing the bugs.
Yeah, yeah, absolutely. It does feel like a lot more than a month ago because I think I jumped on and started using it the day you released, and it feels like a lot longer than a month.
Right, right, Yeah. I think you were on the wait list and so that's why you got the early preview.
Okay, yeah, yeah, yeah, I forgot about that. Yeah, definitely. Yeah. I'm excited to talk through this. Obscura, I think, brought kind of a new wrinkle into the VPN space in a way that, that people hadn't expected. Kind of blinds out a lot of people with a new take on things. But before we get too deeply into, like, what Obscura is, I always like to hear a bit more about who's actually behind it. Like, obviously yourself. How did you get come to want to create a new VPN service?
Like, how did the idea of Obscura itself come about? How'd you end up here?
¶ How did you end up creating Obscura?
Yeah, it's a long story, so I'll give sort of a little bit of background about myself. And by the way, if I go into too many rabbit holes, feel free to stop me. I'm just excited about these things. So, prior to Obscura, I was a Bitcoin core developer. So I worked on Bitcoin Core, which is the main implementation of the Bitcoin protocol. So I had three and a half years at ChainCode who sponsored me to work on Bitcoin core code base.
I was actually at Blockstream before that partly overlapped when I was in college at Berkeley. And when I was a Bitcoin core developer, I mainly worked on the Reproducible build system.
¶ Reproducible builds in a nutshell
Now, for people who are unfamiliar with reproducible builds, what that basically is is when you download, let's say, Bitcoin Core's app, or Bitcoin D, or you Download the disk image, you download something that's a binary and then you have the source code that's on the Bitcoin core repository. So how do you know that the source code is what you're downloading?
How do you know that, you know, somebody didn't tamper with the source code before they, you know, gave you the download and things like that. And so that's what reproducible builds solves. And it was solved previously with the Gitian system, that dev random setup. I improved it in the sense of we were trying to solve for the trusting trust attack. So the trusting trust attack is this attack that was posed by Ken Thompson, who made the UNIX operating system.
And it was an attack whereby, if you can poison, if you think about compilers, right, compilers, okay, compilers are compiling something. But where do compilers come from? They come from a previous generation of compilers and it's sort of like, you know, turtles all the way down, right?
So what Ken Thompson posed was that if you poison one generation of compilers in a very smart way, you can actually have compilers that compile poisoned compilers, even if the compiler code is correct and sort of go all the way down. So that was sort of a supply chain attack. And nowadays software supply chain attacks are everywhere because people have found out it's the easiest way to get your bug in instead of trying to figure out, oh, how do I buffer overflow this thing?
You can just do a supply chain attack and, and you don't even need to worry about that. And so I always sort of bring a solution for that trusting trust attack to Bitcoin's reproducible build system, making it what we call bootstrappable with geeks. And now that is the release process for all Bitcoin core releases going forward. And so I, you know, throughout my career it's, it's, it's always been a focus on, you know, obviously user privacy and also about trust, right?
How, how do we make it such that users can trust our, what we build and, and the things that we distribute? I think that's especially important in a digital world where, you know, nobody's going to like disassemble gigabytes of, you know, gigabytes of binary just to know what's going on. You really need to have a good process and good story around that.
¶ Investigating iCloud Relay
And so, you know, after working on Bitcoin core, I was looking around for things to do and things in the industry. And thankfully enough, I think it was Matt Carollo who was one of the other Bitcoin core developers. He told me he knew that I had sort of an interest in VPNs for a long time and he told me to look into Apple iCloud Relay. And I looked into Apple and I, you know, perhaps naively thought that, oh, you know, it's, it's an Apple thing.
When I first heard about it, I was like, oh, it's an Apple thing. It's probably just, you know, some ordinary vpn, oh, it's only for Safari, you know, what is it? But he was like, okay, actually look into the tech behind it. And I, I was really enthralled really by how they designed it. It was sort of a hidden gem almost. And there are two parts to this. One part is, you know, having two party. It's not only two hops, right? It's more than two hops, it's more than multi hop.
Because if you have multi hop, if it's the same provider that, you know, what, what are you gaining really, right? It has to be two separate parties, two separate entities, two party hop, whereby the first entity sort of knows who you are but doesn't know anything about your traffic and the second exit entity doesn't know who you are and serves you the traffic. And I think in Apple's case it was Apple as the first hop and cloudflare Akamai or Fastly as the second hop.
And that was how they designed their scheme. So I thought that was pretty ingenious. And I looked into the underlying sort of protocol that they were building, which was Masque M A S Q U E which is amazing name, amazing acronym. They backronymed it, I'm sure, and it was fantastic. And I looked into it and I actually implemented my own version of the Mask UDP protocol in Rust and go, just to see how things worked and everything.
And I went to the IETF to talk to the working group about this and sort of just to get to know people and you know, they were, I had a great time. They were networking nerds like I was. Right? But that's sort of not the only thing that was interesting about Apple iCloud Relay. The other big thing that was interesting about Apple iCloud Relay was the way that it did the transport layer. It used quite quick, it used quick and http3.
And I thought that was really ingenious in a very subtle way that people perhaps can't appreciate at first. So I grew up for a part of my childhood in Shanghai in China. And well, actually I was born there. I grew up There. And then in primary school, I went to London for a few years and then I came back to Shanghai for three years. And that was sort of when, you know, in London I was used to Facebook and YouTube and, you know, all these newfangled Google and all these things.
And Wikipedia, I mean, Wikipedia, think about that. And then coming back to Shanghai, the great firewall had just came up and I was like, okay, I have access to none of these things, right? And so I had to, you know, do my own, you know, build my own VPNs for friends and family, try out some of the commercial ones. I think back then the protocols were very nascent. It was like L2TP and PPTP. I think those were very ancient algorithms.
And so I followed the journey, the evolution of all of these VPN protocols all the way up to OpenVPN and Wireguard and things like that, right? And certainly, you know, I've been in the States since I was in high school, but every time, you know, I go back, visit family, I would test, let's say, my new new ways against the great firewall and see what, what's going on.
And I think one of the things that I realized was that for these network filters, let's say for, for all of these network filters, what they want to do at the end of the day is still, they still want to let benign traffic through. They want to let good traffic through, right? Like, you know, they want to let apple.com through, let's say, at the very least, right?
And so the best way, and this is sort of out of the community of there's a huge community on GitHub of basically either expats like program software engineer expats in China, or, you know, just networking nerds and engineer software engineers in China who are building these tunneling protocols. And the thing that they have found is that obfuscation is key. Obfuscating your traffic and making your traffic look like benign traffic is really the best way to get around it.
There's sort of a mismatch, let's say, between people who build VPN protocols in the first world and people who build VPN protocols behind a firewall, let's say in that people who build not behind a firewall are always thinking about how can we make the cryptography even better and more indistinguishable and the packets and whatever. And to a firewall they're like, okay, this stream looks too random. You know, like looks, you know, too well protected.
And so I'm just going to like, Cut off your connection and we'll see what happens. You know, and so it's really funny the different approaches to things. And so bringing it back to Apple iCloud Relay. By using Quic and HTTP 3 as transport, they now look more or less like the rest of Internet traffic, which means they'll get around more firewalls. Not to mention the fact that, you know, we can get into it later. I've already gone too long on this question.
Now that it's over udp, which means that there are massive improvements in terms of performance and latency and things like that.
Yeah, I think it's always fascinating to see how, I mean just the age old saying, necessity is the mother of invention, leads to these, like, these, these iterative major changes over time when there is that pressure. Because like you said, like someone who's developing a VPN service in the US is thinking very differently than someone who's developing a VPN service or a tool to do something similar in mainland China.
Like you have a very different set of assumptions and things that you need to work around. Which means that, that there's a lot more, really more fascinating stuff there. I mean honestly, VPNs for the most part in like the western world, a lot of people are just using them to get around geo restrictions. So it's really just speed and changing the location. There's not nearly as much thought about the more complex blocking of VPNs as there is when you're facing something like a firewall.
Yeah, let me add on to that. There's, there's this, the, the same tech that's used in the Chinese great firewall, I think partly was developed by Cisco. And so now at these, you know, it's not that this is only relevant for people who are behind a nation state firewall. Right.
Nowadays like if you go into a cafe or going to an air like airport, public WI fi or any kind of public WI fi or your coworking space or your hotel, they probably had some guy that was in the admin portal and saw it, Cisco Advanced protection or something like that and just take that box without knowing about it. I'm not saying all of these, you know, admins are malicious or trying to control you or whatever, just ticking a box and they tick a box and now your VPNs don't work. Right.
And these are like the networks where you want to use a vpn. I'm not trying to, you know, I want to use my VPN on a public network. Right. And most of these Public networks have these kind of advanced protection stuff. Um, and so, yeah, it's not only just relevant for people who are behind a firewall.
No, yeah, yeah, no, I think you're definitely right. Even if those things are often being created because of more adversarial environments, they're, they are useful here. And I have, I mean I have definitely noticed that an increase in, when I join a public network, it blocks my VPN or it blocks my custom DNS. Like it's becoming much, much more common as we go because that tooling is.
There's a lot of, obviously there are a lot of legitimate reasons to want to block VPNs or to block custom DNS from a system admin perspective, but obviously for the end user, especially one who's relying on VPN for personal privacy, it's a, it's a big detractor from the usefulness of vpn. So that's definitely a key aspect there.
Yeah, totally.
Yeah. I think I was actually kind of surprised that you mentioned icloud Relay because I feel like it, it really is this unsung thing that doesn't get that much like coverage or thought like Apple just dropped it and we're like, hey, now everybody has this really cool multi hop, multi vendor like VPN overnight and just kind of moved on. And I don't see them talking about it much or other people talking about it much.
Obviously it has the downside it is closed source, but it's pretty amazing to see the actual technology that they built. And so it's cool also to see that that kind of inspired some of obscura as well.
No, 100%. It was super interesting that got released. And one thing I will say is I think it was recently I've got introduced to the Privacy Guides community. And so Privacy Guides is this community resource where they talk about various technologies, technical privacy topics. And it's very well moderated without sort of the hate and vitriol that sometimes Internet forums get into. And they really know their stuff.
And I think they were one of the few where they had articles that were like, where are all the multi party relay VPNs? And talking about icloud relay and being like, this is great, like why aren't more people building this? I was like, yes, that's. Yeah, that's what we're doing.
Yes, you were ready. You were ready. Yeah, yeah, it's, it's a, it's a big departure from what the traditional VPN paradigm has been, which is essentially I'm shifting trust from one entity to another entity. There's no like decentralization. There's no real change in what the trust model is. It's just I trust Mulvan, for instance, much more than I trust my isp. My ISP is all my personal data. They see all the rest of the traffic on my home network.
They have a lot more incentives to sell that data. Mobile doesn't. So that's been like the normal paradigm that we've gotten used to with the really the only alternative up to this point being the Tor network, which is a very different set of assumptions and very different set of protections and threat models that you would want to use it for. So I think that something like Obscura kind of fits in pretty well in between that model. So what was it like?
What, what made it so important to you to make Obscura and to kind of shift this paradigm? Like maybe tell us a little bit more about Obscura here. Cause I feel like we've been beating around the bushes a little bit about what it is, but tell us a little bit about what it is and why you thought that was a necessary like missing piece in the ecosystem.
¶ What is Obscura, and why did you feel it was a necessary privacy tool?
Right? A hundred percent. Well, Obscura is a next generation VPN that is a, you know, we can't log your activity and we outsmart Internet censorship. Right. We're taking two of the major features that were in icloud relay and all these multi party relay schemes and bring it together in a really polished app. What we do is in Obscura's two party relay scheme, Obscura is the first hop and Mulvad who we've partnered with is the second hub.
Now we've partnered with Mullvad because we think they're one of the most trustworthy VPN providers out there. And so with this two party scheme, as I talked about before us, as Obscura, we know who you are because we have to know that you paid, but we literally can't see anything about your Internet traffic, sort of, not even the metadata or anything like that. Right.
You know, even with tls, you know, there's the SNI indication, which means that's the, the unencrypted part of TLS packets that tells you the host name. And so we don't know anything about your traffic. And on Mobat side they don't know anything about you. They just know that you're one of, I don't know, a few hundred Obscura users and they serve you the Internet traffic as they go to google.com and YouTube and things like that. And so that's what Obscura is and that is what we've built.
And right now we are on Mac OS and I'm sure we'll go into sort of different platforms and all these things. But what we do, let's say as a service is we've adopted Mulvad's account number scheme so that you know, you don't need to provide an email address or anything to sign up. And we also accept Bitcoin over Lightning for payments because we don't like, you know, we see personal information as toxic waste and we want to collect the least amount possible about you.
We just want to offer you a good service.
Yeah, absolutely.
And that I think the, the payment in Bitcoin or something like Monero is such a vital part of it as well because like you said like you especially if you weren't in the multi vendor model that you're doing now or two party system, it's even more problematic if you're giving over credit card info or shipping address or not shipping address but billing address to, to a VP provider because then they have basically the same info on you that an ISP does and you haven't really removed any trust
at all. You've just.
Exactly. Yeah. And we believe a lot in sort of layering privacy let's say in that you know, if we can, we should have multiple layers of privacy. Another thing that I'll note that I've talked about before with iCloud Relay is we do use QUIC as our transport from the user to our first hop and so that allows you to get past many more firewalls and restrictions than normal VPNs do.
Yeah. And kind of continuing to compare this a little bit to other things in the space like it's, it's not, it's obviously much better than a traditional vpn. It's not as full blown privacy as something like a mixnet like Nim would be. And it's also probably not quite as much privacy preserving as Tor network is. It's kind of like in the spectrum.
Like how do you see it comparing in terms of like who would use this versus a traditional VPN or something like a mixnet, like kind of the broad spectrum.
¶ How do you view Obscura in the broad ecosytem of privacy tools for networking?
Right. I, so I, I, I'm not a hundred percent too familiar with Nim's exact scheme. So I, I'm, I'm not going to speak to that but I can speak to sort of compared to Tor and, and people who use Tor I think I'm not Sure. It's quite as easy to model as a spectrum as you would think. I think we're just trying to serve a different archetype of users. We want Obscura to be the best R and VPN out there. Not just for privacy, but also for everyday use and ease of use.
Right now I'm connected to Obscura talking to you, right? And I think the latency. Okay, well there we go, perfect. And I think the latency is pretty good. And I use it for, you know, all my calls. I use it to, you know, watch 4K HDR video. I want to make sure that the thing that we want to change is the default for the Internet, right? And to change the default and for people to adopt a different default, you can't be worse or you can't be substantially worse than the existing experience.
And so when we think about Obscura, that's sort of the niche that we fill in, that people who want to use it for everyday use, right. And so when it comes to the everyday use and the speed and the reliability in terms of mixnets or Tor, their advantages in terms of privacy and sort of freedom of participation is a double edged sword almost.
And that, you know, it becomes where, okay, you're not sure if any particular node is going to be that reliable, is going to be sort of that well maintained and things like that. And perhaps that makes it infeasible for daily use at times. Although I will say, like, I'm a big fan of these projects, right? I'm, I am all for new projects that advance Internet privacy and everything like that. And so.
Yeah, yeah, no, I definitely agree. I think it's also, it's vital to have offerings in different niches because they provide different things. Like you mentioned, like there's a very different threat model for somebody who wants to use Tor for all their traffic or for somebody that even wants to use a mixnet, which is even more extreme than maybe somebody who wants to just use a simple VPN that they turn on and they forget about.
Which I think Obscura has been filling that role really well for me. It is a cool test case that we're recording this both over Obscura, so should be a cool example of how, how low latency it is. We have video between the two of us as well, even though that's not recorded. So it's a cool test for that. But it is definitely one of those situations where it, it's, I mean, it's just kind of the crux of how useful will A privacy tool be is how good is the user experience?
And I think that's where something like Signal has just destroyed a lot of competition because they're just really easy to use. They also provide very strong privacy, and the default is strong privacy, and that's where a lot of these privacy tools really have to get. So I definitely, definitely agree on that.
Yeah. Yeah, glad to hear.
Yeah. One of the things that you mentioned and as a key thing for people to understand, is your partner right now for the exit node, for lack of a better term. Do you have a different terminology for like, who the exit partner is, or do you all go with kind of similar Tor like terminology?
Yeah, I use exit node, exit, party, interchange. We should probably have a glossary and nail down one term. But the exit. The exit, let's say. One second.
Yeah, yeah. And you've. Y'all have launched with Mullvad as your main partner. I know that you already have a good relationship with them. And Mullvad, I mean, has been one of the most respected and most useful VPN providers in the space, like one that I've recommended for a long time and has a great track record. So I don't think anybody's really complaining that that was the choice. But two things I kind of would like to know about that, like, why Mullvad for your. Your first partner?
And then do you have plans to expand to allow other exit nodes or exit partners in the
¶ Why was Mullvad the partner of choice for Obscura's launch? Do you have plans to add more "exit node" partners down the line and give users a choice for that portion of their connection?
future?
Yeah, I, you know, we chose Mulvad because they're one. We think they're one of the most trustworthy VPN providers out there. Right. They've been real pioneers in this space, whether it be accepting Bitcoin since 2010, which is amazing. Right. I actually didn't know about this because I hadn't paid attention, but they've been accepting Bitcoin since 2010. They innovated with the account numbers scheme, which I thought was. So I remember seeing this when I was in college.
I thought it was so ingenious. I was like, yeah, why did. Why do they need my email for this? Why? There's no reason they need my email for this. You know, and if I, you know, if I need support, I'll just email them. But like, you know, otherwise there doesn't need to be anything done with that. And it's just a random number, so you're not like fiddling around with some password generator to generate a number. Amazing.
And, you know, and also they make hard decisions, almost counterintuitive business decisions for better OPSEC and infrastructure security. Like, I think they're retiring OpenVPN pretty soon if they've already retired OpenVPN. I mean, I remember when I was looking into OpenVPN and the implementation and things like that, I was like, this, this is, like, this is great that it has all these features, but it's too configurable. And I'm sure there's a bunch of CVEs in here.
Like, this just doesn't look like it's going to be so, you know, retiring, things like that. They've been a real pioneer and that's why we chose them. I've also had a good, good, really great relationship with them. I remember the first time I reached out to Jan, their CEO. I think this was back in 2020 when I was first starting to resell Mulvad vouchers for Lightning. And I reached out to him and we communicated over PGP encrypted email. I was like, this is pretty, like this is pretty cool.
There are dozens of us going, yeah, exactly. So they really, they get it, they're really about it. And so we wouldn't have chosen anybody else to be our first. Now, in terms of giving users a choice and, you know, other providers for the exit and things like that, we really hope that we will be able to do this. I think, you know, one of my, one of my dreams, and perhaps, perhaps this is too optimistic a dream, is that I hope that we can elevate the VPN industry.
I hope that we can elevate the VPN industry to a place where perhaps all of the VPN providers could be second hops for each other and be interoperable with each other. Now that requires making, as I said before, hard decisions, let's say, about, you know, your business and things like that. But I think if we can get to that place, no matter how we get there, that would make the entire industry way more credible.
Right, Way more credible in terms of, you know, the claims that they make in terms of the base level of privacy. And we're actually doing something great for the health of the open Internet and I think that would be great. So I hope we get there and certainly, you know, I'll be reaching out to folks.
Yeah, I'm definitely excited for that. I mean, especially just for the resiliency, like not even. Because, like, I certainly don't have any issue with mopod. They've been fantastic and all my communications with them as well. So it's not like I want to use a different partner necessarily, but or just from a resiliency perspective, it would be really cool to see others added in maybe like an IVPN or something like that to have that, that optionality for sure.
But I think it's been, it's been fantastic so far, kind of on that vein. So obviously it's going to be a little bit of a different bandwidth and latency system, I guess you could say, than if you're just using something like mulbot. Have you done any like hard numbers on what the expectation is in like latency increase or bandwidth loss for doing this two party system? It doesn't seem like much in my testing, but I'm just curious if you have any kind of real comparison there.
¶ Comparing Obscura to "just" using Mullvad in terms of throughput and latency
Well, I, okay, I, I, I did a test this morning on my crappy, you know, home connection and you know, anecdotal, but bandwidth wise I think it was 73 versus 64 Mbps and latency wise it was 17.3 milliseconds versus 19. So it's within the acceptable range for sure. And it's not noticeable at all for me, you know, I do all my, as I said before, I do all my calls on Obscura, including this one. No noticeable latency. And you know, I stream Twitch stream.
I think the real test is like twitch stream, low latency mode. Right. Because like YouTube you can buffer and things like that. Right. And with, you know, even 4K, do Twitch have 4K? At least the 1080p 60fps streams I'm able to stream just fine.
Yeah, yeah, I've seen pretty much the same, I mean like, like I mentioned at the top of the show, I've been using Obscura since I guess before the public launch for my daily driver, I had to switch to a Mac for work anyways, which was good timing to be able to use Obscura because otherwise I wouldn't have even been able to use it yet. But I, I, every call, every podcast recording, I haven't turned it off because I really wanted to put it through the ringer and it's been really fun.
I'm happy to hear that, Seth.
Yeah, this is, that's an unsponsored take by the way. Carl has not paid me any money to say that, but it's just been a good tool. Hell yeah.
That's great. Yeah. And we, we, we. I'm really happy to hear that we have put. And I think it's, it's, it's sort of a good thing that, you know, we, we dog food, our, our product quite a lot. And you know, so if, if there are noticeable latencies, we would try and go fix it. I think we are all, everybody who's on the ENG team are, you know, performance nerds and networking nerds and things like that. So if we can find an excuse to work on bettering our performance, we'll probably do so.
It's the right kind of approach for sure. Yeah, yeah. I think the, the, the last kind of really major question that I know a lot of people have and it just hits on the core security model here, like obviously the two party system is an improvement because instead of just one entity being able to decide at will how I'm going to log this traffic or, or I'm going to sell this data now there has to be some collusion for that to happen.
But obviously it is still possible for Obscura and Mobot to collude. Is there any technical prevention there to prevent that collusion or is it just kind of a system where you have to trust that these two entities won't both collude knowingly to collect this data that could have been collected by just a traditional one party vpn?
¶ What's to stop Obscura and Mullvad from colluding to break the core improvement that Obscura brings over a traditional VPN?
Right, so I'll sort of speak to it first on the technical point. I'll speak to it sort of on the business side, I suppose the logical point. On a technical point, when you establish an obscura VPN tunnel, right, you actually establish a wireguard connection, a wireguard session through Obscura to Mullvad to Mullvad servers. And this session is end to end encrypted, which is why obscura, let's say in the middle, cannot see anything about it, right?
And this session is established between your wireguard key pair that's local and Mullvad's key pair that's on the servers and these keys are on their server page. You can literally verify these keys are the keys that Mulvad is using. And on a technical standpoint, I don't know anybody, any admin anywhere that will give their wireguard private key to a new partner. That's a small, like, it just doesn't make any sense, let's say from that standpoint.
And so, you know, this is, this is a reason why we designed our protocol. We could have gone full mask, which is, you know, over HTTP 3, you know, doing their whole custom encryption and things like that, and authentication and things like that. But we chose to go with sort of tunneling wireguard over quic, our custom protocol, so that it is easier for the user to verify, hey, I'm directly connected to Mulvat. This is not some like software tricking me or anything like that.
That's how it works now. You know, from, I think from a business standpoint, I think it's, it's a good point. We, this is sort of why we were so careful in choosing our first exit partner. Right. We wanted someone who was well known for being trustworthy. Right. And I think we, they would not. A company like Mulvad would not stake the reputation that they built over the years for a small new partner like us. You know, not to mention that they'd have to share their wireguard private keys.
It just wouldn't make any sense. Is, is the real answer.
Yeah, no, absolutely that, that collusion like there are so many incentives against it. It's.
Right, exactly.
Unlikely. Like it is important for people to understand that it is possible but it's again one of those situations where there's just so much, so many reasons not to do so that it, it is a, an improvement over the single party system where it's much different than Mullvad sharing a private key with obscura. It would be just Movad saying we want this traffic now. So it, it is a, it's a, it's a step beyond that. Not trustless but trust minimizing.
Trust minimizing. Exactly. That is exactly what, what it is.
Yeah. And then another piece of that trust minimization is clients being open source. Are the clients that you publish right now. They're all open source. I wonder if reproducible as well since you're.
They are all open source. I have gone through the painstaking journey of making them reproducible. That's on a local branch right now that I have to, that I have to clean up. I'm. I'm very excited for when. Oh the, the Apple notarization and code signing things. Oh my lord. Yes they are. They are not. I think, I think Telegram attempted it and just gave up. I remember there was this blog post where they were like we tried these things and it just didn't work and we gave up.
And I don't blame them. It like took a while so we'll want to have reproducible client. I think client code should always be open source. Especially for something as, as, as, as critical as you know, a VPN that like you know, has. Handles all of your packets. Right. God knows what, what, what it's doing with them. It should always be open source.
I think one interesting thing to note here is that on macOS and on Apple platforms, they have this API called the Network Extensions API, which is what we use. And this is how normally VPNs get set up. And with the Network Extensions API, our network extension that handles the packets run separately from the app as what they call a system extension. And it's very interesting on a technical level. It runs as root, but it is sandboxed, which is a crazy thing that only macOS can do. It just.
I think the UID is zero, but it can't access any of your other files, which is nice, I think. Right. Like, if you have a piece of code that's handling all your traffic and is somewhat privileged, you want to lock that down as much as possible. So I'm happy to see that macOS took steps on that front, I think. I'm not sure that there's a great story for Linux there.
I know that there's some progress being made with Landlock and things like that, although I think the Landlock API is still very nascent. I just saw an interesting thing called Land Run the other day that helps with that. But yes, we want to be as transparent with our users as possible. And I think it's definitely important that our client is open source.
Yep. Yeah, yeah, absolutely. We've touched on a lot of different aspects of Obscura, but are there any that we didn't touch on today that really excite you or that you really love about the design architecture of how Obscura works?
¶ What other aspects of Obscura really excite you?
Yeah, I think we've covered most of what, what we talk about. I think there's always these, these small decisions that we make along the way in terms of improving user privacy. Right. Small decisions that sometimes adds a lot of engineering work for us, but we're like, this is what we're about. Like, we just gotta power through this. And if we're as good of engineers as we say we are, we got to be able to do this right.
For example, like, you know, for a lot of our wait lists and things like that, we allow you to use PGP keys and submit your BGP key so we. That we can, you know, encrypt that message. I sort of wrote up the first version of that without implementing how I would send it later. And when I, when I ended up having to send things, there was a lot of Python scripts and trying to mangle things and trying to get the encryption correct.
And a bunch of people, you know, who you are, submitted keys that were either expired or not on any key server. So I was like, I don't even know what to do with this. So we'll see. But yes, I mean, like, you know, at every turn we try to think about how can we implement this feature in a way that is private for the user. And it's been an exciting journey for sure.
And of course, I think with what's exciting about some of the features that we're going to be working on after we get more platform support is that we'll be able to work on interesting UX problems in the, in the VPN space. For example, split tunneling. I think split tunneling is one of those things that is really crucial for us to get to a place where we offer our users something that they could use without turning it on and off. And the normal finagling that you have to do with VPNs.
And so we're thinking about, okay, at what abstraction level could we do this? Is this sort of on the addressing layer, on sort of the socket layer in the browser with a different profile. So we're experimenting with that. One thing that I forgot to talk about actually about things that are interesting that we're working on is with our obfuscation, we're currently already doing really well in terms of it's working in most network scenarios.
There is one scenario in which there is still some that we're still lacking in and that is when the network admin is really not the smartest and has said, well, maybe they know what they're doing. They're like only TCP over 480 and 443. There are networks like that. I have gone back and forth with a few users where it's just like that. And it frustrates me to no end because then you're not loading your websites quickly over quick.
And they, but anyway, we, you know, the reason why we went with QUIC was to avoid the TCP over TCP meltdown, which is why with a lot of TCP based VPNs you actually see a bunch of stuttering. What we're, what we've actually found is this is sort of, this is again one of those performance performance things that, you know, our engineers have found a good excuse to work on and they're like, yes, let's do this.
We found a way to tunnel packets over TCP in a cooperative way between the client and our servers, such that we avoid TCP over TCP meltdown by sort of dynamically resizing buffers and dropping packets and things like that. So I think that's really exciting, let's say. And we'll make sure that, you know, we even work in situations where they only allow TCP over 443.
It's ridiculous, those nightmare networks. Yep.
Nightmare networks.
Nightmare networks, yeah, absolutely. Well, I've got three just rapid fire questions for you and then we'll jump into some listener questions. We had a good few come in, so we'll go through those as well. But quick rapid fire ones that'll I think, head off a lot of the listener questions too, is the first one for me. Seems inevitable for a service like yours, but when Monero support.
¶ Wen Monero support?!?
Right, I knew these were coming. We don't like to give timeline estimates, but perhaps I can give sort of insight to the listeners on how we think about these things. We have a million things that we want to do and there's always the okay, well, how do we prioritize things? Well, at the beginning we wanted to keep things simple and launch with a simple thing. And simple is easier to secure.
But I've heard a lot of requests for Monero from the users and I was just looking into it a few weeks back, sort of the logistical complexities of supporting it doesn't seem to be that much. So I'm going to continue looking into it. I think it is inevitable that we add Monero payment support to Obscura and I look forward to announcing it the day that we do.
Yeah, definitely. Let me know if I can help or connect you with anybody in the Monero community for that. But I know that there's going to be a lot of Monero people who will be flocking to Obscura as soon as that's enabled. So it'll be a good driver. We'll get them to you. Second rapid fire question. Auto Connect at launch is like the only critical thing that's missing for me in Obscura right now.
¶ Wen autoconnect at launch?
Any idea on when that's coming?
That is coming. That's coming relatively soon. So we wanted to do Auto Connect at launch in a way that is secure and to the best of our abilities, done in a way that is reliable. Right. I think there's a certain amount of polish that our users expect from Obscura and things like that. So we're working on that right now. We're sort of re architecting how we do internal state handling within our. Within our network extension. And so we will have that pretty soon.
And I think that's quite an important feature to have, let's say, for people. And certainly one of our engineers has been complaining about it as well. So you can be sure that, that.
Will definitely happen as long as someone inside is unhappy. It's.
It's definitely, oh, 100%. We, we are the users. That, that's one of the great things about building this is like we are the, the exact users. So the complaints will come from inside.
Yeah. And that's how I know the best product's gonna get made, because I definitely experienced that as well. When you're passionate about what you build and you actually use what you build, that product is only gonna get better because you're gonna hit the pain points and you're gonna be the, the most motivated of anyone to, to actually solve them or improve on them. Yep.
Yeah.
And then just one platform question. I know there's some more that we'll get in the listener questions, but Android is the main gap for me since I don't use iOS, so I know that there's tons of complexity that comes in adding new platforms, but just curious what your thoughts are around Android support broadly.
¶ Wen Android?!?
Yeah, yeah, we definitely want Android support. I think we want mobile platforms because I think there are more use cases for VPNs when you're out and about traveling, let's say, in public networks and things like that. We've made our, you know, with a vpn, it's sort of not as easy as other apps in that, you know, there's a system layer that you have to interact with and on every platform that is somewhat different.
You know, we've architected our infrastructure such sort of the different modules of our code such that it is more or less reusable across the platforms. But there are still some integration problems to do what I'm really happy about with. But we'll definitely do Android because all of our engineers are on Android and have been complaining forever. And I will say that right now we're working on a wireguard configuration generator.
Now, of course, with that wireguard configuration generator, you do get the privacy of you're not able to correlate your IP with your Internet traffic, but the obfuscation side is sort of lost because, hey, it's vanilla wireguard, what can you do? But it should be able to serve most people who are on Android.
But one of the other things I want to say is one of the things I was really happy to see was a bunch of users actually reached out to me and was like, hey, I know you're going to be on X platform Android, let's say. And here are all the pitfalls with integrating with Android's VPN subsystem and things like that. I'm like, thank you. You just saved me, like, you know, a few days of engineering time trying to figure this out. So I'm happy.
Please reach out if you have insights about VPN integration on different platforms. For sure.
Yeah. And I definitely. I do also just want to say, like, when you actually build stuff like this, you realize that it's impossible to ship everything that you want right away in a really good state. So, like, I. I appreciate kind of being behind the scenes in a different way in the app and privacy scene. I appreciate that y'all went with a relatively straightforward MVP on one platform, and you really nailed it in the mvp. Like, the.
The Mac experience has been fantastic from day one, and I think that shows that y'all understood if we tried to do everything at once, we're going to overreach and there are going to be things that suffer. And I think that that kind of. That focus showed for me in the initial launch and gives me, again, just good hope that y'all are going to do a really good job on other platforms as well as you have time.
Yeah, I super appreciate that, Seth. I think one thing I want to bring up is I think it's a shame that in the ordinary consumer's mind, there's been this false dichotomy that's been made of between, you know, privacy products and usable products in that.
And I think, you know, this was more, you know, last or last, last generation of privacy products in that consumers sort of have this thing of like, oh, if it's going to be the more private alternative, it probably is much harder to use than the other way around. And I think, you know, the privacy tech industry needs to come together, and I think, you know, Signal started these things and things like that.
It needs to come together and make sure that that is not the case, because really, we can solve a lot of these problems if we just invested in the tech, the cryptography, the different ways that we do things. And that's one of the things that we hope to drive forward as well. And that privacy products can also be the most usable product and that put together.
Yeah, yeah, yeah. You shouldn't suffer just because you are using a privacy tool. And even more than that, you should get better privacy than you realize, just because it's the way that something's architected. Like, that's the, I think, the. The golden goose, so to say. And the privacy space is something where people don't even have to realize that it's privacy preserving. And yet it is. Yeah.
Yes.
Awesome. Well, that wraps up what I have for you, but
¶ Listener Questions
we do have some listener questions we can dive through a little bit. Um, I think some of these we already answered, so I'll skip some and I'll just, I'll drop people who did ask these questions. Links to the right timestamp in the episode. Um, but one of the, I think good questions that was asked by Mark Molly on X was he was curious about knowing what the biggest technical challenge you had was building it, and what challenges you anticipate facing next in this kind of privacy arms race.
¶ What was the biggest technical challenge you faced building Obscura, and what do you anticipate next?
Yeah, um, the biggest technical challenge, I think this is sort of a statement about open and closed platforms is. I think the biggest technical challenge was not really a technical challenge, but it was integrating with Apple's APIs. Apple's APIs are like, they're well documented, but just not documented in a way that is that useful to the developer.
And you inevitably run into corner cases where you have to go to the developer forums and then somewhere some guy from two years ago said something that, that helps you along. And, and I think it speaks to the fact that, you know, these closed platforms, sometimes they have huge innovations, right? Like icloud private relay, like the different ways of sandboxing on macOS that's good for security, good for privacy and things like that.
But these, these APIs are really hard to work with, really opaque. When it fails, it's really hard to discern what's going on. In fact, we had a few bugs where. I mean, I was desperate enough that, you know, I was attending the IETF at the time. The. The IETF conference. The IETF is the body that makes Internet standards like HTTP 3 and Qwik and all those. And funnily enough, it was just a bug that we really couldn't figure out.
And I knew that someone from Apple was the guy that would know the answer. And so I just waited in front of the only escalator in the conference for him. I think I bothered a couple people that, like, kind of looked like him, but, like, wasn't him. But I finally, like, saw him and I just like ran up to him and be like, hey, like, we have this problem. And he finally was like, okay, look for these logs, look for this. And, you know, showed us how to do it.
And so these were the, these were the challenges. In terms of the other stuff, I think, you know, we have a really superb engineering team who's able to truck forward, right? Like, if there is a problem with our dependencies, we're not up beyond you know, just patching our dependencies and looking at things like that. It is when there is the opaque. I think I was talking to one of the guys at Google who worked with the APIs, he said it this way.
I like this analogy of the Apple platform is you have the XNU kernel which is open source. Like I actually didn't fully grasp that at first, but the XNU kernel is fully open source, right? And then you have the APIs that the apple opens you, that gives you. And then you have this fog of war in the middle. Like, you know, if you play a strategy game, there's fog of war, right? Fog of war in the middle of how they, you know, interact with each other that you have no idea about.
And all you can do is twiddle the APIs on the API end and see what happens on the XNU end. And so I like that analogy. And you know, it's sometimes the problems with closed platforms for sure.
Yeah, definitely, definitely understand that. It makes things, makes things interesting there. Uh, next listener question was from basicsnolo and he basically wanted to know about port forwarding coming to, coming to Obscura. He specifically said for torrenting, but there's a lot of other use cases for port forwarding like self hosting at home while also using a vpn, that sort of thing. So just curious on if port forwarding's on your roadmap.
Yeah, yeah, I, I think we're,
¶ Is port-forwarding on the roadmap?
we, we're always on the lookout for different ways to do stuff and, and of course port forwarding is one of those things that people request and rightfully request for peer to peer file sharing. We, as of right now, we can't do it because Mulvad doesn't have support for port forwarding. And at the end of the day what is exiting out to the Internet is Mullvad's servers. And I think that it is correct in that when you allow port forwarding there is the problem of abuse, right?
It is very, you know, and we don't want to know anything about the user. So we're not trying to like go visit everybody's open port and try to snoop on what they do and all those things. So it's a fine balance to make.
I think there's something to be done, let's say of a, of a hybrid, you know, consumer VPN versus tail scale where you know, if you connect it on your home device or your home server or whatever, you know, you can connect to Obscura using your phone and be able to go, go visit Your home server and things like that. Yeah, I think that's something that we'll definitely look into in the future.
Yeah. And I know Mulvot has some sort of partnership with Tailscale as well, so I wonder if there's maybe even an easier route there because of that, to integrate that. And like you said, like, I wasn't going to spoil the question, but unfortunately Mullvad did have to kill off their port forwarding because of so much abuse. It's just kind of one of the downsides of the Internet is bad people do bad things, even with these tools.
And so good people suffer because sometimes that has to be cut out so that you can still offer a product. So I know that that's a really hard thing to offer in the space, but good insight.
We've actually, here's a funny thing. We've actually architected Obscura, at least on macOS, such that it works with Tailscale, So you can have both Obscura and Tailscale on and ping your phone or, you know, do, do whatever. So if that's something that you're into, you know, try it, try it out. And that's something that we definitely support.
Yeah, I can confirm that works because I use Tailscale for all of my hosting. So I constantly have Tailscale and Obscura connected. And that was actually one of the main things I was curious about with Obscura. Cause with some other VPN providers, their apps don't handle that well. And Obscura just worked from day one. So again, I'm not paid, I'm not paid to shill this, but it's just. Has been a really nice experience.
I, I am so glad because like, I, you know, we put effort into this and I was like, I don't know, is, is this actually going to make anybody happy? And it seems like it does. So very happy to hear.
Even if it's just me, it was worth it. It was worth it.
Yeah, it was worth it. Totally.
Another good one. And kind of a common tool that VPN providers support supply is add or tracker blocking, basically custom DNS provided by the VPN provider. Mullvad obviously has this already. Is that something that y'all plan to enable or add to.
Yeah.
To Obscura at some point?
¶ Will you add tracker or ad-blocking via DNS to Obscura?
I. I believe so. I mean, right now, I think our, our. With. With our current implementation, this is not sort of a. A technical difficulty. It's sort of how. How we put it on the ui and we can certainly allow you to use Mole Ads, ad blocking, DNS servers and things like that. So that's definitely something that we will do. I think philosophically for me though, ad blocking is better done at a higher level in that when you do DNS ad blocking, sometimes it's too much of a sledgehammer to things.
Whereas if you go up a level and use things like UBlock origin, even though I know that on Chrome now they. The manifest v3, all of those things, if you use something like UBlock origin, I think that's a better way to go about doing things and may confuse the JavaScript on the page a little less. But yes, we plan to support this for sure.
Yeah. I think where it specifically comes in handy is when you're talking about like a whole home vpn, like where you're doing it at router level.
Right.
It's really nice to have DNS thin because like smart TVs and stuff like that where you don't have the kind of client side blocking available, you can still get a lot of blocking there. So I think that's where it's more useful than like mobile or desktop platforms. But we'll definitely be.
That's actually a great idea. I should add the DNS option to our Mulvad to our Wireguard config generator that we're building right now. That's actually a great idea.
Yes, yeah, yeah, that would be nice to have for sure. Well, last listener question that I have for you is from Everything Sats. Uh, and it is another, another platform question which was inevitable. I won't tie you down to any timelines, um, but maybe just phrasing it this way, he asked about Windows Linux support, but maybe just to phrase it as. Are you prioritizing mobile specifically Android and iOS obviously, and then desktop.
How are you prioritizing those two in terms of like what you're trying to bring out first?
¶ How are you prioritizing between what platforms to expand to next?
Um, I think we're prioritizing whatever we hear the most from our users. I think that's the most important thing. We hear a lot of want for the iOS device and of course the iOS platform is similar to macros and that's why we're doing that next. Now for Windows and Linux, Linux is easier for us to do because we were all Linux nerds and we run home servers and things like that.
And, and I think for Linux what we'll likely see is first a CLI version so that we can get something out really quick and then a GUI. Certainly GUI's on Linux there's a whole, I don't know if you're familiar, there's a whole fight about GTK versus QT and libidwaita and client side declarations and Wayland and exit. It's quite a fragmented ecosystem.
Linux fragmented.
No, no, no, no way. But of course, you know, we're Linux nerds, so when we do do the gui, we will do it right. For Windows, we actually, we. This is one of the platforms where we had a guy reach out who was one of the users. He actually built the Google One vpn, which was also an interesting vpn. They had a blinded signatures authentication scheme, which was interesting. And he was like, cool stuff, this needs to happen.
And wrote like a whole essay about like all the different ways to avoid problems with the Windows VPN stuff. So that's going to speed us along. That's going to speed us along, yeah.
That's one of the things I absolutely love about this space is people are just so passionate about this that they're willing to jump in and just help. Help other people for nothing just because they want to see a really cool project succeed, which is just so encouraging.
We're all fighting the same good fight, you know, we're all fighting this fight for, you know, Internet freedom and digital privacy. So, yeah, awesome.
Well, thank you so much, Carl. It was just a really fun chat. It's been really cool getting to know you a little bit more, obviously, to learn more about Obscura. Excited to get this one out to everybody as well, because I think it's just a fascinating next step in VPNs and I think solves a lot of the core problems of the traditional paradigm. So thankful for your work. Excited to ship this. Any last comments or anything you want to leave our listeners with?
Check out Obscura.net and you know, hop in our discord or we have a matrix bridge as well, if you're into that. But, you know, let us know your thoughts and questions and we'd be happy to have you. And it's been a real pleasure chatting with you, Seth. It's been fun.
Thanks. Have a good one, Carl.
All right, cheers. Bye.
Foreign thanks for listening and I hope you enjoyed this episode of Opt Out. If you did, please take a moment and subscribe to the podcast. Or if you're already subscribed, share it with one friend or family member this week. As always, you can check out the link to the guest content and contact info, as well as links to all of the tools we discussed in today's episode. Now get out there and opt out. This week sa.
