1
00:00:00,020 --> 00:00:05,660
Adblockers are very powerful software with broad permissions, and they just blindly trust them.

2
00:00:06,340 --> 00:00:07,560
It's not a good idea. You should.

3
00:00:08,920 --> 00:00:13,020
Hello, everybody. Today, I have the honor of bringing on Andre from AdGuard.

4
00:00:13,220 --> 00:00:19,280
Many of you probably know AdGuard as a good adblocker to use for Safari on both iOS and macOS devices,

5
00:00:19,480 --> 00:00:23,900
but they actually provide a lot more than that, like DNS filtering and even some VPN services,

6
00:00:24,220 --> 00:00:25,620
and we talk a lot more about this.

7
00:00:25,700 --> 00:00:29,640
The discussion today highlights the growing need for privacy solutions and what those look like.

8
00:00:29,800 --> 00:00:39,120
He elaborates on the company's origins in Cypress, their open source philosophy, the collaborative nature of the ad blocking ecosystem, which I got to witness firsthand in Cypress myself.

9
00:00:39,430 --> 00:00:45,180
And finally, he dives into Apple's new API, which aims to enhance privacy while filtering web requests.

10
00:00:45,370 --> 00:00:47,460
And this is not something I'd heard of at all before.

11
00:00:47,650 --> 00:00:52,740
And so if you use any Apple devices, please listen up because this is quite an important thing.

12
00:00:52,880 --> 00:00:57,700
That's not just going to impact AdGuard, but just overall filtering in general for whatever service you're using.

13
00:00:57,940 --> 00:00:58,700
Let's get into the interview.

14
00:00:59,320 --> 00:01:03,400
Hello, today I have Andrey from AdGuard on Techlore Talks,

15
00:01:03,720 --> 00:01:06,120
and I would love to hear a little bit about yourself

16
00:01:06,450 --> 00:01:07,380
just to kick things off.

17
00:01:07,670 --> 00:01:09,980
Thank you very much for inviting me.

18
00:01:10,250 --> 00:01:12,660
Well, what can I tell about myself?

19
00:01:12,910 --> 00:01:17,720
So we started AdGuard 16 years ago, I guess,

20
00:01:17,900 --> 00:01:19,020
so many, many years ago.

21
00:01:19,940 --> 00:01:23,680
And basically I was a freshman back then,

22
00:01:23,840 --> 00:01:26,160
so I was just out of the university.

23
00:01:26,660 --> 00:01:33,500
And at some point, well, after having like a job in some company, at some point, I just

24
00:01:34,200 --> 00:01:37,580
thought that it would be better to start something by ourselves.

25
00:01:38,180 --> 00:01:42,220
And that's not how AdWords actually appeared.

26
00:01:42,560 --> 00:01:49,300
So, well, at first we were trying to launch a very different kind of startup.

27
00:01:50,540 --> 00:01:53,600
You may have heard about SimilarWeb, for instance.

28
00:01:54,160 --> 00:01:55,840
but well, nowadays it's a big company

29
00:01:56,580 --> 00:01:59,520
that works in web analytics.

30
00:02:00,160 --> 00:02:03,300
So this company kind of collects information

31
00:02:03,510 --> 00:02:06,820
from all places whenever they can reach.

32
00:02:07,210 --> 00:02:10,840
And they use this data to estimate

33
00:02:12,680 --> 00:02:16,280
websites' popularity, apps' popularity, whatever.

34
00:02:16,760 --> 00:02:18,620
And back then, like 17 years ago,

35
00:02:18,620 --> 00:02:19,980
I guess 17 years ago, yeah,

36
00:02:19,980 --> 00:02:23,800
we started a company that was doing pretty much the same.

37
00:02:24,120 --> 00:02:28,360
So we were on a different side of the barricades back then.

38
00:02:28,630 --> 00:02:31,340
Well, back then we didn't know that there are any barricades.

39
00:02:31,540 --> 00:02:35,560
So it was just, well, some nice thing that we started doing.

40
00:02:36,200 --> 00:02:37,240
And it was working.

41
00:02:38,170 --> 00:02:40,200
Well, SimilarWeb didn't exist back then.

42
00:02:40,380 --> 00:02:50,280
So we thought that it's just a great idea to allow people to, well, see how popular this or that website is.

43
00:02:50,620 --> 00:02:57,060
And we relied on the information that we collected from a number of panelists.

44
00:02:57,810 --> 00:03:02,360
And at some point, well, just our money, well, ran out.

45
00:03:05,480 --> 00:03:11,180
But even before that, we were kind of looking at this data.

46
00:03:12,300 --> 00:03:18,540
And slowly we started to realize how much we know about these panelists now.

47
00:03:18,920 --> 00:03:27,840
Just from the pure URLs of the pages that they were visiting, so many years ago, there was no market of data.

48
00:03:28,120 --> 00:03:32,060
So it wasn't, well, that obvious like it is now.

49
00:03:33,180 --> 00:03:36,120
So for us, it was kind of a, well, a new thing.

50
00:03:36,380 --> 00:03:41,520
So we just realized that it is actually not very cool.

51
00:03:42,540 --> 00:03:50,020
It's not great that we know so much about the people that are supposed to be anonymous.

52
00:03:50,400 --> 00:03:52,500
So just from the URLs.

53
00:03:53,920 --> 00:03:57,360
And at some point, we kind of thought, okay, cool.

54
00:03:57,550 --> 00:03:58,620
We ran out of money.

55
00:03:58,620 --> 00:03:59,500
We fired everyone.

56
00:03:59,670 --> 00:04:02,100
So it was just all three of us.

57
00:04:02,330 --> 00:04:05,900
And we thought, well, we probably should start something different.

58
00:04:06,290 --> 00:04:11,000
And we decided to create an ad blocker.

59
00:04:11,780 --> 00:04:13,240
And that's how well, Edgar appeared.

60
00:04:13,410 --> 00:04:15,360
We decided to make it a premium product.

61
00:04:15,430 --> 00:04:18,200
So we thought, okay, we need to make a living somehow.

62
00:04:18,859 --> 00:04:24,020
So let's make an ad blocker and let's just, well, ask people to pay us money to use it.

63
00:04:24,160 --> 00:04:28,140
We launched this version in 2009 or 2010, I don't know.

64
00:04:28,520 --> 00:04:31,460
And it was fully written by me.

65
00:04:31,900 --> 00:04:33,600
I think this was the beginning.

66
00:04:34,020 --> 00:04:36,260
So this is kind of how Edgar appeared.

67
00:04:37,020 --> 00:04:40,020
And nowadays, well, the situation changed a little.

68
00:04:40,180 --> 00:04:45,420
So we kind of grew with time and we launched different versions of Edgard.

69
00:04:45,450 --> 00:04:50,920
At first it was just ad blocking, but we were thinking like that.

70
00:04:50,950 --> 00:04:57,940
So we were thinking Edgard should be on every platform or even any device

71
00:04:58,340 --> 00:05:03,120
that is where it is possible to block ads and tracking.

72
00:05:03,470 --> 00:05:06,060
We need to develop a version of Edgard for it.

73
00:05:07,340 --> 00:05:10,100
That's how we ended up having like a lot of different versions.

74
00:05:10,670 --> 00:05:16,100
Then there were, when there were no more devices, we could put Edgard inside.

75
00:05:16,370 --> 00:05:20,980
We started thinking, okay, we need to expand further beyond just the devices.

76
00:05:21,250 --> 00:05:23,440
So that's how Edgard DNS appeared.

77
00:05:24,720 --> 00:05:28,640
And then we thought, okay, we're now blocking everything everywhere.

78
00:05:29,320 --> 00:05:34,380
But, well, is there anything we can do that can help people protect their privacy?

79
00:05:34,720 --> 00:05:35,960
That is not a net blocker.

80
00:05:36,280 --> 00:05:38,500
And that's how we launched Edgar VPN.

81
00:05:39,640 --> 00:05:44,380
And now, well, recently we launched also an Edgar mail service,

82
00:05:44,590 --> 00:05:50,840
which is an email relay that is supposed to hide your real mail address

83
00:05:51,200 --> 00:05:53,400
from the websites where you sign up, et cetera.

84
00:05:54,180 --> 00:05:56,220
So, well, that's a brief history of Edgar.

85
00:05:56,880 --> 00:06:01,020
Yeah, no, it's interesting because of the people I've interviewed on the podcast

86
00:06:01,580 --> 00:06:03,380
that run projects and services,

87
00:06:04,080 --> 00:06:10,020
The most common bucket that I see is pre-Snowden and post-Snowden in terms of motivations.

88
00:06:10,500 --> 00:06:15,860
And typically the people who are pre-Snowden are, oh, hey, I was developing an email provider

89
00:06:15,870 --> 00:06:17,840
and I realized I could just read everybody's emails.

90
00:06:18,240 --> 00:06:21,660
Or like yourself, I realized that we had all the sensitive information.

91
00:06:21,830 --> 00:06:25,120
And so I wanted to be a person ahead of that.

92
00:06:25,540 --> 00:06:29,440
And then there's people who are post-Snowden who, well, just read what happened and were

93
00:06:29,480 --> 00:06:30,380
a bit spooked by it.

94
00:06:30,380 --> 00:06:32,620
And then they said, OK, let me do something about this.

95
00:06:32,740 --> 00:06:37,360
So it's always fun to chat with people who are pre-Snowden who got ahead of things.

96
00:06:37,740 --> 00:06:50,840
When I read about Snowden and when I took a look at all the information that he kind of showed the world, I didn't believe at first.

97
00:06:51,140 --> 00:06:59,920
So it took some time to start believing in everything because it just it sounded completely unreal, unrealistic.

98
00:07:01,060 --> 00:07:11,620
But then kind of with time, I wouldn't say that I believe like 100%, still that I believe 100% of that, but much more than in the beginning.

99
00:07:12,060 --> 00:07:16,060
So yeah, it's still, it's just too fantastic.

100
00:07:17,080 --> 00:07:20,320
So if this is all true, no.

101
00:07:24,500 --> 00:07:26,620
Yeah, it's pretty spooky stuff.

102
00:07:26,830 --> 00:07:30,580
You know, so from what I'm gathering, so you guys started with just kind of local filtering.

103
00:07:30,900 --> 00:07:34,240
So what this might look like, correct anything if I get it wrong.

104
00:07:35,120 --> 00:07:36,800
This is something you install locally in your computer.

105
00:07:37,500 --> 00:07:39,760
Could be macOS, could be Windows, could be Linux.

106
00:07:40,560 --> 00:07:42,760
And it's essentially going to filter out all the traffic.

107
00:07:43,220 --> 00:07:47,880
It's almost like a firewall program might on your computer based on filters you guys have set up.

108
00:07:48,700 --> 00:07:55,300
Now you also have the DNS filtering and the VPN as well, which can be combined with all of these tools.

