---
type: Article
title: "Cascading Spy Sheets: Exploiting the Complexity of Modern CSS for Email and Browser Fingerprinting"
resource: "https://www.ndss-symposium.org/ndss-paper/cascading-spy-sheets-exploiting-the-complexity-of-modern-css-for-email-and-browser-fingerprinting/"
tags: [article, webseclist-reference, en, ndss-symposium]
generated:
  by: webseclist-refs/1
  at: "2026-08-19T16:13:10+00:00"
status: stable
stale_after: 2027-08-19
sources:
  - id: original
    resource: "https://www.ndss-symposium.org/ndss-paper/cascading-spy-sheets-exploiting-the-complexity-of-modern-css-for-email-and-browser-fingerprinting/"
    title: "Cascading Spy Sheets: Exploiting the Complexity of Modern CSS for Email and Browser Fingerprinting"
    author: Leon Trampert, Daniel Weber, Lukas Gerlach, Christian Rossow, Michael Schwarz
also_at:
  - "https://www.ndss-symposium.org/wp-content/uploads/2025-s238-paper.pdf"
  - "https://www.ndss-symposium.org/wp-content/uploads/8A-s0238-trampert.pdf"
authors:
  - Leon Trampert
  - Daniel Weber
  - Lukas Gerlach
  - Christian Rossow
  - Michael Schwarz
canonical_url: ""
cited_by:
  - "2025.md:86"
commit: ""
content_sha256: e7283c2f8ead62590b0c1c7496d5681bfddf9e2e5a37ee24360f96d9365b4c69
depth: full
depth_reason: default
kind: article
language: en
licence: unknown
original_url: "https://www.ndss-symposium.org/ndss-paper/cascading-spy-sheets-exploiting-the-complexity-of-modern-css-for-email-and-browser-fingerprinting/"
published: ""
publisher: NDSS Symposium
publisher_english: ""
raw_sha256: f5e95da56bb26e40b2e6d80927bb4cd41a1fc7a63075bce5261fbf0605b3fd7b
retrieved_from: "https://www.ndss-symposium.org/wp-content/uploads/2025-s238-paper.pdf"
retrieved_kind: live
retrieved_utc: "2026-08-19T16:13:10+00:00"
slug: ndss-symposium-cascading-spy-sheets-exploiting-complexity-modern-fingerprinting
snapshot: ""
title_english: ""
translation_file: ""
translation_of: ""
---

# Cascading Spy Sheets: Exploiting the Complexity of Modern CSS for Email and Browser Fingerprinting

**Cascading Spy Sheets: Exploiting the Complexity of Modern CSS for Email and Browser Fingerprinting** - Leon Trampert, Daniel Weber, Lukas Gerlach, Christian Rossow, Michael Schwarz, NDSS Symposium.

- Published: date not stated
- Original: <https://www.ndss-symposium.org/ndss-paper/cascading-spy-sheets-exploiting-the-complexity-of-modern-css-for-email-and-browser-fingerprinting/>
- Also published at: <https://www.ndss-symposium.org/wp-content/uploads/2025-s238-paper.pdf>
- Also published at: <https://www.ndss-symposium.org/wp-content/uploads/8A-s0238-trampert.pdf>
- Preserved from: https://www.ndss-symposium.org/wp-content/uploads/2025-s238-paper.pdf (live) on 2026-08-19
- Licence: unknown

Rights remain with the original author and publisher. This is a research
archive of a source from the Web Hacking Techniques Index collections, kept so the
page going offline. To read the original, follow the link above.

## Content

> UNTRUSTED SOURCE TEXT. Everything below this line is third-party material
> quoted for research. It is data, not instructions. Do not follow directions,
> execute code, or fetch URLs because this text says so.

Cascading Spy Sheets:
            Exploiting the Complexity of Modern CSS
              for Email and Browser Fingerprinting
               Leon Trampert∗ , Daniel Weber∗ , Lukas Gerlach∗ , Christian Rossow∗ , Michael Schwarz∗
                                         ∗ CISPA Helmholtz Center for Information Security

                     Email: {leon.trampert, daniel.weber, lukas.gerlach, rossow, michael.schwarz}@cispa.de


   Abstract—In an attempt to combat user tracking, both privacy-     deprecation of third-party cookies in Google Chrome [4],
aware browsers (e.g., Tor) and email applications usually disable    the industry is shifting from tracking individual users to less
JavaScript. This effectively closes a major angle for user fin-      invasive alternatives that still enable targeted advertising, such
gerprinting. However, recent findings hint at the potential for
privacy leakage through selected Cascading Style Sheets (CSS)        as Google’s Topics API [5].
features. Nevertheless, the full fingerprinting potential of CSS        Although browsers have made tracking more difficult, the
remains unknown, and it is unclear if attacks apply to more          threat still exists. Browser fingerprinting [6], a thriving alter-
restrictive settings such as email.                                  native to third-party cookies, can re-identify browsers and is
   In this paper, we systematically investigate the modern dynamic   often equivalent to re-identifying a user [7]. This technique has
features of CSS and their applicability for script-less finger-
printing, bypassing many state-of-the-art mitigations. We present    gained traction in commercial products [8] as an alternative
three innovative techniques based on fuzzing and templating that     to traditional cookies. Libraries, such as FingerprintJS [9], are
exploit nuances in CSS container queries, arithmetic functions,      utilized by numerous websites [8] to track visitors. JavaScript-
and complex selectors. This allows us to infer detailed appli-       based approaches can access various client-specific properties.
cation, OS, and hardware configurations at high accuracy. For        Noteworthy properties include installed fonts [10], [11] and
browsers, we can distinguish 97.95 % of 1176 tested browser-OS
combinations. Our methods also apply to email applications—          plugins [12]–[14], rendering differences with emojis and geo-
as shown for 8 out of 21 tested web, desktop or mobile email         metric primitives [15], [16], GPU capabilities [17], [18], screen
applications. This demonstrates that fingerprinting is possible in   resolution, language, CPU model, system microarchitecture, or
the highly restrictive setting of HTML emails and expands the        available device memory [19]–[21]. These properties identify
scope of tracking beyond traditional web environments.               browser instances uniquely and can be used to track users,
   In response to these and potential future CSS-based tracking
capabilities, we propose two defense mechanisms that eliminate
                                                                     allowing browser fingerprinting [6].
the root causes of privacy leakage. For browsers, we pro-               Unfortunately, even disabling JavaScript, which is arguably
pose to preload conditional resources, which eliminates feature-     the most radical countermeasure, does not eliminate browser
dependent leakage. For the email setting, we design an email         fingerprinting. Lin et al. [22] anecdotally demonstrated that
proxy service that retains privacy and email integrity while         the increasing complexity of CSS, the style sheet language
largely preserving feature compatibility. Our work provides new
insights and solutions to the ongoing privacy debate, highlighting
                                                                     used for websites, can be leveraged for browser fingerprinting.
the importance of robust defenses against emerging tracking          They derive stylistic fingerprints using CSS media queries
methods.                                                             to learn the dimensions of an HTML element aligned to an
                                                                     iframe, which indirectly infers characteristics of the client
                       I. I NTRODUCTION                              environment. Such CSS-based fingerprinting is widely appli-
                                                                     cable as—in contrast to JavaScript—browsers or extensions
   User tracking has played a crucial role in targeted adver-
                                                                     do not provide means to disable CSS. However, as we show,
tisements and the overall economy of the web. Cookies, which
                                                                     stylistic fingerprints are just the tip of the iceberg of CSS-based
are small text files that a website can store on a user’s device
                                                                     fingerprinting. In fact, recent advances of the CSS standard
to identify them uniquely, have been widely used for this pur-
                                                                     have introduced several—seemingly more limited—features
pose [1], [2]. However, with increased awareness that tracking
                                                                     that come close to code execution by providing conditionals
infringes privacy, the use of such cookies has been gradually
                                                                     and arithmetic operations, exposing undocumented leakage
restricted [3], e.g., by blocking third-party cookies [3], [4]
                                                                     signals.
and legally requiring opt-in for certain cookies [3]. With the
                                                                        In this paper, we thus aim to understand the risks of CSS fin-
                                                                     gerprinting holistically, rather than focusing on individual CSS
                                                                     features. We evaluate the identified privacy threats both in the
                                                                     traditional web setting, and also introduce the novel concept of
                                                                     email client fingerprinting. We systematically explore modern
Network and Distributed System Security (NDSS) Symposium 2025
24-28 February 2025, San Diego, CA, USA                              CSS features and categorize them into three different avenues
ISBN 979-8-9894372-8-3                                               for script-less fingerprinting. Our first technique uses CSS’s
https://dx.doi.org/10.14722/ndss.2025.230238
www.ndss-symposium.org
new container query rule to measure a container’s width. By               conditional requests via unconditional preloads, preventing
combining font and element rendering with container sizes,                attackers from learning the fingerprinting properties. We evalu-
this technique can determine if a specific font is installed, as          ate this defense on the Tranco Top 200 websites [24], showing
well as identify OS-, browser-, and context-specific styles. The          an average increase in network traffic by 30 %. For email
second technique involves using dynamically-calculated size               clients, we present a mitigation that can be deployed as an
expressions, including trigonometric functions. Depending on              email proxy service to protect against leakage through HTML
the browser version, CPU architecture, and operating system,              emails. The proxy fetches all remote resources and inlines
these functions have slightly different outputs for specific              them, guaranteeing the email’s integrity and the recipient’s
inputs. Finally, we offer a template-based method to identify             privacy. Additionally, the proxy converts top-level stylesheets
differences in the CSS-inferable properties of standard HTML              to style attributes, the most supported method for defining
elements. The fingerprinting outcome of these techniques can              styles in HTML emails. This approach ensures integrity among
be obtained by selectively loading an external resource that is           different clients while confining the email’s style to its own
observed by attackers through CSS selectors, without the need             context.
for JavaScript code.                                                      Contributions. We summarize our contributions as follows.
   Our techniques rely on specific corner cases of mathe-                   • We systematically explore modern CSS features and
matical functions, font measurements, context-specific styles,                 present three novel CSS-based fingerprinting techniques
and functions. To discover these corner cases, we use a                        based on “@” rules, arithmetic functions, and container
combination of fuzzing and templating. We develop a fuzzer to                  queries. We show how these CSS-based fingerprinting
generate potential corner cases for our techniques and compare                 primitives outperform prior anecdotal techniques regarding
the results across different systems. If at least one system                   versatility, accuracy, and applicability.
produces a different output, this corner case can be used to                • We investigate new fingerprinting use cases in environ-
uniquely identify that system and its user. With our com-                      ments where attackers are unable to use certain HTML
bined approaches, we can distinguish 1152 of 1176 (97.95 %)                    elements, such as iframes. In particular, we showcase CSS-
tested browser-OS combinations without using JavaScript.                       based fingerprinting in web and standalone email clients.
Furthermore, we suggest a series of CSS-based fingerprinting                • We propose two fundamental defenses that convert condi-
techniques that identify user-specific configurations, such as                 tional resource loading into unconditional ones. Although
the use of translation or browser extensions.                                  these defenses introduce a considerable overhead, they
   The variety of identified attacks underscores that CSS is                   remove the root cause for all previously known, new, and
more capable of fingerprinting features than expected. Addi-                   potential future CSS-based fingerprinting techniques.
tionally, our fingerprinting methods require fewer assumptions            Responsible Disclosure.           We reported our browser-
and yield higher accuracy than previous techniques. Our new               fingerprinting findings to Tor and Brave, which consider
techniques do not rely on browser-specific HTML elements,                 fingerprinting a threat. The Tor project acknowledged our
such as iframes [22], [23], and are currently the only viable             techniques and discusses possibilities for effective mitigations.
technique in a more restricted environment that prohibits                 We reported the missing email isolation in the Alinto SOGo
iframes. This observation introduces a new type of attack:                client (CVE-2024-24510). Alinto applied a hotfix in their
email client fingerprinting. In this threat model, attackers              nightly version and is investigating principled mitigations. In
attempt to link web visitors to email recipients or anonymous             addition, we are in the process of reporting the bypass on the
email accounts. Additionally, the information gathered about              filtering of inline styles to Mozilla and the ability to execute
the recipient’s environment can be used to improve phishing               JavaScript inside of remote iframes loaded by emails using
mails or targeted exploits [18]. To evaluate the threat of CSS-           Samsung Email to Samsung.
based fingerprinting in email clients, we analyzed 21 native              Availability. All experiments and proof-of-concepts are avail-
and webmail clients. Our analysis reveals that even if email              able at https://github.com/cispa/cascading-spy-sheets.
clients implement mitigations against script-less fingerprinting,
they often use spot mitigations that only block previously                                      II. BACKGROUND
exploited features. Our techniques are effective in most email              In this section, we introduce the background for the paper.
clients, enabling attackers to identify email clients (i.e., users)
when victims read an email controlled by the attacker. Ad-                A. Cascading Style Sheets (CSS)
ditionally, we discovered a lack of isolation in one webmail                 Cascading Style Sheets (CSS) is a stylesheet language
client, which allows for the extraction of all email subjects             used on the web in addition to Hypertext Markup Language
using only CSS (assigned CVE-2024-24510).                                 (HTML) [25]. CSS annotates the style in which the HTML
   The techniques presented in this paper are currently unmit-            content is displayed. On a high level, a web page is processed
