GOGGLES: Democracy dies in darkness, and so does the Web
Brave Search Team
Brave
Munich, Germany
search@brave.com

Abstract
This paper proposes an open and collaborative system by which
a community, or a single user, can create sets of rules and filters,
called Goggles, to define the space which a search engine can pull
results from. Instead of a single ranking algorithm, we could haveas many as needed, overcoming the biases that a single actor (thesearch engine) embeds into the results. Transparency and openness,
all desirable qualities, will become accessible through the deep reranking capabilities Goggles would enable. Such system would bemade possible by the availability of a host search engine, providing
the index and infrastructure, which are unlikely to be replicatedwithout major development and infrastructure costs. Besides thesystem proposal and the definition of the Goggle language, we also
provide an extensive evaluation of the performance to demonstrate
the feasibility of the approach. Last but not the least, we commit theupcoming Brave search engine to this effort and encourage othersearch engine providers to join the proposal.

Keywords
search, open ranking, algorithmic transparency

1

Motivation

Democracy dies in darkness, a line recently adopted by the Washington Post as their slogan, warns us that unless people are informed
with facts and truth, no true democracy is possible. Those who benefit from darkness have always tried to control media in order tocontrol and manipulate public opinion with propaganda. Until recently, propaganda has been the exclusive domain of nation-states
or state-sponsored actors through mass media [19]. With the mass
popularization of the Web in the last two decades and the subsequent privatization of it by big platforms like Google, YouTube andFacebook, the paradigm has changed. Propaganda is no longer atool of an elite, but it has been commoditized to the extent that it is
as accessible as advertisement, becoming a weapon that too many
actors have access to. One must appreciate the irony that those most
vocal about the risks of propaganda are those who controlled it in
the past. Nevertheless, the risk of fake-news—a neologism createdto mitigate cognitive dissonance—cannot be ignored [5, 6, 30, 33, 36].
It is dangerous for a society if people living in it cannot distinguishbetween facts, opinions and outright misinformation. Although thisdanger has always existed, today the situation is dire if only because
quantitative becomes qualitative and although all information istheoretically available, in practical terms it is not.

1.1

A Single Point of Failure

Like never before, all the information (and misinformation) of
the world is available upon request. But the way to access this information has narrowed to become a quasi-monopoly. The abundanceof information has led to a significant transfer of power from creators to aggregators. Access to information has been monopolized
by companies like Google and Facebook [27]. While everything istheoretically still retrievable, in practice we are looking at the world
through the biases of a few providers, who act, unintentionally ornot, as gatekeepers. Akin to the thought experiment about the tree
falling in the forest [3], if a page is not listed on Google’s results
page or in the Facebook feed, does it really exist?
The biases of Google and Facebook, whether algorithmic, datainduced, commercial or political dictate what version of the world
we get to see. Reality becomes what the models we are fed depict
it to be [24]. And a reality defined by Google’s search ranking
algorithm, is one that does not and cannot capture the intricacies
and variety of human knowledge and opinion.
Traditionally, the role of media was to serve as the middlemanseparating the chaff from the grain, of course with their respective
biases. Journalists and editors were the curators and the publishinghouse was responsible by reputation and by law. Furthermore, every
country had tens or hundreds of, to a certain degree, independent
firms. Media consolidation in the 90s somewhat killed the field [37],
reducing the number of firms able to filter information. But the real
impact came with the consolidation of the big Internet platforms,
basically Google and Facebook. The role of curation has been eliminated as the majority of value is captured by the platforms so it is
no longer economically viable [10, 18, 25]. With fewer and weaker
intermediaries, we also reduce the amount of independent pointsof views or windows to the world.
We have been forced to trust that the worldview of a few internet
platforms is non-partisan while it clearly cannot be. The public
space has been privatised by a handful of private corporations.
Such concentration of access to information is a single point of
failure, and it has failed.

2

ProposalLet us start with a disclaimer; there is no technical solution thatsolves the aforementioned problem once and for all. The issues
derived from monopolies are well understood and fall well beyond
the reach of any technical solution.
However, what we could do, is to acknowledge that market
dynamics coupled with freemium models tend to produce a winnertakes-all scenario [4], the prelude of monopolies. Under these market constraints, we propose to increase the number of options,windows through which reality is made sense of. While it would
be desirable to achieve that goal through independent actors (platforms), in lieu of that we can achieve the same effect within thesame platform. The proposal presented in this paper can be portrayed as a fail-safe to prevent any platform from becoming a single
window to the world. If Brave or any other company were to displace Google, the ranking algorithm would still be the one dictating