109
00:07:56,260 --> 00:07:58,000
So all three of these can be combined together.

110
00:07:58,360 --> 00:08:03,780
And do you mind expanding on the different threats and the different reasons why those three different tools might come in handy?

111
00:08:03,920 --> 00:08:06,420
Why not just use local filtering on your computer?

112
00:08:06,620 --> 00:08:08,860
So what exact style of ads?

113
00:08:08,980 --> 00:08:11,300
And also, can you expand on why this goes beyond ads too?

114
00:08:11,560 --> 00:08:13,900
And what else is blocked through AdGuard?

115
00:08:14,120 --> 00:08:16,440
Let's start with DNS probably.

116
00:08:16,720 --> 00:08:23,840
So again, let's again touch upon the history of AdGuard.

117
00:08:23,860 --> 00:08:26,320
So this will explain our motivation.

118
00:08:26,700 --> 00:08:28,760
And also it will explain what's the difference.

119
00:08:29,080 --> 00:08:32,860
So when we, well, before the DNS appeared,

120
00:08:32,909 --> 00:08:35,840
so before we developed the very first version of Edgar DNS,

121
00:08:36,550 --> 00:08:41,020
well, what happened is we had apps for every major platform,

122
00:08:42,219 --> 00:08:44,600
Windows, Android, iOS, et cetera.

123
00:08:46,079 --> 00:08:50,140
But at that time, it was, again, it was a lot of years ago.

124
00:08:50,230 --> 00:08:52,840
So it was 2016 or 17, something like that.

125
00:08:53,020 --> 00:08:57,360
At that time, smart devices started to become pretty popular.

126
00:08:58,480 --> 00:09:07,060
And these smart devices, there was no way we could, well, cover them with just installable software.

127
00:09:07,710 --> 00:09:18,420
And so we were thinking, okay, what is the easiest way to get to them and to give the user the ability to control what they do?

128
00:09:18,700 --> 00:09:22,860
The easiest way to do that was actually DNS filtering.

129
00:09:23,150 --> 00:09:26,640
So basically any device that you have on the network,

130
00:09:28,280 --> 00:09:32,040
for the listeners who don't know, let me explain what DNS is.

131
00:09:32,180 --> 00:09:35,020
So any device that is on your network,

132
00:09:35,740 --> 00:09:40,060
it usually operates not with IP addresses, but with domain names.

133
00:09:40,470 --> 00:09:44,040
Because, well, domain names are easier to remember,

134
00:09:44,800 --> 00:09:47,440
and they are, well, you can control them,

135
00:09:47,620 --> 00:09:50,560
you can change where the domain name leads you.

136
00:09:50,980 --> 00:09:55,460
And every device will have to contact DNS service

137
00:09:55,820 --> 00:10:00,480
in order to figure out which IP address

138
00:10:00,660 --> 00:10:02,320
the domain name points to.

139
00:10:02,560 --> 00:10:04,720
DNS is a good place to do two things.

140
00:10:04,880 --> 00:10:07,320
So you can, first you can observe a network,

141
00:10:07,360 --> 00:10:12,720
you can see where each of your devices tries to connect.

142
00:10:13,200 --> 00:10:17,580
And the other side to it is that it is a good way

143
00:10:17,600 --> 00:10:25,240
prevent connections that you do not want to happen. For instance, you can say that some domain name

144
00:10:25,460 --> 00:10:32,320
now points to a non-existing IP address and the device will not be able to connect there. So yes,

145
00:10:32,380 --> 00:10:38,360
this was the main motivation. We wanted to provide people with a way to control and to block

146
00:10:38,580 --> 00:10:45,180
tracking or add requests or whatever they want that is done for the whole network, not just for

147
00:10:45,200 --> 00:10:52,660
phone or for a computer. We wanted to cover, you know, smart fridges, smart TVs, light bulbs,

148
00:10:52,930 --> 00:11:00,800
I don't know, all this stuff. The problem with DNS, though, is that it is relatively easy to set

149
00:11:01,060 --> 00:11:07,920
up, but it is not fully under your control. So, well, we run the servers. You can trust us,

150
00:11:08,100 --> 00:11:11,300
well, you may not trust us and this is fine.

151
00:11:12,540 --> 00:11:15,580
And we thought that we should also provide people

152
00:11:15,840 --> 00:11:18,980
with a way to be fully in control.

153
00:11:19,440 --> 00:11:22,200
And that's how another product of ours appeared,

154
00:11:22,480 --> 00:11:23,700
which is called Edgar's Home,

155
00:11:23,960 --> 00:11:28,000
which is basically a DNS server with filtering capabilities

156
00:11:28,260 --> 00:11:31,420
that you can install on your device, on your server, whatever.

157
00:11:32,000 --> 00:11:34,360
So you can be completely in control

158
00:11:35,580 --> 00:11:38,920
without involving any other company or person.

159
00:11:40,620 --> 00:11:42,220
And it is completely open source.

160
00:11:42,690 --> 00:11:43,820
We don't learn from it.

161
00:11:43,830 --> 00:11:44,780
We just maintain it.

162
00:11:44,840 --> 00:11:47,400
It's just proper open source, I guess.

163
00:11:47,680 --> 00:11:49,300
Free and open source software.

164
00:11:49,520 --> 00:11:50,600
Again, this is DNS.

165
00:11:51,060 --> 00:11:53,780
You are now in control of all your network

166
00:11:54,260 --> 00:11:57,940
and you can see everything what's going on there.

167
00:11:58,800 --> 00:12:01,740
But there's, well, it's again, not enough.

168
00:12:02,460 --> 00:12:03,020
So what happens?

169
00:12:03,380 --> 00:12:09,120
when you block all known trackers, all known ad servers.

170
00:12:10,040 --> 00:12:14,280
First of all, you cannot block all of them on the DNS level.

171
00:12:14,600 --> 00:12:19,740
Unfortunately, sometimes ad networks use multipurpose domains.

172
00:12:20,820 --> 00:12:22,240
Let's say Facebook, for instance.

173
00:12:22,750 --> 00:12:26,780
They use for ad requests, for tracking requests.

174
00:12:26,870 --> 00:12:33,140
They use the same domain name that is used to serve your Instagram feed.

175
00:12:33,620 --> 00:12:37,600
So if you block it, you effectively break Instagram app for yourself.

176
00:12:38,080 --> 00:12:39,460
So it is still there.

177
00:12:40,260 --> 00:12:44,440
The other problem is you block many trackers,

178
00:12:44,800 --> 00:12:48,860
but they still collect some information about you,

179
00:12:49,140 --> 00:12:55,560
and they still are able to match your browsing history using your IP address.

180
00:12:57,000 --> 00:12:59,260
So here comes the VPN.

181
00:12:59,660 --> 00:13:10,720
So VPN, besides just changing your location, it is a good way to use the IP address that doesn't belong just to you.

182
00:13:10,780 --> 00:13:14,780
It is shared among several multiple VPN users.

183
00:13:15,180 --> 00:13:20,140
So the companies cannot collect just your profile.

184
00:13:20,360 --> 00:13:28,640
They have to just disregard this data because, well, it doesn't identify anyone or anyone's preferences.

185
00:13:29,680 --> 00:13:33,980
So that's another small thing that protects your privacy.

186
00:13:34,390 --> 00:13:38,080
And there's one more thing that is still out there.

187
00:13:38,500 --> 00:13:45,860
With how the world evolves, browsers and operating systems, they are not too happy about, well, mostly browsers.

188
00:13:46,400 --> 00:13:53,260
They are not too happy about providing ways to easily track users in the form of cookies, for instance.

189
00:13:53,320 --> 00:13:59,900
So they constantly work on improving privacy protections of the browsers themselves.

190
00:14:00,470 --> 00:14:09,460
What it leads to besides, well, obvious positive sides that, well, it's harder to track people.

191
00:14:09,750 --> 00:14:15,840
It leads to ad companies starting to use different persistent identifiers.

192
00:14:16,260 --> 00:14:22,640
something that can be tied to you, something that can identify you, and something that you use in

193
00:14:22,780 --> 00:14:30,720
different places, something that is shared by all kinds of websites or apps that you use. And the

194
00:14:31,060 --> 00:14:38,280
ideal persistent identifier of you as a person is your email address. So that's kind of the last

195
00:14:38,700 --> 00:14:44,559
thing that needs protection. There should be a way to stop using the same IP address for all the

196
00:14:44,580 --> 00:14:51,240
accounts that you have because well this is exactly the this is the last identifier that you

197
00:14:51,440 --> 00:14:56,300
have that needs to be protected. Got it and then I want to ask about your individual services as

198
00:14:56,400 --> 00:15:01,680
well and how they compare to some alternatives in the space too to kind of get your your feedback on

199
00:15:01,820 --> 00:15:06,120
that but before that just want to clarify the filtering that happens locally so this is

200
00:15:06,640 --> 00:15:12,639
independent of the DNS this is independent of the VPN and the mail how is that different from the DNS

201
00:15:12,640 --> 00:15:17,260
or the VPN. I'm using it right now so I have like Brave browser set up on the

202
00:15:17,430 --> 00:15:20,980
system and I have AdGuard running and this is a desktop operating system and

203
00:15:21,060 --> 00:15:25,960
somehow AdGuard is being able to block things in my browser and it's not

204
00:15:26,220 --> 00:15:28,840
happening via DNS so can you kind of explain what's going on here?

205
00:15:29,280 --> 00:15:35,760
So the other thing that's going on on your computer is basically you have many

206
00:15:35,940 --> 00:15:42,039
apps Brave included but it's not limited to Brave that try to connect to the

207
00:15:42,060 --> 00:15:48,480
network to try to download something or to upload some information to the network or to the internet

208
00:15:48,780 --> 00:15:54,780
basically. Depending on the operating system there are ways to intercept these network connections

209
00:15:55,760 --> 00:16:02,920
intercept right on your device. So different operating systems provide different ways but the

210
00:16:02,920 --> 00:16:10,519
main idea is that there is a way. Edgert is capable of doing that so it kind of intercepts every

211
00:16:10,540 --> 00:16:21,340
network connection that happens. It then inspects it and compares the signatures to a set of rules

212
00:16:21,660 --> 00:16:27,460
that it downloads from the internet, but not simply from the internet. We actually maintain

213
00:16:27,940 --> 00:16:36,599
all the rules in an open repository on GitHub. It can be inspected and checked. So with every

214
00:16:36,620 --> 00:16:44,920
edward version it relies on a set of open source rules that we and different contributors maintain

215
00:16:46,180 --> 00:16:55,100
so it compares your web requests to these signatures it finds the rules that can be

216
00:16:55,320 --> 00:17:02,199
applied to them and then edward just interprets the rules so basically edward is a and any ad