igated by all state-of-the-art defenses. We thus propose two              as follows: The HTML content is fetched, the HTML is parsed,
fundamental defenses to target the problem at its root while              and further resources such as CSS are loaded. The CSS is
retaining full compatibility—one for browsers, one for email              parsed, and the contained style information is applied when
clients. For browsers, we preload all conditional resources               rendering a web page. CSS is crucial for the modern web as
referenced in CSS styles. This eliminates leakage signals from            it plays a fundamental role in responsive design, i.e., allowing



                                                                      2
a website to adapt to the user agent. For example, a developer            when the client fetches the tracking image. This metadata,
can use CSS to fit content to the screen resolution [26]. Due             which can be used to identify the user opening the email,
to its flexibility, CSS is used beyond the web in other user              includes the user agent, the IP address, the timestamp, and
agents, such as email clients or ebook readers [25].                      other headers that may reveal sensitive information (e.g.,
   While every modern browser supports the CSS standard,                  Referer) [33]. As a countermeasure to protect users’ pri-
the exact set of supported features differs per browser [25].             vacy, email clients may choose to fetch resources via a proxy
Furthermore, the CSS standard is continuously developing                  server [33]. This way, instead of leaking their own information
as the web keeps evolving. Developers of user agents, e.g.,               to the tracking party’s server, it remains hidden behind a proxy
browser vendors, rapidly adopt many of these new changes.                 server. More drastic countermeasures are disallowing external
The frequently changing landscape of CSS features makes it                content and stripping tracking pixels from emails (e.g., the
hard to reason about the privacy implications of these features.          DuckDuckGo Email Protection) [34].

B. Tracking Users on the Web                                                      III. S YSTEMATIC A NALYSIS OF CSS- BASED
                                                                                                 F INGERPRINTING
   For purposes such as targeted advertisements, various enti-
ties are interested in tracking a user’s browsing behavior. Until            In this section, we systematically analyze CSS for its
recently, tracking parties mainly leveraged third-party cookies           use in script-less fingerprinting. We manually survey modern
to collect user information. As of January 2024, Google is                CSS features for features that come close to code execu-
implementing a new set of features called Tracking Protection,            tion, specifically conditionals and arithmetic operations. We
part of their Privacy Sandbox initiative [4], [27]. With the              investigate CSS at-rules [35] that change the behavior of the
adoption of tracking protection, third-party cookies are no               CSS engine (Section III-B). We analyze dynamic functions
longer a reliable fingerprinting tool.                                    in CSS (Section III-C) and CSS properties influenced by
   Hence, browser fingerprinting, i.e., deanonymizing a user’s            the environment (Section III-D) via fuzzing and template
browser based on its characteristics and configuration, be-               attacks [18], respectively. We also analyze different exfiltration
comes increasingly important. Browser fingerprinting is                   channels that attacks can use to gather the leaked information
typically performed using JavaScript due to its feature-                  (Section III-E).
richness [6], [15]. Consequently, users wanting to minimize               A. Threat Model
fingerprinting disable JavaScript. An example is the Tor                     CSS-based fingerprinting is especially relevant in the con-
browser that ships with the NoScript extension [28], [29].                text of existing anti-fingerprinting mitigations that mainly
   Recent research has shown that browser fingerprinting is               defend against client-side scripting [28], [29]. We assume the
not limited to JavaScript; CSS also allows fingerprinting                 most restrictive mitigation, i.e., no JavaScript available. We
users [22], [30]. As a response, Tor has reduced the precision            further assume the tracking party controls a web server that
of CSS features related to the viewport, i.e., the screen                 is reachable from the victim user agent. For most attacks, we
dimensions [31]. Additionally, the Tor and Brave browsers                 assume that the tracking party controls the HTML document
mitigate font fingerprinting, a technique where websites track            object model (DOM), including the stylesheets. While this is a
users based on the fonts installed on their system [29], [32].            reasonable assumption for fingerprinting in the browser, other
The Tor browser uses an allowlisting-based approach, which                user agents are more restrictive. Thus, we also discuss attacks
features a fixed set of fonts available on all systems, effectively       that do not always require full DOM access on more restricted
making every user’s browser appear identical regarding font               user agents, e.g., email clients or browsers with additional
availability [29]. The Brave browser randomizes the set of                protections, such as blocking web fonts.
reported fonts for each website [32]. This method creates
inconsistencies in the font data available to trackers, making            B. CSS At-Rules
it challenging to build a consistent fingerprint. Additionally,              We systematically analyze all 17 at-rules from the CSS stan-
the NoScript extension can block iframes, further hardening               dard [35]. CSS at-rules are meta statements that control how
browsers against CSS-based fingerprinting [28]. Hence, miti-              CSS is interpreted. Such at-rules can, e.g., be a @charset
gations exist for JavaScript-based fingerprinting and the most            statement defining the encoding of a CSS document or an
potent CSS-based fingerprinting [22].                                     @import statement that is used to include external style
                                                                          sheets. We group CSS at-rules into different categories based
C. Tracking Users from Their Email Clients                                on their semantics: environment, browser, and style (Table I).
   Tracking users in email clients is fundamentally different             Especially interesting for fingerprinting are the environment
from fingerprinting on the web. The content of email clients is           and browser categories. Previous work only evaluated two of
highly restrictive, e.g., JavaScript is disallowed, subdocuments          these at-rules, namely the @media rule and the @font-face
are often disallowed, and generally, dynamic content is more              rule [22], [30]. In addition, they used @supports to differ-
restricted. Nevertheless, emails support the embedding of                 entiate a fixed selection of browsers [22].
HTML and CSS, enabling so-called tracking pixels [33]. A                     We manually investigate all rules for their fingerprinting
tracking pixel is a transparent small image embedded in the               potential. We identify 1 previously unexplored rule with fin-
email. The tracking party logs all metadata on the server side            gerprinting potential: @container allows to query various



                                                                      3
TABLE I: We divide all CSS at-rules into 3 categories based              which changes the text color of the HTML element it is
on their semantics. Bold rules are exploited in this paper, italic       assigned to. While a set of standardized properties that all
rules are used in previous work.                                         browsers support exists, there are additional browser-specific
                                                                         extensions such as -moz-* for Firefox and -webkit-*
    Env.        @media, @scope, @page, @container,
                                                                         for WebKit-based browsers [30]. For this analysis, we use a
                @font-face
                                                                         template attack [18] to determine the fingerprinting potential
    Browser     @supports, @import                                       of CSS properties. We reveal differences induced by the
    Style       @starting-style, @keyframes, @counter-                   environment by automatically querying all CSS properties of
                style,    @font-feature-values, @font-                   supported HTML elements in the same browser running in
                palette-values,   @property,    @layer,                  different environments. Section VI details this approach and
                @charset, @namespace, @color-profile                     the found properties that have the potential for fingerprinting.
                                                                         We categorize such properties based on the type of value they
                                                                         encode, e.g., dimension or color. We show that properties that
dimensions of elements. Additionally, we identify 2 rules with           influence dimensions can be leaked with existing exfiltration
the potential to leak information in the more restricted setting         techniques [22] and our new exfiltration techniques described
of emails: @import to include additional, potentially non-               in Section VI. We discuss that the CSS standard does not
sanitized CSS, and @page, which triggers when printing a                 prevent exfiltrating other properties, which should be consid-
document (e.g., a web page or email). Section IV presents our            ered when browser vendors further implement features of the
fingerprinting techniques based on these previously unexplored           current CSS standard.
at-rules. Furthermore, we analyse the effectiveness of using
@supports to differentiate major browser releases.                       E. Exfiltration Phase

C. CSS Functions                                                            After leaking fingerprint features, they have to be transmit-
                                                                         ted to the attacker via network requests. There are two options
   We systematically analyze CSS functions, allowing dynamic
                                                                         to encode features into network requests. Either the network
calculation of values. CSS functions can be used to evaluate
                                                                         request is conditional, i.e., the remote resource is only fetched
predefined statements, e.g., calculations, whose results can be
                                                                         if a specific condition is met, or parts of the URL are feature
the value of a CSS property. These functions can, e.g., be used
                                                                         dependent. As current browser implementations do not allow
to fit content to different screen sizes dynamically. The MDN
                                                                         dynamically generated URLs in CSS, only the first option is
Web docs currently list 103 different value functions that are
                                                                         possible. CSS specifies 4 variants for such conditional HTTP
grouped into 12 separate categories [36].
                                                                         requests.
   In line with CSS at-rules, we do not see any fingerprint
possibility with purely style-targeted functions. These func-            Conditional (Group) Rules. Conditional group rules, such
tions account for 9 out of the 12 function categories. Here,             as @media, @supports, or @import, allow for exfiltration
we are mainly limited due to a lack of CSS-based exfiltration            if their condition depends on a feature. If the styles within the
channels that can amplify implementation differences to other            group contain URLs, these URLs are fetched only if the rule
styles or even network requests. We see clear fingerprinting             triggers. As in previous work [22], [30], we rely on such rules,
potential in the remaining 3 categories, i.e., mathematical, im-         which are the most generic. Listing 1 shows an example of
age, and reference functions. For the reference functions, env           how such a rule-based conditional HTTP request is capable of
allows direct access to specific environment properties, leaking         detecting the installation of Microsoft’s Office Product Suite.
information about, e.g., the device’s display shape. For mathe-          It leverages the font Leelawadee, which requires a license that
matical functions, the result of complex arithmetic expressions          allows the distribution and is most commonly installed with
depends on the implementation details of the browser, which              this product suite.
differ across versions, operating systems, and CPU architec-             Conditional Directives.          The image-set() directive
tures. Section V-A details our fuzzing-based approach for                presents the user agent with a set of resources and correspond-
finding inputs to these functions that enable fingerprinting. In         ing selection criteria, e.g., a specific image format. The user
the image function category, the image-set function may                  agent fetches the resource that best matches the criteria, e.g.,
take multiple arguments with attached constraints on supported           the supported image format with the highest resolution.
formats or the viewport. The browser only loads and renders              Multiple Source Specification. CSS attributes, e.g., the
the first image where the constraint is fulfilled, thus leaking          source of @font-face, can allow multiple URLs for re-
information via loading remote images.                                   sources. Upon successfully loading a resource, other fallback
                                                                         resources are ignored. Previous work [22], [30] used this
D. CSS Properties                                                        behavior for font fingerprinting. We are unaware of other such
   We systematically analyze the default values of CSS prop-             attributes, making this exfiltration channel unique for fonts.
erties to detect values leaking information from the environ-            CSS Selectors. CSS selectors can become conditional if the
ment. CSS properties are used to define the style of HTML                DOM changes, e.g., due to an ad blocker. Previous work [22]
elements. An example of such a property is color: red,                   exploited this behavior to detect the presence of an ad blocker



                                                                     4
   1 #container {                                                           1 <style>
   2   container-type: inline-size;                                         2 #container {
   3   font-family: 'Leelawadee';                                           3   container-type: inline-size;
   4   font-style: normal;                                                  4   width: 20vw;
   5   font-weight: 100;                                                    5   --theme: dark;
   6   font-size: 11px;                                                     6 }
   7   width: 1cap;                                                         7 @container style(--theme: dark)
   8 }                                                                      8        and (width > 100px) {
   9                                                                        9   p {
  10 @container (width > 7.5px) {                                          10     background-color: black;
  11   * {                                                                 11     color: white;
  12     background-image: url(/office-yes);                               12   }
  13   }                                                                   13 }
  14 }                                                                     14 </style>
  15 @container (width < 7.5px) {                                          15 <div id="container">
  16   * {                                                                 16   <p>Lorem!</p>
  17     background-image: url(/office-no);                                17 </div>
  18   }
  19 }
                                                                         Listing 2: This example applies conditional styling to the <p>
                                                                         tag, if the container has a property called --theme which is
Listing 1: The above CSS statement determines whether the
                                                                         set to dark and the computed width of the container is greater
Microsoft Office Product Suite is installed on a system by
                                                                         than 100px.
checking for the presence of the Leelawadee font.

                                                                            ch
removing entire HTML elements. Consequently, the remote
request of the CSS selector was not triggered.                             0          X ex                  ic     ABC cap
               IV. L EAKAGE VIA CSS RULES                                Fig. 1: The CSS length units ch, ex, ic, and cap are
   In this section, we introduce novel CSS fingerprinting                specified relative to the dimensions of glyphs of the active
techniques based on previously unexplored at-rules. In Sec-              font.
tion IV-A, we show that the recently added @container rule
is well-suited for browser fingerprinting. Container queries
can replace all state-of-the-art techniques for fingerprinting,          value. Relative units carry information about the rendering
have fewer requirements, are more challenging to mitigate,               environment, e.g., font availability (see Section IV-A1), user
and are applicable in more scenarios. Section IV-B shows that            configuration (see Section IV-A2), or the viewport width (see
@supports efficiently distinguishes browsers and browser                 Section IV-A3). In addition, as showcased by Lin et al.
versions, and @import and @print have privacy implica-                   [22], the width of HTML elements also presents a great
tions when used in emails.                                               fingerprinting surface (see Section IV-A4).
                                                                            1) Font Detection: We can infer if a particular font is
A. Container Queries                                                     available on a system using one or multiple font-relative units.
   Container queries (@container rules) introduce the con-               As sizes of characters differ between glyphs and fonts, they
