Episode

For the video version of the episode (or for closed captions and translations), see YouTube:

Show Notes

The VPN paradigm has grown stale, with simple one-party providers being the best available. But what if we could further minimize trust by shift to a two-party hop system? Obscura is doing just that, and we’re sitting down with their founder Carl Dong to learn all about it.

More about Carl

More about Obscura

Supporting Opt Out

  • Donations – https://optoutpod.com/donate
  • Leave a review on your favorite podcast platform, if possible!
  • Share it with your friends, family, and other communities!

Transcript

This transcript was generated automatically with Whisper speech recognition. It has no speaker labels and may contain errors, so please check the audio before quoting it. Timestamps open that point in the video on YouTube.

Read the full transcript (10,786 words)

00:00 - Well, welcome onto the show, Carl. 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. - Video to video. - Chat a little bit more about what you've been up to 'cause 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, 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, you know, answering the user questions and helping people along and, you know, squashing the bugs. - Yeah, yeah, absolutely. It does feel like a lot more than a month ago 'cause I think I jumped on and started using it the day you released it. It feels like a lot longer than a month. - Right, right, yeah. I think you were on the wait list.

And so that's when 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 a kind of a new wrinkle into the VPN space in a way that people hadn't expected. Kind of winds up 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 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? - Yeah. - 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, go for you 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. I was actually at Berkeley, 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. Now for people who are unfamiliar with reproducible builds, what that basically is, is, you know, when you download, let's say Bitcoin Core's app, or, you know, Bitcoin D, or you download the disk image, right? 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, right? Like, 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 DevRandom set up. 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 you don't even need to worry about that. And so I always sort of bring a solution for that trust and trust attack to Bitcoin's reproducible build system, making it what we call bootstrapable with geeks.

And now that is the release process for all Bitcoin core releases going forward. And so throughout my career, it's always been a focus on, you know, obviously user privacy, and also about trust, right? How do we make it such that users can trust what we build and the things that we distribute? And I think that's especially important in a digital world where, you know, nobody's gonna 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. 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 Corallo, 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 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. Or, oh, it's only for Safari, you know, what is it? But he was like, okay, I actually look into the tech behind it. And 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 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 MASQ, M-A-S-Q-U-E, which is amazing name, amazing acronym. They backronym that I'm sure. And it was fantastic. And I looked into it and I actually implemented my own version of the MASQ UDP protocol in Rust and Go just to 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 did the transport layer. It used QUIC. It used QUIC and HTTP 3. 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 why I was 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, I 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 open VPN 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 ways against the Great Firewall and see what's going on.

And I think one of the things that I realized was that for these network filters, let's say, 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,

10:00 community of there's 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 um obfuscating your traffic and making your traffic look like benign traffic is really the best way to get around it um there's sort of a mismatch let's say between um people who build vpn protocols in the first world and people who build vpn protocols behind a uh a firewall let's say and that people people who build it not behind a firewall are always thinking about how can we make the cryptography even better and uh more indistinguishable and the packets and whatever um and to a uh you know firewall they're like okay this stream looks too random you know like this stream looks you know too well protected and so I'm just gonna like cut off your connection and we'll we'll see what happens you know um and so it's really funny uh the different approaches to

uh and so bringing it back to uh apple iCloud relay um by using quick and http 3 as transport they now look more or less like the rest of internet traffic which means they'll get around um more firewalls not to mention the fact that you know we can get into it later uh 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 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 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 choosing them to get around geo restrictions so it's really just speed and changing the location there's not nearly as much about the the more complex blocking of vpns as there is when you're facing some firewall yeah let me let me add on to that there's there's um this the same tech that's used in the Chinese great firewall um I think partly was developed by Cisco and so now um at these you know for it's not that this is only relevant for people who are behind the nation state firewall right nowadays like if you go into a cafe um or going to uh an air like airport public wi-fi or any kind of public wi-fi or your co-working space or your hotel um 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 sometimes it's just

taking a box and they take a box and now your vpns don't work right and these are like the networks where you want to use a vp 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 a vast protection stuff um and so yeah it's not only just uh uh 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 right 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 totally yeah I think I I was actually kind of surprised that you mentioned iCloud Relay because I feel like it it really is this unsung thing 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-hot 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 and obviously it has the downside it is closed source but it's 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 obscure as well no 100 i i it was super interesting that that that got released and you know one thing I will say is I think it was um you know recently I've got introduced to the um uh the privacy guides uh community um and so the privacy guides is sort of this community slash resource where they talk about various technical privacy topics. And it's very well