217
00:17:02,220 --> 00:17:16,000
Adblocker actually is an interpreter of a special set of rules that follow like special syntax and which is actually shared by many adblockers.

218
00:17:16,199 --> 00:17:22,360
Adblocking is an interesting field because we kind of collaborate with other people that develop adblockers.

219
00:17:22,660 --> 00:17:28,300
And we come up with all kinds of different new rule types, etc.

220
00:17:28,490 --> 00:17:34,420
And we purposefully try to make them cross-blocker compatible when it's possible.

221
00:17:34,900 --> 00:17:36,020
Sometimes it's not.

222
00:17:36,020 --> 00:17:39,700
For instance, AdWise as being a network filter,

223
00:17:40,440 --> 00:17:46,300
it is capable of some things that are not possible to do on the browser extension level.

224
00:17:48,619 --> 00:17:52,160
But mostly the core syntax, it is the same.

225
00:17:52,260 --> 00:17:55,180
We make it the same.

226
00:17:57,040 --> 00:18:03,259
That's how we are able to have such a diverse community

227
00:18:04,020 --> 00:18:06,780
that maintains filter lists for different ad blockers

228
00:18:06,920 --> 00:18:09,660
and they talk to each other, they help each other,

229
00:18:10,520 --> 00:18:11,600
which is pretty cool, I guess.

230
00:18:11,800 --> 00:18:13,760
Yeah, and I have a couple of follow-ups here.

231
00:18:14,020 --> 00:18:15,840
So I'm sure a lot of people listening go,

232
00:18:15,940 --> 00:18:17,960
oh, okay, so you intercept my web traffic.

233
00:18:18,620 --> 00:18:22,240
So do you mind clarifying what stays local

234
00:18:22,240 --> 00:18:25,840
someone's device and what's actually internet connected?

235
00:18:26,280 --> 00:18:28,600
And does this pose any security or privacy concerns?

236
00:18:29,190 --> 00:18:30,240
Because again, people hear,

237
00:18:30,630 --> 00:18:32,060
oh, you're intercepting my web traffic.

238
00:18:32,520 --> 00:18:34,600
So that means you now have to trust AdGuard.

239
00:18:35,420 --> 00:18:36,560
Yeah, yeah, yeah.

240
00:18:36,940 --> 00:18:39,820
And that's actually a good point,

241
00:18:40,880 --> 00:18:43,600
which applies not just to AdGuard,

242
00:18:43,770 --> 00:18:46,140
which applies to every ad blocker.

243
00:18:46,220 --> 00:18:47,780
Because ad blockers in general

244
00:18:48,080 --> 00:18:50,540
are very powerful pieces of software.

245
00:18:50,940 --> 00:18:56,620
So they have very broad permissions, and this is important to keep in mind.

246
00:18:56,770 --> 00:19:07,680
It often happens when people just, you know, Google for an ad blocker, and they install whatever they find on the first thing they find on the internet.

247
00:19:09,300 --> 00:19:16,640
And they are used to ad blockers being very powerful software with broad permissions, and they just blindly trust them.

248
00:19:16,980 --> 00:19:20,220
But it's not a good idea.

249
00:19:20,420 --> 00:19:27,740
You should actually learn more about the developer first to figure out whether you can trust them or not.

250
00:19:28,280 --> 00:19:40,000
There were many cases when people were installing fake ad blockers or ad blockers that then were sold to someone and started, I don't know, collecting your browsing history.

251
00:19:40,300 --> 00:19:44,660
That's an unfortunate consequence of the ad blockers being so powerful.

252
00:19:45,320 --> 00:19:52,560
But we have to be like that because without that, we wouldn't be able to block ads and

253
00:19:52,720 --> 00:19:52,840
tracking.

254
00:19:53,270 --> 00:19:55,580
So that's kind of unsolvable problem.

255
00:19:56,140 --> 00:19:59,280
Anyways, what's there to know about intercepting traffic?

256
00:19:59,520 --> 00:20:02,020
The traffic is intercepted locally right on your device.

257
00:20:02,420 --> 00:20:06,640
Nothing goes to our servers or to any other place.

258
00:20:06,840 --> 00:20:13,360
What we do is basically we decide whether your request goes further or whether it is

259
00:20:13,880 --> 00:20:14,300
blocked.

260
00:20:14,760 --> 00:20:19,400
The decision is made right on your device by the software that you use.

261
00:20:19,400 --> 00:20:23,640
It could be AdWords, it could be UBlock Origin, AdBlock Pass, Glossary, whatever.

262
00:20:23,780 --> 00:20:25,780
So that's what we all do.

263
00:20:25,920 --> 00:20:30,360
The difference here is at which point the request is intercepted.

264
00:20:30,400 --> 00:20:34,940
And then we just decide whether it goes further or whether it's blocked.

265
00:20:35,320 --> 00:20:41,240
My point is you need to be aware that an AdBlocker has lots of permissions.

266
00:20:41,720 --> 00:20:45,840
If you use a software like that, learn about the developer.

267
00:20:46,660 --> 00:20:50,060
Decide for yourself whether you want to trust them or not.

268
00:20:50,560 --> 00:20:51,740
Yeah, no, definitely good advice.

269
00:20:51,970 --> 00:20:55,400
And so would it be safe, if I'm understanding you correctly,

270
00:20:55,560 --> 00:20:59,140
if someone installs AdGuard on their devices, it downloads data,

271
00:20:59,170 --> 00:21:02,900
it downloads new rules, it gets updates from you all when you make updates,

272
00:21:03,210 --> 00:21:05,900
but it's not going to be uploading someone's web traffic.

273
00:21:06,090 --> 00:21:08,400
So it's a download first, there is no upload,

274
00:21:08,630 --> 00:21:10,120
everything happens locally in the program.

275
00:21:10,580 --> 00:21:15,220
theoretically, if there was a way to disable internet access to AdGuard,

276
00:21:15,410 --> 00:21:17,240
it would still function properly,

277
00:21:17,540 --> 00:21:19,660
assuming your traffic could still go through the network.

278
00:21:20,070 --> 00:21:21,140
Would that be all fair to say?

279
00:21:21,540 --> 00:21:21,660
Yeah.

280
00:21:23,300 --> 00:21:25,160
So back to kind of my use case,

281
00:21:25,340 --> 00:21:27,160
because I have Brave and AdGuard running right now.

282
00:21:27,940 --> 00:21:30,260
How does this compare to just Brave's protections?

283
00:21:30,710 --> 00:21:30,820
Right?

284
00:21:30,970 --> 00:21:33,440
Like nowadays, we're starting to see more things built out of the box.

285
00:21:33,720 --> 00:21:37,180
Well, that browser has a HueBlock Origin built out of the box.

286
00:21:37,320 --> 00:21:38,360
Brave has its own shields.

287
00:21:39,200 --> 00:21:41,180
Some other browsers have built-in ad blockers.

288
00:21:41,680 --> 00:21:46,480
Why would anyone use AdGuard if their browser already has some protections in place?

289
00:21:46,960 --> 00:21:49,620
Again, AdGuard comes in different versions.

290
00:21:49,960 --> 00:21:53,960
You're using the one that is in a full-scale network filter.

291
00:21:54,450 --> 00:22:02,080
But there is also a browser extension, which is pretty much the alternative to Ublock Origin with pretty much the same capabilities.

292
00:22:02,520 --> 00:22:08,840
Basically, what we are talking about is what's the difference between the browser extension and the network filter?

293
00:22:08,900 --> 00:22:13,440
And the difference, there are several things that are different.

294
00:22:13,580 --> 00:22:15,900
The first one is in a browser.

295
00:22:16,960 --> 00:22:25,580
The browser extension only sees and controls what the browser allows it to see and allows it to control.

296
00:22:25,700 --> 00:22:42,400
In every browser, be it Brave, Mozilla, Chrome especially, your browser extension is limited and does not see some internal requests that go to, well, for the browser settings, for instance.

297
00:22:43,120 --> 00:22:44,540
That's the first difference.

298
00:22:45,250 --> 00:22:52,780
The second thing, which is also important, is that a network filter is not limited just to the browser itself.

299
00:22:52,960 --> 00:23:06,720
It also can prevent tracking and ads that is initiated by your apps, which is studied not as good as the web tracking.

300
00:23:07,130 --> 00:23:16,200
Everyone knows about web tracking or Google Analytics, Google DoubleClick, etc., which is ubiquitous on the web.

301
00:23:16,250 --> 00:23:22,200
But no one actually studies the kinds of tracking that happens inside your apps.

302
00:23:23,000 --> 00:23:30,520
And it is that many apps, they use Google Analytics, they use Google Tag Manager, et cetera, et cetera.

303
00:23:30,720 --> 00:23:37,780
And besides that, they also have much more permissions than a regular website has.

304
00:23:38,180 --> 00:23:42,120
You have any app installed, even, I don't know, a text editor.

305
00:23:43,180 --> 00:23:47,140
And it sees and knows about you much more than a website.

306
00:23:48,000 --> 00:23:56,180
It has access to your computer, basically, to see some properties of your computer, to inspect the files on your computer.

307
00:23:56,540 --> 00:24:02,960
Imagine what kind of information, even inadvertently, can be shared with tracking services.

308
00:24:03,420 --> 00:24:10,860
And finally, the last point is that browser extensions, they are not only limited in what they can see,

309
00:24:11,230 --> 00:24:16,940
they are also limited in what they can do with web requests.

310
00:24:17,220 --> 00:24:31,320
This is especially important given the recent Manifest V3 change in Chromium, which severely limited what ad blockers can do in Chromium.

311
00:24:31,340 --> 00:24:38,680
You don't probably feel it right now because, well, basically we were able to talk to Chromium guys.

312
00:24:38,720 --> 00:24:48,020
We were able to shape the API in a way that it is good enough to cover most of our needs at the moment.

313
00:24:48,900 --> 00:24:54,120
What is crippled is the ability to improve it further.

314
00:24:55,200 --> 00:24:58,860
It now takes much more time to implement any changes.

315
00:24:59,780 --> 00:25:04,120
it may take years to have a new feature in MD3.

316
00:25:05,420 --> 00:25:07,860
And network filter, it is not limited by that.

317
00:25:08,240 --> 00:25:10,540
So we can innovate much faster.

318
00:25:10,730 --> 00:25:15,960
We can adapt much faster than the browser extensions can.

319
00:25:16,560 --> 00:25:16,800
Got it.

320
00:25:16,850 --> 00:25:19,180
So I'm kind of hearing, you know, you have,

321
00:25:19,760 --> 00:25:21,280
and these can all be swapped.

322
00:25:21,290 --> 00:25:24,260
And actually the next section will kind of speak to this a little bit, I think.

323
00:25:25,040 --> 00:25:26,680
It doesn't really matter if it's all AdGuard,