Brave Search Teamthe way the world is perceived. We would have changed actors, but
the problem would remain.
In this paper we introduce Goggles, which is meant to provide
people with a way to access information according to their explicit
biases. In layman’s terms, to put Goggles on, to see a different
version of reality.
Search engines are free to incorporate user-defined Goggles, specified in an open language drafted in Section 5, and modify theirranking so that the user’s explicit preferences take precedence over
the ranking of the search engine itself.
Such system would have the potential to pierce a hole in the
single-window effect produced by the search engine’s ranking algorithms. In a way, it is opening the ranking algorithm to the peopleusing the search engine.
Goggles go beyond personalization. As a matter of fact, they are
orthogonal. The rationale is not to customize the ranking according
to the implicit interests of the user, but to offer a mechanism todefine multiple rankings, plural, open and explicit, for only if it isso, can it be trusted. The benefit for the users is that they would
be empowered to explore multiple realities in a straight-forward
way. The point is to offer people the freedom to choose their own
biases while being conscious of them. The benefit for the content
creators is that they have multiple options to expose their content,
by increasing their potential audience, which will reduce the needto optimize for the single set of biases implicitly encoded in the
search engine’s ranking [17].
The point is not to create an even stronger echo-bubble, which iswhat happens under personalization. Rather, the aim is to promoteplurality and let people proactively and consciously choose. Confirmation bias exists; people tend to only acknowledge informationthat fits their own bias [26]. However, a large fraction of people
are interested in exploring alternative viewpoints [14]. Current
platforms, however, do not facilitate such exploration process [22],seeking alternative options (for better or worse) implies a cost. The
costlier it is, the less likely it becomes for people to break from thesingle-window effect exacerbated by the ranking algorithms.
It is also not the point of Goggles to mitigate the fake-news
phenomena, at least not directly. While having more plurality opens
the space for wacky theories, it also opens the space for rational
and informed ones. The way to fight fake news is to rebate them,not to ban or bury them [11]. Otherwise we will have no instrument
left to control those who decide what qualifies as fake 1 .
We envision a scenario where a community of people create andcurate Goggles like,• "Tech Blogs". Imagine searching through a collection of
personal and company blogs curated by the community.
• "Product Reviews without commercial intent". Get ridof all sites with price comparisons, affiliate links, etc. Basically, to browse over product descriptions and reviews.
• "Independent Media for any country". Would demotemajor newspaper and promote minor outlets.
• "Exclude top 1000 domains". Would remove results frommost popular domains on the Web to surface less prominent
ones.

• "Recipe search that my mom likes". Only searches recipes
on tasteofhome.com, nowhere else being considered, would
become a site search.
• "Nature lovers in the Pyrenees". An extremely curated
list of high-quality sites for hiking/trekking in the area. Excluding the more generic sites not specialized in that area.
• "Wikipedia / Reddit / <Any site> search". Site search isjust an instance of what Goggles can be. The other way roundalso works; results that exclude results from a given site (e.g.
Facebook).
• We recently observed the tech community discussing the shortcomings of search engines [9], particularly in surfacing content
by some spaces in the web. It was exciting to see how almost all
the use-cases in the discussion could be addressed by Goggles.2
Each of these Goggles is fully owned, controlled and maintainedby its creators according to their own terms and services. Goggles
can be shared, extended, and modified to fit anyone’s particularneeds. The most likely scenario, however, is that the great majorityof users will rely on Goggles maintained by others because of theircoverage, quality, and most importantly, because of the trust of
the maintainers’ integrity. Trust is an important aspect of Goggles.
There is no way to guarantee that a particular Goggle fulfils its
promise, but any Goggle can be forked, and their users vote with
their feet. The fact that the list of rules composing a Goggle is open
and can be copied/extended by anyone will prevent the creation ofa lock-in by the original authors/creators, mimicking the ecosystem
lock-in of the likes of Apple, Google and Facebook [28]. Of course,
for such system to work, people must trust that the search engine
serving as host applies the rules defined by the Goggle against theirindex without alteration. Besides the language definition, whichmust be standard to allow integration with the search/retrieval algorithms, a search engine should stay out of the Goggles ecosystem
to maximize trust and variety.
The contributions of this paper are:(1) To propose the concept of Goggles for open/collaborative
ranking. Note that the proposal/definition alone, is not entirely novel (as will be discussed in the Background Section 3).
(2) To define the Goggles language, which allows people to define their own ranking preferences in a simple way, using agrammar inspired by the ad-blocking community (provento be both easy to write and maintain and to be expressive
enough.)(3) The commitment that the Brave search engine will implement and apply user-defined Goggles. Which means modifications on the ranking algorithms (details in Section 4).
We encourage other search engines to follow. Goggles is in
no way owned by or exclusive to Brave search engine. It
belongs only to its creators and users.
(4) To show that search engines can serve an additional roleto the community by exposing their infrastructure and index. Allowing public and open access to such privileged
resources.
2 Note that Goggles project started late 2019 but was put on hold due to the shutdown