moderated without sort of the hate and vitriol that sometimes, you know, internet forums get into. And they really know their stuff. And I think they were one of the few where like they had like articles that were like, where are all the multi-party relay VPNs, you know, and, you know, talking about iCloud relay and be 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 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 Mulvon, 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. Mulvon 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, because I feel like we've been beating around the bushes a little bit about what it is, but tell us about what it is and why you thought that that was a necessary like missing piece in the ecosystem. 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, obscura's two-party relay scheme obscura is the first hop and Mullvad, who we've partnered with, is the second hop. Now we've partnered with Mullvad because we think they're one of the most trustworthy DPM 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've 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 unencrypted part of TLS packets that tells you the host name. And so we don't know anything about your traffic. And on Mullvad 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 macOS and I'm 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 Mullvad'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 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, your 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 a 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. 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 to about before with iCloud Relay is

20:00 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 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? - Right. So I'm not 100% too familiar with Nim's exact scheme. So I'm not gonna speak to that, but I can speak to sort of compared to Tor 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.

Right? Like 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? Like right now we are, I'm connected to Obscura talking to you. Right? - Same. 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. Right? 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 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, it should be a cool example of 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's, I mean, it's just kind of the crux of how useful the 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 agree on that. Yeah, that's here. 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 to change it. We should probably have a glossary and nail down one.

But the exit, the exit, let's say. Yeah, yeah. And you've, you 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 this 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 first partner?

And then do you have plans to expand to allow other exit nodes or exit partners in the future? Yeah, you know, we chose Mullvad 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. You know, whether it be accepting Bitcoin since 2010, which is, you know, amazing. Right. Like I did, I didn't know about this because I, you know, 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? 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 open VPN pretty soon if they've already retired open VPN. I mean, I remember when, you know, I was looking into open VPN 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 Mullvad vouchers for Lightning. And I reached out to him and we communicated over, you know, PGP encrypted email.

I was like, this is very like, you know, this is pretty cool. Like there are dozens of us. Yeah, exactly. So they really, you know, they get it, you know, they're really about it. And so we wouldn't have, you know, 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 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 Mova. 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-- Right, right.

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 optionality for sure. But I think it's been fantastic so far. Yeah. 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 Mova. 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 comparisons there. Well, okay, 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 megabits per second. 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.

30:00 on Obscura, including this one, no noticeable latency. And I stream Twitch stream. I think the real test is like Twitch stream low latency mode, right? Because YouTube become buffer and things like that, right? And with even 4K-- do Twitch have 4K? At least the 1080p 60 FPS streams, I'm able to stream just fine. Yeah. Yeah, I've seen pretty much the same. I mean, 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 every call, every podcast recording, I haven't turned it off because I really wanted to put it through the wringer. And it's been really stable. Oh, I'm so happy to hear that, Seth. Yeah. That's an unsponsored take, by the way. Carl has not paid me any money to say that. It's just been a good tool.

Hell yeah. That's great. Yeah. I'm really happy to hear that. We have put-- And I think it's sort of a good thing that we dog food, our product, quite a lot. And so 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 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 last kind of really major question that I know a lot of people have, and it just hits on the core security model here. Obviously, the two-party system is an improvement because instead of just one entity being able to decide, "Well, I'm going to log this traffic," 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? Right. So I'll sort of speak to it first on the technical point. I'll speak to it sort of on the—is this 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 MoVAD, to MoVAD 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 private—your WireGuard key pair that's local and MoVAD'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 MoVAD 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 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 Quick, our custom protocol, so that it is easier for the user to verify, "Hey, I'm directly connected to MoVAD. This is not some 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 a good point. 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 MoVAD would not stake the reputation that they've 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 the real answer. Yeah. No, absolutely. That collusion, like there are so many incentives against it. 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 is an improvement over the single-party system where it's much different than MoVAD sharing a private key with Obscura.

It would be just MoVAD saying, "We want this traffic now." So it is a—it's a step beyond that, not trustless, but trust minimizing. Trust minimizing, exactly. That is exactly what it is. Yes. 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 into— 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 clean up. I'm very excited for when we—oh, the Apple notarization and code signing things. Oh, my Lord. Yes. They are not—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 took a while. So we'll want to have reproducible client. I think client code should always be open source, especially for something as critical as a VPN that handles all of your packets, right?