324
00:25:26,780 --> 00:25:29,380
but there are just these different threats

325
00:25:29,680 --> 00:25:32,180
that attack different parts of the stack.

326
00:25:32,780 --> 00:25:34,740
And so for anyone listening,

327
00:25:34,870 --> 00:25:35,460
it doesn't really,

328
00:25:36,360 --> 00:25:37,500
there's different ways to deal with it

329
00:25:37,500 --> 00:25:38,180
and there's different tools.

330
00:25:38,330 --> 00:25:39,780
So you're going to have your browser

331
00:25:39,890 --> 00:25:40,900
and you have browser extensions

332
00:25:41,070 --> 00:25:42,600
to help block things within your browser.

333
00:25:43,200 --> 00:25:44,280
You might have local programs

334
00:25:44,400 --> 00:25:45,720
to do filtering on your system

335
00:25:45,980 --> 00:25:46,980
and that's system wide.

336
00:25:47,760 --> 00:25:50,080
You can also do DNS, then a VPN.

337
00:25:50,700 --> 00:25:52,000
And then there's kind of just tools

338
00:25:52,480 --> 00:25:54,640
that can exist atop on all of that,

339
00:25:54,840 --> 00:26:00,300
which include things like email aliasing, phone number aliasing, et cetera.

340
00:26:01,160 --> 00:26:03,280
Is that kind of a fair way to put it?

341
00:26:03,600 --> 00:26:03,700
Okay.

342
00:26:04,520 --> 00:26:05,700
So now kind of the fun part.

343
00:26:06,080 --> 00:26:09,120
And if you want to repeat the same answer for some of these, which is,

344
00:26:09,220 --> 00:26:13,920
oh, hey, we like our UI and we think that's what's better about it.

345
00:26:14,060 --> 00:26:14,680
That's fine.

346
00:26:14,760 --> 00:26:18,680
I'm just kind of curious what you guys feel separates you

347
00:26:18,820 --> 00:26:21,240
from maybe some of the competition for each of these products.

348
00:26:21,560 --> 00:26:23,340
So I wanted to start with your extension.

349
00:26:23,620 --> 00:26:24,960
So just the AdGuard extension.

350
00:26:25,460 --> 00:26:28,880
And I can already fill it in because at least on iOS for Safari,

351
00:26:29,240 --> 00:26:31,640
I haven't found anything better that works as well.

352
00:26:32,140 --> 00:26:35,000
But I will let you go ahead and kind of fill in

353
00:26:35,080 --> 00:26:36,680
like how your extension is maybe different

354
00:26:36,860 --> 00:26:38,880
or your approach is different from most of the alternatives

355
00:26:39,140 --> 00:26:40,440
like uBlock Origin, et cetera.

356
00:26:41,039 --> 00:26:46,600
As far as I remember, uBlock Origin uses a very different approach on iOS.

357
00:26:46,700 --> 00:26:53,560
So basically he migrated his MV3 version to Apple.

358
00:26:54,220 --> 00:26:59,960
And Edgard still uses the older approach, the Safari Content Blocking API.

359
00:27:00,300 --> 00:27:05,740
And we would actually, we would like to avoid migrating to MV3 there.

360
00:27:05,920 --> 00:27:09,980
We do not like how it is implemented right now in iOS Safari.

361
00:27:10,560 --> 00:27:15,720
There are some little issues that kind of are really annoying to the users.

362
00:27:16,140 --> 00:27:22,300
So we use an older, more tested, a little bit different approach.

363
00:27:22,580 --> 00:27:29,580
But other than that, uBlock Origin basically comes as a static bundle.

364
00:27:29,790 --> 00:27:37,160
It cannot change the way the rules are interpreted without updating the app.

365
00:27:37,190 --> 00:27:41,600
And this is actually a very common problem on Apple devices.

366
00:27:42,460 --> 00:27:51,060
There are a lot of ad blockers that are not capable of updating the rule set without updating the app itself.

367
00:27:51,600 --> 00:27:54,080
AdCard took a different approach in the very beginning.

368
00:27:54,190 --> 00:28:07,420
So we were developing our software in a way that it should be able to download a new set of rules and apply it without the need to update the app.

369
00:28:07,560 --> 00:28:15,600
And in order to do that, we developed a library that is, well, let's, I'm sorry that I'm going

370
00:28:15,730 --> 00:28:20,960
into so much details, but well, maybe it's interesting to anyone. So one of the problems

371
00:28:21,130 --> 00:28:28,980
of Apple and Apple's approach is that they invented a new way of doing content blocking.

372
00:28:30,500 --> 00:28:36,039
Invented, so it should be said like that. So instead of relying on what ad blocking community

373
00:28:36,060 --> 00:28:38,860
came up with for 40 years.

374
00:28:39,370 --> 00:28:43,800
They kind of came up with their own special syntax for rules,

375
00:28:44,230 --> 00:28:48,120
which is pretty limited compared to what we had before,

376
00:28:48,740 --> 00:28:50,240
what we had on other platforms.

377
00:28:50,900 --> 00:28:54,720
And they told everyone, okay, you need to use these rules.

378
00:28:54,870 --> 00:28:58,200
We don't care that you have like millions of rules

379
00:28:59,380 --> 00:29:03,280
written in different syntax for other ad blockers.

380
00:29:03,760 --> 00:29:06,400
You just have to redo the work again.

381
00:29:07,220 --> 00:29:08,600
Well, of course, we didn't like it.

382
00:29:08,600 --> 00:29:10,200
We didn't want to redo the work.

383
00:29:10,290 --> 00:29:17,420
So we implemented a library, an open source library, by the way, that is used by many other ad blockers.

384
00:29:17,550 --> 00:29:20,120
I hope they at least mention us somewhere.

385
00:29:20,880 --> 00:29:30,120
So this library is capable of taking traditional ad blocking rules and converting them to the syntax that Safari understands.

386
00:29:30,650 --> 00:29:32,840
And we continue to maintain it.

387
00:29:33,440 --> 00:29:39,800
It is a good, fast library that is maintained and improved all the time.

388
00:29:40,200 --> 00:29:49,780
And it gives us the ability to dynamically change the way we do the work, the way we update rules and apply the changes.

389
00:29:50,500 --> 00:29:56,460
And this also gives us the ability to provide you with different sets of settings that you can change.

390
00:29:56,780 --> 00:30:03,900
the ability to add your own rules right in the app so you can just choose what to block,

391
00:30:03,950 --> 00:30:09,180
what to unblock, whatever. So you can do this right inside the app.

392
00:30:09,310 --> 00:30:15,860
Ian? Well, at the moment, I wouldn't say that we're completely happy with that. But I can say

393
00:30:16,000 --> 00:30:22,999
that probably we on this platform with these capabilities that we have with Safari, this is

394
00:30:23,020 --> 00:30:24,280
is the maximum thing you can do.

395
00:30:24,460 --> 00:30:30,160
So there's no other way to improve it further in Safari.

396
00:30:31,040 --> 00:30:34,940
Yeah, and I know you talked about the new API in Cypress

397
00:30:35,300 --> 00:30:37,220
that I'll ask you about later as well.

398
00:30:37,260 --> 00:30:38,340
But what about for desktop?

399
00:30:38,700 --> 00:30:40,120
Like if someone's just using Firefox,

400
00:30:40,640 --> 00:30:42,280
what are kind of the differences in the approach

401
00:30:42,520 --> 00:30:44,540
between UBO and AdGuard?

402
00:30:44,920 --> 00:30:49,020
We use different filtering engines under the hood.

403
00:30:49,340 --> 00:30:53,180
So we have different, basically different code.

404
00:30:53,480 --> 00:30:58,240
But other than that, honestly, the browser extensions are interchangeable.

405
00:30:58,520 --> 00:31:00,460
So we have a little bit different UI.

406
00:31:00,720 --> 00:31:06,020
It might, some people like ours more, some people like UBO more.

407
00:31:06,600 --> 00:31:14,760
But in terms of capabilities, UBO and Edgard's browser extension, they are pretty much the same.

408
00:31:15,240 --> 00:31:15,600
Got it.

409
00:31:15,600 --> 00:31:19,180
And then for the filtering, so kind of moving on to your filtering that you provide,

410
00:31:19,280 --> 00:31:28,180
Are there any difference in approaches there beyond just maybe UI and the specific block lists that you guys choose to use?

411
00:31:28,520 --> 00:31:29,420
That's basically it.

412
00:31:29,520 --> 00:31:38,560
So we have different filtering engines, but they are very similar in what they do.

413
00:31:38,980 --> 00:31:40,240
So I wouldn't say...

414
00:31:40,360 --> 00:31:45,340
And actually, we collaborate with UBO on filter maintainers.

415
00:31:46,080 --> 00:31:49,940
we try to maintain cross-blocker compatibility

416
00:31:50,760 --> 00:31:54,400
so that the rules worked in AdGuard

417
00:31:54,480 --> 00:31:56,940
and AdGuard rules worked in UBO.

418
00:31:57,110 --> 00:32:00,420
So we even discussed some features

419
00:32:01,440 --> 00:32:03,700
and make it well compatible.

420
00:32:04,160 --> 00:32:04,700
Very nice.

421
00:32:04,710 --> 00:32:06,460
And then AdGuard whole,

422
00:32:07,160 --> 00:32:08,280
the way I understand it,

423
00:32:08,360 --> 00:32:10,320
it's kind of your own take

424
00:32:10,570 --> 00:32:11,900
slash alternative to PyHole.

425
00:32:12,160 --> 00:32:13,460
Is that correct?

426
00:32:14,280 --> 00:32:17,220
Probably, yes, yes, you can say that.

427
00:32:17,440 --> 00:32:18,640
Yeah, yeah, I guess.

428
00:32:19,240 --> 00:32:24,760
We started it a couple of years later after PyHole.

429
00:32:25,660 --> 00:32:31,160
What we didn't like about PyHole is that at that time, I'm not sure about

430
00:32:31,520 --> 00:32:37,700
how the things are right now, but back then when we started at the home,

431
00:32:38,600 --> 00:32:45,460
Now PyHole was basically a set of scripts that kind of configured DNS masks.

432
00:32:45,820 --> 00:32:49,300
So I don't want to say anything bad about PyHole.

433
00:32:49,400 --> 00:32:51,080
It's a great piece of software.

434
00:32:51,560 --> 00:32:54,700
But what I didn't like is that it was pretty complicated.

435
00:32:54,980 --> 00:33:02,140
It consisted of different other pieces of software like DNS mask or some PHP admin interface.

436
00:33:02,620 --> 00:33:06,180
And it was not developed specifically for this purpose.

437
00:33:06,960 --> 00:33:13,240
So we've kind of tried to configure different other software to do the work.

438
00:33:14,020 --> 00:33:21,320
And with Edgar's home, we tried to actually develop something that is specifically created

