<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Proofs and Protocols</title>
        <link>https://paragraph.com/@proofs-and-protocols</link>
        <description>A blog about tech and law.</description>
        <lastBuildDate>Fri, 17 Apr 2026 00:20:37 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Browser Extensions, the CFAA and User Control]]></title>
            <link>https://paragraph.com/@proofs-and-protocols/browser-extensions,-the-cfaa-and-user-control-5</link>
            <guid>7g7bMONhEUJ47XoIiqHp</guid>
            <pubDate>Tue, 20 Aug 2024 13:19:40 GMT</pubDate>
            <description><![CDATA[Daniel Barabander and Cooper Kunz> Thank you to Bruno Lulinski, COO of Pluto, and the rest of the Pluto team for their thoughtful feedbac...]]></description>
            <content:encoded><![CDATA[<p>Daniel Barabander and Cooper Kunz</p><p><em>&gt; Thank you to Bruno Lulinski, COO of Pluto, and the rest of the </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://pluto.xyz/"><em><u>Pluto</u></em></a><em> team for their thoughtful feedback and conversation on this article. </em></p><div class="relative header-and-anchor"><h2 id="h-introduction">Introduction</h2></div><p>Congratulations!&nbsp; After months of searching for your dream apartment, you finally found the one.&nbsp; It’s a cute one-bedroom in the Upper East Side.&nbsp; Is it a good deal?&nbsp; Well, no, we already told you it’s in Manhattan.&nbsp; But it has in-unit laundry and a decent view of the city from your weirdly narrow kitchen window, so you’re going to fight like hell to get it.</p><p>You tell the landlord you’d like to apply to get the apartment.&nbsp; This man, who still has a Hotmail email address and to this point has ignored every single question you’ve asked about the apartment not related to rent, responds, letting you know that it will be “competitive” but to start, you should fill out a form and provide a credit report.&nbsp; No promises, but he’ll do his best to consider you.</p><p>You open the form and are immediately uneasy about the number of personal questions being asked of you.&nbsp; Provide your social security number.&nbsp; Provide your date of birth.&nbsp; List every apartment you’ve ever lived in.&nbsp; List every job and every supervisor at that job.&nbsp; Do you own fish?&nbsp;&nbsp;</p><p>Overwhelmed, you scroll to the bottom to see how long this goes on.&nbsp; You see in small font at the end that you consent to your landlord sharing all of this information with a credit bureau to run a credit check.&nbsp; All of this makes you uncomfortable—you’re sharing deeply sensitive information to a Hotmail email address to a man you’ve never met so he can share it with a man he’s never met to run a credit check on you?&nbsp; You start thinking about how many people will apply for this apartment—after all, it’s “competitive”—and the pain of hustling on New York streets for three more weeks to find a place.&nbsp; You just don’t have the time, so you capitulate, fill out the form, and hope for the best.</p><p>There are many broken steps in this flow, but let’s focus on one that feels particularly unnecessary and egregious:&nbsp; you share personal information with an intermediary (your landlord) for him to simply share it with another party (the credit bureau).&nbsp; Why does this step exist?&nbsp; Why can’t you just go to the credit bureau directly and share the results with him?&nbsp; Well, because your landlord doesn’t trust you; he wants independent verification from the bureau.&nbsp; The credit bureau may have an authenticated way to share that information, but unlike the free credit report you could get, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.experian.com/connect/how-it-works"><u>it will cost you, and your landlord will have to set up an account</u></a>.&nbsp; Even if your landlord were to get the information directly from the credit bureau, there’s another problem: information leakage.&nbsp; For example, your landlord only needs to know if your credit score passes a certain threshold, not precisely what number it is (and whatever other details would be leaked in the report).</p><p>Is there a better way to do this?&nbsp; Yes, using cryptography, specifically, zero-knowledge proofs (ZKP).&nbsp; The best way to understand how ZKPs work is through an example.&nbsp; Imagine the following alternative flow.&nbsp; Your landlord tells you that you must provide an authenticated credit report to apply for the apartment.&nbsp; Rather than give your landlord sensitive information like your full social security number, you go to <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://Experian.com">Experian.com</a> and get the credit report yourself.&nbsp; A Chrome Extension you’ve previously installed asks you if you’d like to generate a certificate of the information you see on the page and what information you specifically want to share.&nbsp; You select that you want a certificate of whether your credit score is 740 or higher without revealing exactly what number your credit score is or other information you provided to Experian.&nbsp; The Chrome Extension generates this certificate and allows you to click one button to email it to your landlord (there may be other minimum information you need to share with your landlord to demonstrate you are who you say you are).&nbsp; Your landlord can then verify that certificate on a website of his choice and, with certainty, know that the information was generated by Experian on that specific date for that particular user.</p><p>This flow is not hypothetical; the technology underlying what we’ve just described, called zkTLS, is here, right now, and companies like <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://pluto.xyz/"><u>Pluto</u></a> are beginning to make it available to customers.&nbsp; The certificate you generate is a ZKP, and it piggybacks off of something called the TLS (transport layer security) protocol that already underpins your web browsing experience to guarantee the information you’re proving (e.g., that your credit score is 740 or higher) came from a specific website’s servers (e.g., Experian) and has not been tampered with.&nbsp; TLS is that little thing in your browser that gives it the “lock” or secured icon, the “s” in “https.”</p><p>Think about this seamlessness and interoperability browser extensions and zkTLS can create far beyond the invasive process of applying for an apartment.&nbsp; The combination of zkTLS and a browser extension would mean you could share information from any particular website with any other particular website (or person) without revealing sensitive information you don’t want to share.&nbsp; It would allow you to unchain your data currently siloed within thousands of segregated servers to make it <em>useful</em> outside the specific application it was designed for.</p><p><strong>If you’re a reader of this blog and coming from Web3, your spidey senses are probably tingling at this point.&nbsp; Unchaining data?&nbsp; Dan and Cooper, did you read Chris Dixon’s book?&nbsp; Web2 companies <em>hate</em> unchaining data because selling your data is their business model.&nbsp; Surely, they’ll not be happy with this?</strong></p><p>Indeed, if we return to our apartment example and go to Experian’s <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.experian.com/help/terms-and-conditions/"><u>terms of service</u></a>, we see the following:</p><blockquote><p>The term “Service” includes, but is not limited to, the provision of any of our products and services, including credit report(s), credit risk score(s), credit monitoring, credit score monitoring and credit score tracking (<u>including all the data and information contained therein</u>), the receipt of any alerts notifying you of changes to the information contained in your credit report(s), regardless of the manner in which you receive the Services, whether by email or mail, through a website or mobile application, by telephone, or through any other mechanism by which a Service is delivered or provided to you.</p></blockquote><blockquote><p>Except as expressly contemplated by this Agreement, you shall not . . . distribute, publish, transmit or <u>disseminate, in any form or by any means any part of the Services or Websites</u> . . . use any <u>robot</u>, spider, deep-linking or other process or tool, whether manual or <u>automatic</u>, to access, monitor, retrieve, data mine, reproduce or circumvent any portion of the Services or Websites . . . . [emphasis added]</p></blockquote><p>Let’s look at the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://x.com/en/tos"><u>terms of service</u></a> of another platform, X:</p><blockquote><p><u>You retain ownership and rights to any of your Content you post or share</u>, and you provide us with a broad, royalty-free license to make your Content available to the rest of the world and to let others do the same. Conversely, we provide you a license to use the software we provide as part of the Services, such as the X mobile application, solely for the purpose of enabling you to use and enjoy the benefit of the Services. [emphasis added]</p></blockquote><blockquote><p>You may not do any of the following while accessing or using the Services: access or search or attempt to access or search the Services by any means (<u>automated</u> or otherwise) other than through our currently available, published interfaces that are provided by us (and only pursuant to the applicable terms and conditions), unless you have been specifically allowed to do so in a separate agreement with us (NOTE: <u>crawling or scraping the Services in any form, for any purpose without our prior written consent is expressly prohibited</u>) . . . . [emphasis added]</p></blockquote><p>In both Experian’s and X’s terms, using automated tools to share data obtained from the websites is purportedly forbidden.&nbsp; X’s is particularly confusing because it states that “[y]ou retain ownership and rights to any of your Content . . . .”&nbsp; But you can’t share your data using automated tools?&nbsp; That sure doesn’t sound like ownership, at least not to us.</p><p>So is using a Chrome Extension like we described above permitted on these platforms?&nbsp; It’s ambiguous.&nbsp; On the one hand, you’re accessing data through the platform’s interface and only interacting with and sharing data that your eyeballs can already see.&nbsp; But because you’re using an automated tool or sharing data (that you may “own”) it’s prohibited?&nbsp; What would be the cause of action the platform could pursue against the Chrome Extension provider to try and stop its users from using it on the platform?</p><p><strong>These questions are what prompted this article</strong>.&nbsp; Specifically, while there are many causes of action that a platform could pursue to try and enforce its terms against an extension provider, including breach of contract, privacy-related claims, unfair competition torts, and more, we want to focus on one:&nbsp; the Computer Fraud and Abuse Act (“CFAA”).&nbsp; Specifically, our goal in this article is to better understand the viability of a CFAA claim brought by a platform against browser extension providers that empower users to share or utilize their data outside of the defined methods the platform establishes.&nbsp; To this end, we examined CFAA case law in the most influential court in the country for technology law (the Ninth Circuit).&nbsp; <strong>From our review, we conclude that as long as the browser extension provider does not control the user’s account with the platform (e.g., it does not have the user’s login credentials), a CFAA claim brought by the platform against that provider is unlikely to survive.&nbsp; We thus devise a “user control” theory to understand the CFAA.&nbsp;&nbsp;</strong></p><p>This article proceeds as follows.&nbsp; First, we’ll provide some short background on the CFAA and the form CFAA claims by Web2 platforms usually take.&nbsp; Next, we'll do a deep dive into a 2022 Northern District Court of California case called <em>Meta Platforms v. BrandTotal</em> to define the user control theory and see how it operates.&nbsp; And finally, we’ll pressure test the user control theory against influential Ninth Circuit precedent to demonstrate that it is a cohesive way to understand the CFAA.</p><div class="relative header-and-anchor"><h2 id="h-background-on-the-cfaa">Background on the CFAA</h2></div><p>The CFAA is a federal statute passed in 1986 “to prevent intentional intrusion onto someone else’s computer—specifically, computer hacking.”&nbsp; <em>hiQ Labs, Inc. v. LinkedIn Corp.</em>, 31 F.4th 1180, 1196 (9th Cir. 2022).&nbsp; The CFAA states that “[w]hoever . . . intentionally accesses a computer without authorization or exceeds authorized access . . .&nbsp; and thereby obtains . . . information from any protected computer . . . shall be” liable.&nbsp; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.law.cornell.edu/uscode/text/18/1030"><u>18 USC § 1030(a)(2)(C)</u></a>.&nbsp;&nbsp;</p><p>While the CFAA was originally passed as a hacking statute, over time, Web2 platforms, especially social media companies, have utilized it heavily as a tool to go after scraping services.&nbsp; LinkedIn, X, and Facebook have all brought CFAA claims against scraping companies and other providers for extracting data from their platforms.&nbsp; Intuitively, for a browser extension to read the user’s document, it needs to functionally “scrape” its content, so these “scraping” cases are informative for our inquiry into the CFAA and browser extensions.</p><p>The facts surrounding a CFAA claim by a Web2 company usually follow a familiar pattern.&nbsp; First, the Web2 company will have legal terms with its users that purport to require them to agree not to use automated tools on the company’s website or to otherwise extract information from the website, and the terms also specify that the user owns her data (like X’s we pasted above).&nbsp; Second, the Web2 company will utilize technical tools to proactively prevent bots or other scraping that can make extraction of information at scale feasible (which can be interpreted as enforcing its legal terms with technical measures), such as CAPTCHAs and other bot detection tools and suspicious IP address blocking.&nbsp; Third, when the Web2 company becomes aware of a specific scraping instance that it believes is unauthorized, it will embark on a targeted version of the first two items, legal terms, and technical measures aimed at the scraper, such as by sending a cease and desist to the scraper and blocking the scraper’s IP addresses.</p><p>Returning to the text of the statute, what does it mean to “access[] a computer without authorization or exceed[] authorized access” in the context of a browser extension?&nbsp; That is the crux of the question and what liability usually hinges upon.&nbsp; To answer this question, the core of this article takes a deep dive into a 2022 Northern District Court of California case called <em>Meta Platforms v. BrandTotal</em> and reframes the court’s reasoning under a cohesive legal theory based on control over a user’s account.&nbsp; There are two reasons we’re focusing on this case:</p><ul><li><p><em>First</em>, it is the most relevant case we’ve found to discuss browser extensions and the CFAA because a browser extension is one of the core products at issue in the case.</p></li><li><p><em>Second</em>, the court assessed a variety of products and services with different technical underpinnings as part of the CFAA analysis, which helps us determine a theory for how the technical realities of control dictate the legal analysis.</p></li></ul><p>At the end of this article, we will sanity check our legal theory extracted from <em>BrandTotal </em>against other important precedent, although this article does not purport to have reviewed all applicable CFAA case law.</p><div class="relative header-and-anchor"><h2 id="h-a-review-of-brandtotal">A Review of <em>BrandTotal</em></h2></div><div class="relative header-and-anchor"><h3 id="h-background-on-brandtotals-data-collection">Background on BrandTotal’s Data Collection</h3></div><p>BrandTotal (which now appears to be defunct, but we’ll describe it in the present tense in this article to match the court) is an analytics company that “provides advertising consulting services to corporate clients regarding how those clients’ and their competitors’ digital advertisements are presented to social media users.”&nbsp; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scholar.google.com/scholar_case?case=4586542589494208857&amp;q=provides+advertising+consulting+services+to+corporate+clients+regarding+how+those+clients%E2%80%99+and+their+competitors%E2%80%99+digital+advertisements+are+presented+to+social+media+users.+Meta+Platforms,+Inc.+v.+BrandTotal+Ltd.,+605+F.+Supp.+3d+1218,+1232+(N.D.+Cal.+2022)&amp;hl=en&amp;as_sdt=6,33"><em><u>Meta Platforms, Inc. v. BrandTotal Ltd.</u></em><u>, 605 F. Supp. 3d 1218, 1232 (N.D. Cal. 2022)</u></a> [“<em>BrandTotal</em> MSJ”].&nbsp; “One of its primary methods of collecting that information is incentivizing individual users, whom it refers to as ‘panelists,’ to share data about the advertisements they are served while browsing social networks.”&nbsp; <em>BrandTotal </em>MSJ at 1232.</p><p>BrandTotal offered the following products to users to collect data:</p><ol><li><p>UpVoice 2021:&nbsp; A Chrome extension that passively collected data from a user’s experience on Facebook, including on private pages, and did not have access to user credentials.</p></li><li><p>Restricted Panel Extension (“RPE”):&nbsp; A browser extension that functioned materially the same way as UpVoice 2021, except it was specifically used by contractors BrandTotal hired to surf and scrape data from private pages of Facebook’s website.</p></li><li><p>UpVoice Pre-2021 and legacy products:&nbsp; A version of the UpVoice extension from before the 2021 version and other legacy products that had access to user credentials and would actively collect data from Facebook’s servers, including on private pages.</p></li></ol><p>BrandTotal also engaged in the following data collection on its own accord:</p><ol><li><p>Public scraping:&nbsp; BrandTotal directly scraped public pages of Facebook’s website using its employees’ accounts and automatic scraping tools.</p></li><li><p>Private scraping: BrandTotal purchased and created Facebook accounts that it controlled to scrape data directly from the private pages of Facebook’s website.</p></li></ol><div class="relative header-and-anchor"><h3 id="h-facebooks-attempts-to-limit-access-to-facebook-data">Facebook’s Attempts to Limit Access to Facebook Data</h3></div><p>Facebook’s business is built upon having unilateral control over user data.&nbsp; While Facebook users “‘own the rights in their own information’” per its terms of service, Facebook, like most Web2 companies, engages in two primary mechanisms to lock down data:&nbsp; (1) contractual restrictions and (2) technical restrictions. &nbsp; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scholar.google.com/scholar_case?case=2783200507729716308&amp;q=Facebook,+Inc.+v.+BrandTotal+Ltd.,+499+F.+Supp.+3d+720,+728+(N.D.+Cal.+2020).&amp;hl=en&amp;as_sdt=6,33"><em><u>Facebook, Inc. v. BrandTotal Ltd.</u></em><u>, 499 F. Supp. 3d 720, 728 (N.D. Cal. 2020)</u></a><em> </em>[“<em>BrandTotal</em> TRO”].</p><p>In terms of contractual restrictions, as cited by the court, Facebook’s terms included the following:</p><blockquote><p>All users of the Facebook Network agree to contractual terms including that users will not do anything that would “impair the proper working or appearance” of Facebook’s products, will not access or collect data from Facebook’s products “using automated means” without Facebook’s permission, and will not attempt to access data that the particular user lacks permission to access. All Instagram users similarly agree not to do “anything to interfere with or impair the intended operation” of Instagram, not to “collect[ ] information in an automated way without [Facebook’s] express permission,” not to access information “in unauthorized ways,” and not to violate anyone else’s rights, including intellectual property rights. Users of both networks agree not to do anything unlawful, misleading, or fraudulent, or to facilitate such activity.&nbsp; <em>BrandTotal</em> TRO at 725–26 (internal citations omitted).</p></blockquote><p>In terms of technical restrictions, as cited by the court, Facebook implemented the following controls:&nbsp;</p><blockquote><p>Facebook employs various measures to prevent “scraping”—bulk automated collection—of content from its products, including monitoring usage patterns, using “CAPTCHA” tests to determine whether users are human as opposed to automated programs, and disabling accounts that violate its rules.&nbsp; <em>BrandTotal</em> TRO at 726.</p></blockquote><p>And, as specific to BrandTotal, Facebook applied the following legal and technical restrictions:</p><blockquote><p>On September 30, 2020, Facebook disabled BrandTotal’s accounts on Instagram and the Facebook Network and instated other technological measures to block BrandTotal’s access to Facebook’s products. On October 1, 2020, Facebook filed a civil action against BrandTotal in California state court alleging that the browser extensions breached Facebook’s terms of service. Later that day, Google removed the browser extensions from its Chrome Web Store, which disabled their functionality.&nbsp; <em>BrandTotal</em> TRO at 726.</p></blockquote><div class="relative header-and-anchor"><h3 id="h-examining-the-products-and-services-in-brandtotal">Examining the Products and Services in <em>BrandTotal</em></h3></div><p><strong><em><u>UpVoice 2021:&nbsp; User Controlled</u></em></strong></p><p>UpVoice 2021 was the “primary product at issue” in <em>BrandTotal</em>.&nbsp; <em>BrandTotal </em>MSJ at 1232.&nbsp; It is described as a “browser extension that automatically sends data to BrandTotal while a user browses websites like Facebook . . . .”&nbsp; <em>BrandTotal </em>MSJ at 1232.&nbsp; In exchange for sharing this information, the user would receive “points that can be redeemed for gift cards . . . .”&nbsp; <em>BrandTotal </em>MSJ at 1232.&nbsp; While we will discuss other versions of UpVoice, the latest version discussed in the case was developed in 2021, which we will refer to as “UpVoice 2021”.</p><p>As cited by the court, here is how UpVoice 2021 works:</p><blockquote><p>UpVoice 2021 . . .&nbsp; collects only identifying information for advertisements presented to the user while they are browsing, <u>and does so passively by scanning the HTML code that Facebook serves to the user, without the UpVoice 2021 browser extension actively requesting any further information from Facebook</u>. UpVoice 2021 also prompts users to confirm whether they wish to continue sharing that data when a new user logs into a social media account. Once the identifying information for an advertisement—a unique ID number, as well as the name of the page that sponsored the ad—is transmitted to BrandTotal, BrandTotal’s servers (not the browser extension installed by a panelist) use that information to access the ad on a webpage visible to the general public that does not require logging in with a Facebook username and password, and gather further data about the ad from there.&nbsp; Facebook, Inc. v. Brandtotal Ltd., No. 20-CV-07182-JCS, 2021 WL 2354751, at *3 (N.D. Cal. June 9, 2021) [emphasis added].</p></blockquote><p>We’ve underlined the passive nature of UpVoice 2021 vis-à-vis Facebook, which makes clear the user is in control of her Facebook account and its interaction with Facebook servers, not BrandTotal.&nbsp; Indeed, UpVoice 2021 “merely logs information that Facebook transmits to the user about advertisements in the course of the user’s regular interaction with the website . . . .”&nbsp; <em>BrandTotal </em>MSJ at 1232.&nbsp; There are no allegations that UpVoice collects user credentials, possesses access tokens, or forces BrandTotal’s direct interactions with the Facebook servers.&nbsp; Rather, UpVoice 2021 simply piggybacks on a user’s browsing experience and shares information the user sees with BrandTotal.&nbsp; In the course of browsing Facebook, the user has access to password-protected pages that she is authenticated to see.&nbsp; Information from these pages is also shared with BrandTotal.</p><p>The court held that BrandTotal did <em>not</em> violate the CFAA through UpVoice 2021.&nbsp; The court reasoned that BrandTotal did not “access” Meta’s computers because the program only used “‘reactive’ data collection, logging and sending to BrandTotal data that users receive from Facebook through their normal use of the website.”&nbsp; <em>BrandTotal </em>MSJ at 1260.&nbsp; The court rejected Meta’s argument that because BrandTotal “‘listen[s] to network data being transmitted over the wire’ from Meta’s computers” and “‘pars[es] different elements’ from ‘Facebook’s social feed,’” that this constituted “access” under the CFAA. <em>BrandTotal </em>MSJ at 1260.&nbsp; Specifically, the court stated:</p><blockquote><p>[T]he evidence that Meta cites only describes UpVoice [2021] accessing and processing the data that Meta has sent to the individual users—<u>incidentally</u>, information that Meta has never argued users are not free to share as they see fit—<u>not proactively “accessing” or “communicating with” Meta’s servers</u>. Meta cites no case extending the CFAA to comparable conduct, and the statute is at most ambiguous as to whether it could encompass BrandTotal analyzing data on users' computers that the users are authorized to access from Facebook. Under the rule of lenity, the Court is required to construe such ambiguity narrowly, and holds that the statute does not encompass UpVoice 2021’s data collection, at least where it is installed by individuals who are not subject to any sort of direction by BrandTotal.&nbsp; <em>BrandTotal </em>MSJ at 1260–61 [emphasis added].</p></blockquote><p>The court’s analysis here clarifies that the user-controlled nature of the browsing experience, including on private pages only authenticated users could access, meant that a CFAA claim could not be substantiated.&nbsp; The user was authenticated to access her own data, and merely sharing that data with BrandTotal did not constitute unauthorized access, even if Facebook intended to block BrandTotal from its website.&nbsp;&nbsp;&nbsp;</p><p><strong><em><u>UpVoice Pre-2021 and other Legacy Products: Extension Provider Controlled</u></em></strong></p><p>There was an earlier version of UpVoice, what we’re calling “UpVoice Pre-2021”, which was a browser extension that functioned similarly to UpVoice 2021 but had two key differences:&nbsp; (1) it “actively” and “automatically” requested data from Facebook’s servers for logged-in users, instead of simply scraping information that the user independently requested and (2) it “collected access tokens” and utilized them in its requests to Facebook’s servers.&nbsp; <em>BrandTotal </em>MSJ at 1266.<em>&nbsp; </em>In other words, compared to UpVoice 2021, it had complete control over user accounts and utilized a user's access tokens to access information that the user had not directly requested as part of its organic interaction with Facebook.&nbsp; It “continued requesting data from Facebook and Instagram and sending . . . that data to BrandTotal after Google removed [it] from its online store . . . .”&nbsp; <em>BrandTotal </em>MSJ at 1266.&nbsp; Like UpVoice 2021, because the user would have access to password-protected pages she was authenticated to see, she could share that information with BrandTotal.</p><p>As described by the court, here is how UpVoice Pre-2021 worked:</p><blockquote><p>BrandTotal offered programs called UpVoice [Pre-2021] and Ads Feed [(which we do not assess in this article)] that users could install as extensions for the Google Chrome internet browser, which Facebook alleges worked as follows: Once installed by the users ... [BrandTotal] used the users’ browsers as a proxy to access Facebook computers, without Facebook’s authorization, meanwhile pretending to be a legitimate Facebook or Instagram user. The malicious extensions contained JavaScript files designed to web scrape the user’s profile information, user advertisement interest information, and advertisements and advertising metrics from ads appearing on a user’s account, while the user visited the Facebook or Instagram websites. The data scraped by [BrandTotal] included both public and non-publicly viewable data about the users. [BrandTotal’s] malicious extensions were designed to web scrape Facebook and Instagram user profile information, regardless of the account’s privacy settings. The malicious extensions were programmed to send unauthorized, automated commands to Facebook and Instagram servers purporting to originate from the user (instead of [BrandTotal]), web scrape the information, and send the scraped data to the user’s computer, and then to servers that [BrandTotal] controlled.&nbsp; <em>BrandTotal </em>TRO at 726.</p></blockquote><p>The court also discussed other “legacy” products, including “Story Savebox” and “Anonymous Story Viewer” (“ASV”), which functioned similarly to UpVoice Pre-2021 from a CFAA perspective. The court noted that ASV “collected and exfiltrated users session ID tokens and sessions IDs, which would be sufficient for a third party to make requests to Instagram servers as if that third party were the user.” <em>&nbsp;BrandTotal </em>MSJ at 1234.</p><p>The court granted Meta’s motion for summary judgment that UpVoice Pre-2021 and these other legacy products <em>did</em> violate the CFAA.&nbsp; The court described the way UpVoice Pre-2021 worked as a “method of hijacking a user’s logged-in session with Facebook . . . to manipulate Meta’s servers to divulge further information . . . .”&nbsp; <em>BrandTotal </em>MSJ at 1267.&nbsp; The court distinguished between the access of the user versus BrandTotal:</p><blockquote><p>[I]t is of no consequence whether BrandTotal had permission from its panelists [users] to use their accounts for data collection. Once Meta revoked BrandTotal’s authorization to access its platforms, BrandTotal’s continued use of its various programs to actively collect data while panelists were logged into Facebook—which it had the power to stop, but did not before February of 2021—violated the CFAA.&nbsp; <em>BrandTotal </em>MSJ at 1267.</p></blockquote><p>While UpVoice Pre-2021 and UpVoice 2021 had the same “end”—sharing private Facebook data with BrandTotal—the means to the end completely differed between the applications, which was determinative under the CFAA.&nbsp; UpVoice Pre-2021 “hijack[ed] a user’s logged-in session,” while UpVoice 2021 had no control over users’ accounts. This completely changed the CFAA analysis because BrandTotal, not the user, directly communicated with Facebook’s servers.&nbsp; After Facebook attempted to block BrandTotal’s access, its continued direct interaction with Facebook’s servers through users’ accounts violated the CFAA.</p><p><strong><em><u>RPE:&nbsp; User Controlled</u></em></strong></p><p>BrandTotal also engaged in direct scraping of private Facebook pages by “hir[ing] contractors to gather data using a program called the ‘Restricted Panel Extension’ [(RPE)] for advertisements that are not available to the public and instead require a user to be logged in (for example, age-restricted ads for alcohol) . . . .”&nbsp; <em>BrandTotal </em>MSJ at 1232.&nbsp; Here, “BrandTotal collects data by directing an individual it has contracted with through a third party to install the RPE and visit specific restricted pages while logged into Facebook using that individual’s own account.”&nbsp; <em>BrandTotal </em>MSJ at 1268.</p><p>From our read of how RPE worked, it functioned similarly to UpVoice 2021, with the only difference being it involved users who were contracted by BrandTotal to use the site.&nbsp; As the court stated, “Meta’s briefs do not identify any relevant technological difference between the RPE and UpVoice 2021, instead focusing on the fact that the RPE is an ‘internal tool’ used by someone working at BrandTotal’s direction.” <em>BrandTotal </em>MSJ at 1268.&nbsp; The court continued, "[t]here is no indication that Facebook has denied authorized access to the individual who uses the RPE, in their capacity.”&nbsp; <em>BrandTotal </em>MSJ at 1268.&nbsp; The court laid out the issue as follows:</p><blockquote><p>The question, then, is whether someone who lacks authorized access to a computer violates the CFAA by soliciting someone who has access to obtain particular data from the computer.&nbsp; <em>BrandTotal </em>MSJ at 1268.</p></blockquote><p>From its review of various precedent, the court concluded that “[f]ew courts have addressed that fact pattern, but the limited authority available suggests that hiring an authorized intermediary to obtain data from a computer the principal is not authorized to access does not violate the statute,” and therefore did not violate the CFAA:</p><blockquote><p>Meta highlight’s the court’s conclusion that “once authorization to access a computer has been affirmatively revoked, the user cannot sidestep the statute by going through the back door and accessing the computer through a third party.” But that case [Meta cited, <em>Nosal III</em>,] involved unauthorized parties using an authorized user’s credentials to interact with the computer—more comparable to BrandTotal’s older products that affirmatively requested data from Meta’s servers after an authorized user had logged in—not merely soliciting an authorized user to collect and provide information, or even “look[ing] over the shoulder of the authorized user,” as BrandTotal essentially does with the RPE.&nbsp; <em>BrandTotal </em>MSJ at 1268–70.</p></blockquote><blockquote><p>An unauthorized person hiring an authorized agent to extract information from a computer system may violate any number of other laws, particularly if the information at issue is protected as trade secrets or intellectual property. But extending the CFAA to encompass such conduct risks “transform[ing] the CFAA from an anti-hacking statute into an expansive misappropriation statute.” Meta cites no case applying the statute to similar facts, and the Court declines to extend it to do so. While this interpretation of the CFAA . . . might limit its usefulness for services like Meta that generally make authorized access available for the asking, that outcome would be consistent with the Ninth Circuit’s view that the CFAA is focused on hacking and not applicable to public websites. <em>BrandTotal </em>MSJ at 1269–70.</p></blockquote><p>Without access to their credentials, the contractors using RPE maintained full autonomy over their accounts.&nbsp; This meant that, like UpVoice 2021, BrandTotal’s role was passive, “look[ing] over the shoulder of the authorized user” rather than making requests in the shoes of an authorized user.&nbsp; The fact that BrandTotal had paid these contractors to act as authorized users did not change the analysis, highlighting how crucial technological realities are to the CFAA analysis.</p><p><strong><em><u>BrandTotal Scraping:&nbsp; BrandTotal Controlled</u></em></strong></p><p>Rather than going through Facebook users, BrandTotal also directly scraped pages on Facebook for data.&nbsp; It did this in two ways:&nbsp; (1) through public scraping where no account was needed and (2) by establishing its own Facebook accounts and scraping the data directly.</p><p>As to the public scraping, BrandTotal’s “servers collect data directly from webpages that are publicly available for most advertisements on Facebook . . . .”&nbsp; <em>BrandTotal </em>MSJ at 1232.&nbsp; Meta revoked BrandTotal’s direct access in October 2020, yet BrandTotal continued to access the site.&nbsp; <em>BrandTotal </em>MSJ at 1261.&nbsp; Consistent with binding precedent (<em>hiQ</em>, discussed below), the court granted BrandTotal’s motion for summary judgment that continued access to a public webpage after a party’s access has been revoked does <em>not</em> constitute a violation of the CFAA because “the concept of ‘without authorization’ does not apply to public websites.”&nbsp; <em>BrandTotal </em>MSJ at 1261 (quoting <em>hiQ</em>).&nbsp; The court rejected Meta’s argument “that the advertisement pages at issue are not actually public, but instead that ‘the general default for [those pages] is password protection’ because while ‘Meta allows non-authenticated users to access certain ad URLs a very limited number of times, it then redirects them to a log-in page and prevents further access.’”&nbsp; <em>BrandTotal </em>MSJ at 1261.&nbsp; The court equated these restrictions to technological measures that “attempt to block automated and otherwise suspicious access, which the Ninth Circuit apparently considered insufficient to bring LinkedIn’s otherwise public pages within the scope of the CFAA” in a prior binding case.&nbsp; <em>BrandTotal </em>MSJ at 1261.</p><p>As stated by the court:</p><blockquote><p>[T]he Court holds that where a website is made available to the public without any authentication requirement in at least the first instance, “the concept of ‘without authorization’ does not apply,” even if the owner employs technological measures to block specific users, suspicious activity, or—as here—repeated access beyond a particular threshold. To hold otherwise could bring conduct ranging far beyond the CFAA’s purpose of preventing “hacking” within its scope of potential criminal liability, such as a user accessing a newspaper’s website from a smartphone after receiving notice on their computer that they had reached their monthly limit of free articles. <em>BrandTotal </em>MSJ at 1262 [internal citations omitted].</p></blockquote><p>As to the private scraping, BrandTotal engaged in direct scraping of private Facebook pages by “us[ing] Facebook accounts that it purchased or created (which BrandTotal refers to internally as ‘Muppets’) to access information on Facebook.”&nbsp; <em>BrandTotal </em>MSJ at 1232.&nbsp; The court held that “Meta is entitled to summary adjudication that direct access by BrandTotal to password-protected areas of Meta’s platforms violated the CFAA . . . .”&nbsp; <em>BrandTotal </em>MSJ at 1268.</p><p>Comparing the public versus private nature of direct scraping, we can see the user control theory take hold.&nbsp; For the public scraping, while BrandTotal was in complete control over the scraping, given the public nature of the pages, <em>there was no account to take control over to begin with</em>, meaning that BrandTotal’s access could not be unauthorized.&nbsp; But with the private scraping, BrandTotal was in complete control over the “Muppet” accounts as they accessed private data.<strong>&nbsp; </strong>Once Facebook removed BrandTotal’s access through these accounts, continued access to private pages violated the CFAA.&nbsp;&nbsp;</p><hr><p>To summarize:&nbsp; Access to user-authenticated pages that the user requested from the Web2 company’s servers, as well as access to publicly available pages, was not the basis for a CFAA violation for the provider because the provider did not control the user’s account, and therefore, requests.&nbsp; Conversely, access to a user’s authorization tokens to view pages that the user did not request on her own was a sufficient basis for a CFAA violation.</p><div class="relative header-and-anchor"><h2 id="h-pressure-testing-the-control-legal-theory-against-influential-precedent">Pressure Testing the Control Legal Theory Against Influential Precedent&nbsp;</h2></div><p>In this section of this article, we pressure test our control legal theory extracted from <em>BrandTotal</em> by examining influential precedent from the Supreme Court and Ninth Circuit (much of the same precedent <em>BrandTotal </em>reviewed).&nbsp; We conclude that these cases are consistent with a user control theory of CFAA liability (which makes sense because <em>BrandTotal</em> is bound by and cited such precedent).&nbsp; We also examine a recent CFAA case outside of the Ninth Circuit, which stands in tension with the user control theory, but explain why we think it has limited applicability to typical extension providers.</p><p><strong><em><u>Van Buren v. United States</u></em><u> (S. Ct.&nbsp; 2021)</u></strong></p><p>In <em>Van Buren v. United States</em>, the Supreme Court held that a “former police sergeant, [who] ran a license-plate search in a law enforcement computer database in exchange for money” did not violate the CFAA.&nbsp; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scholar.google.com/scholar_case?case=11412590121623247795&amp;q=Van+Buren+v.+United+States+&amp;hl=en&amp;as_sdt=6,33"><em><u>Van Buren v. United States</u></em><u>, 141 S. Ct. 1648, 1652 (2021)</u></a>.&nbsp; To access the database, “Van Buren used his patrol-car computer to access the law enforcement database with his valid credentials.”&nbsp; <em>Van Buren</em> at 1653.&nbsp; The court reasoned that the CFAA “covers those who obtain information from particular areas in the computer—such as files, folders, or databases—to which their computer access does not extend. It does not cover those who, like Van Buren, have improper motives for obtaining information that is otherwise available to them.”&nbsp; <em>Van Buren</em> at 1652.&nbsp; While this case is not a perfect parallel to browser extensions, particularly because the third party at issue was not prosecuted, we can see the case is consistent with the user control theory.&nbsp; This is because an authorized user requested data to share with a third party, and a policy forbidding such a use case could not substantiate a CFAA claim, eve<em>n if the search was at the request of a third party </em>who was unauthorized.&nbsp;&nbsp;</p><p><strong><em><u>hiQ v. LinkedIn</u></em><u> (9th Cir. 2022)</u></strong></p><p>In <em>hiQ v. LinkedIn</em>, the Ninth Circuit held that a data scraper extracting information from users’ public pages did not violate the CFAA (at least for the purposes of granting hiQ a preliminary injunction against LinkedIn).&nbsp; hiQ was a data analytics company that used “automated bots” to “scrape[] information that LinkedIn users have included on public LinkedIn profiles” and “use[d] that information, along with a proprietary predictive algorithm, to yield ‘people analytics,’ which it sells to business clients.”&nbsp; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scholar.google.com/scholar_case?case=10235765403789523419&amp;q=hiQ+v.+LinkedIn&amp;hl=en&amp;as_sdt=6,33"><em><u>hiQ Labs, Inc. v. LinkedIn Corp.</u></em><u>, 31 F.4th 1180, 1187 (9th Cir. 2022)</u></a>.&nbsp; hiQ did not have any access to users’ accounts and did not need such access because all data it scraped was on publicly available pages.&nbsp; After becoming aware of hiQ’s conduct, “LinkedIn sent hiQ a cease-and-desist letter, asserting that hiQ was in violation of LinkedIn’s User Agreement and demanding that hiQ stop accessing and copying data from LinkedIn’s server.”&nbsp; <em>hiQ</em> at 1187.&nbsp; The letter further stated that LinkedIn had “‘implemented technical measures to prevent hiQ from accessing, and assisting others to access, LinkedIn's site, through systems that detect, monitor, and block scraping activity.’” <em>hiQ</em> at 1187.&nbsp; Despite this letter and technical measures, hiQ continued to scrape.&nbsp; The Ninth Circuit held that there were serious questions on whether LinkedIn could invoke the CFAA:</p><blockquote><p>[I]t appears that the CFAA's prohibition on accessing a computer “without authorization” is violated when a person circumvents a computer’s generally applicable rules regarding access permissions, such as username and password requirements, to gain access to a computer. It is likely that when a computer network generally permits public access to its data, a user’s accessing that publicly available data will not constitute access without authorization under the CFAA. The data hiQ seeks to access is not owned by LinkedIn and has not been demarcated by LinkedIn as private using such an authorization system. HiQ has therefore raised serious questions about whether LinkedIn may invoke the CFAA . . . .&nbsp; <em>hiQ</em> at 1201.</p></blockquote><p>While <em>hiQ </em>is frequently cited for the proposition that the CFAA does not apply to public pages, as discussed in our analysis of <em>BrandTotal</em>, we can reframe its reasoning in terms of a user control theory.&nbsp; A purely public page has no account to take control over in the first instance, meaning the extension provider exercises no control.&nbsp; Thus, <em>hiQ</em> is consistent with the user control theory.</p><p><strong><em><u>Facebook v. Power Ventures</u></em><u> (9th Cir. 2016)</u></strong></p><p>In <em>Facebook v. Power Ventures</em>, the Ninth Circuit held that the social networking site that scraped Facebook data, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://Power.com">Power.com</a>, violated the CFAA.&nbsp; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://Power.com">Power.com</a> was a site that “aggregate[d] the user’s social networking information” across various social media sites.&nbsp; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scholar.google.com/scholar_case?case=15088098698953309455&amp;q=Facebook+v.+Power+Ventures+(9th+Cir.+2016)&amp;hl=en&amp;as_sdt=6,33"><em><u>Facebook, Inc. v. Power Ventures, Inc.</u></em><u>, 844 F.3d 1058, 1062 (9th Cir. 2016)</u></a>.&nbsp; The crux of the case revolved around a promotional campaign Power ran on its website in which a user would click a button and share the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://Power.com">Power.com</a> website with her friends in return for the chance to win $100.&nbsp; <em>Power Ventures</em> at 1063.&nbsp; Crucially, however, as alleged by Facebook in the complaint, “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://Power.com">Power.com</a> requires that users provide it with their Facebook username and password” to <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://Power.com">Power.com</a>, and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://Power.com">Power.com</a> “stores these passwords outside of Facebook’s network . . . .”&nbsp; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://storage.courtlistener.com/recap/gov.uscourts.cand.210110/gov.uscourts.cand.210110.1.0.pdf"><u>Compl. ¶ 45</u></a>.&nbsp; With full access to these users’ accounts, “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://Power.com">Power.com</a> began to ‘scrape’ proprietary data from Facebook users who had given their login credentials . . . [t]his data was copied from Facebook’s site and re-purposed and re-displayed on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://Power.com">Power.com</a>’s site.”&nbsp; Compl. ¶ 47.&nbsp; Eventually, Facebook sent Power a cease and desist letter and instituted IP address barriers in an attempt to stop Power, but Power “deliberately disregarded the cease and desist letter” and “circumvented [the] IP barriers,” and continued to carry out its activity.&nbsp; <em>Power Ventures</em> at 1068.&nbsp; The Ninth Circuit held that Power violated the CFAA by continuing to access the site after receiving the cease and desist.&nbsp; In describing why, the court crafted the following helpful (and colorful) analogy:</p><blockquote><p>The consent that Power had received from Facebook users was not sufficient to grant continuing authorization to access Facebook’s computers after Facebook's express revocation of permission. An analogy from the physical world may help to illustrate why this is so. Suppose that a person wants to borrow a friend’s jewelry that is held in a safe deposit box at a bank. The friend gives permission for the person to access the safe deposit box and lends him a key. Upon receiving the key, though, the person decides to visit the bank while carrying a shotgun. The bank ejects the person from its premises and bans his reentry. The gun-toting jewelry borrower could not then reenter the bank, claiming that access to the safe deposit box gave him authority to stride about the bank’s property while armed. In other words, to access the safe deposit box, the person needs permission <em>both</em> from his friend (who controls access to the safe) <em>and</em> from the bank (which controls access to its premises). Similarly, for Power to continue its campaign using Facebook’s computers, it needed authorization both from individual Facebook users (who controlled their data and personal pages) and from Facebook (which stored this data on its physical servers). Permission from the users alone was not sufficient to constitute authorization after Facebook issued the cease and desist letter.&nbsp; <em>Power Ventures</em> at 1068.</p></blockquote><p>The court’s analogy makes clear that once a party has complete control over an account (or has the “key”) when that party uses the account to access a platform (or the “bank’s property”), if that account is denied access by the party, continued access would constitute a violation of the CFAA.&nbsp; This is entirely consistent with the user control legal theory; by having complete control over the user’s account, continued use of that account after the party has been banned from the platform will violate the CFAA.&nbsp; With full access to users’ credentials, Power fully controlled users’ accounts, and its continued access through these accounts after it had been blocked constituted a violation of the CFAA.&nbsp;&nbsp;</p><p>Finally, a word about a specific line in <em>Power Ventures </em>that has been cited for positions that run in tension with the user control theory (which we’ll discuss in <em>Ryanair</em> below).&nbsp; In its decision, the court reviewed two previous Ninth Circuit opinions that interpreted the “authorization” concept under the CFAA, <em>LVRC Holdings v. Brekka</em> and <em>Nosal I</em> (discussed below).&nbsp; After providing a review of the cases, the court concluded as follows:</p><blockquote><p>From those cases, we distill two general rules in analyzing authorization under the CFAA. First, a defendant can run afoul of the CFAA when he or she has no permission to access a computer or when such permission has been revoked explicitly. <u>Once permission has been revoked, technological gamesmanship or the enlisting of a third party to aid in access will not excuse liability.</u> Second, a violation of the terms of use of a website—without more—cannot establish liability under the CFAA.&nbsp; Facebook, Inc. v. Power Ventures, Inc., 844 F.3d 1058, 1067 (9th Cir. 2016). Our analysis also is consistent with United States v. Nosal, 828 F.3d 865 (9th Cir. 2016) (“<em>Nosal II</em>”). <em>Power Ventures</em> at 1067.&nbsp; [emphasis added]</p></blockquote><p>We’ve underlined the line we’re referring to, which discusses “enlisting of a third party to aid in access.”&nbsp; Read without context, because this line is silent on whether the third party has control over the account, it could be read for the conclusion that such level of control is not required to establish a CFAA violation.&nbsp; However, neither <em>Brekka</em> nor <em>Nosal I</em> (or <em>Nosal II</em>, cited at the end of the quote) stands for such a proposition.&nbsp; <em>Brekka</em> did not involve an unauthorized party enlisting a third party to access a computer system, so if it stands for anything, it would be the “technological gamesmanship” point.&nbsp; (While the defendant did email the files at issue to his wife, there is no allegation the wife aided his access.)&nbsp; And while <em>Nosal I</em> does involve a third party, as we’ll discuss next, the “enlisting of a third party to aid in access” is entirely control-rooted <em>because the unauthorized party controlled the third party’s account</em>.&nbsp; We will return to this line in our <em>Ryanair</em> discussion below.&nbsp;</p><p><strong><em><u>The “Nosal Cases” (Nosal I (9th Cir. 2012), Nosal II (N.D. Cal. 2013), and Nosal III (9th Cir. 2016))</u></em></strong></p><p>The “<em>Nosal</em> Cases,” which involve the same case being brought before the Northern District of California and the Ninth Circuit numerous times with a slightly different fact pattern, provide helpful contours for a user control theory under the CFAA.&nbsp;</p><p>In <em>Nosal I</em>, an employee named David Nosal of an executive search firm, Korn/Ferry, left his job and “convinced some of his former colleagues who were still working [at the firm] to help him start a competing business.”&nbsp; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scholar.google.com/scholar_case?case=6467165848291343398&amp;q=United+States+v.+Nosal,+676+F.3d+854,+856&amp;hl=en&amp;as_sdt=6,33"><em><u>United States v. Nosal</u></em><u>, 676 F.3d 854, 856 (9th Cir. 2012)</u></a> [“<em>Nosal I</em>”].&nbsp; “The employees used their log-in credentials to download source lists, names and contact information from a confidential database” called “Searcher” “and then transferred that information to Nosal.” <em>Nosal I</em> at 856.&nbsp; While “[t]he employees were authorized to access the database,” the firm “had a policy that forbade disclosing confidential information.”&nbsp; <em>Nosal I</em> at 856.&nbsp; Nosal was criminally charged “with violations of [the CFAA], for aiding and abetting . . . employees in ‘exceed[ing their] authorized access’ with intent to defraud.”&nbsp; <em>Nosal I</em> at 856.&nbsp; The court held that “[b]ecause Nosal’s accomplices had permission to access the company database and obtain the information contained within, the government's charges” on the CFAA must be dismissed.&nbsp; <em>Nosal I</em> at 864.&nbsp; This holding is consistent with a user control theory—Nosal may have requested the employees to use their authorized access but did not control those users’ access credentials and, therefore, could not be liable under the CFAA (for these charges).</p><p>In <em>Nosal II</em>, “[o]n remand to the district court, the prosecution asserted additional facts regarding other individuals: an authorized user, J.F., ‘logged on to the computer using her credentials, then handed over the computer terminal to M.J. [an unauthorized user], who ran his own searches through the . . . database and then downloaded files therefrom.’”&nbsp; <em>BrandTotal</em> MSJ at 1269; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scholar.google.com/scholar_case?case=3599880567068393965&amp;q=United+States+v.+Nosal,+930+F.+Supp.+2d+1051,+1063+(N.D.+Cal.+2013)&amp;hl=en&amp;as_sdt=6,33"><em><u>United States v. Nosal</u></em><u>, 930 F. Supp. 2d 1051, 1063 (N.D. Cal. 2013)</u></a> [“<em>Nosal II</em>”].&nbsp; With access to the computer with the logged-in user’s credentials, M.J. had complete control over J.F.’s account and was able to carry out the unauthorized searches.&nbsp; The court “held that was sufficient to allege that M.J. accessed the computer without authorization, as it was equivalent to using J.F.’s credentials to access what M.J. was not himself authorized to access.”&nbsp; <em>BrandTotal</em> MSJ at 1269.&nbsp; The court explicitly distinguished this active control over an authorized user’s account from the scenario of an unauthorized user simply “look[ing] over the shoulder of the authorized user to view password protected information or files,” saying it “need not opine” on that issue in this case.&nbsp; <em>Nosal II</em> at 1063.&nbsp; <em>Nosal II</em> shows a key distinction from <em>Nosal I</em> that further supports a user control theory:&nbsp; the unauthorized user in <em>Nosal II</em> had full access to user credentials, which was not the case in <em>Nosal I</em>.&nbsp; The difference was determinative for CFAA liability.&nbsp;&nbsp;</p><p>Finally, in <em>Nosal III</em>, “the relevant facts were that after Nosal and his accomplices had left the company, the accomplices continued to access its network using the access credentials of Nosal's former executive assistant, who continued to work there at Nosal’s request.”&nbsp; <em>BrandTotal</em> MSJ at 1269.&nbsp; The court affirmed Nosal’s conviction for the same reason as in <em>Nosal II</em>—an unauthorized user obtaining full access to an employee’s account through an authorized user’s username and password constituted a violation of the CFAA:</p><blockquote><p>Implicit in the definition of authorization is the notion that someone, including an entity, can grant or revoke that permission. Here, that entity was Korn/Ferry, and [a former employee] had no mantle or authority to override Korn/Ferry’s authority to control access to its computers and confidential information by giving permission to former employees whose access had been categorically revoked by the company. Korn/Ferry owned and controlled access to its computers, including the Searcher database, and it retained exclusive discretion to issue or revoke access to the database. By revoking Nosal’s login credentials on December 8, 2004, Korn/Ferry unequivocally conveyed to Nosal that he was an “outsider” who was no longer authorized to access Korn/Ferry computers and confidential information, including Searcher. Korn/Ferry also rescinded [two other former employees’] credentials after they left, at which point the three former employees were no longer “insiders” accessing company information. Rather, they had become “outsiders” with no authorization to access Korn/Ferry's computer system.&nbsp; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scholar.google.com/scholar_case?case=440835635404733876&amp;q=United+States+v.+Nosal,+844+F.3d+1024,+1035%E2%80%9336+(9th+Cir.+2016)&amp;hl=en&amp;as_sdt=6,33"><em><u>United States v. Nosal</u></em><u>, 844 F.3d 1024, 1035–36 (9th Cir. 2016)</u></a>.</p></blockquote><p>Again, an unauthorized user with complete control of an authorized user’s account could substantiate a CFAA violation, further supporting the user control theory.</p><p><strong><em><u>Koninklijke Philips (N.D. Cal. 2015)</u></em></strong></p><p>In <em>Koninklijke Philips v. Elec-Tech</em>, the Northern District of California held that unauthorized third parties (ETI, ETI-HK, Mr. Wang, and Ms. Chen, “CFAA Defendants”) to a company’s computer system did not violate the CFAA by receiving documents from an authorized user (Dr. Chen).&nbsp; <em>Koninklijke Philips N.V. v. Elec-Tech Int’l Co.</em>, No. 14-CV-02737-BLF, 2015 WL 1289984, at 4 (N.D. Cal. Mar. 20, 2015).<em>&nbsp; </em>The plaintiffs alleged that the CFAA Defendants violated the CFAA “through Dr. Chen as their agent – essentially that Dr. Chen, though himself authorized to access the data, was a conduit by which the CFAA Defendants engaged in their own unauthorized access.”<em>&nbsp; Koninklijke Philips at </em>4.&nbsp; The court explained that this agency theory of liability could not stand because the unauthorized third parties did not have control over the account that accessed the computer system:</p><blockquote><p>Plaintiffs here make no allegation that either Mr. Wang or Ms. Chan was given Dr. Chen’s password and then ran searches, nor do they allege that either individual Defendant in any way accessed or downloaded information from Lumileds’ network. By the Complaint's own allegations, none of the CFAA Defendants accessed Lumileds’ information–Dr. Chen did, at a time when he was authorized to download this information. Even if he misappropriated the information, and gave it to the CFAA Defendants, <em>Nosal</em> forecloses a claim against those Defendants under the CFAA because they themselves did not hack Lumileds’ system. Plaintiffs’ argument that Dr. Chen and the CFAA Defendants were essentially “acting as one” for purposes of accessing the files does not save Plaintiffs’ CFAA claim. Rather, it shows that this case is factually quite similar to <em>Nosal</em>: it is alleged that outsiders convinced an insider to access information the insider was authorized to access, then hand that information over to the outsiders. While such allegations could possibly state a claim for misappropriation, they cannot state a claim under the CFAA after <em>Nosal</em>. Reading the CFAA in its context as an anti-hacking statute, “access” means something more than persuading someone to procure information you desire. Instead, as described by the district court in <em>Nosal II</em>, “[t]he common definition of the word ‘access’ encompasses not only the moment of entry, but also the ongoing use of a computer system.” None of the CFAA Defendants entered or used Lumileds’ network. At most, they encouraged Dr. Chen to do so, and stood to benefit from the alleged misappropriation. This action may give rise to a number of claims, but it does not support a theory of liability under the CFAA.&nbsp; <em>Koninklijke Philips</em> at *4 [internal citations omitted].</p></blockquote><p>The court makes clear that merely “persuading someone to procure information you desire” is not actionable. Control over the account beyond the point of entry was required, and that control is best represented by having access to the authorized user’s login credentials.</p><p><strong><em><u>Countervailing Theories</u></em></strong></p><p>While we feel confident in the user control theory as a sensible way to understand the CFAA (particularly in the Ninth Circuit), we must acknowledge that some courts have taken interpretations that are in tension with this view.&nbsp; For example, in July 2024, a jury in the District Court of Delaware (the Third Circuit) found Booking Holdings (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://Booking.com">Booking.com</a>, Kayak, etc.) <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://storage.courtlistener.com/recap/gov.uscourts.ded.73139/gov.uscourts.ded.73139.457.0_2.pdf"><u>liable</u></a> for “intentionally direct[ing], encourag[ing], or induc[ing]” a third party to extract booking information from a private portion of the Ryanair website (called myRyanair) in violation of the CFAA.&nbsp; Booking Holdings had agreements with vendors like Etraveli to collect “Ryanair flight information and book Ryanair flights by sending requests for these actions from their websites to the vendor websites.”&nbsp; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scholar.google.com/scholar_case?case=11664939805665763600&amp;q=Ryanair+DAC+v.+Booking+Holdings+Inc.,&amp;hl=en&amp;as_sdt=6,33"><em><u>Ryanair DAC v. Booking Holdings Inc.</u></em><u>, 636 F. Supp. 3d 490, 503 (D. Del. 2022)</u></a> [“<em>Ryanair</em> MTD”]; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://digitalcommons.law.scu.edu/cgi/viewcontent.cgi?article=3869&amp;context=historical"><em><u>Ryanair DAC v. Booking Holdings Inc.</u></em><u>, No. 1:20-cv-01191 (D. Del. 2024) at 39</u></a> [“<em>Ryanair</em> MSJ”].&nbsp; Under the user control theory we’ve delineated, because Booking Holdings did not control these vendors’ credentials, it should not be liable under the CFAA.&nbsp; However, in direct contrast to the independent contractors in <em>BrandTotal</em> (“the limited authority available suggests that hiring an authorized intermediary to obtain data from a computer the principal is not authorized to access does not violate the statute,” <em>BrandTotal</em> MSJ at 1268), the court held on a motion to dismiss (and affirmed this reasoning on a motion for summary judgment) that Booking Holdings could be vicariously liable for directing, encouraging, or inducing these vendors’ own CFAA violations:</p><blockquote><p>In sum, to the extent the defendants argue that the complaint was insufficient because it failed to allege the existence of a formal agency relationship between the defendants and the aggregators, the short answer is that the existence of an agency (or master-servant) relationship is not a necessary predicate for liability on a “direct, encourage, or induce” theory. <u>As indicated in the cases cited above</u>, even if the aggregators are independent contractors and not agents of the defendants, the defendants can be held liable simply based on evidence that the defendants induced the aggregators to commit violations of the CFAA.&nbsp; <em>Ryanair</em> MTD at 503. [emphasis added]</p></blockquote><p>Of the cases the court cites for this proposition (“in the cases cited above”), the only circuit case it cites on the motion to dismiss is <em>Power Ventures</em>, quoting the line we called out above when discussing that case:&nbsp; “Once permission has been revoked, technological gamesmanship or the enlisting of a third party to aid in access will not excuse liability.”&nbsp; <em>Power Ventures</em> at 1067.&nbsp; The court again cites this case in its order on the motion for summary judgment as the only case supporting this proposition.&nbsp; <em>Ryanair</em> MSJ at 39 (“The defendants cannot now avoid liability simply because third parties access the Ryanair website to obtain the relevant information and make bookings for the defendants’ customers,” citing <em>Power Ventures</em>).&nbsp; Yet, as discussed above, this line does<em> not</em> support the proposition that it is cited for, that “defendants can be held liable simply based on evidence that the defendants induced the aggregators to commit violations of the CFAA.” Instead, this line is a clear callout to <em>Nosal I</em>, where a user control theory of liability was central to the case:&nbsp; the “enlisting of a third party to aid in access” is control rooted <em>because the unauthorized party controlled the third party’s account</em>.&nbsp; While, in its motion to dismiss, the court does cite a series of district court opinions from outside the Ninth Circuit that appear to support its conclusion (and it is not bound by <em>Power Ventures</em>), it is imprecise as it relates to <em>Power Ventures</em>.</p><p>Even if we accept the “directing, encouraging, or inducing” with no control over user accounts theory of liability, we think it still has limited applicability to ordinary use of extensions.&nbsp; We can analogize Ryanair as the platform, Booking Holdings as the extension provider, and the vendor as the user.&nbsp; In <em>Ryanair</em>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://Booking.com">Booking.com</a> had a contractual relationship with the vendors, which “the complaint alleges that the Defendants specifically direct one or more of those third parties to access the myRyanair portion of the Ryanair website when a user purchases a particular Ryanair flight itinerary on one of the defendants’ websites.”&nbsp; <em>Ryanair</em> MTD at 502.&nbsp; While an extension provider may have terms of service with an extension user, the purpose of the contract is typically not going to be for the user to act as a service provider for the extension provider (although some extensions/programs, like RPE, may blur the line).&nbsp; The <em>Ryanair</em> case involves a level of directness that stands in stark contrast to a user who is simply experiencing a website with an extension running and passively shares information with the extension provider.</p><p>Furthermore, <em>Ryanair</em> makes clear that a necessary condition for establishing vicarious liability to Booking Holdings is that the vendor itself violated the CFAA.&nbsp; <em>Ryanair</em> MSJ at 39 (“<em>If</em> the vendors’ actions are in violation of the CFAA, then the defendants can be held liable.” (emphasis added)).&nbsp; While in <em>Ryanair</em> this presumably involved showing how the vendors evaded the legal and technical restrictions at trial, a typical extension user will not take action besides merely downloading the extension.&nbsp;&nbsp;</p><p>Thus, to the extent that the more indirect control over a third party prevails as a legal theory, the applicability to typical browser extensions is likely limited.</p><div class="relative header-and-anchor"><h2 id="h-conclusion">Conclusion</h2></div><p>Browser extensions provide a convenient, user-friendly way for end users to access their own data locked behind Web2 platforms, and they help achieve user autonomy and self-custody of personal user data.&nbsp; Web2 companies understandably do not want to cede user ownership/control over their own data (despite often explicitly stating otherwise in their terms of service) because their business models depend on total control over user data, which they are then able to sell to advertisers, and more increasingly, LLM providers.&nbsp; We expect Web2 companies to only increase their use of the CFAA as one legal lever to push back against users’ attempts to regain control over their data.</p><p>However, from our review of some influential case law, we believe there is a pathway for extension providers to allow users to control their data without running afoul of the CFAA.&nbsp; This pathway relies on the extension provider not controlling users’ accounts with the given platform.</p><p>Zooming out, this theory has intuitive grounding:&nbsp; if the provider does not have access to the user’s account, it is the user who is making the request to the provider’s servers, not the provider, so the provider cannot reasonably be said to have engaged in “unauthorized access” of the platform’s servers.&nbsp; The issue this article has highlighted is much bigger than simply browser extensions.&nbsp; It’s about whether users are entitled to meaningful control over their data.&nbsp; In this vein, we conclude with an excerpt from the <em>hiQ</em> court to remind us what’s at stake:</p><blockquote><p>[G]iving companies like LinkedIn free rein to decide, on any basis, who can collect and use data—data that the companies do not own, that they otherwise make publicly available to viewers, and that the companies themselves collect and use—risks the possible creation of information monopolies that would disserve the public interest.&nbsp; <em>hiQ </em>at 1202.</p></blockquote><p><br><em>This post is provided for informational purposes only, and should not be relied upon as legal, business, investment, or tax advice. Thus, this post should not be construed as legal advice for any particular facts or circumstances and is not meant to replace competent counsel. It is strongly advised for you to contact reputable legal counsel in your jurisdiction for any questions or concerns. None of the opinions or positions provided in this post are intended to be treated as legal advice or to create an attorney-client relationship. No reader, user, or browser of this site should act or refrain from acting on the basis of information on this site. This analysis might not reflect all current updates to applicable laws or interpretive guidance, and the author disclaims any obligation to update this post. All liability with respect to actions taken or not taken based on the contents of this site are hereby expressly disclaimed. The content on this posting is provided "as is;" no representations are made that the content is error-free.</em></p>]]></content:encoded>
            <author>proofs-and-protocols@newsletter.paragraph.com (Daniel Barabander)</author>
        </item>
        <item>
            <title><![CDATA[Examining SEC v. Consensys]]></title>
            <link>https://paragraph.com/@proofs-and-protocols/examining-sec-v-consensys</link>
            <guid>ciPKTVjTNtovQsxA5Bv7</guid>
            <pubDate>Wed, 17 Jul 2024 11:18:52 GMT</pubDate>
            <description><![CDATA[On June 28th, the SEC filed suit against Consensys, the developer of the non-custodial wallet application MetaMask, bringing charges rela...]]></description>
            <content:encoded><![CDATA[<p>On June 28th, the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.sec.gov/files/litigation/complaints/2024/comp-pr2024-79.pdf">SEC filed suit against Consensys</a>, the developer of the non-custodial wallet application MetaMask, bringing charges related to two different products: (1) MetaMask Swaps and (2) MetaMask Staking. For MetaMask Swaps, the SEC’s core allegation is that Consensys acted as an unregistered broker by “effect[ing] the exchange of one crypto asset for another on the investor’s behalf”. For MetaMask Staking, the SEC alleged Consensys both acted as an unregistered broker “by effecting transactions in the Lido and Rocket Pool investment contracts for the account of others” and engaged in the unregistered “offers and sales of the Lido and Rocket Pool staking program investment contracts”.</p><p>These charges echo those in <em>SEC v. Coinbase</em>, where the SEC alleged that Coinbase acted as a broker through its non-custodial wallet product, Coinbase Wallet, and engaged in the unregistered offers and sales of securities through its staking program. At the time, I was in private practice and a lead attorney working with the amazing DeFi Education Fund (DEF) team on their <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.defieducationfund.org/_files/ugd/84ba66_05b10d3583a647b08dd071727ab8b7f1.pdf">amicus brief</a> in <em>Coinbase</em>,<em> </em>which went into technical detail as to why the SEC's charges regarding Coinbase Wallet and Coinbase's staking program could not stand. The court <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://storage.courtlistener.com/recap/gov.uscourts.nysd.599908/gov.uscourts.nysd.599908.105.0.pdf">granted Coinbase's motion</a> for judgment on the pleadings as to Coinbase Wallet but allowed the staking program claims to move forward.</p><p>Here’s a simple chart summarizing the claims on wallets and staking in these two cases, and you’ll note there is significant overlap:</p><table style="minWidth: 75px"><colgroup><col><col><col></colgroup><tbody><tr><td colspan="1" rowspan="1"><p></p></td><td colspan="1" rowspan="1"><p><em>SEC v. Consensys</em></p></td><td colspan="1" rowspan="1"><p><em>SEC v. Coinbase</em></p></td></tr><tr><td colspan="1" rowspan="1"><p>Wallet/Swaps</p></td><td colspan="1" rowspan="1"><p><strong>Technology</strong>:<strong> </strong>Non-custodial wallet app/swapping feature</p><p></p><p><strong>Charges</strong>: Unregistered broker</p></td><td colspan="1" rowspan="1"><p><strong>Technology</strong>:<strong> </strong>Non-custodial wallet app/swapping feature</p><p></p><p><strong>Charges</strong>: Unregistered broker</p></td></tr><tr><td colspan="1" rowspan="1"><p>Staking</p></td><td colspan="1" rowspan="1"><p><strong>Technology</strong>: Non-custodial staking (access to Lido and Rocket Pool)</p><p></p><p><strong>Charges</strong>: Unregistered offers and sales of securities <em>and </em>unregistered broker</p></td><td colspan="1" rowspan="1"><p><strong>Technology</strong>: Custodial staking</p><p></p><p><strong>Charges</strong>: Unregistered offers and sales of securities</p></td></tr></tbody></table><p>In this post, I compare the wallet/swaps allegations in <em>Coinbase</em> and <em>Consensys</em> and drill down on some of the specific claims the SEC is making. My overall impression is that the SEC has done a better job in <em>Consensys</em> than in <em>Coinbase</em> of mapping its allegations to the actual elements of what it means to be a broker, but, in some instances, it exaggerates or gets key elements of how the technology functions wrong in its attempt to aggrandize Consensys’s role in users’ swaps.</p><div class="relative header-and-anchor"><h2 id="h-definition-of-a-broker">Definition of a Broker</h2></div><p>First, let's define a broker. Like many things in securities laws, the definition of a broker is squishy. It's defined in the Exchange Act as “any person engaged in the business of effecting transactions in securities for the account of others”. The next reasonable question is what on Earth that means. There are a number of factors courts consider, but I'll pull the nine Coinbase cited in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://storage.courtlistener.com/recap/gov.uscourts.nysd.599908/gov.uscourts.nysd.599908.36.0.pdf">its motion for judgment on the pleadings</a>:</p><blockquote><p>Courts look to a number of factors to determine whether an entity is acting as a broker, including whether it “(1) actively solicits investors; (2) receives transaction-based compensation; (3) handles securities or funds of others in connection with securities transactions; (4) processes documents related to the sale of securities; (5) participates in the order-taking or order-routing process; (6) sells, or previously sold, securities of other issuers; (7) is an employee of the issuer; (8) is involved in negotiations between the issuer and the investor; and/or (9) makes valuations as to the merits of the investment or gives advice.” SEC v. GEL Direct Tr., 2023 WL 3166421, at *2 (S.D.N.Y. Apr. 28, 2023)</p></blockquote><p>There is no minimum number of these factors that must be met to qualify as a broker, but the more that are met, the more likely the court will hold the entity in question is a broker. So the SEC's job in writing these complaints is to plausibly allege as many of these factors as it can to survive a motion to dismiss.</p><div class="relative header-and-anchor"><h2 id="h-coinbase-wallet">Coinbase Wallet</h2></div><p>Starting with <em>Coinbase</em>, the core reasons the SEC did not prevail on the broker charge for Coinbase Wallet was because (1) the SEC did not allege enough of the broker factors and (2) for the factors it did allege, it did not adequately explain how Coinbase was carrying out those activities.</p><p>As explained by the court:</p><blockquote><p>As an initial matter, the SEC’s allegations do not implicate many of the factors courts use in identifying a “broker.” Notably, the SEC does not allege that the Wallet application negotiates terms for the transaction, makes investment recommendations, arranges financing, holds customer funds, processes trade documentation, or conducts independent asset valuations. (SEC Opp. 25-27). Rather, the Complaint alleges that Coinbase: charged a 1% commission for Wallet’s brokerage services (Compl. ¶ 101); actively solicits investors (on its website, blog, and social media) to use Wallet (id. ¶ 75); compares prices across different third-party trading platforms (id. ¶ 82); and “routes customer orders” in crypto-asset securities to those platforms (id. ¶ 64). Upon closer examination, these allegations, alone or in combination, are insufficient to establish “brokerage activities.”</p></blockquote><blockquote><p>As alleged, Coinbase’s participation in the order-routing process is minimal. While Wallet “provide[s] access to or link[s] to third-party services, such as DEXs” (User Agreement App’x 4 § 8.1.2), the SEC does not allege that Coinbase performs any key trading functions on behalf of its users in connection with those activities. As the Complaint acknowledges, Coinbase has no control over a user’s crypto-assets or transactions via Wallet, which product simply provides the technical infrastructure for users to arrange transactions on other DEXs in the market. (Compl. ¶ 64). Only a user has control over her own assets, and the user is the sole decision-maker when it comes to transactions.</p><p>What is more, while Wallet helps users discover pricing on decentralized exchanges, providing pricing comparisons does not rise to the level of routing or making investment recommendations. . . . Similarly, the fact that Coinbase has, at times, received a commission does not, on its own, turn Coinbase into a broker.</p></blockquote><p>As discussed above, because of these deficiencies, the court granted Coinbase’s motion for judgment on the pleadings on this charge.</p><div class="relative header-and-anchor"><h2 id="h-metamask-wallet">MetaMask Wallet</h2></div><p>After taking the "L" in <em>Coinbase</em> on a similar product, how did the SEC approach the broker allegations for MetaMask Swaps in <em>Consensys</em>? As one would expect, I think they tried to address each of the core deficiencies the court delineated in <em>Coinbase</em> by alleging more of the broker factors and painting a picture of Consensys and the software Consensys has built as active in the process of a user making a swap.&nbsp;</p><p>For example, look at how the agency describes MetaMask Swaps in the <em>Consensys</em> complaint at a high-level:</p><blockquote><p>MetaMask Swaps functions as follows. An investor enters the name and amount of the crypto asset that they wish to sell, as well as the name of the crypto asset that they wish to buy in return. <u>MetaMask Swaps then pulls</u> available rates for the requested exchange from a <u>Consensys-curated</u> group of execution venues and other third-party liquidity providers (referred to herein as “third-party liquidity providers”) and displays those rates to the investor, <u>highlighting the option that Consensys deems “best.”</u> With one additional click by the investor, <u>MetaMask Swaps performs the functions necessary to effect the trade, on the investor’s behalf,</u> with the third-party liquidity provider. As described in further detail below, <u>Consensys’s software routes the investor’s order by transferring their asset and trading instructions through Consensys’s own smart contracts on the blockchain</u>, which interface with third-party liquidity providers <u>on the investor’s behalf</u>. As is typically the case in traditional securities markets, the investor here never interacts directly with the third party; <u>all investor interactions are directly with Consensys’s platform</u>. And <u>Consensys collects a fee on most transactions</u>. [emphasis added]</p></blockquote><p>You’ll notice that the SEC uses many of the key words from the broker test (or their synonyms), like “highlighting”, “curated”, “best”, “effect”, “routes”, “trading instructions”, “on the investor’s behalf”, “fee”, etc., and I've underlined all the active roles the SEC is alleging Consensys takes. It is night and day from the SEC’s allegations regarding Coinbase Wallet in terms of what the agency describes as the software provider’s role in making the swap.</p><div class="relative header-and-anchor"><h3 id="h-examining-specific-allegations">Examining Specific Allegations</h3></div><p>For the remainder of this post, I drill down into some of the specific allegations the SEC is making and compare it to how the technology actually functions. I find that the SEC repeatedly aggrandizes Consensys’s role in users’ swaps, at odds with how the technology functions.</p><p><strong><em><u>Smart Contracts</u></em></strong></p><p>From the complaint:</p><blockquote><p>MetaMask Swaps will . . . interface with a third-party liquidity provider that executes the investor’s order, thereby selling Crypto Asset A and acquiring Crypto Asset B on behalf of the investor . . . .</p></blockquote><blockquote><p>Accordingly, the Consensys software transfers Crypto Asset A to Consensys’s Spender.sol smart contract’s blockchain address.&nbsp;</p></blockquote><blockquote><p>Consensys’s Spender.sol smart contract address temporarily holds the investor’s Crypto Asset A. . . . Consensys’s Spender.sol smart contract will interact with a number of Consensys-developed “Adapter” smart contracts.</p></blockquote><blockquote><p>Specifically, through the Adapter smart contract, the third-party liquidity provider will take Crypto Asset A from the Spender.sol smart contract address and place Crypto Asset B into the Spender.sol smart contract address.&nbsp;</p></blockquote><blockquote><p>Consensys . . . facilitat[es] trading in crypto asset securities by . . . handling customer crypto asset securities through Consensys-operated smart contract addresses . . . .</p></blockquote><p>As I detail below, my best guess for what the SEC is describing here is a user performing an atomic swap through smart contracts Consensys wrote, which, if true,&nbsp;would entail significantly less control of the swapping process by Consensys than the SEC is implying.</p><p>But before diving into that, a general comment:&nbsp; I was struck by some of the slippery language the SEC uses here that glosses over how blockchains function, particularly “Consensys-operated smart contract” and “Consensys software transfers”. It is not clear what the SEC means by a “Consensys-operated smart contract”. While there is some admin functionality on the smart contract for a multi-sig that Consensys may control, there is no evidence to suggest the company actively operates the smart contract’s code. In fact, the whole point of smart contracts is that the code is run by a dispersed network that no one controls. And it is not “the Consensys software” that “transfers Crypto Asset A to Consensys’s Spender.sol smart contract[]”— it is the user who signs the transaction to authorize the transfer, not Consensys, and it is the blockchain protocol outside of the hands of Consensys that updates the state.</p><p>Okay, let’s return to the point on atomic swaps. To see what’s really going on, let’s look at the code of the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/address/0x881d40237659c251811cec9c364ef91dc08d300c#code">MetaMask Swap Router smart contract</a>. The key function is _swap() on MetaSwap.sol, which calls swap() on Spender.sol:</p><pre data-type="codeBlock"><code><span class="hljs-comment">// MetaSwap.sol</span>
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">_swap</span>(<span class="hljs-params">
        <span class="hljs-keyword">string</span> <span class="hljs-keyword">calldata</span> aggregatorId,
        IERC20 tokenFrom,
        <span class="hljs-keyword">uint256</span> amount,
        <span class="hljs-keyword">bytes</span> <span class="hljs-keyword">calldata</span> data
    </span>) <span class="hljs-title"><span class="hljs-keyword">internal</span></span> </span>{
        Adapter <span class="hljs-keyword">storage</span> adapter <span class="hljs-operator">=</span> adapters[aggregatorId];

        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">address</span>(tokenFrom) <span class="hljs-operator">!</span><span class="hljs-operator">=</span> Constants.ETH) {
            tokenFrom.safeTransferFrom(<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>, <span class="hljs-keyword">address</span>(spender), amount);
        }

        spender.swap{<span class="hljs-built_in">value</span>: <span class="hljs-built_in">msg</span>.<span class="hljs-built_in">value</span>}(
            adapter.addr,
            <span class="hljs-built_in">abi</span>.<span class="hljs-built_in">encodePacked</span>(
                adapter.<span class="hljs-built_in">selector</span>,
                <span class="hljs-built_in">abi</span>.<span class="hljs-built_in">encode</span>(<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>),
                adapter.data,
                data
            )
        );

        <span class="hljs-keyword">emit</span> Swap(aggregatorId, <span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>);
    }</code></pre><pre data-type="codeBlock"><code><span class="hljs-comment">// Spender.sol</span>
	<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">swap</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> adapter, <span class="hljs-keyword">bytes</span> <span class="hljs-keyword">calldata</span> data</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">payable</span></span> </span>{
        <span class="hljs-built_in">require</span>(<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span> <span class="hljs-operator">=</span><span class="hljs-operator">=</span> metaswap, <span class="hljs-string">"FORBIDDEN"</span>);
        <span class="hljs-built_in">require</span>(adapter <span class="hljs-operator">!</span><span class="hljs-operator">=</span> <span class="hljs-keyword">address</span>(<span class="hljs-number">0</span>), <span class="hljs-string">"ADAPTER_NOT_PROVIDED"</span>);
        _delegate(adapter, data, <span class="hljs-string">"ADAPTER_DELEGATECALL_FAILED"</span>);
    }</code></pre><p>It is not the case that MetaMask Swaps performs a swap “on behalf of the investor”. The user must sign all transactions controlling her tokens, which Consensys cannot do on behalf of a user because it does not have access to the private key stored on the user’s device. And looking at the code, the swap() function is atomic—its job is to send tokens out and return tokens to the user in a single transaction. Even the flow of a user granting approval to Spender.sol prior to the swap and later calling swap() does not change this fact, because (1) the only function that transfers tokens is _swap() and (2) that function’s implementation ensures that the sender must be the owner of the tokens (tokenFrom.safeTransferFrom(msg.sender, address(spender), amount)). Assuming the adapters are not malicious (which would be another issue entirely), their job is to enable a user to perform an atomic swap—in a single transaction take token A and exchange it for token B. This would mean that transactions are "all or nothing"—either the tokens are swapped or they are not, they cannot end up in possession of the Spender.sol contract or Consensys as could be implied from phrases the SEC uses like the “Spender.sol smart contract address temporarily holds the investor’s” tokens, and tokens are “place[d] . . . into the Spender.sol smart contract address”, and “Consensys . . . handl[es] [tokens] through Consensys-operated smart contract addresses”.&nbsp;</p><p><strong><em><u>Slippage</u></em></strong></p><p>From the complaint:</p><blockquote><p>(Setting a slippage tolerance effectively creates a “limit order,” which is an extremely common type of order offered by traditional brokers.)&nbsp;</p></blockquote><p>Slippage is not “effectively” the same thing as a traditional limit order, and conflating these things implies more active management for Consensys over users’ orders than occurs in reality.&nbsp;</p><p>Here's the key difference: in a traditional limit order, one party tells another party a condition of when a transaction <em>should be executed</em> in the first instance, whereas slippage involves a smart contract running a check <em>when a transaction is executed</em>. This leads to a very different result from a control standpoint because the traditional limit order generally involves trusting another party to watch markets and only submit an order when the condition is met. Slippage, on the other hand, does not involve active management by any third party. Instead, with slippage, the user sets a minimum amount of the token she wants to receive and executes the transaction, with the smart contract (running autonomously) checking that the minimum back is in fact received, else the transaction will fail.&nbsp;</p><p>Put simply, slippage is an emergency break the user sets to protect herself while a traditional limit order is an instruction for when another party should execute an order on behalf of the user. The latter has the intermediation associated with broker activity, while the former does not.</p><p><strong><em><u>Private Key Storage and Retrieval</u></em></strong></p><p>From the complaint:</p><blockquote><p>[T]he Consensys software reads the investor’s private key from the MetaMask Wallet. This is the digital password that cryptographically unlocks Crypto Asset A so that it can be transferred out of the investor’s MetaMask Wallet.</p></blockquote><blockquote><p>To place an order through MetaMask Swaps, the investor does not need to know or enter their private key (the cryptographic “passcode” that is necessary to transfer Crypto Asset A out of their wallet).</p></blockquote><p>First, it’s not clear what the SEC means when it says that the “Consensys software reads the investor’s private key from MetaMask Wallet”. What is the “Consensys software” here?&nbsp; I would have thought it was the MetaMask Wallet, which the SEC defines as “a Consensys-developed software application for storing investors’ crypto assets”, but read that way, the sentence does not make sense. If the SEC is trying to say that other Consensys software besides the wallet application ever touches the private key, then that is plainly wrong. To be crystal clear, “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://metamask.io/">MetaMask generates passwords and keys on your device</a>”, not in the software application itself, so even saying the private key is read “from MetaMask Wallet” is not really accurate. Rather, MetaMask Wallet requests the private key from storage on the device.&nbsp;</p><p>But the real thing I want to focus on here is the insinuation that the retrieval of private keys via a wallet application somehow implicates brokerage activity. It does not. Everyday we interact on the internet and, to make it usable, we utilize software to abstract away cumbersome technical points. Think about all of the things Chrome does behind the scenes to make your experience usable. Chrome stores your passwords locally so you don’t have to enter them every single time you visit a site, engages in the TLS protocol behind the scenes to ensure private transfer of data over the wire, etc. Does this mean Google, via Chrome, acts as a broker when the user utilizes these features to trade on Fidelity.com?&nbsp; Of course not. The same consideration applies here with wallet software developers.</p><p>The fact that the SEC is citing software abstracting away the nitty-gritty of interacting on the internet as evidence of control is a scary insinuation that goes far beyond crypto.</p><p><strong><em><u>RPC Nodes</u></em></strong></p><p>From the complaint:</p><blockquote><p>[T]he Consensys software submits a blockchain transaction to a Consensys-operated and controlled remote procedure call or “RPC” node. The RPC node stores the blockchain transaction in a mempool (a collection of proposed transactions that are in a queue) until it is included in a block and executed, as per the steps below. More specifically, the Consensys software creates, signs (using the investor’s private key), and submits this blockchain transaction to Consensys’s RPC node, which when executed will transfer the specified amount of Crypto Asset A from the investor’s wallet address to a Consensys-developed smart contract called “Spender.sol.”</p></blockquote><blockquote><p>Consensys . . . facilitat[ed] order execution by submitting blockchain transactions to a Consensys node . . . .</p></blockquote><p>Here, the SEC is describing what I presume is a vanilla RPC Ethereum node but by labeling it "Consensys-operated and controlled", it could be read to suggest that Consensys is doing something special beyond simply participating in the Ethereum blockchain protocol. It has no bearing that Consensys submits transactions to a node it runs—Consensys could submit them to any RPC node it wants and get the same result.</p><p><strong><em><u>Wallet Account "Creation"</u></em></strong></p><p>From the complaint:</p><blockquote><p>Consensys . . . facilitat[ed] trading in crypto asset securities by creating customer wallets (i.e., “accounts”) . . . . </p></blockquote><p>This allegation is a repeat of one the SEC made in <em>Coinbase</em>, and as debunked in the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.defieducationfund.org/_files/ugd/84ba66_05b10d3583a647b08dd071727ab8b7f1.pdf">DEF brief</a>, this is not faithful to what it means to establish a wallet:</p><blockquote><p>A blockchain has no notion of “open” versus “closed” “accounts,” or which private keys have been selected for use. A simple way to see why this is true is that it is perfectly valid to transfer crypto assets on a blockchain to a public key that no one has ever attempted to derive from a private key; the assets would simply be unobtainable until and unless someone randomly selects the private key associated with that public key. All wallets on a blockchain already exist, and users choose which one is theirs by selecting a random number (a private key). No one, including the developer of any wallet application, authorizes or manages this process; it depends entirely on the fact that, for all practical purposes, no two users will ever pick the same number. There is no checking or approval process, no “approved” versus “not approved” “accounts” or “list” being checked to make sure the user has registered. After a user selects a random number (a private key), she can immediately begin transacting on a blockchain using digital signatures. Therefore, there is nothing Coinbase or Wallet actively does to “open” an “account” because there is no “account” in the way the SEC alleges.</p></blockquote><p>I’m surprised the SEC repeated this allegation with effectively no change from <em>Coinbase</em>, given how detached from the technical reality it is.</p><div class="relative header-and-anchor"><h3 id="h-conclusion"><strong>Conclusion</strong></h3></div><p>From a pleading standpoint, the SEC’s complaint in <em>Consensys</em> does a better job of trying to incorporate the broker test factors, which I think makes it a stronger complaint than <em>Coinbase</em>. However, careful attention to these allegations is still needed to ensure that they are precise about the role Consensys has over users’ swaps. Upon close inspection, the SEC either exaggerates or gets key elements of how the technology functions wrong. This puts into serious question the strength of their charge that Consensys, through MetaMask, acts as a broker.</p><p><br><em>This post is provided for informational purposes only, and should not be relied upon as legal, business, investment, or tax advice. Thus, this post should not be construed as legal advice for any particular facts or circumstances and is not meant to replace competent counsel. It is strongly advised for you to contact reputable legal counsel in your jurisdiction for any questions or concerns. None of the opinions or positions provided in this post are intended to be treated as legal advice or to create an attorney-client relationship. No reader, user, or browser of this site should act or refrain from acting on the basis of information on this site. This analysis might not reflect all current updates to applicable laws or interpretive guidance, and the author disclaims any obligation to update this post. All liability with respect to actions taken or not taken based on the contents of this site are hereby expressly disclaimed. The content on this posting is provided "as is;" no representations are made that the content is error-free.</em></p><p></p><p></p>]]></content:encoded>
            <author>proofs-and-protocols@newsletter.paragraph.com (Daniel Barabander)</author>
            <category>legal</category>
            <category>sec</category>
        </item>
    </channel>
</rss>