God knows 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, you know, normally VPNs get set up. And with the Network Extensions API, your sort of 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, you know, and is somewhat privileged, you want to lock that down as much as possible. So I'm happy to see that, you know, 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, 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?

Yeah, I think we've covered most of what we talk about. I think there's always 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 got to 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 PGP keys so 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 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, you know, we offer our users something that they could

40:00 use without turning it on and off and you know uh you know the 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 um addressing layer on sort of the socket layer uh in the browser with a different profile so we're experimenting with that one thing that i forgot to talk about actually about uh things that are interesting that we're working on um 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 well maybe they they are they they know what they're doing they're like only eight 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 should be but anyway um we you know the reason why

we went with quick um 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 um what we're what we've actually found is this is sort of this is again one of those performance uh performance things that you know our engineers have found a good excuse to work on and they're like yes let's do this um we found a way to tunnel packets over tcp in a cooperative way between the uh the client and our servers such that we avoid tcp over tcp meltdown by by sort of dynamically resizing buffers and dropping packets and things like that so i think that that's really uh uh really exciting let's say uh and we'll make sure that uh you know we even work in situations where they only allow tcp over 443 it's ridiculous those nightmare networks yeah 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 so we'll go through those as

well but quick rapid fire ones that'll i think head off a lot of listener questions too is uh the first one for me seems inevitable for a service like yours uh but when monero support right ah i knew i knew these were coming um you know we don't we don't like to give timeline estimates um but perhaps you know i can give sort of insight of to the listeners on like how we think about these things you know 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 the 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 the logistical complexities of supporting it uh 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 um to to to obscure and uh i look forward to announcing it uh 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 yeah we'll get him to you uh second rapid fire question auto connect at launch is like the only critical thing that's missing for me in obscura right now 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 um uh secure and and and to the best of our abilities um you know uh done in a way that that is reliable right i think there's a certain amount of polish that our users expect from obscura and things like that um so we're working on that right now um we're sort of re-architecting um how we do internal state handling within our uh within our network extension and so we will have that uh pretty soon and i think that's quite uh an important feature to have let's say for people and certainly uh 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 it's definitely 100 we we are the users that that's one of the great things about building this is like we are the exact users so the complaints will come from inside yeah and that's how i know the best products 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 going to get better because oh yeah you're going to hit the pain points and you're going to be the most motivated of anyone to to actually solve them or improve on them yep yeah uh and then just one platform question i know there's some more that we'll get into listener questions but android is the the main gap for me since i don't use ios um 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 yeah yeah

we we definitely want android support i think you know we we want mobile platforms because i think you know there are more use cases for vpns when you're out and about traveling let's say um in public networks and things like that we've made our um you know with a vpn it's sort of not as easy as um 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 that sort of are the different modules of our code such that it is more or less reusable across the platforms but there is still into some integration of our apps that we're going to do um what i'm really uh 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 if with that wireguard configuration generator you do get the privacy of you're not 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 um 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 uh android let's say and here are all the pitfalls with integrating with android's vpn subsystem as things like that like thank you you just saved me like you know yeah a few days of engineering time trying to figure this out so i'm i'm happy um 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 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 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 i super appreciate that seth i i think one thing i want to bring up is i think it's a shame that in the ordinary consumer's mind um there's been this false dichotomy that's been made of between you know privacy products and usable products in that um and and i think you know this was more you know last or last last generation of privacy products uh and that uh 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 uh than the other way around uh 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 um it needs to come together and make sure that that is not the case because really we can solve a lot of these problems um if we just invested in the tech the cryptography the the different ways that we do things uh and i that's one of the things that we hope to to to drive forward as well and that privacy products can also be the most usable product uh 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 at the privacy space is something where people don't even have to realize that it's privacy preserving yeah it is yeah yes awesome well that wraps up what i have for you but we do have some listener questions we can cool 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 uh time stamp in the episode um but one of the i think good questions that was asked by the

50:00 by Mark Mulvey 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. - Yeah, 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 helps you along. 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 Mac OS, that's good for security, good for privacy and things like that. But 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 IETF conference. The IETF is the body that makes internet standards like HTTP3 and Quik 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, Hey, oh, 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, that Apple opens you, that gives you. Um, 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 basics Nolo. And he basically wanted to know about port forwarding coming to, um, 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 and that sort of thing. So just curious on if port forwarding's on your roadmap.