439
00:33:21,540 --> 00:33:23,740
for this, for filtering DNS.

440
00:33:24,580 --> 00:33:27,660
And it makes it easier to extend it.

441
00:33:27,880 --> 00:33:33,280
It makes it easier to add any features and well, to develop it further.

442
00:33:33,700 --> 00:33:37,220
And it is also a little bit, it looks simpler.

443
00:33:37,840 --> 00:33:40,820
So if PyHole is a set of different things,

444
00:33:41,300 --> 00:33:44,440
tools that are orchestrated together,

445
00:33:45,519 --> 00:33:49,340
then Edgard Home is just a single binary file that you run,

446
00:33:49,600 --> 00:33:50,540
and it just works.

447
00:33:51,200 --> 00:33:53,400
Yeah, and I'm sorry, I actually misheard you originally

448
00:33:53,680 --> 00:33:57,460
because I thought you said Edgard Home, but I got it at Home.

449
00:33:58,540 --> 00:34:01,160
So I just pulled it up, and it looks simpler for sure

450
00:34:01,280 --> 00:34:02,680
than the PyHole last time I looked at it.

451
00:34:02,800 --> 00:34:08,360
But I haven't used either of these, so I can't really speak to what you said about PyHole and if it's still that way.

452
00:34:08,679 --> 00:34:10,639
I wanted to ask about pricing, too.

453
00:34:11,080 --> 00:34:16,440
So if somebody is looking at all these services, what are kind of the pricing models across your ecosystem?

454
00:34:16,740 --> 00:34:20,639
It's probably good not to use specific prices because I know this stuff changes all the time.

455
00:34:20,820 --> 00:34:24,560
But just in general, like, what are the pricing structures that you have?

456
00:34:25,220 --> 00:34:27,800
Because I bought, I think, an unlimited plan for filtering.

457
00:34:28,500 --> 00:34:30,360
Yeah, we have a lifetime license.

458
00:34:31,980 --> 00:34:34,399
We only keep it for the ad blocker.

459
00:34:34,790 --> 00:34:38,620
So there's an option to just buy a license and it will just work.

460
00:34:39,060 --> 00:34:42,419
Well, it's not limited in time and it's not limited in updates.

461
00:34:42,610 --> 00:34:43,720
So you just use it.

462
00:34:44,159 --> 00:34:47,560
It's just a one-time purchase and you just have it.

463
00:34:47,760 --> 00:34:56,560
Although we only have it for the ad blocker and for the VPN, for the DNS, we only have subscriptions.

464
00:34:57,180 --> 00:35:01,960
And the reason here is that both DNS and VPN and mail also,

465
00:35:02,660 --> 00:35:08,500
we have to spend more on the infrastructure all the time to maintain these services.

466
00:35:09,300 --> 00:35:12,900
With the Adblocker, we just developed the software.

467
00:35:13,960 --> 00:35:20,660
And the only additional spending that we do is the filter lists.

468
00:35:21,180 --> 00:35:25,560
And actually, nowadays, there are many users,

469
00:35:25,860 --> 00:35:27,820
So it's not that cheap anymore.

470
00:35:28,820 --> 00:35:30,240
But well, whatever.

471
00:35:30,660 --> 00:35:34,500
I can't undo what has been already done.

472
00:35:34,700 --> 00:35:38,680
So we still maintain lifetime licenses.

473
00:35:39,100 --> 00:35:41,080
And actually, we don't plan to change that.

474
00:35:41,420 --> 00:35:41,900
Very cool.

475
00:35:42,100 --> 00:35:45,440
And I wanted to pivot over to more of the company as a whole.

476
00:35:45,820 --> 00:35:48,460
And then I have a few just kind of random questions

477
00:35:48,530 --> 00:35:50,000
I couldn't fit in anything so far,

478
00:35:50,180 --> 00:35:52,800
including things like Apple's new API and et cetera.

479
00:35:53,200 --> 00:35:55,440
So the first thing is you guys are based out of Cypress,

480
00:35:55,760 --> 00:35:56,800
if I understand correctly.

481
00:35:57,820 --> 00:35:59,840
Was that an intentional decision?

482
00:36:01,340 --> 00:36:03,760
Or is it just kind of where you all are based out of?

483
00:36:03,960 --> 00:36:06,560
No, the company is mostly remote.

484
00:36:06,740 --> 00:36:09,640
So we have a pretty small office in Limassol.

485
00:36:10,000 --> 00:36:11,240
I live in Limassol.

486
00:36:11,620 --> 00:36:14,560
And part of the team also lives in,

487
00:36:15,060 --> 00:36:16,140
well, not just in Limassol,

488
00:36:16,200 --> 00:36:17,180
in different parts of Cyprus.

489
00:36:17,800 --> 00:36:19,960
But most of the company is remote.

490
00:36:19,960 --> 00:36:22,820
We have people working all over the world,

491
00:36:22,860 --> 00:36:23,360
to be honest.

492
00:36:23,640 --> 00:36:25,159
So we have people in China

493
00:36:25,500 --> 00:36:29,400
in Poland, in Germany, in South Korea, in Japan.

494
00:36:30,450 --> 00:36:31,420
I don't know, peak country.

495
00:36:32,200 --> 00:36:34,500
There's probably a person working for that.

496
00:36:35,980 --> 00:36:36,640
How large is your team?

497
00:36:39,240 --> 00:36:40,700
170, I guess.

498
00:36:41,100 --> 00:36:41,440
Wow.

499
00:36:42,040 --> 00:36:42,920
Wow, that's impressive.

500
00:36:44,620 --> 00:36:46,820
But what about Cyprus in general?

501
00:36:47,000 --> 00:36:55,320
So we incorporated in Cyprus in 2014, more than 10 years ago.

502
00:36:55,600 --> 00:37:04,740
And the reason for that was that back then Europe was the most advanced in terms of privacy legislation.

503
00:37:05,480 --> 00:37:07,800
GDPR was an emerging thing.

504
00:37:08,160 --> 00:37:17,460
And it is actually still a pretty modern law that no one else managed to write.

505
00:37:17,620 --> 00:37:23,740
Nowadays, there are more countries with good privacy legislation, but still GDPR is kind

506
00:37:23,740 --> 00:37:26,000
of a model for all of them.

507
00:37:26,360 --> 00:37:34,240
So we thought, okay, we need to have a company in a country that actually respects privacy.

508
00:37:35,100 --> 00:37:42,860
And again, now we need to pick some country in Europe where we are ready to live and where,

509
00:37:43,790 --> 00:37:48,820
well, which is also good enough financially and for to run the company.

510
00:37:49,050 --> 00:37:51,800
And Cyprus was a pretty obvious choice, to be honest.

511
00:37:52,220 --> 00:37:57,340
There are not too many countries that are so good to foreigners, actually.

512
00:37:58,170 --> 00:38:03,479
Even though, well, nowadays things change, of course, but 10 years ago, it wasn't that

513
00:38:03,500 --> 00:38:11,560
easy to come to some, I don't know, even to a Western European company and run a company

514
00:38:11,920 --> 00:38:15,320
there and don't have people looking at you strangely.

515
00:38:16,080 --> 00:38:18,060
And in Cyprus, people are very welcoming.

516
00:38:18,310 --> 00:38:21,840
And I can't say anything bad about Cyprus.

517
00:38:21,890 --> 00:38:22,420
I love it.

518
00:38:22,980 --> 00:38:23,300
Very cool.

519
00:38:23,350 --> 00:38:24,840
And yeah, it was beautiful when I visited.

520
00:38:25,300 --> 00:38:27,160
What of your products are open source?

521
00:38:27,900 --> 00:38:32,760
Well, ideally, we would love to have all our products open source.

522
00:38:33,360 --> 00:38:38,080
Unfortunately, for some of them, we can't still decide, and I will explain why.

523
00:38:38,440 --> 00:38:43,380
Talking about open source, Edgard Home is the most popular open source software that we make.

524
00:38:43,640 --> 00:38:46,380
Our browser extensions are open source.

525
00:38:47,020 --> 00:38:55,120
Our Edgard or Safari, it's a different software specifically for macOS desktop and for Safari,

526
00:38:55,600 --> 00:39:01,640
it is also open source. And then finally, the iOS version, despite being premium,

527
00:39:03,160 --> 00:39:11,400
it is also open source. But this is actually one of the reasons why we're wary about making all

528
00:39:11,460 --> 00:39:19,680
our other software open source. So with AdWard for iOS, we dealt with a lot of people basically

529
00:39:20,260 --> 00:39:29,499
cloning it and uploading it to App Store under a different name without actually respecting the

530
00:39:29,520 --> 00:39:38,860
open source license without any, well, at least write it somewhere that it's based on Edgar's code.

531
00:39:39,280 --> 00:39:44,700
We don't ask you for anything else. Just, well, just mention us at least on the above page.

532
00:39:45,640 --> 00:39:47,800
Don't be shitty is the license.

533
00:39:49,460 --> 00:39:56,719
That's one of the issues with making things open source. We promised to open source our VPN

534
00:39:56,740 --> 00:40:04,080
software like for a couple of years already and it is it will happen really soon either this month

535
00:40:04,080 --> 00:40:10,720
or next month we're planning to properly open source edgard protocol because it's different from

536
00:40:11,000 --> 00:40:19,180
other vpn apps we have a state of the art our own protocol we will open source it soon we don't

537
00:40:19,200 --> 00:40:28,260
want to just show the code. We would like to open source it alongside some client apps so that

538
00:40:28,490 --> 00:40:36,640
anyone could take it, set up a server that uses this VPN protocol, take the client apps, just use

539
00:40:36,860 --> 00:40:43,640
them. We would like to make it a proper open source project, not just as something, some open

540
00:40:43,660 --> 00:40:49,920
sourcing code just for a check mark. Ideally, we would love other VPN providers to start

541
00:40:50,050 --> 00:40:56,160
using it as well. So that's why we were open sourcing it under different name with as little

542
00:40:56,380 --> 00:41:02,040
ties to AdGuard as possible. We just think that this is a good protocol. It can be used

543
00:41:02,200 --> 00:41:02,600
by others.

544
00:41:03,300 --> 00:41:09,279
Very cool. And I wanted to also ask about your just general involvement in the broad ad

545
00:41:09,300 --> 00:41:14,540
blocking ecosystem. I think something I learned when I went to Cypress and was part of the ad

546
00:41:15,200 --> 00:41:21,840
filtering dev summit is that you have all these people in a room. Some of them don't see things

547
00:41:21,910 --> 00:41:26,380
maybe the same way as other people. So it's trying to please a big group of people with different

548
00:41:26,580 --> 00:41:32,100
ways of viewing things. But it seems like everyone that's kind of in like the ad blocking scene is