1 Quis custodiet ipsos custodes? Who will guard the guards themselves?

of the Cliqz search engine. Happily, the project will continue as part of Brave from2021 onward.

GOGGLES: Democracy dies in darkness, and so does the Web

Let us emphasize once again that this proposal, Goggles, does
not fix the problems of misinformation, echo-chambers, confirmation biases, etc. These problems are very human in nature, andno technology can solve them. At most, it can only exacerbate or
mitigate them, the latter being the case of the system presented
in this paper. What we propose in this paper is a way to decrease
the single-window effect created by the search engines such as
Google, Bing, and of course, Brave. By opening the ranking fromone(s) to many we open the possibility of having many different
rankings, serving different biases and intents. Needless to say, thatsearch engines must collaborate on that effort by providing theinfrastructure and index to back it up.
Goggles intends to offer multiple perspectives to the same queryand to be explicit about it. So that people choosing liberal media
Goggles are free to do so, but this is a conscious and deliberatechoice. If they want, they can explore the opposite Goggles to expand their perspective. Something as simple as this is not easy, as
systems are not designed to that purpose [7, 32]. Allow us to stressthat the biases embedded on a Goggle do not need to be "positive".
There will be Goggles created by creationists, anti-vaccination supporters or flat-earthers. However, the biases will be explicit, andtherefore, the choice is a conscious one. We do not anticipate anyneed for censorship in the context of Goggles. Clearly illegal andsensitive content like child pornography or extreme violence should
already be filtered out by the host search engine at the index layer.
Consequently, such content should not be surfaced by any Goggle.
We would like to stress out that biases do not need to exist
only on highly polarizing issues such as politics, religion, language,etc. Non-partisan topics like strong localization, advertisement orcommercial intent removal are likely to have a strong presence.
Goggles can just be ways to increase plurality and open niches forcontent that is otherwise buried under the rule of a single sourceof ranking.

3

BackgroundTo the best of our knowledge Goggles is the first attempt to open
up the ranking component of a search engine to the community.
Perhaps the most related system to Goggles is personalization [23],the ability to alter ranking according to the user’s interests or intents. Note that this comparison, although reasonable, is deceptive.
Personalization, outside the realm of faceted search [2, 34], is notactionable for the user, at most they can opt out from it. The aimof Goggles is not to have a single ranking fitting better the user’s
interests, but to offer users a wide range of possible rankings andlet them choose. The same rationale applies to rankings subjected
to locales, either language or geography.
We mention faceted search, which shares with Goggles that ability to provide external information to the query to help the searchengine refine the results the user was looking for. In the case of
faceted search, the user does not provide an external rule for ranking, but additional metadata, typically in a structured form. For
instance, named entities, reference codes, dates, etc. Information
provided by the user to facilitate the retrieval. This approach isuseful on many verticals like flights, trips, books, movies, products,
but is not the most convenient for general purpose, as it demands
from the user a) knowledge of the domain, and b) extra burden on