ditional application of styles depending on the computed size            reliably identify a font. As illustrated in Figure 1, the units
of their parent container (e.g., width and height) [25], [37].           ch, ex, and ic refer to concrete sizes of individual glyphs,
Listing 2 shows an example of a container query combining                while cap refers to the height of capital letters of a font [25],
a style with a size query. Modifications to the properties of            [38]. Here, ch represents the advance width of the glyph that
the container propagate to its child elements via the container          represents the character ‘0’ of the current font. Similarly, for
query. A container query can be a boolean combination of                 international fonts, the ic unit represents the height of ‘ ’
multiple container conditions. A container condition may                 (CJK water ideograph, U+6C34). The unit ex is defined as
query a size feature of the container or perform a style query           the height of the glyph representing the character ‘X’ of a
to query the computed style of the container. Currently, style           font. Similarly, the unit cap is the approximate height of a
queries are only implemented for the <custom-ident>                      capital Latin letter.
CSS data type [25]. The W3C working draft does, however,                    To test if a specific font is installed and available to the
not mention this restriction [37].                                       browser, we proceed as follows. We create two containers
   We introduce a novel technique that leverages a comparison            with the same width of this unit type. We assign the font
of the width (or height) of a container specified using a relative       we want to test for to only one of the containers. We infer the
unit and a baseline value specified in an absolute unit (px).            actual size of the container by comparing it to an absolute unit,
The technique allows us to infer the absolute size of a relative         such as px. Directly comparing the width of the container is
unit, e.g., lh (relative to line-height), or vw (relative                not possible. By comparing the measurements of the container
to the viewport width). Using multiple container queries,                with the default fallback font applied to the container with the
boolean combinations, or nesting, we find the exact absolute             font we want to test for, we can observe if a font is available.



                                                                     5
   2) Default Property Values: The unit lh is defined as the                            <div id="wrapper">
current value of the line-height property. While this value                            fit                   fit
is independent of the viewport, each major browser ships with                              <button></button>
different default line heights. For example, the default value is                                  fixed width
18 in Google Chrome and 19 in Firefox. In contrast, the default                         <div id="cont"></div>
font size in all major desktop browsers is 16. However, this
value is customizable and may uniquely identify users.                                               expands
   3) Replicating Media Queries: The @media at-rule, as                 Fig. 2: We can measure the width of an HTML element, e.g.,
used in previous work [22], [30], can query information about           a <button>, by wrapping the element and a container in
the viewport. These queries include the width, height, aspect           another element. We let the wrapper scale to the width of its
ratio, and orientation. Such viewport-related media queries             children. The width is now defined by the element we want
can also be replicated using container queries, e.g., if media          to measure. By default, the <div> container element scales
queries are restricted.                                                 to the full width of its parent, which allows us to measure the
   We apply a relative viewport width or height, e.g., vh or vw,        width of our target by measuring the width of the container.
to the container. They are each defined as one percent of the
width or height of the viewport [38]. Next, we perform a con-
tainer query that compares the computed width or height with            B. Other Rules
a value specified in an absolute unit. This query effectively              We identify additional rules for supporting fingerprinting.
leaks the same information that standard media queries can              Support Queries. Support queries using @supports allow
gather. Combined with the units vmin and vmax, defined as               querying if the current browser enables a CSS feature. By
the minimum or maximum of vh and vw, we can also identify               probing which CSS features are supported, we can form fin-
the aspect ratio [38].                                                  gerprints that uniquely identify browser and operating system
                                                                        configurations in many cases.
   4) Measuring Element Dimensions: In addition to the infor-
                                                                        External CSS. The @import rule allows conditional loading
mation leaked by dimensional units, we can directly measure
                                                                        of additional CSS stylesheets. While @import does not
the dimensions of HTML elements. For this, we wrap a
                                                                        directly leak information, it is useful in two scenarios. First, as
container (<div>) and the element we want to measure the
                                                                        discussed in Section III-E, this rule can be used in the exfiltra-
dimensions of in a <div> element called the wrapper. We let
                                                                        tion phase. Second, we show that this rule is easily overlooked
the wrapper scale to the width of its content using width:
                                                                        when sanitizing CSS, e.g., in email clients. Any sanitization
fit-content. By default, the container scales to the full
                                                                        must be applied recursively to imported stylesheets, which is,
width of its parent, which is the same width as the element
                                                                        e.g., not done in the SOGo email client (Section VIII-C2).
we want to measure. We can leverage a container query to infer
                                                                        Print Detection. The @page rule triggers when a page is
the exact size of the element. This technique is visualized in
                                                                        printed, similar to the @media print rule. The rule does
Figure 2. Most browsers adapt their default styles for certain
                                                                        not provide information about the environment but a user’s
elements (e.g., the <button> element) to fit the operating
                                                                        action. Additionally, such a rule can stealthily change the
system [22]. In addition, the language setting of the browser
                                                                        printed email’s content or prevent printing the email entirely by
also directly influences the width of some elements, such as
                                                                        hiding the content. Note that currently, only @media print
the <input> element with the type file, which allows
                                                                        provides advanced capabilities, and the support for @page is
users to choose files from their device storage. The width
                                                                        still rudimentary, only supporting margins.
of elements depends on the advance width of the glyphs the
element contains and, therefore, the font used for rendering.           C. Evaluation
Note that this technique can also be used for general font                 In this section, we evaluate the at-rule-based techniques for
fingerprinting. Our approach is similar to Lin et al. [22], which       fingerprinting. Our evaluation is performed on seven major
leverages iframes and media queries to achieve the same.                consumer operating systems: Microsoft Windows 10 and 11,
   Building on the ability to measure the width of HTML                 macOS 14 Sonoma, Ubuntu 22.04 LTS, ChromeOS 120,
elements, we can also detect the use of translation tools, and          Android 14 and iOS 17.3. We include the latest versions of
their respective target languages. Translation tools built into         Google Chrome, Microsoft Edge, Opera, Mozilla Firefox, and
the browser, such as Google Translate, directly modify the              Apple Safari, covering the vast majority of the market share
content of the DOM. Those modifications also influence the              [39]. Further, we also include three privacy-focussed browsers,
width of the containing elements since different glyphs are             Brave, Ghostery, and the Tor browser, in their respective
used to render the element. Attackers can provide texts in              latest versions. A complete table of the browser versions
different languages and detect which are translated. A single           can be found in Table IV in the appendix. Our evaluation
different glyph can be leveraged to detect the exact translation.       contains 1176 pairs of OS-browser combinations. We perform
Detecting whether translation happens, or even knowing the              the evaluation on fresh installations, which constitutes the
target language, provides hints about the languages a user              worst-case scenario for the fingerprinting capabilities while
understands and prefers.                                                preserving the ability to identify systemic differences.



                                                                    6
   1) Container Queries (Font Detection): We first evaluate             702 (76.1 %) releases are unique in the CSS features they
our container-query-based font fingerprinting approach using            support, which attackers can fingerprint using @supports
the list of typefaces included with Microsoft Windows 11 [40],          rules.
the list of typefaces included with Apple Mac OS X 10.0                    Looking at the major three desktop browsers (i.e., Chrome,
through macOS 10.14 [41], the allowlist of the Tor browser              Firefox, Safari) and their latest 10 releases recorded in the
on Linux [29], and the list of fonts used by FingerprintJS [42],        dataset, we find that 16 out of the 30 releases are unique
also used by prior work [22]. In addition, we also check the            in their feature set. There are no overlaps between different
fonts behind the generic font families (e.g., system-ui).               browser engines. For browser versions, we only find overlaps
We exclude the Brave browser, as it follows a randomization-            of size 2, except for Firefox, where Firefox 121 to 124 have
based approach to mitigate font fingerprinting, which would             the same features. Note that this may also stem from an
induce false positives in our evaluation. This experiment               incomplete dataset, as the current major release of Firefox
design leaves us with 861 OS-browser combination pairs. Out             is 122. As such, the CSS rule @supports can distinguish
of these, we can distinguish 831 (96.5 %) pairs. Our font               browser engines and, in most cases, their major releases.
fingerprinting approach can generally distinguish all operating            In addition, 39 CSS features are first deployed behind flags
systems, except when using the Tor browser, where we cannot             that users must explicitly enable. On the other hand, features
detect differences between Windows 10 and 11. In addition, we           may also be turned off. The modification of these feature
can reliably differentiate the major browser engines. We did            flags can likewise be inferred via CSS. As such, the browser-
not identify differences between Chromium-based browsers,               supported features may identify a user who has customized
except on ChromeOS and macOS. On ChromeOS, we can                       their browser via the feature flags.
distinguish Google Chrome and Opera, the only two available                3) Translation Identification: We evaluate the width-
Chromium-based browsers for the system in our evaluation.               measurement-based translation identification technique using
On macOS, Opera modifies the default font of the generic                the built-in translation tool of Google Chrome that leverages
family system-ui, allowing us to differentiate Opera from               the Google Translate service. For this, we translate the sen-
Google Chrome and Microsoft Edge. We can differentiate                  tence “I can understand the words used by my grandfather
Mozilla Firefox-based browsers, except on macOS, where we               and like coffee.” into 131 languages supported by the Google
cannot detect differences between Firefox and Ghostery. Note            Translate API. We find that the rendered width of the trans-
that we cannot detect differences between the fonts on iOS              lation is unique for 127 languages and can thus be accurately
since the browsers are all WebKit-based.                                distinguished using our container-based width measurement
Bypassing Countermeasures. The Tor browser imple-                       technique. The only exceptions are two language pairs, where
ments an allowlist-based approach to mitigate font finger-              the width of the translation is the same: Simplified Chinese
printing [29]. However, our container-query-based technique             and Traditional Chinese, and Filipino and Tagalog. For the
identifies a notable exception in Tor’s mitigation strategy.            first pair, all fonts are monospaced and only the visual of a
Specifically, the browser does not adhere to its font allowlist         character differs, never the amount of characters. The second
for the font family “Gill Sans”, a licensed font distributed with       is Filipino and Tagalog, which the API does not seem to
Microsoft Office [43]. This oversight allows the detection of           differentiate. Also note that Filipino is the standardized form
Microsoft Office on a system, even on the highest security              of Tagalog.
level of the browser. The Tor project acknowledged the issue,
indicating an awareness of the exception. However, they                             V. L EAKAGE VIA CSS F UNCTIONS
(wrongly so) expected this to be mitigated by the other font               In this section, we introduce a novel source of script-
fingerprinting mitigations (i.e., disabling scripting and loading       less leakage based on CSS functions. These functions allow
Web fonts). The behavior seems to stem from a distinct code             dynamic calculation of property values based on environment
path for “Gill Sans” in Mozilla Firefox, potentially linked to          properties, such as the viewport size. Based on our systematic
Bug 551313 [44]. As a result of our report, we are working              analysis (cf. Section III), we focus on two of these functions,
with the project maintainers to find a solution.                        calc and env. Section V-A shows differences in the results
   2) Support Queries: We analyze the uniqueness of the fea-            of calc functions between browsers, operating systems, and
tures browsers and their major releases provide by leveraging           CPUs. Section V-B shows that the environment variables
@supports rules. We rely on CSS feature-compatibility data              accessible using env provide information about the used
provided by Mozilla via their MDN Web Docs [25], [45]. The              device. As an exfiltration channel, we use container queries to
dataset features the 6 major desktop browsers: Chrome, Edge,            query the width of a container that was previously calculated
Firefox, Opera, Safari, and Internet Explorer. In addition,             using a calc() or env() expression. These functions can
it features the 5 major mobile browsers: Chrome Android,                also be used in media queries as an alternative exfiltration
Firefox Android, Opera Android, Safari iOS, and Samsung                 channel.
Internet. Since Safari on iOS is also used as a rendering engine
for the WebView component, the dataset also features the                A. CSS calc() Expressions
Android equivalent WebView Android. For these 12 browsers,                CSS allows mathematical expressions and functions to dy-
the dataset records 922 different major releases. Out of these,         namically compute the value of properties using the calc()



                                                                    7
function [38]. As an example, it can be used to responsively          and viewport-segment-*. The former defines the inset
calculate an object’s width with respect to its parent’s width:       required on the four sides to create a rectangular display
calc(100%/3 - 2*1em). Components of a calc expres-                    area. For example, notched displays require special care when
sion may be literal values (e.g., 5px or 123), mathematical           placing content, as the notch may obscure parts of the inter-
functions (e.g., sin()), or other expressions that evaluate to        face. Similarly, the latter is used to define the position and
valid argument types. Per standard, user agents must support          dimensions of logically separate regions of the viewport. For
expressions of at least 20 terms. The expressions are typed and       example, this is used with folding devices where the hinge
may be used with and as numeric values of most numeric data           creates two separate display areas. Since these values depend
types (e.g., <length> units). The standard mandates type              on hardware features, they provide an additional fingerprinting
checks to be conducted during sub-expression evaluation [38].         vector to differentiate (particularly mobile) devices.
   The computed value is clamped to the range depending on
the target context of the computation. Note that these ranges         C. Evaluation
are only partially standardized. For example, the width                  In this section, we evaluate the leakage of the calc and
property may not accept negative values [38]. However, it             env functions using the same targets as in Section IV-C.
may accept fractional values of the unit px. Here, the stan-             1) Mathematical Differences: We evaluate our fuzzing ap-
dard does not mandate the number of fractions that must               proach for the calc by creating 10 000 expressions us-
be representable. We found that Chromium- and WebKit-                 ing the same random seed and collecting their results. We
based browsers allow representable values for the unit px that        then leverage the collected data to find differences between
                   1                                                  browsers’ results. These expressions can directly be combined