549
00:41:32,240 --> 00:41:36,740
overall kind of on the same page and seems to collaborate a lot like ghostery, DuckDuckGo,

550
00:41:37,240 --> 00:41:39,140
You all, Firefox, Brave, et cetera.

551
00:41:39,450 --> 00:41:42,520
So can you kind of speak to what your role is

552
00:41:42,550 --> 00:41:44,840
in the broader ad blocking ecosystem as AdGuard?

553
00:41:45,300 --> 00:41:48,580
It's not that we're trying to take any role

554
00:41:49,810 --> 00:41:52,420
or to promote ourselves as someone.

555
00:41:52,720 --> 00:41:54,940
We're just a part of the community.

556
00:41:55,280 --> 00:41:58,240
So people that contribute to AdGuard's filters,

557
00:41:58,450 --> 00:42:02,020
they are a part of the list maintainers, contributors,

558
00:42:02,640 --> 00:42:03,140
and developers.

559
00:42:04,020 --> 00:42:10,000
Well, it's not like that we have a group of people that is a single community.

560
00:42:10,000 --> 00:42:16,760
I guess there's a community of filter list maintainers and there's that are ad blocking developers.

561
00:42:17,840 --> 00:42:23,000
And these two communities, they work together all the time because filter list maintainers,

562
00:42:23,260 --> 00:42:29,620
the people that actually create the rules that block ads and tracking,

563
00:42:31,340 --> 00:42:35,420
They are the most demanding users that we have.

564
00:42:35,780 --> 00:42:41,780
They want us to improve our software so that they could block more or block better.

565
00:42:42,680 --> 00:42:47,620
And developers and filter-based maintainers, we are in contact all the time.

566
00:42:47,720 --> 00:42:52,020
So we kind of think, we talk to each other.

567
00:42:53,280 --> 00:42:55,520
We try to help each other.

568
00:42:56,660 --> 00:42:58,040
And what about Edgar's role?

569
00:42:58,360 --> 00:43:03,280
One of the things that I find very valuable

570
00:43:04,120 --> 00:43:05,460
are these summits themselves.

571
00:43:05,700 --> 00:43:08,960
So you saw it with your own eyes.

572
00:43:09,160 --> 00:43:11,360
People that do adblocking,

573
00:43:11,800 --> 00:43:13,520
they might be different a little,

574
00:43:13,700 --> 00:43:15,960
but still they understand each other very well.

575
00:43:16,380 --> 00:43:17,740
We have so much in common.

576
00:43:18,300 --> 00:43:20,420
And when we meet every year,

577
00:43:20,960 --> 00:43:24,640
we come up with new ideas that we then take home

578
00:43:24,760 --> 00:43:26,200
to the companies.

579
00:43:26,780 --> 00:43:29,120
and it helps the products themselves.

580
00:43:29,920 --> 00:43:32,080
What's different about adblocking communities

581
00:43:32,250 --> 00:43:35,380
is that there's no competition between us.

582
00:43:36,240 --> 00:43:38,420
It's like everyone's working for the same goal,

583
00:43:39,140 --> 00:43:41,980
which is pretty cool, to be honest.

584
00:43:43,420 --> 00:43:44,940
Yeah, that was the feeling I got,

585
00:43:45,920 --> 00:43:48,920
was kind of just seeing all these different products

586
00:43:49,080 --> 00:43:51,520
that to end users feel like competition, right?

587
00:43:51,720 --> 00:43:55,820
Like I go online and I go, oh, you know,

588
00:43:56,280 --> 00:43:57,900
oh, this is what Ghostory does.

589
00:43:58,290 --> 00:44:00,080
And this is why I hate Ghostory

590
00:44:00,090 --> 00:44:01,340
and I love Ublock Origin.

591
00:44:01,430 --> 00:44:02,780
And someone goes, I hate Ublock Origin.

592
00:44:02,920 --> 00:44:03,160
That's why.

593
00:44:03,450 --> 00:44:04,640
And it is just interesting

594
00:44:04,840 --> 00:44:06,060
because I was just there in a room

595
00:44:06,220 --> 00:44:07,020
with all of you in there

596
00:44:07,050 --> 00:44:07,760
and you're all like,

597
00:44:07,870 --> 00:44:09,820
oh, so how do we make ad blocking better?

598
00:44:10,060 --> 00:44:11,580
I mean, there's these new threats.

599
00:44:11,630 --> 00:44:14,080
It seems like MV3 is making things harder for us.

600
00:44:14,260 --> 00:44:17,000
Here's what we're doing to try to address it.

601
00:44:17,050 --> 00:44:18,700
And it's pretty collaborative behind the scenes,

602
00:44:19,260 --> 00:44:20,420
which I thought was really cool to see.

603
00:44:20,620 --> 00:44:22,320
So I'm glad you spoke to that.

604
00:44:22,800 --> 00:44:24,779
I just have some kind of just random one-off questions

605
00:44:24,800 --> 00:44:26,280
that didn't fit anywhere in this interview.

606
00:44:26,710 --> 00:44:28,860
So the first one is, I just wanted to get your thoughts

607
00:44:29,000 --> 00:44:32,260
because you see some of these researchers

608
00:44:32,430 --> 00:44:35,140
that go to the summit that I went to with you all

609
00:44:35,140 --> 00:44:37,540
and they talk about these very sophisticated attacks.

610
00:44:37,880 --> 00:44:40,260
And I know what these look like.

611
00:44:40,460 --> 00:44:41,480
I've seen them over the years.

612
00:44:41,930 --> 00:44:42,860
To me, they're not a surprise.

613
00:44:43,660 --> 00:44:47,600
But I feel like when you actually present them cleanly

614
00:44:48,240 --> 00:44:49,560
to a person who doesn't know

615
00:44:49,680 --> 00:44:50,880
what actually happens behind the scenes,

616
00:44:50,910 --> 00:44:52,400
it can kind of wake them up a little bit.

617
00:44:52,440 --> 00:45:04,640
So I wanted to ask if you had a specific attack that you've seen over the years that AdGuard had to kind of proactively mitigate because you thought it was just kind of an insane, clever way to spy on people.

618
00:45:04,970 --> 00:45:06,580
And it could be from a big tech company.

619
00:45:06,650 --> 00:45:14,160
It can be from a malicious actor, which I guess in this case is used as a separate entity from a big tech company.

620
00:45:14,270 --> 00:45:15,920
But they could be potentially the same thing.

621
00:45:16,140 --> 00:45:17,520
So just wanted to get your thoughts on that.

622
00:45:17,670 --> 00:45:21,040
I wouldn't say that this is something that is unique to AdGuard, though.

623
00:45:21,100 --> 00:45:23,520
So I have an example.

624
00:45:23,770 --> 00:45:31,140
It is not new though, but it impressed me a lot back when I read about it first time.

625
00:45:31,800 --> 00:45:40,640
So back in the day, like several years ago, some researchers from, I guess, Washington University, they made a very interesting research.

626
00:45:40,930 --> 00:45:42,080
So what did they do?

627
00:45:42,250 --> 00:45:46,080
In order to understand what they do, let me explain a little bit of the background.

628
00:45:46,180 --> 00:46:00,420
When you open a mobile app, for instance, and there's an ad place in the app, some banner place, there needs to be a way for the app to choose what ad it wants to show you.

629
00:46:00,600 --> 00:46:12,900
So in order to determine what actual banner you will see, the ad network that is responsible for this banner place, it runs a thing that is called an ad auction.

630
00:46:13,900 --> 00:46:24,560
So what happens? It takes some of the information about you, and then it sends it to a number of participants in this ad auction.

631
00:46:25,560 --> 00:46:33,140
And each of these participants, they take a look at this information that they received from the ad network.

632
00:46:33,880 --> 00:46:45,400
They compare it with their database and they come up with a bid with how much they are ready to pay for their ads to be shown in that banner place.

633
00:46:45,450 --> 00:46:52,140
So this is what happens for every time the system would like to show you a banner.

634
00:46:52,590 --> 00:46:54,020
So what the researchers did?

635
00:46:54,210 --> 00:46:56,960
They somehow registered the company, I guess.

636
00:46:57,140 --> 00:46:59,520
So that's the only way to take part there.

637
00:46:59,600 --> 00:47:08,300
So they registered the company, they paid a fee, and they connected this company to the ad network as a participant to this ad auction.

638
00:47:08,760 --> 00:47:12,400
Once it was done, they were also a participant.

639
00:47:12,490 --> 00:47:20,320
They were also receiving these signals from the ad network with the data of the users that are going to see the ad.

640
00:47:20,800 --> 00:47:22,060
But they didn't do bids.

641
00:47:22,310 --> 00:47:24,660
They just recorded this information.

642
00:47:24,970 --> 00:47:26,280
And what else they did?

643
00:47:26,580 --> 00:47:33,900
And they had a person that was participating in this experiment, and they took the identifier

644
00:47:34,220 --> 00:47:37,300
of his or her mobile device.

645
00:47:37,940 --> 00:47:43,980
And then they started to track signals with this identifier coming from the ad network.

646
00:47:44,300 --> 00:47:51,360
And they were just recording the data for this single person, for this participant, or from

647
00:47:51,360 --> 00:47:52,780
the device of this participant.

648
00:47:53,920 --> 00:47:59,060
And what they were able to achieve, they were able to reconstruct the whole day of this person.

649
00:47:59,550 --> 00:48:00,500
So there was a map.

650
00:48:01,120 --> 00:48:04,600
They said, "Okay, so this person lives in this house.

651
00:48:05,280 --> 00:48:06,840
Then they go to this bus station.

652
00:48:07,160 --> 00:48:08,720
Then they go to this coffee place.

653
00:48:09,800 --> 00:48:11,480
Then here they work.

654
00:48:12,020 --> 00:48:16,000
Here they, in this part, they have a beer after work.

655
00:48:16,210 --> 00:48:18,559
And now that's the way they go home."

656
00:48:18,580 --> 00:48:24,280
This is proper surveillance and it is very precisely targeted as a single person.

657
00:48:24,500 --> 00:48:30,940
And the only thing that they needed is learning like one identifier, one simple identifier

658
00:48:31,760 --> 00:48:33,680
from their device.

659
00:48:34,130 --> 00:48:42,720
And this is 1000 bucks and you can spy on your wife, I don't know.

660
00:48:43,800 --> 00:48:45,600
So that's scary.

661
00:48:46,020 --> 00:48:48,120
And well, and this just scared me.

662
00:48:48,380 --> 00:48:50,820
Anyone can spend a thousand bucks

663
00:48:51,760 --> 00:48:55,020
and spy effectively on any person in the world.

664
00:48:55,320 --> 00:48:57,880
What's even scarier, on the exact person,

665
00:48:58,040 --> 00:49:01,380
on someone you know, you can just, well, follow them.

666
00:49:01,470 --> 00:49:05,220
You can stalk them easily with these capabilities