the input query. Goggles also imposes these constraints at creation
time, but not while using them. Thus, the extra effort is not paid by
the end-user but by the Goggle’s creator/maintainer.
Goggles also share similarities with collaborative efforts for content discovery and classification, for instance, social bookmarks
systems [20, 29] or curated lists [31]. However, such systems aredesigned for sharing and not suitable for search both because of
the limited coverage and the lack of a proper search infrastructure.
Another area where Goggles’ contribution is relevant is algorithmic transparency. We are not aiming to make the Brave searchengine ranking transparent, but rather to allow people to modify
and alter it a posteriori. Transparency of the ranking would provide explainability and accountability for the results and it would
help to detect unfairness or illegitimate biases (e.g. gender, race,
religion). We could achieve similar results with Goggles, but in an
indirect manner. Note that full transparency on the ranking (themain ranking algorithm that is) would introduce challenging problems. Intellectual property aside, which is not a small thing, we
would further open the search engine to the harmful effects of SEO(search engine optimization). SEO, especially when invasive, is oneof the biggest headaches search engines have, giving access to theparticularities of the main ranking would immediately result in aboost of those sites that rely on SEO to be on top, which are usually
not the ones with the best content.
A similar argument can be made on the topic of open search.
This proposal does not open the full search engine, but it provides
the ability to modify the most important constituent, the results.
Building, maintaining and operating a search engine is neither
easy nor cheap. Something along the lines of our proposal could
become a suitable middle ground. Traditional search engines could
act as hosts, providing their index and computational resources.
The final ranking, however, could be driven by a community ofpeople maintaining a large and open collection of Goggles.
The underlying idea behind Goggles is simple, borderline trivial.
As a matter of fact, related concepts have been proposed in thepast [12], however, unless it is coupled with a search engine infrastructure, the chances of success are small. Custom rerankers are
only one side of Goggles. Performing a rerank, depends both on therules of reranking but also on the original result-set where the rules
will be applied. Hence, the effectiveness of the system is predicatedon obtaining a large set of results on which the rules can be applied.
Without the active collaboration of a search engine provider, suchlarge result-set is not available. Top 10 results or top 50 in the caseof Bing API [13] are not nearly big enough. Of course, scraping isalways a possibility, but latency will become an unsolvable issue.
It would take a few seconds to scrape the first 100 results out of asearch engine, if we manage to not get blocked. And still, a resultset of 100 results, while better than 10, is still way too small. The
only way to efficiently implement something like Goggles is withthe collaboration of a search engine which allows the user to senda custom re-ranking function to be applied to the first set of results(typically in the tens of thousands) rather than on the final steps
where the candidate result-set has already been reduced enough tohave a poor overlap with the user custom re-ranking. In Section 5
we briefly describe how the Goggles language is applied to Brave’s
search ranking algorithm.

Brave Search Team

4

Integrating with existing search engines

Modern search engines have strict latency requirements, usuallyless than a second, in which they need to respond to the user query.
A common way to architect a search engine to address this issue isto split the process into multiple phases. The recall phase involves
matching the user query against billions of (in some cases, a lotmore) pages with simple features to help reduce a candidate set
to a reasonable size for further processing, typically in the orderof few thousands. Subsequent phases, usually known as precisionphases, narrow down the candidate set using a stack of increasingly
sophisticated and costly models. The last phase of this process,the ranking, involves a very small candidate-set and is the one
responsible for the final ordering of results given to the user.
The effectiveness of Goggles increases the earlier they are integrated into the search process so that more pages can be subjectedto the rules being applied. Consider the Goggle "Filter out the results from the top 1000 domains on the internet", which could be aninteresting way to explore the internet. Applying this on the final
result set for most queries would lead to very few results, if any, due
to the inherent bias in most search engines to surface content from
popular domains. The rules defined by Goggles are better applied to
the largest candidate-set possible, so that the intersection between
candidates and rules to be applied is not empty. Only when intersection is large enough, will the re-ranking introduced by Goggles
be noticeable.
Deep integration between Goggles and the host search engine isneeded for the system to work. However, such integration poses
different issues: 1) Efficiency: applying the rules against all elementsof the candidate set (typically URLs) has to be extremely fast to
minimize the overhead. In the following section we will present oursolution to this issue. And 2) Independence: the host search engine
needs to have total control over their index. This trait is given on
search engines running their own fully-fledged index, e.g. Google,
Bing, Yandex, Baidu and Brave. However, other search engines that
rely totally or in part on external indexes might not have the ability
to pull a large enough candidate-set to perform the user re-rank
defined on his Goggle. DuckDuckGo, Qwant and Ecosia, which relyon the Bing API, are limited to whatever the API offers.
In this paper we lay down the language and the supporting
matching engine, however, integrating such system into the code ofa large-scale search engine is non-trivial. We commit Brave searchengine to do so, to be a host for Goggles. We believe and welcome
other search engines to also be hosts, after all, the more choices ofGoggles and of hosts search engines, the better.