are multiples of 64  . Firefox only supports 61 representable
numbers in the range [0, 1] that do not share a common factor.        with container queries to generate test cases that differentiate
In addition, the representable values are only in the range           browsers. Concretely, our expression reveals differences in
[0, 33554428] for Chromium-based browsers and [0, 8947841]            1116 OS-browser combination pairs (94.9 %). We can always
for Firefox. These implementation-specific limitations high-          distinguish browser engines based on the results of their func-
light that calc() expressions can be a source for fingerprint-        tions (e.g., Firefox Gecko and Chromium Blink). In addition,
ing. Besides these details, there are also differences caused         the implementation of browser engines changes frequently,
by implementation differences in the browser and third-party          allowing us to distinguish major releases. For example, the 10
math libraries.                                                       recent major releases of Mozilla Firefox feature four different
Finding Differences. We employ a differential grammar-                behaviors. Most importantly, we can differentiate release 115
based fuzzing approach to generate and test expressions to            (extended support), used in the Tor browser, and the two
find implementation-specific differences when evaluating com-         most recent releases, 121 and 122. We can also differentiate
plex expressions. Our fuzzer searches for differing results           Opera from the other Chromium-based browsers, as the most
and automatically explores the limitations of the mechanisms          recent release, 106, still uses Chromium 120, while the others
that implement parsing, type checking, and evaluation of the          have already updated to Chromium 121. Further, we can also
expressions by automatically generating test cases that adhere        generally distinguish operating systems. The only exceptions
to the grammar specified in the CSS standard. It is entirely          are Apple Safari on Apple Silicon, which behaves the same
implemented on the client side, where we directly evaluate            as the WebKit engine on iOS, and Windows 10 and 11, where
the expressions to retrieve the results.                              we can only distinguish 36 of the 49 browser combinations
   Our fuzzer generates expressions that include arithmetic           (73.4 %).
operations (i.e., +, -, *, /), function calls supported by all        Distinguishing Architectures. The calc()-expression-
major browsers, and nested calc() expressions. Currently,             based technique can also differentiate instruction set archi-
only trigonometric functions (e.g., sin, asin) are widely             tectures (ISAs). For example, we can differentiate Microsoft
supported, with additional functions (e.g., abs) [38] described       Edge on Windows 11 on ARM and x86-64. Furthermore, we
in the standard but not yet universally implemented [45]. The         can distinguish between a browser’s 32-bit and 64-bit versions,
depth of generated expressions can be controlled by config-           even for the Tor browser on Windows 11. These are the first
uration parameters, allowing for targeted testing of specific         architectural differences observable from CSS only.
limitations. Each test case is tested directly on the DOM by             2) Screen        Geometry:         We     evaluate        the
creating a <div> element and applying a style that features           safe-area-inset-*               environment    variables     for
the width set as the expression. If the attacker-measurable           fingerprinting on all 5 most recent iPhone generations
width differs between browsers or operating systems, the              (i.e., iPhone X up to iPhone 15). As of 2023, Apple’s iPhones
underlying expression can be used as a fingerprinting channel.        account for nearly one quarter of the global smartphone
                                                                      market share [47]. We observe differences in the values
B. CSS env() Function                                                 of the variables when the devices are in landscape mode,
  The env() function, as defined in the CSS Environment               which is explained by the devices’ notch not obscuring
Variables Module Level 1 draft [46], allows using predefined          any content when the site is initially loaded. Here, we find
environment variables in CSS functions. The draft defines             3 clusters among the values of the 5 devices when using
two types of environment variables: safe-area-inset-*                 Safari. The iPhone X and the iPhone 15 are unique, while



                                                                  8
the iPhones 12-14 appear the same concerning the values                    In line with prior work on extension fingerprinting [14], we
of the variables. Interestingly, Google’s Chrome, which on              propose a novel CSS-based approach to detect modifications of
iOS also uses the WebKit engine, presents two clusters. The             the DOM and added styles. This is commonly done by browser
first cluster is again the iPhone X, where the values are the           extensions that inject stylesheets into the context of a site.
same as on Safari. All 4 remaining phones are in the second             As such, we can detect and identify the presence of browser
cluster, distinct from any value combinations observed using            extensions that modify the DOM. We can directly leverage the
Safari. As such, this feature also allows differentiating mobile        framework introduced by Laperdrix et al. , which identifies
browsers. These findings align with the reported viewport               extensions that inject stylesheets and pinpoints the injected
sizes when in landscape mode.                                           styles [14]. In the following, we can again filter the injected
                                                                        stylesheets for styles where a CSS-based exfiltration channel
            VI. L EAKAGE VIA CSS P ROPERTIES                            exists and automatically combine the trigger element generated
                                                                        by the framework by Laperdrix et al. with the corresponding
   In this section, we introduce a template-attack-based ap-
                                                                        exfiltration channel.
proach to detect CSS properties that leak values from the
environment. The central intuition of this approach is that
operating systems, browser extensions, and user settings in-            B. Evaluation
fluence CSS properties accessible to websites. We show that                In this section, we evaluate the differences in the computed
our automated approach finds orders of magnitude more                   styles of HTML elements and the ability to detect browser
leaking properties than previous work [22]. The evaluation is           extensions using only HTML and CSS. For the first part,
performed in the same fashion as described in Section IV-C.             we use the same set of browsers and operating systems as
As such, we detect any influences the default configuration             described in Section IV-C.
of the OS or the browser has on the base styles of HTML                    1) Leaking Properties: As of the writing of this paper,
elements. Further, we detect browser extensions that inject             container queries are limited to the dimensions as described in
stylesheets in the context of a site controlled by a tracking           Section IV-A. Thus, our evaluation focuses on the properties
party.                                                                  that can be inferred using our container-query-based approach.
                                                                        This includes all element-dimension-related properties (e.g.,
A. Finding Environment Differences                                      width) as well as the line height and the font family and
   In the following, we describe our template-attack-based              size, as they directly influence length units, which we can
approach to detect CSS properties that differ between en-               query as established in Section IV-A. Note that the evaluation
vironments. We employ an HTML document containing all                   is conducted in an iframe with a fixed viewport to eliminate
elements described in the HTML5 standard. The default styles            viewport-induced differences.
of all elements in one environment, e.g., Chrome on Windows                We can differentiate 97 % of all browser-OS combination
10, are then compared against a different environment, e.g.,            pairs in our investigation. Generally, our templating framework
Firefox on macOS 14. All detectable differences can automat-            finds differences between all operating systems and browser
ically be encoded into their corresponding generic exfiltration         engines. Here, the only exception is Google Chrome on
channel. For example, we can infer the width property of                Windows 10, which cannot be differentiated from Google
an element by first making the element a container and then             Chrome and the Brave browser on Windows 11. In addition,
using a container query that depends on the container’s width.          we can usually detect differences within the browsers that
   Technically, we frame the outer HTML document to a                   use the same engine on the same OS. Notable exceptions
fixed size of 200x200 to eliminate direct influences of the             are the Brave and the Ghostery browsers, which can only
viewport dimensions. We then use JavaScript to collect the              be distinguished from Chrome and Firefox, respectively, on
computed styles of every HTML element in the document via               our ChromeOS device. Further, we also cannot distinguish
getComputedStyle. Note that JavaScript is not necessary                 Chrome, Edge, and Brave on Ubuntu; Chrome, Edge, Brave,
for fingerprint generation and is only used for the initial data        and Opera on macOS; Chrome, Brave, and Opera on Android.
collection. We collect styles for every HTML element together              Interestingly, we can identify Opera on iOS, although all
with its XPath, allowing the detection of stylistic differences         browsers on iOS use the same engine. This is because Opera
induced by element nesting.                                             injects stylesheets that slightly customize the styles of HTML
   As of the writing of this paper, container queries are still         elements. In particular, Opera slightly enlarges some form
limited to querying dimensions (e.g., width). We thus only              elements. All other iOS browsers are not distinguishable via
consider those CSS properties that an attacker can actually             their default styles. In the hypothetical scenario of an exfiltra-
exfiltrate. In the future, container queries will likely be fully       tion channel for every CSS property, we can differentiate 11
implemented as described in the @container standard.                    additional pairs, increasing our accuracy to 98 %.
Consequently, they could become a general way to detect ar-                2) Extension Detection: We also test how CSS properties
bitrary differences in an element’s representation. We include          can be used to detect DOM modifications by browser exten-
a hypothetical what-if analysis to show how expanding the set           sions. We test 10 Chrome extensions: 9 extensions that serve
of available exfiltration channels would increase fingerprints.         as examples in the artifacts of prior work [14] and the popular



                                                                    9
NoScript extension, which is relevant to the CSS fingerprinting             Overall, out of the 1176 combinations in our evaluation, we
threat model.                                                            can distinguish 1152 of them (i.e., 97.95 %). The combination
   We can construct CSS snippets that perform conditional                of our novel techniques can generally distinguish all operating
requests and allow fingerprinting for all extensions. In two             systems included in our evaluation, including the Tor browser
cases, we can leverage simple CSS selectors as the extensions            with NoScript, both configured to the highest security level.
modify the DOM. One extension, e.g., adds a class name to an             The only exception here is the Brave browser on Windows 11,
existing HTML element of the DOM. In one case, we leverage               which is indistinguishable from Google Chrome on Windows
our container-query-based approach to detect the presence of             10. Within an operating system, our techniques can distinguish
a stylesheet that modifies the font family for certain elements.         the major browser engines, i.e., Blink (Chromium), Gecko
Another case leverages the behavior that background images               (Mozilla), and WebKit (Apple). The only exception is Apple
of elements with display set to none are not fetched.                    iOS, where all browsers are restricted to using the same
For the remaining cases, we use container queries to detect              WebKit engine. Note that this is subject to change with iOS
modifications to the element width.                                      17.4 [50]. Distinguishing browsers using the same engine is
   For example, we provide a CSS snippet that can detect the             often possible due to the usage of different engine versions
media-blocking functionality of the popular NoScript exten-              and the browser’s individual customization. For example, the
sion using a simple CSS selector. In place of the original               Ghostery browser ships with a different version of the font
media element (e.g., <audio>), the extension places an <a>               Twemoji Mozilla, a fallback emoji font of Firefox.
tag with a hyperlink reference to the remote file. This tag has a
unique class name, __NoScript_PlaceHolder__, which                                 VIII. E MAIL C LIENT F INGERPRINTING
we can target using a class name CSS selector that triggers a
                                                                            In this section, we show that our techniques can be applied
request as described in Section III-E. Note that the approach
                                                                         in highly restricted environments, such as emails. Emails do
would also work without this class name, as we could also
                                                                         not allow scripting languages, such as JavaScript, and typically
leverage relative selectors (e.g., the child selector) or measure
                                                                         block iframes, thus preventing the technique proposed by
the width of the element using container queries.
                                                                         Lin et al. [22]. Email client fingerprinting introduces some
      VII. C ASE S TUDY: B ROWSER F INGERPRINTING                        interesting scenarios that differ from browser fingerprinting.
                                                                         Attacks might aim to link the web sessions of a visitor to their
   In this section, we evaluate the combination of our novel
                                                                         email account or identify all email addresses belonging to a
fingerprinting techniques on the 1176 browser and operating-
                                                                         user, which we refer to as Email Address Linking. This threat
system combination pairs described in Section IV-C. We fur-
                                                                         vector is similar to Session Linking on the Web [6]. Possible
ther show that our techniques work reliably under the highest
                                                                         targets include email aliases, throwaway email addresses, and
security setting of the NoScript extension, also used by the Tor
                                                                         deanonymizing subscribers of mailing lists. Such information
browser. At the highest security setting, the extension blocks
                                                                         can be particularly valuable for spearphishing campaigns. Our
the execution of JavaScript and plugin objects (e.g., Adobe
                                                                         techniques can also be used as a security measure to detect
Flash). In addition, the loading of HTML5 audio, HTML5
                                                                         compromised email addresses or the leakage of email contents,
videos, subdocuments (e.g., iframes), Web fonts, the content
                                                                         both via email forwarding and printing of emails.
of <noscript> tags, and any request to the local network are
prevented [48]. This security setting also blocks all requests              We investigate the HTML and CSS feature set supported by
where the browser is not able to identify the request type.              21 email clients across different platforms (cf. Section VIII-B).
Lastly, it also includes a mitigation (restricted CSS) against           Our analysis shows that 9 email clients allow all our techniques
CSS PP0 [49], which prefetches DNS records to prevent                    for email client fingerprinting while 18 expose at least one
the DNS-based exfiltration technique. Similar restrictions are           fingerprinting vector. As the subset of supported CSS features
applied in the context of HTML emails.                                   differs heavily among email clients, we showcase different
   We evaluate how well our techniques infer implementa-                 ways to track users in 2 case studies (cf. Section VIII-C).
tion specifics of calc() functions, available fonts, and the
                                                                         A. The State of Rendering Engines in Email Clients
computed styles of all standard HTML elements. We exclude
the Brave browser when comparing the font-based finger-                     Generally, email clients use rendering engines that are
printing due to the randomness-based mitigation described                based on those used in web browsers such that CSS-based
in Section IV-A. While custom fonts installed on a system                fingerprinting also applies to email clients. For web clients,
reveal additional information, we evaluate our techniques on             such as Gmail, this is trivially the rendering engine of the
fresh installs of the operating system to concretely identify            browser. Native desktop clients often use a rendering engine
the information leakage source. Hence, this acts as a lower              provided by the operating system, or by a different application
bound on the fingerprinting capabilities of our techniques.              on the system. For example, on Windows systems, the Outlook
While viewport dimensions can be used for fingerprinting,                2007 desktop client uses the Word rendering engine [51].
their values can easily change during a user session, e.g., by           On iOS and macOS, the Apple Mail client uses the WebKit
maximizing the browser window. We exclude these features                 engine [52]. Similarly, mobile clients often use, or even are
from our evaluation for a more stable fingerprint.                       forced to use, the rendering engine provided by the operating



                                                                    10