667
00:49:05,780 --> 00:49:08,360
provided by simple ad networks.

668
00:49:09,080 --> 00:49:11,760
So I assume for people, I mean,

669
00:49:11,860 --> 00:49:14,800
the two-step process to avoid this is,

670
00:49:15,630 --> 00:49:17,060
one, download trusted apps.

671
00:49:17,360 --> 00:49:22,360
ones that ideally don't have ads and have some kind of business model that doesn't rely on ads

672
00:49:22,360 --> 00:49:26,580
in the first place. But if you do have to have an app with ads, then making sure you use some

673
00:49:26,600 --> 00:49:31,460
kind of ad blocker. I assume AdGuard on a mobile device would prevent this kind of thing from

674
00:49:31,740 --> 00:49:38,780
happening. It's not that easy to, that hard to prevent. It can be prevented by an AdGuard,

675
00:49:39,080 --> 00:49:45,920
a DNS service with ad blocking capabilities. So generally, it is not a unique, unstoppable

676
00:49:45,940 --> 00:49:55,140
threat. But well, it's just scary that this kind of information can be retrieved through another

677
00:49:55,320 --> 00:50:01,200
network. Right. I don't think people see what goes on behind the scenes there. They just see,

678
00:50:01,820 --> 00:50:06,920
oh, those are the shoes that I looked up on my laptop last week, and now I'm getting an ad for

679
00:50:07,020 --> 00:50:11,780
them. How fun. So it is pretty crazy. And actually, one of my favorite ad campaigns I ever saw,

680
00:50:11,840 --> 00:50:17,480
it was very short-lived because they pulled the ads was from Signal. Signal, I don't know if you

681
00:50:17,640 --> 00:50:22,600
saw this, but they ran ads that actually took, I think it was on Facebook and Instagram, etc.

682
00:50:23,440 --> 00:50:29,100
They took the unique identifiers that they were using and made unique photos using those identifiers.

683
00:50:29,640 --> 00:50:35,600
So the ads were more or less like, oh, we can see that you are on an iPhone, that you're located here,

684
00:50:36,120 --> 00:50:37,380
and this about you.

685
00:50:38,140 --> 00:50:39,840
And it's a way to kind of showcase

686
00:50:40,080 --> 00:50:41,920
how much information they had from the ads.

687
00:50:42,020 --> 00:50:42,920
If you haven't seen these yet,

688
00:50:43,140 --> 00:50:44,320
I recommend checking them out.

689
00:50:44,520 --> 00:50:46,420
I haven't seen, but well,

690
00:50:47,120 --> 00:50:50,740
imagine that this is just a very small, tiny,

691
00:50:51,520 --> 00:50:53,220
and easy thing to get.

692
00:50:53,440 --> 00:50:57,640
It's not just a real surveillance though,

693
00:50:58,100 --> 00:51:00,420
but it is already scary enough.

694
00:51:00,660 --> 00:51:04,220
So I guess people were not happy with seeing such ads, right?

695
00:51:05,540 --> 00:51:05,700
Right.

696
00:51:05,840 --> 00:51:10,560
Right. And I guess this extends into another question here. I promise I'll try to keep these

697
00:51:10,610 --> 00:51:15,080
as brief as I can for you. I know it's later there. People hear ad blocking. I feel like if I go on

698
00:51:15,080 --> 00:51:20,880
the street and I said, oh, you don't block ads. I think people just think of annoyances. They think,

699
00:51:21,080 --> 00:51:27,240
oh, yeah, I don't like watching a one minute unskippable ad on YouTube. That sucks. Or the

700
00:51:27,380 --> 00:51:32,380
website just looks ugly with 30 different ads all around the content you actually want to view.

701
00:51:33,200 --> 00:51:35,620
But there are many other reasons to use an ad blocker.

702
00:51:36,460 --> 00:51:43,140
Official U.S. government agencies last year started recommending ad blockers for basic security to prevent malware being installed in your device.

703
00:51:44,140 --> 00:51:54,480
A lot of our community members are well aware that privacy is a very real reason to use an ad blocker as well because it blocks trackers and the ad surveillance network that you kind of just spoke to a little bit here.

704
00:51:55,660 --> 00:52:01,440
So I guess I just wanted to ask, where do you see ad blocking actually having a role on the Internet?

705
00:52:01,480 --> 00:52:03,720
Do you think it's a mixture of all of these different things?

706
00:52:04,140 --> 00:52:08,040
Is there one particular thing that most AdGuard users seem to really care about?

707
00:52:08,130 --> 00:52:09,800
Is it really just because they don't like ads?

708
00:52:10,500 --> 00:52:12,580
And I don't know if you have any personal views on that.

709
00:52:13,040 --> 00:52:18,860
We actually asked people about this, what they think is more important than what else.

710
00:52:19,170 --> 00:52:23,460
But also we observed how they react to changes to filter release,

711
00:52:23,640 --> 00:52:27,760
to cases when the ad blocker stops blocking ads somewhere.

712
00:52:29,300 --> 00:52:38,060
is merging this, the results of our surveys and what we see, what reaction we have from the users.

713
00:52:38,460 --> 00:52:48,480
I think that actually blocking ads is like 70% of the people, despite that they say that they would

714
00:52:48,680 --> 00:52:56,820
like more privacy protection and privacy protection is the main driver. For 70%, they just don't want

715
00:52:56,840 --> 00:52:59,960
to see the really unknowing ads.

716
00:53:00,250 --> 00:53:04,120
So that's what drives them to adblocking.

717
00:53:04,660 --> 00:53:07,320
And this is pretty logical, right?

718
00:53:07,680 --> 00:53:08,500
We're an adblocker.

719
00:53:10,040 --> 00:53:11,200
But at the same time,

720
00:53:11,450 --> 00:53:14,840
people do think about their privacy

721
00:53:15,080 --> 00:53:17,860
and people value it a lot.

722
00:53:18,180 --> 00:53:19,960
It's just they don't know what to do.

723
00:53:20,600 --> 00:53:23,000
It's pretty hard to...

724
00:53:23,000 --> 00:53:24,720
Since privacy threats,

725
00:53:24,880 --> 00:53:28,760
They are very complicated themselves.

726
00:53:30,480 --> 00:53:33,720
People just don't know how to protect themselves from that.

727
00:53:34,160 --> 00:53:40,040
They would like to have a simple button that gives them at least a sense of safety.

728
00:53:40,400 --> 00:53:46,820
And more globally, talking about the web in general and the industry in general,

729
00:53:47,480 --> 00:53:54,280
I think the role of ad blockers is also very important in shaping the ads that other people see.

730
00:53:54,340 --> 00:54:02,200
This is the way people provide feedback to the corporations that something is not okay with what's being done.

731
00:54:02,620 --> 00:54:13,520
And corporations, they read the signal, they react, they try to make ads not as annoying, acceptable to people.

732
00:54:14,200 --> 00:54:19,060
Just merely by having this signal, they start to understand what to do.

733
00:54:19,120 --> 00:54:24,860
I'm not talking about establishing a standard like an acceptable ad standard.

734
00:54:25,180 --> 00:54:26,180
That's not my point.

735
00:54:26,320 --> 00:54:32,300
My point is that the corporations, they look at how many people use ad blockers and they have to react.

736
00:54:32,440 --> 00:54:34,400
They have to improve the situation a little.

737
00:54:35,120 --> 00:54:35,400
Got it.

738
00:54:36,040 --> 00:54:39,660
And the last thing I wanted to ask about was Apple's new API.

739
00:54:39,960 --> 00:54:42,040
This is not something I even knew was happening.

740
00:54:42,480 --> 00:54:45,840
This isn't the kind of thing I think that Apple just announces at WWDC.

741
00:54:46,280 --> 00:54:49,200
It's a very niche thing for you all

742
00:54:49,970 --> 00:54:52,140
that will secretly end up on people's phones,

743
00:54:52,380 --> 00:54:53,780
but I'm sure people listen to this podcast

744
00:54:54,180 --> 00:54:56,480
get a few more of these sneak previews,

745
00:54:56,480 --> 00:54:57,380
which I'm excited about.

746
00:54:57,880 --> 00:54:58,740
Because I didn't know about this

747
00:54:58,810 --> 00:55:01,040
until you did your talk at the Ad Filtering Dev Summit.

748
00:55:01,580 --> 00:55:03,440
So do you mind talking about Apple's new API,

749
00:55:04,080 --> 00:55:06,380
how it differs from what sounds like

750
00:55:06,800 --> 00:55:08,420
any mobile operating system has?

751
00:55:08,420 --> 00:55:10,180
It sounds like there is nothing like this yet

752
00:55:10,340 --> 00:55:11,580
on any mobile operating system

753
00:55:12,300 --> 00:55:15,640
and what that's going to enable for users down the road.

754
00:55:16,180 --> 00:55:19,280
Apple came up with a pretty interesting idea.

755
00:55:19,660 --> 00:55:22,460
So we were talking in the beginning about local filtering,

756
00:55:22,760 --> 00:55:24,080
net intercepts and requests,

757
00:55:24,620 --> 00:55:28,580
and controlling where your device connects

758
00:55:28,940 --> 00:55:31,180
and what data it uploads, et cetera.

759
00:55:31,740 --> 00:55:37,480
And Apple, they decided to provide developers with a way

760
00:55:37,880 --> 00:55:40,720
that is created specifically for this purpose,

761
00:55:40,920 --> 00:55:45,180
for filtering web requests, but on the system level,

762
00:55:45,420 --> 00:55:48,020
not limited to the browsers, to Safari,

763
00:55:48,720 --> 00:55:53,460
but a way that allows us to control where all other apps go.

764
00:55:53,740 --> 00:55:57,100
What's interesting about their way of doing things

765
00:55:57,520 --> 00:56:01,560
is that they try to make this API truly private.

766
00:56:01,720 --> 00:56:04,660
So remember I was talking about ad blockers

767
00:56:04,880 --> 00:56:07,280
having very broad permissions,

768
00:56:07,560 --> 00:56:10,140
which are actually required to do the job.

769
00:56:10,320 --> 00:56:13,819
What's interesting about this Apple's API

770
00:56:13,840 --> 00:56:18,120
is that it will be actually safe and private.

771
00:56:18,440 --> 00:56:22,940
So ad blockers, they will not see the traffic themselves.

772
00:56:23,100 --> 00:56:24,760
There will be no interception.

773
00:56:24,820 --> 00:56:27,060
The interception will be done by the system.

774
00:56:27,700 --> 00:56:34,100
The ad blocker will be asked whether the request should be allowed or not,

775
00:56:34,500 --> 00:56:43,100
but asked in a smart way that the ad blocker will not actually learn what the address was.

776
00:56:43,520 --> 00:56:46,860
And yeah, I talked about it during the summit.