5

Language for Goggles

For the purpose of Goggles, we created a DSL (Domain Specific
Language) which will allow users to express rules able to capture
flexible filtering logic applied on a large set of search results. ThisDSL needed to be plain text and self-contained to ease hosting andsharing, flexible enough to express fine-grained filtering logic of
URLs and page features, yet sufficiently constrained so that filtering
can be implemented in a very efficient way (as mentioned previously, this system needs to be able to match thousands of candidate
results against thousands of rules for each user query, without
impacting latency in a perceivable way). Finally, it needed to beaccessible enough so that even people without a technical background could quickly grasp its syntax and write rules, which would
also encourage collaboration around the creation and curation of
Goggles (e.g. communities).
After considering all these requirements, we realized that we
could leverage prior work, addressing a totally different use-casebut sharing similar challenges. We decided to base our DSL upon asubset of the syntax used by content blockers to perform "network
filtering" (i.e. ads- and trackers-blocking): the so-called "AdblockPlus filters syntax" [1, 21]. This language already proved in the pastthat it, 1) allows to express logic to target URLs in a powerful way, 2)
can be implemented extremely efficiently [38], and 3) is friendly tocontributors and gave rise to numerous communities maintaining
lists with a robust open collaboration model [15, 16, 35].
The language is also already widely documented, is flexible
enough to allow custom extensions while maintaining backward
compatibility (e.g. new options can be added without breaking otherengines). This last point is especially important since we hope that
other search engines will follow suit and also adopt support for
Goggles. It was observed in the content-blocking communities that,in practice, maintainers have an incentive to keep compatibility
with a maximum number of engines, and will thus use the features
which are widely supported in priority (common denominator)
and rely on engine-specific features only if they cannot do otherwise; this allows some flexibility for engines implementing custom
extensions to the language.
We now give a brief overview of this language, the draft specof which will be hosted publicly and open for participation in the
future.
A list of filters, or Goggle, is a self-contained text file where eachline can contain a filter (empty lines or comments—line startingwith a ’!’ character—are ignored). Ranking of search results willbe altered based on the filters contained in the file. Each filter iscomposed of two parts: a trigger and an action, separated by a $character: <trigger>$<action>. The trigger part is a pattern whichneeds to match a result candidate. It can leverage the following
features:• Plain Patterns—allow targeting a URL (or another result
attribute like its title) based on a string of characters which
it should contain. The filter "/coronavirus-" would trigger
on any URL containing this specific string of characters (e.g.
https://example.com/coronavirus-update.html).
• Wildcard Patterns—extend plain patterns with globbing
capabilities: the special symbol "*" can be used to match
any number of characters. Filter "/health/*/coronavirus-"
would match any URL containing the substring "/health/", followed by zero or more characters, then "/coronavirus-" (e.g.
https://example.com/health/2020/coronavirus-update.html).
• Left and Right Anchors—introduce a special "|" character which, when appearing at the start or end of a filter,
forces a pattern to match the beginning or end of a URL. Filters "|https://" and ".html|" would match URLs starting withhttps:// or ending with .html, respectively.
Each filter can also be annotated with additional options (following the "$" character). Multiple options can be specified at thesame time, and separated by comas. We leverage this syntax toGOGGLES: Democracy dies in darkness, and so does the Web

add ways to further fine-tune the behaviour of Goggles; either tospecify which features of a result candidate should be considered(i.e. target), or how the ranking should be affected (i.e. action). For
example:• $boost=XX—is used to alter the ranking of specific resultsby XX (e.g. $boost=1 would not alter the ranking, while$boost=2 would make a result two times more important).
• $discard—completely drops candidates from the list of results.
• Filtering based on specific attributes of the result page canbe achieved with:– $lang=XX—to target the language.
– $inurl—to target the URL.
– $inquery—to target queries leading to a candidate.
– $intitle—to target the title.
– $indescription—to target the description.
– $intext—to target the full content.
Last but not the least, these features can all be combined to form
complex filters. For example, the filter: /news/*/covid.html|$inurl,
would match candidates based on their URL.
This description is by no mean complete or final, and we will
release a specification of the language once it is stabilized.

5.1

ProtocolTo allow users and communities to create and curate Goggles
over time, we propose the following protocol, inspired by the mostsuccessful filters maintainers from content-blocking communities.
We propose two modes operations for maintainers: 1) A development setup implemented as a Web User Interface which allows toquickly get feedback over newly created filters, by showing which
results end up in the final result set in real time. This setup is intended to speed-up the process of creating filters, reducing friction
and offering a seamless workflow. The resulting filters can then be
hosted publicly on a platform such as GitHub and made available
to a wider public. And 2) The production setup which is directly
integrated into any search engine prepared to be a host for Goggles.
The end user could specify a link (or identifier) to the Goggle in
the form of network accessible URI. The search backend is thenresponsible for fetching the Goggle definition from the URI (or use
a cached version of it), compiling it to an efficient representation
optimized for matching speed, and applying it at the recall-phaseto the search results to produce a resulting candidate set.

5.2

Privacy Considerations

It is important to consider the potential privacy implicationsof sending a Goggles URIs together with the query. The URI canbecome a unique user identifier, especially for those people using
non-popular Goggles. Therefore, there is a risk of a host searchengine building a partially complete user profile in some circumstances. This should not be a problem for all host search engines,
though; Google and Bing for instance, link all queries to the users’
accounts and consider it a desirable feature. However, for privacy
preserving search engines like Brave, this becomes a hurdle.
Note, however, that the URI only doubles as a user identifier
under certain conditions: 1) when a user is consistently using it
for all queries, and 2) when the URI is only used by that user (ora very small group of users). None of these conditions should be

Number of URLs Number of filters Time (ms)
1000
1
0.17
1000
10
0.20
1000
100
0.24
1000
1000
0.33
10000
1
1.56
10000
10
1.78
10000
100
2.08
10000
1000
3.10
Table 1: Summary of the performance evaluation (time inmilliseconds) for different number of URLs and filters.

the default modus operandi of Goggles. We would expect Goggles
to be used only for a fraction of queries. Also, we expect users torely on multiple Goggles for different tasks. And finally, we expect
a great majority of users to rely on popular Goggles, for which the
URI is not a valid user identifier. Reality, however, does not needto conform with expectations. We should provide an additionallymechanisms to protect privacy for those niche cases. One proposal
would be to allow sending multiple Goggles URIs on a single query,so that the true Goggle is obfuscated on a larger set. The host searchengine would return results for all the Goggles and on the clientside the results for the padding Goggles would be dropped. Thisapproach, however, imposes a serious overhead on the host searchengine. The final solution to this problem is left for future work.

6

Performance evaluation

As previously discussed, Goggles can only shine when applied
to a very large candidate set of results (thousands of URLs). For
this reason, the filtering logic can only take place in the searchbackend, during the recall phase. Consequently, we operate under avery tight time budget (few milliseconds) to ensure that the overall
search latency is still acceptable and that the backend remains able
to handle many concurrent requests from users.
To assess the viability of Goggles from a performance perspective, we first implemented a prototype leveraging our in-househigh-performance JavaScript content blocking library [8], then acustom Rust re-implementation of a similar engine, tuned for performance. The following figures were obtained by sampling 10k
results with query "coronavirus" from our search index. The filters
used were a selection of 1000 domains from the most popular domains, which we use as a "trustworthy list of domains"-Goggle. We
run the measurements with varying number of URLs and filters
to get insights into how the total time evolves as a function of the
input size. Results are summarized in Table 1. These measurements
were performed using our Rust prototype, compiled with rustc
1.43.1, on a reasonably fast ultrabook CPU (i7 U6600) using twocores (4 logical threads using hyper-threading).

From these results we can conclude that our initial Rust prototype is already delivering good performance on a reasonably large
set of candidate URLs (note that recall phase is typically sharded
across multiple servers, so the aggregated candidate set could beBrave Search Teammuch larger). The figures obtained from our reference implementation give us confidence about the feasibility of the approach, evenon the rare case of a single server. Secondly, we observe that theprocessing time per-request is almost constant thanks to the efficient dispatching data-structure used in the filtering engine [38];this shows that Goggles could be handling many more filters whilestill meeting our time budget; the runtime being almost exclusively
impacted by the number of URLs in the initial result-set (assuming
the filtering runs on a single CPU). Digging further, we observedthat pre-processing of URLs, which consists of extracting the hostnames as well as tokenizing the URL, is the current bottleneck witha total of 70% of the overall time spent, whereas looking up filtersfrom the index only takes around 10% of the total time. This showsthat we could improve the performance drastically by focusing oureffort on these two functions.

7

Conclusion

We believe that the system/framework proposed in this paper
would be beneficial to maintain a healthier Web. Goggles would
foster openness and diversity thanks to the community maintenance and ownership. The later being very important as the added
value created should not exclusively be in control of the host searchengine, or else we might end up on the current status-quo. Besides,
community Goggles also requires the active participation on a hostsearch engine, which would provide access to its index and infrastructure. We are happy to commit Brave search to this endeavor, as
we did with the now defunct Cliqz search3 .
Needless to say that Goggles will be open to any other searchengine or institution that is enticed by this proposal.

Acknowledgments
The bulk of Goggles can be attributed to the Cliqz search engine
team, which was shutdown in March 2020. Fortunately, parts ofthe team and core intellectual property is now part of Brave, whichis happy to continue the mission of building an alternative searchoutside of Big Tech.

References[1] AdblockPlus. [n.d.]. AdblockPlus filters explained. https://adblockplus.org/filtercheatsheet[2] Ori Ben-Yitzhak, Nadav Golbandi, Nadav Har’El, Ronny Lempel, Andreas Neumann, Shila Ofek-Koifman, Dafna Sheinwald, Eugene Shekita, Benjamin Sznajder,and Sivan Yogev. 2008. Beyond basic faceted search. In Proceedings of the 2008
international conference on web search and data mining. 33–44.
[3] George Berkeley. 1881. A treatise concerning the principles of human knowledge.
JB Lippincott & Company.
[4] K Boudreau, Lars Bo Jeppesen, and Milan Miric. 2019. Competing on free(mium):
digital competition with network effects. SSRN Electron. J 10 (2019).
[5] Pew Research Center. 2016. Many Americans Believe Fake News Is Sowing Confusion. https://www.journalism.org/2016/12/15/many-americans-believe-fakenews-is-sowing-confusion/[6] Simone Chambers. 2021. Truth, Deliberative Democracy, and the Virtuesof Accuracy: Is Fake News Destroying the Public Sphere?
Political
Studies 69, 1 (2021), 147–163.
https://doi.org/10.1177/0032321719890811
arXiv:https://doi.org/10.1177/0032321719890811[7] Allison J. B. Chaney, Brandon M. Stewart, and Barbara E. Engelhardt. 2018. How
Algorithmic Confounding in Recommendation Systems Increases Homogeneity
and Decreases Utility. In Proceedings of the 12th ACM Conference on Recommender
Systems (Vancouver, British Columbia, Canada) (RecSys ’18). Association for
Computing Machinery, New York, NY, USA, 224–232. https://doi.org/10.1145/
3240323.3240370
3 See Acknowledgments[8] Cliqz. [n.d.]. Efficient embeddable adblocker library. https://github.com/cliqzoss/adblocker[9] Hacker News Community. 2020. We can do better than DuckDuckGo. https://news.ycombinator.com/item?id=25129431[10] Australian Competition and Consumer Commission. 2019. Digital Platforms
Inquiry. https://www.accc.gov.au/publications/digital-platforms-inquiry-finalreport[11] Saoirse De Paor and Bahareh Heravi. 2020. Information literacy and fake news:
How the field of librarianship can help combat the epidemic of fake news. The
Journal of Academic Librarianship 46, 5 (2020), 102218.
[12] Google Developers. 2020. Custom Ranking. https://developers.google.com/
custom-search/docs/ranking[13] Microsoft Docs. 2017.
Custom Search API v7 reference.
https://docs.microsoft.com/en-us/rest/api/cognitiveservices-bingsearch/bingcustom-search-api-v7-reference[14] Elizabeth Dubois and Grant Blank. 2018. The echo chamber is overstated: the moderating effect of political interest and diverse media. Information, Communication& Society 21, 5 (2018), 729–745. https://doi.org/10.1080/1369118X.2018.1428656
arXiv:https://doi.org/10.1080/1369118X.2018.1428656[15] EasyList. [n.d.]. EasyList filter subscription. https://github.com/easylist/easylist[16] EasyList. [n.d.]. EasyList forum. https://forums.lanik.us/[17] Eric Goldman. 2005. Search engine bias and the demise of search engine utopianism. Yale JL & Tech. 8 (2005), 188.
[18] Ruth A. Harper. 2010. The Social Media Revolution: Exploring the Impact on
Journalism and News Media Organizations. Inquires Journal (2010).
[19] Edward S. Herman and Noam Chomsky. 1988. Manufacturing Consent: The
Political Economy of the Mass Media. Pantheon Book.
[20] Paul Heymann, Georgia Koutrika, and Hector Garcia-Molina. 2008. Can social bookmarking improve web search?. In Proceedings of the 2008 International
Conference on Web Search and Data Mining. 195–206.
[21] Raymond Hill. [n.d.]. uBlock Origin static filter syntax. https://github.com/
gorhill/uBlock/wiki/Static-filter-syntax[22] Ryan Holmes. 2016. The Problem Isn’t Fake News, It’s Bad Algorithms—
Here’s Why. https://observer.com/2016/12/the-problem-isnt-fake-news-its-badalgorithms-heres-why/[23] Stephen Lawrence. 2005. Personalization of web search.
US Patent App.
10/676,711.
[24] Leonard Mlodinow and Stephen Hawking. 2010. The grand design. Random
House.
[25] Efrat Nechushtai. 2018. Could digital platforms capture the media throughinfrastructure? Journalism 19, 8 (2018), 1043–1058. https://doi.org/10.1177/
1464884917725163 arXiv:https://doi.org/10.1177/1464884917725163[26] Raymond S Nickerson. 1998. Confirmation bias: A ubiquitous phenomenon in
many guises. Review of general psychology 2, 2 (1998), 175–220.
[27] House Committee on Judiciary. 2020. Investigation of Competition in Digital Markets. https://judiciary.house.gov/uploadedfiles/competition_in_digital_markets.
pdf[28] Jean-Christophe Plantin, Carl Lagoze, Paul N Edwards, and Christian Sandvig.
2018. Infrastructure studies meet platform studies in the age of Google andFacebook. New Media & Society 20, 1 (2018), 293–310.
[29] Christian Bauckhage Robert Wetzker, Carsten Zimmermann. 2008. Analyzingsocial bookmarking systems: A del. icio. us cookbook.
[30] Dietram A. Scheufele and Nicole M. Krause. 2019. Science audiences, misinformation, and fake news. Proceedings of the National Academy of Sciences 116, 16 (2019), 7662–7669.
https://doi.org/10.1073/pnas.1805871115
arXiv:https://www.pnas.org/content/116/16/7662.full.pdf[31] Sindre Sorhus. [n.d.]. Awesome lists about all kinds of interesting topics. https://github.com/sindresorhus/awesome[32] Miriam Steiner, Melanie Magin, Birgit Stark, and Stefan Geiß. 2020. Seek
and you shall find? A content analysis on the diversity of five searchengines’ results on political queries. Information, Communication & Society 0, 0 (2020), 1–25.
https://doi.org/10.1080/1369118X.2020.1776367
arXiv:https://doi.org/10.1080/1369118X.2020.1776367[33] Joshua Tucker, Andrew Guess, Pablo Barbera, Cristian Vaccari, Alexandra Siegel,
Sergey Sanovich, Denis Stukal, and Brendan Nyhan. 2018. Social Media, Political
Polarization, and Political Disinformation: A Review of the Scientific Literature.
SSRN Electronic Journal (01 2018).
[34] Daniel Tunkelang. 2009. Faceted search. Synthesis lectures on information concepts,
retrieval, and services 1, 1 (2009), 1–80.
[35] uBlockOrigin. [n.d.]. Resources for uBlock Origin, uMatrix: static filter lists.
https://github.com/uBlockOrigin/uAssets[36] Soroush Vosoughi, Deb Roy, and Sinan Aral. 2018. The spread of true and false
news online. Science 359, 6380 (2018), 1146–1151. https://doi.org/10.1126/science.
aap9559 arXiv:https://science.sciencemag.org/content/359/6380/1146.full.pdf[37] Paul Wellstone. 1999. Growing media consolidation must be examined to preserve
our democracy. Fed. Comm. LJ 52 (1999), 551.
[38] WhoTracks.Me. 2019. Adblockers Performance Study. https://whotracks.me/
blog/adblockers_performance_study.html