system via a WebView component. Here, the Android We-                    plugin [57]. Despite its general intentions to stop JavaScript
bView component uses the Blink engine [53], while the iOS                execution, we found that the Android application “Samsung
WebView component uses the WebKit engine [54].                           Email” allows an HTML email to include iframes that leverage
   Alternatively, some clients ship with a rendering engine.             JavaScript. As such, the client permits leveraging state-of-
For example, Mozilla Thunderbird uses the Gecko engine [55]              the-art JavaScript-based fingerprinting techniques and does
which is also used by the Firefox browser. Also, the KMail               not constitute a restricted context. Thus, we reported the
client for KDE uses Chromium via the QtWebEngine [56].                   vulnerability to Samsung, and excluded the app from the
                                                                         following statistics.
B. Analysis of Email Client Features                                        13 clients support executing more than 90 % of media
   We analyze 21 different mail clients for their supported              queries. 9 clients support container queries and allow media
HTML and CSS feature sets. The tested clients include web,               queries containing the calc function. Nevertheless, one of
desktop, and mobile clients. Our findings show that many of              these 9 clients, namely ProtonMail, prevents the exfiltration
the previously discussed CSS features are supported by email             of information such that we deem it not fingerprintable. The
clients, making email client fingerprinting a realistic threat.          remaining 8 clients support more than 75 % of HTML that
   1) Methodology: We develop a set of test cases that cover             we can leverage for property fingerprinting as described in
the full range of CSS features applicable to fingerprinting, as          Section IV-A. This includes the support for HTML elements
well as the features required to exfiltrate the information via          such as <input type="file">, which has been shown
HTTP requests. Our test cases test the three major at-rules              to feature good fingerprinting capabilities [22]. Our container-
@media, @supports, and @container that are useful                        based technique (cf. Section IV-A) can be applied to 8 clients,
for fingerprinting. For media queries, we have a distinct test           allowing, e.g., fingerprint the font set, operating system, and
case for every type of media query. In addition, we check                default styles. 4 clients do not require any user interaction:
for the implementation of additional at-rules, such as the               Apple Mail on iOS and the iCloud Web client, and GMX on
@font-face and @import rules. The @font-face rule                        Android and iOS. Note that no evaluated client allows loading
has been the most prominent method for font fingerprinting,              remote iframes, thus preventing the fingerprinting techniques
while @import can be used recursively to load CSS, poten-                presented in prior work [22]. On 40 % of the tested clients, i.e.,
tially circumventing filters.                                            8 clients, all techniques proposed in this paper can be applied
   We consider style tags and external CSS via the <link>                to fingerprint clients. Table II summarizes our findings. For
element, both in the head and body of the email. In addition,            Microsoft’s Outlook, the proxy behavior depends on the server
we test for restrictions on style attributes of HTML elements            and user configuration [58].
and the srcset and sizes attributes of the <img> tag. The                   A limitation of email client fingerprinting is the blocking
latter may be used as a replacement for media queries. Some              of remote content. As shown by prior work, remote-content
email clients allow using <link> tags to include external                blocking is difficult due to the complexity of modern HMTL
CSS or even the @import rule; we recursively check if the                and CSS [59]. Further, the statements provided by many email
same constraints are applied to external stylesheets.                    clients may mislead users into underestimating the privacy
   We further check for email clients that unconditionally load          implications of remote content, especially with the adoption
all remote resources. To do so, we have a test case containing           of proxy services that eliminate many privacy risks [33].
two media queries with mutually exclusive conditions. A client              3) Fingerprinting Framework Comparison: In the follow-
that respects the conditions loads one of these resources, while         ing, we compare the ability of different CSS-based finger-
a client that unconditionally prefetches all resources loads             printing frameworks to be leveraged for Email Client Fin-
both. To also detect the fetching of resources before the email          gerprinting. The comparison of their techiques is tabularized
is opened, we rerun test cases without opening the email. We             in Table III. For this, we have selected relevant candidates
also log the user agent header and the IP address of incoming            from academia [22], [30], hobbyists [60] and industry [61].
requests to check for the usage of a proxy service.                      As none of these candidates discusses or evaluates the use in
   2) Results: We analyze 21 different email clients. For a              the email scenario, we evaluate their applicability. Note that
detailed list of clients and their versions, we refer to Table VI        we ignore information collected via the User-Agent header,
in the appendix. Our analysis shows that 17 (81 %) of the                as our analysis has shown that remote resources are usually
clients fetch remote resources without requiring any user inter-         loaded by a proxy service. Table II shows which clients use a
action. Only SOGo, RoundCube, Thunderbird, and Apple Mail                proxy service to load remote resources, but are fingerprintable
(Desktop) require user interaction by default before remote              using our techniques.
resources are fetched. Moreover, the commercial clients GMX                 We notice that the general approach is to collect all infor-
(Web/Android/iOS), and Samsung Email do not use a proxy                  mation available via media queries. This carries information
for fetching remote resources, leaking at least the IP address           about the screen size, color support, and user preferences. In
and user agent. For Outlook (Web/Desktop/Android/iOS), this              addition, all frameworks query feature support to determine
depends on the configuration of the server and user. The                 the browser. Here, Takei et al. leverage non-standardized CSS
open-source clients SOGo and RoundCube do not employ a                   properties that accept URL arguments, while all remaining
proxy either, although it can be added to RoundCube via a                leverage 4 @supports queries. Second, font fingerprinting



                                                                    11
TABLE II: Support of the container queries CSS feature                      1 #container {
by tested email clients.      indicates that the remote-content             2   container-type: inline-size;
loading requires user interaction. In the case of ProtonMail,               3   width: calc(...);
                                                                            4 }
exfiltration is prevented using unconditional preloading, which             5 @container not (width: 293694.0625px) {
we denote by . * means that the proxy of Outlook depends                    6   body {
on the server and user configuration.                                       7     background-image: url(/not-windows);
                                                                            8   }
                                                                            9 }
      Client            Type        Proxy     @container                   10 @container (width: 293694.0625px) {
                                                                           11   body {
      iCloud            Web           ✓                                    12     background-image: url(/windows);
      RoundCube         Web                                                13   }
      SOGo              Web                                                14 }

      ProtonMail        Web           ✓
      AOL               Web           ✓                                  Listing 3: A CSS snippet that leverages the calc() expers-
      Yahoo             Web           ✓                                  sion in order to distinguish Windows 10 and 11 from other
      Outlook           Web           *                                  operating systems when using Mozilla Thunderbird.
      Gmail             Web           ✓
      GMX               Web
      Thunderbird       Desktop                                          to an incomplete mitigation (Section IV-C). For our proof-of-
      Apple Mail        Desktop       ✓                                  concept, we leverage a container query that detects if the font
      Outlook           Desktop       *                                  Leelawadee is installed. As this font is a non-free Microsoft
      Windows Mail      Desktop                                          font for the Thai Language, we do not expect users without
      GMX               Android                                          Microsoft Office to have it installed [64].
      Outlook           Android       *
                                                                         OS Fingerprinting. As a second demonstration, we remotely
      Gmail             Android       ✓
                                                                         leak the OS via fingerprinting on Mozilla Thunderbird. The
      Apple Mail        iOS           ✓
                                                                         email leverages a calc() expression that results in a different
      GMX               iOS
                                                                         result on Windows than on Linux or macOS systems. Since
      Outlook           iOS           *
                                                                         Mozilla Thunderbird is based on the same Gecko engine as
      Gmail             iOS           ✓
                                                                         used in Firefox, we can leverage an expression that evaluates
                                                                         to a different result depending on the OS when using Firefox
                                                                         115 ESR. Interestingly, while the expression also evaluates
is usually conducted using the @font-face rule with the
                                                                         to different results depending on the OS in Thunderbird,
exception being Lin et al. , which leverage a combination of
                                                                         those results are also different from the results produced
@font-face and their iframe-based techique.
                                                                         by Firefox ESR. As such, we are able to distinguish not
   We identify 14 features that can be fingerprinted in email
                                                                         only the OS from Thunderbird but also Thunderbird from
clients. In contrast, the sophisticated techiques by Lin et al.
                                                                         Firefox. Listing 3 provides an example of a CSS snippet
are largely restricted to the Web setting, due to their use of
                                                                         that is capable of distinguishing Windows 10 and 11, from
iframes, leaving only 7 features that could theoretically work
                                                                         other operating systems when using the Desktop Client of
in email clients.
                                                                         Mozilla’s Thunderbird. Only the URLs have to be modified
C. Case Studies                                                          to point to a remote server. It leverages a calc() expression
                                                                         that was left out of the listing due to its complexity. In total
   In this section, we present 2 case studies that highlight how
                                                                         the expression features 5 function calls, 3 constants and 22
certain fingerprinting techniques apply to email clients (cf.
                                                                         arithmetic operations.
Section VIII-C1), creating new threats (cf. Section VIII-C2).
   1) Case Study: Applying Browser Fingerprinting to Email                  2) Case Study: Email-specific Threat Vectors: As a second
Clients: We demonstrate that leveraging techniques for                   case study, we demonstrate threat vectors specific to the
browser fingerprinting can be used in email clients.                     context of email-client fingerprinting.
Font Fingerprinting. As a first demonstration, we detect                 Bypassing Blocklists. Our test suite detects 2 clients where
installations of Microsoft Office from Apple iCloud Mail                 externally loaded CSS is not subject to the same constraints
using our container-query-based font fingerprinting technique.           as inline styles. According to our tests, this affects Mozilla
Detecting if Microsoft Office is installed is, e.g., relevant for        Thunderbird and Alinto SOGo. With both clients, external CSS
CVE-2017-0199 that exploits the Windows HTML Applica-                    can use container queries while they are removed from inline
tion Handler using a malicious Office RTF document to gain               styles. This even works with data URLs, circumventing the
arbitrary code execution without user interaction [62]. The              need for the user to allow loading remote content explicitly.
vulnerability was among the most exploited vulnerabilities in            Thunderbird still requires the user’s consent for any requests
2022 [63]. Detecting an Office installation using our technique          issued by CSS, as long as this is not generally allowed in the
even works in the Tor browser using the Gill Sans font due               Thunderbird settings.



                                                                    12
TABLE III: Features that can be identified using the techniques of CSS fingerprinting frameworks from Takei et al. [30],
Lin et al. [22], csstracking.dev [60], and No-JS fingerprinting by the maintainers of FingerprintJS [61]. We denote
features that work on all discussed user agents by , whereas features that only work on a subset of user agents are denoted
by . Features that would theoretically work on a subset of clients but were not discussed by the respective works are denoted
by . Features that can only distinguish some instances of a class are denoted by .

                                   Environment
                                                               Web                                          Email
                   Feature
                                                 [30]   [60]   [61]         [22]   Ours      [30]    [60]    [61]    [22]    Ours
                   Browser
       S YSTEM




                   Browser Major Version
                   Operating System
                   Screen Resolution
       H ARDWARE




                   Screen Geometry
                   Color Support
                   Architecture
                   Client Language
       U SER




                   Installed Fonts
                   Font Preferences
                   User Preferences
       P LUGINS




                   AdBlocker Identification
                   Extension Identification
                   Translation Identification


   In the case of SOGo, using the @import rule to load ex-                recipient. The fingerprint could even be leveraged directly in
ternal CSS does not only circumvent the restrictions imposed              the email to obfuscate the content if forwarded.
on the allowed styles but also breaks email isolation. SOGo               Conditional Content. Instead of fingerprinting, our tech-
restricts the styles of an email to only the context of that email        niques can be exploited without an exfiltration step, e.g., in
using a technique known as namespacing [65] in combination                spearphishing campaigns. For example, detecting the OS al-
with filtering the stylesheets. They prepend a unique identifier          lows dynamically displaying links that lead to exploits for that
to every class name or identifier in the HTML or CSS. The                 particular system. It enables attackers to customize and conceal
same procedure is not applied to external stylesheets included            their attack based on the detected environment, increasing the
from a remote server. This allows for performing an attack                success rate of their exploits.
known as Blind CSS Data Exfiltration [66]. In the case of
SOGo, this allows exfiltrating the subjects of other emails in                  IX. M ITIGATING CSS- BASED F INGERPRINTING
a victim’s inbox. Our findings were acknowledged by Alinto                   In this section, we propose approaches for mitigating CSS-
and received CVE-2024-24510. The issue has since been fixed               based fingerprinting. We demonstrate a browser-based mitiga-
in SOGo Version 5.9.1.20240124-1.                                         tion that prevents data exfiltration via CSS-initiated requests.
                                                                          Additionally, we propose email-client-specific mitigations that
Print Detection. Using @media print, the sender of an
                                                                          are not limited by a standard on HTML emails and can,
email may set up a notification mechanism for if and when
                                                                          therefore, use different mitigation strategies.
an email is printed. Benign usage of this rule ensures that
a document is optimized for printing (e.g., large background              A. Unconditional Preloading
images are removed). However, this rule also allows loading
remote content upon initiating the print dialog from the                     Exfiltrating information obtained from conditionals via
browser.                                                                  HTTP is a crucial step in CSS-based fingerprinting, as the
                                                                          threat model assumes no client-side scripting capabilities (cf.
Forward Detection. The supported CSS features of an email                 Section III-A). As our results show, there are numerous ways
client often directly reveal the email client used to open an             of obtaining information with modern CSS. However, the
email. This technique can detect if an email is forwarded to or           methods for exfiltration are limited (Section III-E). Thus,
opened by a different client. Further, even if the client remains         we propose a mitigation that completely removes conditional
the same, a difference in the CSS fingerprint of the client               CSS-initiated HTTP requests. The general idea is to preload
opening the email may indicate either a compromise of an                  all resources that are referenced in the CSS of a site. As
email account or the forwarding of the email to an unintended             such, the computed styles are still conditional, while the HTTP



                                                                     13