777
00:56:47,020 --> 00:56:50,720
So if anyone wants to learn some technical details,

778
00:56:51,500 --> 00:56:54,040
but the idea of the API is this.

779
00:56:54,260 --> 00:57:00,780
So to provide a way that allows apps to filter traffic system-wide,

780
00:57:01,020 --> 00:57:04,560
but at the same time in a completely private way,

781
00:57:05,000 --> 00:57:11,540
in a way that the developer will not even be able to learn anything about your traffic.

782
00:57:12,000 --> 00:57:15,900
So you will not have to trust my word.

783
00:57:16,150 --> 00:57:23,640
It will be a guarantee that the ad guards just doesn't see and cannot see, even locally.

784
00:57:24,020 --> 00:57:29,340
We just will not be able to learn anything by ourselves.

785
00:57:29,610 --> 00:57:32,700
And at the same time, the goal will be fulfilled.

786
00:57:34,759 --> 00:57:36,700
The tracking will be stopped.

787
00:57:37,820 --> 00:57:38,760
Yeah, that's pretty cool.

788
00:57:38,770 --> 00:57:39,720
So how does this compare?

789
00:57:40,000 --> 00:57:43,640
Because right now you can use DNS filtering right now on iOS.

790
00:57:43,710 --> 00:57:44,480
And I'm using this.

791
00:57:44,670 --> 00:57:48,680
So how is that different from, how is this new API different from DNS?

792
00:57:49,120 --> 00:57:50,480
Two things that are different.

793
00:57:50,830 --> 00:58:00,860
So the first thing is with DNS filtering, we actually, the app itself, it knows the domain you tries to connect to.

794
00:58:01,150 --> 00:58:08,720
Well, this is obviously required because the app needs to understand whether the domain needs to be blocked or not.

795
00:58:08,860 --> 00:58:24,160
With this new Apple's API, the app will not know even the domain name, even though it sounds strange, but it will be able to block bad domain names without actually knowing what domain names you have visited.

796
00:58:24,740 --> 00:58:26,600
So smart, interesting stuff.

797
00:58:28,020 --> 00:58:34,540
And the second difference is that the new Apple API is not limited to domain names.

798
00:58:34,940 --> 00:58:42,940
Remember, I was talking about Facebook using the same domain name for serving ads and for serving your Instagram feed.

799
00:58:42,990 --> 00:58:56,300
This new API finally will allow us to differentiate, just block the ads without touching the other parts of a multipurpose domain.

800
00:58:56,780 --> 00:59:00,740
Very cool. And do you have an ETA by any chance?

801
00:59:00,840 --> 00:59:04,520
I mean, this is probably going to go live well after a recording, but...

802
00:59:04,720 --> 00:59:08,740
Yeah, the problem is that in order to start using this API,

803
00:59:08,950 --> 00:59:13,140
we need first to go through a review, through a special review.

804
00:59:13,820 --> 00:59:15,300
It's not just an App Store review.

805
00:59:16,000 --> 00:59:19,260
We need to apply for the ability to use it.

806
00:59:19,500 --> 00:59:24,140
We applied like a month ago or even more than a month ago we applied,

807
00:59:24,430 --> 00:59:26,860
but we're still waiting for the response.

808
00:59:26,900 --> 00:59:31,000
And as far as I understand, it may take several months to get one.

809
00:59:31,460 --> 00:59:36,380
Once we get it, it will be very fast after we get it approved.

810
00:59:37,580 --> 00:59:38,540
Apple bureaucracy.

811
00:59:39,300 --> 00:59:42,820
And I'll make sure to leave your video link so people can learn more about this.

812
00:59:43,000 --> 00:59:46,820
And it's funny because Apple's approach to this is actually very similar to other things they've done,

813
00:59:47,280 --> 00:59:53,360
where Apple seems to look at the worst case scenario of how someone can abuse permission and go,

814
00:59:53,440 --> 00:59:57,700
So, okay, we're going to find some incredible engineering to prevent that from happening,

815
00:59:58,380 --> 01:00:03,920
which also is going to prevent people from having an actual maximal approach to dealing with the

816
01:00:04,090 --> 01:00:10,420
problem. Like this is what we see with WebKit, where we don't really see any real bad browsers

817
01:00:10,630 --> 01:00:15,560
on iOS because everything is just using WebKit. But it also means that people like Brave can't

818
01:00:15,700 --> 01:00:20,519
actually do more with WebKit and make it a more powerful browser. And this is kind of Apple's

819
01:00:20,540 --> 01:00:25,420
approach to a lot of things. So I guess I'm not surprised they did this with this new API as well.

820
01:00:26,980 --> 01:00:34,960
Yeah, yeah. But again, it has its downsides. But I have to admit, the way they decided to do it is

821
01:00:35,090 --> 01:00:42,680
pretty innovative and interesting. So I hope it can be improved. But still, it's interesting.

822
01:00:42,760 --> 01:00:48,280
For me as an engineer, it's a very interesting engineering problem to solve.

823
01:00:49,300 --> 01:00:52,760
So that's another reason why I like it.

824
01:00:53,060 --> 01:00:55,700
Yeah, and kind of the last thing, I don't know if you've tested this

825
01:00:55,740 --> 01:00:57,520
or if you already know off the top of your head.

826
01:00:58,320 --> 01:01:01,420
One thing I don't like about Apple on anything iOS

827
01:01:02,060 --> 01:01:05,780
is they add a lot of exceptions for themselves with a lot of these things.

828
01:01:06,060 --> 01:01:09,740
Apple goes, oh yeah, we'll give you the ability to have a VPN,

829
01:01:09,800 --> 01:01:14,020
but we're also going to not have our own web domains go through the VPN,

830
01:01:15,280 --> 01:01:19,940
which is pretty crappy, especially with the way that VPNs are presented on iOS.

831
01:01:20,080 --> 01:01:22,780
It makes it seem system-wide, but they exclude their own stuff.

832
01:01:23,260 --> 01:01:25,760
Are you able to block Apple domains with this new API,

833
01:01:26,160 --> 01:01:28,960
or have you tested to see if they don't actually allow that to happen?

834
01:01:30,340 --> 01:01:36,799
Well, one of the downsides of the API is that it is completely...

835
01:01:38,620 --> 01:01:42,020
It is not transparent what's going on on the inside.

836
01:01:42,580 --> 01:01:46,380
So we don't see what's filtered, what's not filtered.

837
01:01:46,780 --> 01:01:51,060
So we can judge by using indirect signals.

838
01:01:51,580 --> 01:01:54,740
For instance, by reading the logs of the device.

839
01:01:55,480 --> 01:02:01,680
What can I say is that they didn't do direct exceptions for themselves,

840
01:02:02,200 --> 01:02:07,840
but there are some limitations to how the API is implemented in general.

841
01:02:08,600 --> 01:02:11,300
that makes it possible to circumvent it, unfortunately.

842
01:02:12,380 --> 01:02:14,240
For instance, on macOS,

843
01:02:14,740 --> 01:02:17,260
the Chrome browser will not be filtered

844
01:02:17,640 --> 01:02:21,280
just because that's the way how the API is implemented.

845
01:02:21,800 --> 01:02:26,060
It's not because Apple decided to make an exception for Chrome.

846
01:02:26,300 --> 01:02:27,800
No, it's just a limitation.

847
01:02:28,620 --> 01:02:30,820
Got it. Okay, well, that's kind of all I have

848
01:02:31,020 --> 01:02:32,160
on my end in terms of questions.

849
01:02:32,380 --> 01:02:34,020
Is there anything you feel like I missed

850
01:02:34,180 --> 01:02:36,179
that you wanted to kind of touch back on

851
01:02:36,200 --> 01:02:38,420
or kind of remind anyone before we wrap this up?

852
01:02:39,370 --> 01:02:42,460
Not really, but thanks for the questions.

853
01:02:42,630 --> 01:02:44,780
They were, well, interesting and sorry for me

854
01:02:46,539 --> 01:02:48,440
having to talk so much.

855
01:02:49,500 --> 01:02:50,620
No, I mean, that's the point.

856
01:02:51,320 --> 01:02:52,020
Techlore talks.

857
01:02:52,400 --> 01:02:54,840
So it's meant to be a bit more thorough.

858
01:02:55,220 --> 01:02:58,020
And if people are here, they're here for a thorough,

859
01:02:58,410 --> 01:02:59,700
you know, getting to learn a little bit more

860
01:02:59,880 --> 01:03:00,700
about the tech they use.

861
01:03:00,840 --> 01:03:03,400
So I hope that you were able to provide that.

862
01:03:03,470 --> 01:03:04,740
And I think you did a great job.

863
01:03:05,880 --> 01:03:07,620
Yeah, happy AdGuard customer here.

864
01:03:08,520 --> 01:03:10,800
You know, I use some other ad blockers here and there,

865
01:03:11,060 --> 01:03:12,580
but you guys are definitely a part of my stack.

866
01:03:12,800 --> 01:03:14,340
So big fan of all that you're doing.

867
01:03:14,420 --> 01:03:16,240
And it's been an honor to chat with you

868
01:03:16,460 --> 01:03:18,320
and the rest of the team in person as well.

869
01:03:18,580 --> 01:03:19,960
So thank you for your time, Andre.

870
01:03:20,860 --> 01:03:21,180
Thanks.

871
01:03:22,780 --> 01:03:23,500
And that is the interview.

872
01:03:23,620 --> 01:03:25,580
I want to give a massive thank you to Andre

873
01:03:25,720 --> 01:03:27,260
for taking the time out of his day

874
01:03:27,340 --> 01:03:29,280
to explain all these technical things

875
01:03:29,420 --> 01:03:31,060
in ways that all of us can understand.

876
01:03:31,340 --> 01:03:33,540
And now I know how to kind of navigate

877
01:03:33,680 --> 01:03:34,980
this landscape a little bit better.

878
01:03:35,360 --> 01:03:39,500
as a result of it. So I hope you all got to experience that too. If you enjoy Techlor talks

879
01:03:39,640 --> 01:03:43,900
and you want to support this podcast, you can do so for free by using a Techlor affiliate link or

880
01:03:43,940 --> 01:03:48,480
just being involved, giving a like, sharing this podcast, leaving ratings on podcast platforms.

881
01:03:48,780 --> 01:03:53,120
I've noticed that this podcast has less ratings than surveillance reports. So if you do like this

882
01:03:53,380 --> 01:03:57,500
podcast, make sure to let us know and let the world know as well. And of course, you can become

883
01:03:57,560 --> 01:04:02,099
a Techlorian to keep all of this content free for everybody so we can keep producing this and keep

884
01:04:02,120 --> 01:04:06,140
bringing on awesome guests. I want to thank you all again for listening, and I'll see you next time

885
01:04:06,360 --> 01:04:06,880
on TechCore.