Yeah. Yeah. I, I think we're, we, we're always on the lookout for different ways to do stuff. And of course port forwarding is one of those things that people request and, and rightfully request for peer to peer file sharing. Um, we, as of right now, we can't do it because more that doesn't have support for port forwarding. And at the end of the day, what is exiting out to the internet is more that's servers. Um, I think, and I think that it is correct.

And that when you allow port forwarding, uh, there is the problem of abuse, right? Um, it is fair. I, you know, I'm, I'm, 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, and all those things. So it's, it's a fine balance to make. Um, I think there's something to be done, let's say of a, of a hybrid, you know, consumer VPN versus tail scale, uh, where, you know, if you're connected on your home device or your home server or whatever, you know, you can connect to obscure using your phone and be able to go, go visit your home server and things like that.

Um, yeah, I think that's something that will do. Something that we'll definitely look into in the future. Yeah. And I know Mullvad has some sort of partnership with tail scale as well. So I, I wonder if there's maybe even an, 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. Yeah. And that's kind of one of the downsides of the internet is bad people do bad things, even with your tools.

And so good people suffer because sometimes that has to be cut out so that you can still offer a product. Um, so I know that that's a really hard thing to offer in this space, but. It's difficult. We've actually, here's a funny thing. Um, architected, uh, obscure at least on Mac OS such that it works with tail scale. Um, so you can have both obscure and tail scale on and ping your phone or, or, you know, do, do whatever. So if that's something that you're into, you know, try it, try it out.

And, uh, that's something that we definitely support. Yeah. I can confirm that works cause I use tail scale for all of my posting. So I've constantly have tail scale and obscure connected. And that was actually one of the main things I was curious about with obscure. Cause with some other VPN providers, their apps don't handle that well. And obscure it just worked from day one. So again, I'm not paid. I'm not paid to show this, but it's just, it's been a really nice experience.

I am so glad. Cause like, I, you know, we put effort into this and I was like, I don't know, 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. Uh, uh, another good one and a kind of a common tool that VPN providers supply is add or tracker blocking, basically custom DNS provided by the VPN provider. Um, MoVod obviously has this already. Is that something that y'all plan to enable or add to, um, to obscure at some point?

I believe so. I mean, right now, um, 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, you know, allow you to use more of ads ad blocking, uh, uh, DNS servers and things like that. So that's definitely something that we will do. Um, I think philosophically for me though, ad blocking is better done, uh, at a higher level, uh, in that, you know, when you do DNS ad blocking, sometimes it's too much of a sledgehammer, uh, to things.

Um, whereas if you go up a level and use things like you block origin, even though I know that on Chrome now, they, the manifest V3, all, all of those things. If you use something like you block origin, I think that's a better way to go about doing things and may confuse the JavaScript on the page a little less. Um, but yes, we, 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 then 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, uh, like mobile or desktop platforms, but we'll definitely be. That's actually a great idea. I should add the DNS option to our, well, that, uh, to our wire guard config generator that we're building right now.

That's 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 sets. Uh, and it is another, another platform question, which was inevitable. I won't tie you down to any timelines. Um, maybe just phrasing it this way. He asked about windows and 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? Um, I think we're prioritizing whatever we hear the most from our users. I think that's the most important thing. Um, we hear a lot of want for the iOS device. Um, we're in the, the most important thing. Um, we're in the, the most important thing, but we're in the, the most important thing. Um, we're in the, the most important thing. Um, we're in the, the most important thing.

We're in the, the most important thing. Um, we're in the, the most important thing. Um, you know, I think we're in the, the most important thing to do. Um, you know, we're in the, the most important thing. Um, Linux is easier for us to do because we all, we were all Linux nerds and, you know, we run home servers and things like that. And, and I think for Linux, what we'll, what we'll likely see is first a CLI version so that we can get something out really quick.

And then a GUI certainly GUIs on Linux. There's a whole fight. I don't know if you're familiar. There's a whole fight about GTK versus QT and Lib and Wada and client side decorations and Wayland and exit. It's a, it's quite a fragmented, um, ecosystem. Let's say. Linux fragmented? No, no, no, no way. Um, but of, of course, you know, we're Linux nerds. So when we do do the GUI, we will do it right. Right. For Windows,

1:00:00 We actually, 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 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 the fight for, you know, internet freedom and digital privacy. So 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. 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's 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.