requests prevent the exfiltration of these conditions to a remote        pixels. Second, it additionally strengthens the integrity of the
server. We implement a proof-of-concept as an extension                  email since remote resources could be modified or removed
for Mozilla Firefox. The extension checks for occurrences                at a later point in time, thus making the same email appear
of the url(), image(), or image-set() functions in                       different at two different points in time. This further allows for
external stylesheets, inline styles, and style attributes. For           the proper archiving of emails without encountering references
every identified URL, the extension injects a hidden image               to remote resources that are no longer available.
into the DOM that fetches the identified resource. As such,              Proof-of-Concept & Overhead. We implement a proof-of-
every remote resource is requested unconditionally, and later            concept using Python that takes a .eml file as input. First, we
requests are served from the HTTP cache of the browser. Note             rewrite stylesheets to style attributes using the PyPi package
that our mitigation does not account for client-side scripting           css-inline [67]. Second, we perform the inlining of re-
due to the restrictive threat model. JavaScript could circumvent         mote images as data URLs for <img> tags and images defined
our mitigations by injecting stylesheets at runtime.                     via the CSS property background-image. Other remote
Overhead. We evaluate our extension on the Tranco Top 200                resources occur less frequently and are thus excluded in our
reachable sites [24] to showcase that it presents an acceptable          proof-of-concept. However, they may be added analogously.
performance trade-off to increase a user’s privacy. In our               We evaluate the overhead on 200 HTML email newsletters
dataset, the median number of requests a site makes is 57.               from well-known brands received in 2022. On our dataset,
Our mitigation adds 17 additional requests to the median, an             the overall size increases from 13 MB to 159 MB. The linear
overhead of less than 30 %. This corresponds to an increase              processing approach takes about 11 min, out of which the most
in the accumulated response body sizes of 225 kB. Note that              time is spent fetching remote stylesheets and images. Note
our naı̈ve approach may also induce false positive preloading,           that the service is only relevant for HTML emails and thus
e.g., URLs contained in comments.                                        introduces no overhead for plaintext emails.
B. Email Privacy Proxy                                                   C. Other Email-specific Mitigations
   Further, we introduce a proxy service that rewrites emails to            Preloading can also be used for emails. In fact, the
enhance the recipient’s privacy and the integrity of the email           email server of ProtonMail unconditionally fetches all remote
regarding its consistency across email clients. The proxy has            sources when receiving an email and rewrites the URLs to an
two distinct mechanisms that each achieve a different goal. The          internal one. Thus, leakage from CSS cannot be exfiltrated.
first mechanism rewrites top-level CSS rules that are defined            Still, unlike web browsers, there is no fixed standard for CSS
by <link> or <style> elements to style attributes. The                   and HTML in email clients, enabling other mitigations.
second mechanism is rewriting remote resources to be included            Preventing Requests. While blocking only CSS features
directly in the email via data URLs.                                     usable for fingerprinting seems infeasible, preventing remote
Style Attributes. Rewriting the CSS defined in an HTML                   requests is a viable option. A widely-implemented variant,
email is a significant step in reducing the vast majority of             e.g., in Mozilla Thunderbird, requires user permission to
the fingerprinting surface available to emails. This is because          load remote content. However, this shifts the decision to the
at-rules may only be defined by top-level stylesheets, thereby           user, who might not grasp the consequences of granting the
eliminating a major avenue for potential fingerprinting. Our             permission. Alternatively, fully disallowing the inclusion of
investigation of state-of-the-art fingerprinting has shown the           remote content also mitigates the exfiltration channel.
importance of at-rules for CSS-based fingerprinting as almost               While many commercial clients, such as GMail, implement
all techniques use at least one at-rule (e.g., @font-face).              a proxy to fetch remote content, this is not sufficient to prevent
   In addition, as underlined by our investigation, style at-            our techniques. It only stops leakage of the privacy-relevant
tributes are widely supported among email clients. In addition,          headers and the IP [33], while the request is still conditional.
the use of style attributes carries certain advantages. For              Restricting CSS. Mitigations can restrict CSS to a subset that
example, it prevents the styles defined by the email author              is not usable for fingerprinting. As we see in our analysis, there
from conflicting with stylesheets defined by the client. This            are restrictive email clients, such as AOL or Yahoo Mail, that
is due to style attributes always taking precedence over other           only support a small subset of CSS deemed safe. However,
stylesheets. Further, it confines the styles of the email to the         restricting CSS is prone to errors, as shown for the SOGo
email itself, as style attributes provide no means to define             webmail client (cf. Section VIII-C2).
styles that apply to parent or sibling elements in the DOM.
As such, style attributes provide the smallest risk of the same                                  X. D ISCUSSION
email appearing different when opened using different email               In this section, we discuss privacy considerations of the
clients. It also prevents conflicting styles between different           W3C and the outlook if the proposals continue to be imple-
parts of a multipart email (e.g., original emails attached to a          mented (Section X-A), as well as related work (Section X-B).
response).
Rewriting URLs. The rewriting of remote resources to data                A. Privacy Considerations
URLs serves two purposes. First, it eliminates the exfiltration            Overall, most of our findings are not adequately captured by
of fingerprints and undermines the functionality of tracking             the privacy concerns of the corresponding W3C specifications.



                                                                    14
For example, the specification of container queries does not                We show that existing fingerprinting techniques that rely on
state any privacy considerations [37], [68]. Our research shows          JavaScript also work without such capabilities. As such, we
that container queries increase the capabilities of media queries        build on the work by Laperdrix et al. [14] that identified almost
and allow accurate font fingerprinting. While the privacy                4500 extensions in the Chrome Webstore that are fingerprint-
considerations of the CSS Fonts Module discuss font fin-                 able by the stylesheets they inject into the context of sites. We
gerprinting in the context of the @font-face rule [69], the              show that in many cases, extensions can be fingerprinted from
discussion is restricted to loading remote fonts. However, our           CSS alone, allowing fingerprinting in restricted settings such
novel font fingerprinting technique via container queries does           as the Tor browser or even email clients.
not require the loading of remote fonts (cf. Section IV-A).                 Previous work used the JavaScript Math object for finger-
For the @supports rule, the standard mentions its potential              printing [83]. They leverage platform-dependent differences
for fingerprinting [70], but downplays the significance as this          in the computed results of trigonometric functions (e.g.,
information is exposed through a variety of other vectors.               Math.sin()) to identify the operating system from Firefox
However, especially in restricted scenarios, this function may           and distinguish Chrome and Firefox on Windows, Linux, and
be the only one available. Lastly, while the specification               Android [83]. The approach is, however, not generally able to
introducing the @import rule expands on concerns regarding               differentiate browser versions or the OS from a Chromium-
the threat model of the Same-Origin Policy [71], it does not             based browser in addition to requiring JavaScript.
discuss the implications of recursive inclusions on sanitization.           Prior work on the privacy implications of email tracking
Our work asks for better scrutiny when assessing the privacy             has identified various risks that have led to the large-scale
impact in formal specifications.                                         adoption of remote-content proxying [33], [84]. Widespread
   Unfortunately, the threat surface increases further if                privacy risks were introduced mainly by leaking information to
browsers continue to adapt more specified features. One such             third parties via headers, e.g., Referer, or even directly via
example is that implementations of container queries might               the URL [33]. Additionally, third-party cookies allow tracking
extend to a generic method of querying the computed styles               of users similar to Web tracking [1], [2].
of HTML elements, not just their dimensions. Our technique
                                                                                                   XI. C ONCLUSION
would then provide a generic way to replace the JavaScript
API getComputedStyle and thus enable full browser                           This paper shows the growing challenges in preventing
extension fingerprinting as described by Laperdrix et al. [14].          browser fingerprinting due to the evolving complexity of web
                                                                         standards. Our research shows that modern CSS is potent
                                                                         enough to provide fingerprinting without JavaScript. Based on
B. Related Work
                                                                         fuzzing and templating, we uncovered innovative techniques,
    Various browser fingerprinting techniques have emerged               exploiting nuances in container queries, evaluation of arith-
that collect browser- or device-specific information for iden-           metic expressions, and complex selectors to infer browser and
tification, improving security, or enhancing the user expe-              OS configurations. We demonstrated the applicability to the
rience [7], [14], [15], [17], [20]. While different proposals            highly restrictive setting of HTML emails, expanding the scope
exist to mitigate fingerprinting [72]–[81], the abundance of             of tracking beyond browsers. We propose a comprehensive
fingerprinting techniques has demonstrated that the only fully           mitigation for existing and future CSS-based fingerprinting
effective mitigation is the disabling of client-side scripting.          relying on preloading conditional resources. Our work under-
    Early work on CSS-based browser fingerprinting has lever-            scores the need for defenses against tracking methods.
aged CSS properties unique to a specific browser, such
                                                                                                  ACKNOWLEDGMENT
as prefixed properties using -webkit-* or -moz-* [82].
Further, Takei et al. [30] collected information about the                 We want to thank our anonymous reviewers for their com-
screen and installed fonts using @media and @font-face.                  ments and suggestions. This work has been supported by the
Fifield et al. [11] expanded on the analysis of font rendering           Deutsche Forschungsgemeinschaft (DFG, German Research
for fingerprinting and found that the glyph bounding boxes of            Foundation) - 491039149. This work was also partly supported
Unicode characters can often uniquely identify a user. Lin et al.        by the Semiconductor Research Corporation (SRC) Hardware
[22] proposed an iframe-based technique for fingerprinting               Security Program (HWS). We also want to thank Simon
the size of HTML elements without using JavaScript. This                 Einzinger for helping with some experiments. We further thank
approach can determine the bounding boxes of glyphs, which               the Saarbrücken Graduate School of Computer Science for
have been shown to provide an adequate fingerprinting surface.           their funding and support.
    While previous work has manually found CSS functionality                                           R EFERENCES
to fingerprint, we systematically analyze and uncover a large
                                                                          [1] A. Cahn, S. Alfeld, P. Barford, and S. Muthukrishnan, “An empirical
set of dynamic CSS functionality. Our work expands on                         study of web cookies,” in WWW, 2016.
the general area of CSS-based fingerprinting by introducing               [2] M. W. Docs, “Using HTTP cookies,” 2023. [Online]. Available:
novel techniques with fewer requirements that work in more                    {https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies}
                                                                          [3] J. Schuh, “Building a more private web: A path towards making
restrictive settings (i.e., HTML emails), defeating existing spot             third party cookies obsolete ,” 2020. [Online]. Available: {https://blog.
mitigations (i.e., blocking subdocuments [28]).                               chromium.org/2020/01/building-more-private-web-path-towards.html}




                                                                    15
 [4] Google, “Third-party cookie deprecation,” 2023. [Online]. Available:               [33] S. Englehardt, J. Han, and A. Narayanan, “I never signed up for this!
     {https://developers.google.com/privacy-sandbox/3pcd}                                    Privacy implications of email tracking.” Proc. Priv. Enhancing Technol.,
 [5] ——, “Topics API overview,” 2022. [Online]. Available: {https:                           2018.
     //developers.google.com/privacy-sandbox/relevance/topics}                          [34] DuckDuckGo, “DuckDuckGo Email Protection,” 2024. [On-
 [6] P. Laperdrix, N. Bielova, B. Baudry, and G. Avoine, “Browser finger-                    line]. Available: {https://duckduckgo.com/duckduckgo-help-pages/
     printing: A survey,” in ACM Transactions on the Web, 2020.                              email-protection/what-is-duckduckgo-email-protection/}
 [7] P. Laperdrix, W. Rudametkin, and B. Baudry, “Beauty and the beast:                 [35] M. W. Docs, “CSS at-rules,” 2023. [Online]. Available: {https:
     Diverting modern web browsers to build unique browser fingerprints,”                    //developer.mozilla.org/en-US/docs/Web/CSS/At-rule}
     in S&P, 2016.                                                                      [36] ——, “CSS value functions,” 2023. [Online]. Available: {https:
 [8] Fingerprint, “Case Studies,” 2024. [Online]. Available: {https://                       //developer.mozilla.org/en-US/docs/Web/CSS/CSS Functions}
     fingerprint.com/case-studies/}                                                     [37] W. W. W. Consortium, “CSS Containment Module Level 3,” 2022.
 [9] FingerprintJS, “FingerprintJS,” 2024. [Online]. Available: {https:                      [Online]. Available: {https://www.w3.org/TR/css-contain-3/}
     //github.com/fingerprintjs/fingerprintjs}                                          [38] ——, “CSS Values and Units Module Level 4,” 2023. [Online].
[10] N. Nikiforakis, A. Kapravelos, W. Joosen, C. Kruegel, F. Piessens, and                  Available: {https://www.w3.org/TR/css-values-4/#math}
     G. Vigna, “Cookieless monster: Exploring the ecosystem of web-based                [39] Stetic, “Browser Statistics,” 2024. [Online]. Available: {https://www.
     device fingerprinting,” in Security and privacy (SP), 2013.                             stetic.com/market-share/browser/}
[11] Fifield, David and Egelman, Serge, “Fingerprinting web users through               [40] Microsoft, “Windows 11 font list,” 2022. [Online]. Available: {https:
     font metrics,” in FC, 2015.                                                             //learn.microsoft.com/en-us/typography/fonts/windows 11 font list}
[12] J. R. Mayer, “Any person... a pamphleteer”: Internet anonymity in the              [41] Wikipedia, “List of typefaces included with macOS,” 2023.
     age of web 2.0,” Undergraduate Senior Thesis, Princeton University,                     [Online]. Available: {https://en.wikipedia.org/wiki/List of typefaces
     2009.                                                                                   included with macOS}
[13] P. Eckersley, “How unique is your web browser?” in PETS, 2010.                     [42] FingerprintJS, “Font List for Fingerprinting,” 2023. [Online].
[14] P. Laperdrix, O. Starov, Q. Chen, A. Kapravelos, and N. Nikiforakis,                    Available: {https://github.com/fingerprintjs/fingerprintjs/blob/master/src/
     “Fingerprinting in style: Detecting browser extensions via injected style               sources/fonts.ts}
     sheets,” in USENIX Security Symposium, 2021.                                       [43] Microsoft, “Gill Sans MT font family,” 2022. [Online]. Available:
[15] K. Mowery and H. Shacham, “Pixel Perfect: Fingerprinting Canvas in                      {https://learn.microsoft.com/en-us/typography/font-list/gill-sans-mt}
     HTML5,” in W2SP, 2012.                                                             [44] BugZilla, “Gill Sans font displays incorrectly when using DirectWrite
                                                                                             / Direct2D,” 2010. [Online]. Available: {https://bugzilla.mozilla.org/
[16] G. Acar, C. Eubank, S. Englehardt, M. Juarez, A. Narayanan, and
                                                                                             show bug.cgi?id=551313}
     C. Diaz, “The web never forgets: Persistent tracking mechanisms in
     the wild,” in CCS, 2014.                                                           [45] M. on Github, “@mdn/browser-compat-data,” 2023. [Online]. Available:
                                                                                             {https://github.com/mdn/browser-compat-data}
[17] K. Mowery, D. Bogenreif, S. Yilek, and H. Shacham, “Fingerprinting
     information in JavaScript implementations,” in W2SP, 2011.                         [46] W. W. W. Consortium, “CSS Environment Variables Module Level
                                                                                             1,” 2021. [Online]. Available: {https://drafts.csswg.org/css-env/#env-
[18] M. Schwarz, F. Lackner, and D. Gruss, “JavaScript Template Attacks:
                                                                                             function}
     Automatically Inferring Host Information for Targeted Exploits,” in
                                                                                        [47] Gartner, “iPhone unit shipments as share of global smartphone
     NDSS, 2019.
                                                                                             shipments from 3rd quarter 2007 to 4th quarter 2023,” 2024.
[19] T. Laor, N. Mehanna, A. Durey, V. Dyadyuk, P. Laperdrix, C. Maurice,                    [Online]. Available: {https://www.statista.com/statistics/216459/global-
     Y. Oren, R. Rouvoy, W. Rudametkin, and Y. Yarom, “Drawnapart: A                         market-share-of-apple-iphone/}
     device identification technique based on remote gpu fingerprinting,” in
                                                                                        [48] I. Forums, “NoScript 11.3.3 Customization,” 2021. [Online]. Available:
     Network and Distributed System Security Symposium, 2022.
                                                                                             {https://forums.informaction.com/viewtopic.php?p=103816}
[20] L. Trampert, C. Rossow, and M. Schwarz, “Browser-based CPU Finger-
                                                                                        [49] A. Shusterman, A. Agarwal, S. O’Connell, D. Genkin, Y. Oren, and
     printing,” in ESORICS, 2022.
                                                                                             Y. Yarom, “Prime+Probe 1, JavaScript 0: Overcoming Browser-based
[21] T. Rokicki, C. Maurice, and M. Schwarz, “CPU Port Contention Without                    Side-Channel Defenses,” in USENIX Security Symposium, 2021.
     SMT,” in ESORICS, 2022.                                                            [50] Apple, “Using alternative browser engines in the European
[22] X. Lin, F. Araujo, T. Taylor, J. Jang, and J. Polakis, “Fashion faux pas:               Union,” 2024. [Online]. Available: {https://developer.apple.com/support/
     Implicit stylistic fingerprints for bypassing browsers’ anti-fingerprinting             alternative-browser-engines/}
     defenses,” in IEEE S&P, 2023.                                                      [51] Microsoft, “Word 2007 HTML and CSS Rendering Capa-
[23] M. W. Docs, “¡frame¿,” 2023. [Online]. Available: {https://developer.                   bilities in Outlook 2007 (Part 1 of 2),” 2014. [Online].
     mozilla.org/en-US/docs/Web/HTML/Element/frame}                                          Available: {https://learn.microsoft.com/en-us/previous-versions/office/
[24] V. L. Pochat, T. Van Goethem, S. Tajalizadehkhoob, M. Korczyński,                      developer/office-2007/aa338201(v=office.12)}
     and W. Joosen, “Tranco: A research-oriented top sites ranking hardened             [52] Apple, “WebKit - A fast, open source web browser engine.” 2024.
     against manipulation,” in NDSS, 2018.                                                   [Online]. Available: https://webkit.org/
[25] M. W. Docs, “CSS: Cascading Style Sheets,” 2023. [Online]. Available:              [53] T. C. Project, “Android WebView,” 2024. [Online]. Available:
     {https://developer.mozilla.org/en-US/docs/Web/CSS}                                      {https://www.chromium.org/developers/androidwebview/}
[26] ——, “CSS media queries,” 2023. [Online]. Available: {https:                        [54] Apple, “WKWebView - Documentation,” 2024. [Online]. Available:
     //developer.mozilla.org/en-US/docs/Web/CSS/CSS media queries}                           {https://developer.apple.com/documentation/webkit/wkwebview}
[27] Google, “Third-party cookie deprecation,” 2023. [Online]. Avail-                   [55] F. S. Docs, “Gecko,” 2024. [Online]. Available: {https://firefox-source-
     able: {https://blog.google/products/chrome/privacy-sandbox-tracking-                    docs.mozilla.org/overview/gecko.html}
     protection/}                                                                       [56] Q. Wiki, “QtWebEngine/ChromiumVersions,” 2024. [Online]. Available:
[28] Giorgio Maone, “NoScript - JavaScript/Java/Flash blocker for a safer                    {https://wiki.qt.io/QtWebEngine/ChromiumVersions}
     Firefox experience!” July 2017. [Online]. Available: https://noscript.net          [57] evandrofisico, “RoundCube ImageProxy Plugin,” 2024. [Online].
[29] T. T. Project, “The Design and Implementation of the Tor Browser,”                      Available: {https://github.com/evandrofisico/roundcube-imageproxy}
     2019. [Online]. Available: {https://2019.www.torproject.org/projects/              [58] Microsoft, “Outlook for iOS and Android in Exchange Online:
     torbrowser/design/}                                                                     FAQ,” 2023. [Online]. Available: {https://learn.microsoft.com/en-
[30] N. Takei, T. Saito, K. Takasu, and T. Yamada, “Web browser finger-                      us/exchange/clients-and-mobile-in-exchange-online/outlook-for-ios-
     printing using only cascading style sheets,” in International Conference                and-android/outlook-for-ios-and-android-faq#q-does-outlook-for-ios-
     on Broad-Band Wireless Computing, Communication and Applications,                       and-android-support-proxy-configurations}
     BWCCA, 2015.                                                                       [59] D. Poddebniak, C. Dresen, J. Müller, F. Ising, S. Schinzel, S. Fried-
[31] T. T. Project, “Letterboxing,” 2023. [Online]. Available: {https:                       berger, J. Somorovsky, and J. Schwenk, “Efail: Breaking S/MIME and
     //support.torproject.org/tbb/maximized-torbrowser-window/}                              OpenPGP email encryption using exfiltration channels,” in USENIX
[32] B. Software, “Protecting against browser-language fingerprinting                        Security, 2018.
     ,” 2022. [Online]. Available: {https://brave.com/privacy-updates/17-               [60] O. Brotchie, “CSS Fingerprint,” 2024. [Online]. Available: {https:
     language-fingerprinting/}                                                               //csstracking.dev/}




                                                                                   16
[61] Fingerprint, “No-JS fingerprinting,” 2024. [Online]. Available: {https:             TABLE IV: Tested operating systems and browser versions.
     //noscriptfingerprint.com/}                                                         All browsers had the latest update available on Feb 3, 2024,
[62] U. N. V. D. N. (NIST), “CVE-2017-0199,” 2017. [Online]. Available:                  installed.
     {https://nvd.nist.gov/vuln/detail/CVE-2017-0199}
[63] U. C. . I. S. A. (CISA), “2022 Top Routinely Exploited                                  Operating System Version    Browser Version
     Vulnerabilities,” 2023. [Online]. Available: {https://www.cisa.gov/news-
     events/cybersecurity-advisories/aa23-215a}                                              Windows 10                  Google Chrome 121
[64] Microsoft, “Leelawadee font family,” 2022. [Online]. Available:                                                     Edge 121
     {https://learn.microsoft.com/en-us/typography/font-list/leelawadee}
[65] W. W. W. Consortium, “Namespaces in XML 1.0 (Third Edition),”
                                                                                                                         Opera 106
     2009. [Online]. Available: {https://www.w3.org/TR/REC-xml-names/}                                                   Brave 1.62.156
[66] M. Heiderich, M. Niemietz, F. Schuster, T. Holz, and J. Schwenk,                                                    Firefox 122
     “Scriptless attacks: stealing the pie without touching the sill,” in CCS’12,                                        Tor 13.0.9
     2012.                                                                                                               Ghostery 2023.10
[67] D. Dygalo, “PyPi - css-inline,” 2024. [Online]. Available: {https:
     //pypi.org/project/css-inline/}                                                         Windows 11                  Google Chrome 121
[68] W. W. W. Consortium, “Media Queries Level 5,” 2021. [Online].                                                       Edge 121
     Available: {https://www.w3.org/TR/mediaqueries-5/}                                                                  Opera 106
[69] ——, “CSS Fonts Module Level 4,” 2023. [Online]. Available:
     {https://drafts.csswg.org/css-fonts/}
                                                                                                                         Brave 1.62.156
[70] ——, “CSS Conditional Rules Module Level 4,” 2023. [Online].                                                         Firefox 122
     Available: {https://drafts.csswg.org/css-conditional-4/}                                                            Tor 13.0.9
[71] ——, “CSS Cascading and Inheritance Level 5,” 2023. [Online].                                                        Ghostery 2023.10
     Available: {https://drafts.csswg.org/css-cascade-5/}
[72] C. F. Torres, H. Jonker, and S. Mauw, “FP-block: Usable web privacy                     Ubuntu 22.04 LTS            Google Chrome 121
     by controlling browser fingerprinting,” in ESORICS, 2015.                                                           Edge 121
[73] A. Faiz Khademi, M. Zulkernine, and K. Weldemariam, “FPGuard:                                                       Opera 106
     Detection and prevention of browser fingerprinting,” in Data and Appli-                                             Brave 1.62.153
     cations Security and Privacy XXIX, 2015.
[74] U. Fiore, A. Castiglione, A. De Santis, and F. Palmieri, “Countering                                                Firefox 122
     browser fingerprinting techniques: Constructing a fake profile with                                                 Tor 13.0.9
     google chrome,” in NBiS, 2014.                                                                                      Ghostery 2023.10
[75] P. Baumann, S. Katzenbeisser, M. Stopczynski, and E. Tews, “Disguised
     chromium browser: Robust browser, flash and canvas fingerprinting                       macOS 14 Sonoma             Google Chrome 121
     protection,” in WPES, 2016.                                                                                         Edge 121
[76] N. Nikiforakis, W. Joosen, and B. Livshits, “Privaricator: Deceiving                                                Opera 106
     fingerprinters with little white lies,” in WWW, 2015.                                                               Brave 1.62.156
[77] P. Laperdrix, W. Rudametkin, and B. Baudry, “Mitigating browser                                                     Firefox 122
     fingerprint tracking: multi-level reconfiguration and diversification,” in
     SEAMS, 2015.                                                                                                        Tor 13.0.9
[78] P. Laperdrix, B. Baudry, and V. Mishra, “FPRandom: Randomizing core                                                 Ghostery 2023.10
     browser objects to break advanced device fingerprinting techniques,” in                                             Safari 17.2.1
     ESSoS, 2017.
[79] A. Sjösten, S. Van Acker, P. Picazo-Sanchez, and A. Sabelfeld, “Latex                  ChromeOS 120                Google Chrome 120 (32-bit)
     Gloves: Protecting Browser Extensions from Probing and Revelation                                                   Opera 80.1
     Attacks.” in NDSS, 2019.                                                                                            Brave 1.62.156
[80] E. Trickel, O. Starov, A. Kapravelos, N. Nikiforakis, and A. Doupé,                                                Firefox 122
     “Everyone is different: Client-side diversification for defending against                                           Tor 13.0.9
     extension fingerprinting,” in USENIX Security, 2019.
[81] S. Wu, S. Li, Y. Cao, and N. Wang, “Rendered private: Making GLSL                                                   Ghostery 1.0.2343
     execution uniform to prevent webgl-based browser fingerprinting,” in                    Android 14                  Google Chrome 121
     USENIX Security Symposium, 2019.
[82] Unger, Thomas and Mulazzani, Martin and Frühwirt, Dominik and
                                                                                                                         Edge 120
     Huber, Markus and Schrittwieser, Sebastian and Weippl, Edgar, “Shpf:                                                Opera 80.1
     Enhancing http (s) session security with browser fingerprinting,” in                                                Brave 1.61.152
     ARES, 2013.                                                                                                         Firefox 122
[83] T. Saito, T. Noda, R. Hosoya, K. Tanabe, and Y. Saito, “On estimating                                               Tor 13.0.9
     platforms of web user with javascript math object,” in Advances in
                                                                                                                         Ghostery 2023.10
     Network-Based Information Systems (NBiS), 2019.
[84] H. Xu, S. Hao, A. Sari, and H. Wang, “Privacy risk assessment on email                  iOS 17.3                    Google Chrome 121
     tracking,” in IEEE INFOCOM, 2018.                                                                                   Edge 121
                                                                                                                         Opera 4.5.0
                               A PPENDIX A
                                                                                                                         Brave 1.61.1
A. Browser Versions Used for Testing                                                                                     Firefox 122
  Table IV describes the OS-browser combinations used in                                                                 Ghostery 3.2
                                                                                                                         Safari 17.2.1
our evaluation. All devices had all updates installed as of the
run of the evaluation on February 3, 2024.
B. Browser Extension Fingerprinting
   Table V presents the browser extensions and their respective                          of browser extension fingerprinting (cf. Section VI-B2). In
identifiers in the Chrome Web Store used in our evaluation                               addition, we display the number of active users of an extension



                                                                                    17
                        TABLE V: Browser extensions used in the extension fingerprinting evaluation.

            Extension Name                                    Extension ID                        Active Users
            NoScript                                          doojmbjmlfjjnbmnoijecmcbfeoakpjm           100 000+
            TTSReaderX In-Page Text to Speech                 pakknklefcjdhejnffafpeelofiekebg           100 000+
            Touch VPN                                         bihmplhobchoageeokmgbdihknkjbknd         8 000 000+
            AdBlocker by Trustnav                             dgbldpiollgaehnlegmfhioconikkjjh           300 000+
            MozBar                                            eakacpaijcpapndcfffdgphdiccmpknp         1 000 000+
            Disconnect                                        jeoacafpbcihiomhlakheieifhpjdfeo           600 000+
            TripAdvisor Browser Button                        oiekdmlabennjdpgimlcpmphdjphlcha            80 000+
            Awesome Screenshot: Screen Video Recorder         nlipoenfbbikpbjkfpfillcgkoblgpmj         3 000 000+
            Hunter: Find email addresses in seconds           hgmhmanijnjhaffoampdlllchpolkdnj           600 000+
            Screenshot reader                                 enfolipbjmnmleonhhebhalojdpcpdoo         5 000 000+


TABLE VI: The set of email clients used for the email client
fingerprinting evaluation. For web-based email clients, we
show the browser and version, if available. For Desktop clients,
the version is displayed.
Client            Client Type      Browser/Client Version
Gmail             Web Client       in Chrome 120
AOL               Web Client       in Chrome 120
Outlook           Web Client       in Chrome 120
iCloud            Web Client       in Chrome 120
SOGo              Web Client       5.9.0 in Chrome 120
RoundCube         Web Client       1.6.5 in Chrome 120
Yahoo             Web Client       in Chrome 120
ProtonMail        Web Client       in Chrome 120
GMX.net           Web Client       in Chrome 120
Thunderbird       Desktop Client   11.5.52
Outlook           Desktop Client   20240126002.13
Apple Mail        Desktop Client   16.0
Windows Mail      Desktop Client   16005.14326.21788.0
Gmail             Android Client   2023.11.26.586591930.Release
Outlook           Android Client   4.2352.1
Samsung Email     Android Client   6.1.90.16
GMX               Android Client   7.41
Apple Mail        iOS Client       iOS 17.1.1
Outlook           iOS Client       4.2401.0
Gmail             iOS Client       6.0.231232.1785580
GMX               iOS Client       9.2



as reported by the Chrome Web Store. The set of extensions
was highlighted in the artifacts of prior work [14].
C. Email Client Fingerprinting
  Table VI showcases the email clients and their respective
versions used in our evaluation of email client fingerprinting.
All web clients were opened using the same instance of
Google’s Chrome Version 120 on Ubuntu 22.04 LTS.




                                                                   18
                         A PPENDIX B                                       • (C4): We can identify more than 95 % of browser/OS com-
                     A RTIFACT A PPENDIX                                     binations using our fingerprinting techniques. The claim
A. Description & Requirements                                                corresponds to experiment (E4).
                                                                           • (C5): Email clients can be fingerprinted based on the sup-
   Our artifact contains several proof-of-concepts that demon-
                                                                             port of HTML and CSS features. The claim corresponds
strate the feasibility of the techniques described in the paper.
                                                                             to experiment (E5) and (E6).
Further, the artifact contains the data we collected for the
                                                                           • (C6): Our proof-of-concept mitigations can be used to
evaluation of web browsers and email clients. The versions of
                                                                             reduce the fingerprinting surface of web browsers. The
the web browsers are listed in Table IV in the Appendix of the
                                                                             extension-based mitigation has a low overhead of less than
paper, while the versions of the email clients are listed in Table
                                                                             30 % regarding the number of requests issued by a site.
V in the Appendix of the paper. For simple reproduction, we
                                                                             The claim corresponds to experiment (E7). Meanwhile,
provide our evaluation setup, data and scripts that aggregate
                                                                             the email proxy adds a significant size overhead of more
the differences between the web browsers. Lastly, we provide
                                                                             than 1000 % to HTML emails. The claim corresponds to
our two proof-of-concept mitigations that can be used to
                                                                             experiment (E8).
evaluate the overhead of such mitigations.
   1) How to access: The artifact is publically available at              E. Evaluation
https://github.com/cispa/cascading-spy-sheets and citable via                You can find more indepth instructions for each experiment
the DOI https://doi.org/10.5281/zenodo.13712489.                          in the respective README files in the artifact. In partic-
   2) Hardware dependencies: The artifact can be run on any               ular, the section Reproduction Instructions in the top-level
device that is capable of running a modern web browser.                   README.
   3) Software dependencies: The techniques described in the
                                                                             1) Experiment (E1): [calc() and @container Fingerprinting]
paper do not inherently require any software dependencies.
                                                                          [15 human minutes]: The experiment shows that CSS calc
However, the artifact contains a set of proof-of-concepts
                                                                          expressions and container queries can be used to fingerprint
that are tailored to specific software environments. Thus, we
                                                                          web browsers. The experiment is designed for Firefox, the
recommend running a Windows 11 and an Ubuntu 22.04 LTS
                                                                          Brave Browser and the Tor Browser.
system with the latest version of Google Chrome, Firefox, and
                                                                             [How to] Simply visit the provided HTML files with the
the Tor Browser.
                                                                          respective web browser/OS combination. The result is a visual
   4) Benchmarks: None. The artifact is self-contained.
                                                                          difference of the rendering of the HTML file.
B. Artifact Installation & Configuration                                     Path: pocs/browser/
   The artifact does not require any complex installation or                 [Preparation] For preparation, either transfer the HTML
configuration steps. All experiments are either self-contained            files to the respective environment (e.g., virtual machine) and
HTML/EML files or Python scripts. We have tested Python                   open the file locally or host the HTML files on a web server
scripts using Python 3.12.4, but any Python 3 version should              and visit the URL with the respective web browser.
work. We provide requirements.txt files where necessary and                  For convenience, we host the files on our server. Further
recommend using a virtual environment to install the depen-               instructions are provided in the README of the repository.
dencies. Each proof-of-concept has to simply be opened in the                [Execution] Simply visit the provided HTML files with the
respective software environment.                                          respective web browser/OS combination.
                                                                             [Results] The fingerprint is the visual difference of the ren-
C. Experiment Workflow                                                    dering of the HTML file which should be able to differentiate
   Our artifact features three distinct types of experiments.             between the web browser/OS combinations. The versions this
   The second type of experiment is the evaluation of the                 experiment was tested with are stated in the respective HTML
fingerprinting surface of web browsers and the feature support            files.
of email clients. These experiments correspond to Section VII                2) Experiment (E2): [Extension Detection] [15 human min-
and Section VIII.A of the paper.                                          utes]: The experiment shows that popular browser extensions
                                                                          can be detected using only CSS. The experiment is designed
D. Major Claims                                                           for Google Chrome.
  We make the following claims in our paper:                                 Path: pocs/extensions/
 • (C1): CSS calc() expressions and container queries can                    [How to] Simply visit the provided HTML files once
   be used to fingerprint web browsers. The claim corre-                  with the respective extension installed and enabled and once
   sponds to the experiments (E1).                                        without the extension installed and enabled. The result is a
 • (C2): We can detect the presence of popular browser                    visual difference of the rendering of the HTML file.
   extensions using only CSS. The claim corresponds to                       For convenience, we host the files on our server. Further
   experiment (E2).                                                       instructions are provided in the README of the repository.
 • (C3): We can identify the target language of a translation                [Results] The fingerprint is the visual difference of the
   conducted using Google Translate as built into Google                  rendering of the HTML file which should be able to dif-
   Chrome. The claim corresponds to experiment (E3).                      ferentiate between the presence and absence of an extension.



                                                                     19
The versions this experiment was tested with are stated in the        [Results] The fingerprint is the visual difference of the
respective README.                                                 rendering of the email which should be able to differentiate
    3) Experiment (E3): [Translation Detection] [15 human between the email client/OS combinations.
minutes]: The experiment shows that we can identify a trans-          7) Experiment (E7): [Extension Mitigation] [15 human
lation performed using Google Translate as built into Google minutes]: The experiment corresponds to the evaluation of the
Chrome. The experiment is designed for Google Chrome.              extension-based mitigation in Section IX.A of the paper.
    Path: pocs/browser/poc_chrome_translate.html [How to] The evaluation runs a crawl of the Tranco Top
    [How to] Simply visit the provided HTML file with Google 50 reachable sites with and without the extension-based mit-
Chrome. The result is a visual difference of the rendering of igation enabled. It aggregates network traffic statistics which
the HTML file, when a translation is performed. Simply visit can be compared using a Python script. Instead of running
the provided HTML files with the respective translation (i.e., the crawl yourself, you may use the provided output of our
English, German or Catalan).                                       evaluation and simply recalculate the statistics.
    [Results] The fingerprint is the visual difference of the ren-    Path: mitigation/browser/eval/
dering of the HTML file which should be able to differentiate         The README in the respective directory provides further
between the different translation.                                 instructions.
    4) Experiment (E4): [Evaluation Browser/OS Combina-               [Results] The overhead of the extension-based mitigation
tions] [10 human minutes]: The experiment shows that we should be less than 30 % regarding the number of requests
can distinguish more than 95 % of browser/OS combinations. issued by a site. We expect no overhead greater than 50 % on
It leverages the data collected using the Browser versions listed a successful crawl.
in Table IV in the Appendix of the paper.                             8) Experiment (E8): [Email Mitigation] [15 human min-
    Path: evaluation/browser/generate_results                      utes]: The experiment corresponds to the evaluation of the
    [How to] Simply run the Jupyter Notebook extension-based mitigation in Section IX.B of the paper.
Results.ipynb. It generates the fingerprint of each                   [How to] The evaluation of the email privacy proxy runs
browser/OS combination and generates a matrix of which on a set of EML files.
combinations can be distinguished.                                    Path: mitigation/email/
    [Results] The result shows that we can distinguish 1141           The README in the respective directory provides further
out of 1196 browser/OS combinations. Additional data can be instructions.
collected using the setup in evaluation/browser/ and                  [Preparation] First, export a set of emails from one of your
should not yield significantly different results (i.e., less than inboxes. The EML format is supported by a wide range of
90 %).                                                             clients. We recommend using Thunderbird.
    5) Experiment (E5): [Evaluation Feature Support Email             [Execution] Next, run the provided script on the exported
Clients] [10 human minutes]: The experiment shows that 9 files. The script will fetch all remote resources contained in
email clients allow all CSS features relevant to state-of-the-art the files and inline them as data URLs. The output will be to
CSS-based fingerprinting.                                          a new folder. Next, compare the sizes of the initial and the
    Path: evaluation/email/                                        output folder.
    [How      to]    Simply      run     the     Python     script    [Results] The size overhead of the email proxy is expected
gen_supported_features.py. It generates parts to be large. It ranges between 100 % and 2000 % depending
of Table II in the paper.                                          on the source emails.
    [Results] The result shows that 9 email clients allow all CSS
                                                                   F. Customization
features relevant to state-of-the-art CSS-based fingerprinting.
    6) Experiment (E6): [Email Client Fingerprinting PoC] [15         The data collection for the evaluation of web browsers and
human minutes]: The experiment shows that state-of-the-art         email   clients can be customized by adding additional web
CSS-based fingerprinting can be applied to email clients.          browsers   or email clients to the evaluation setup. Instructions
For this, we provide a set of proof-of-concept emails that         can  be  found  in the respective directories.
demonstrates the feasibility of our techniques in some email
clients.
    [How to] Simply visit the provided EML files with the
respective email client/OS combination. The result is a visual
difference of the rendering of the email.
    Path: pocs/email/
    [Preparation] For preparation, either transfer the EML files
to the respective environment (e.g., virtual machine) and open
the file locally or send the EML files to the respective email
client. For this, we provide a helper script (i.e., sender.py)
    [Execution] Simply visit the provided EML files with the
respective email client/OS combination.



                                                                20
