Computed styles
GET /api/fingerprint/css-stylesCSS styles fingerprinting analyzes browser default stylesheets, computed styles, and CSS implementation differences to identify browsers and platforms. Each browser ships with a default stylesheet (user agent stylesheet) that applies baseline styles to HTML elements, and these defaults vary significantly across browsers. For example, default font families differ: Chrome uses '-webkit-standard', Firefox uses '-moz-default', Safari uses '-apple-system'. The technique creates DOM elements and queries their computed styles using window.getComputedStyle(), revealing default values for hundreds of CSS properties including fonts, colors, spacing, borders, backgrounds, and animations. System font stacks are particularly revealing: CSS font-family:'system-ui' resolves to 'Segoe UI' on Windows, 'San Francisco' on macOS, 'Roboto' on Android, and 'Ubuntu' on Linux. Color space support, color() function implementations, and default color values vary across browsers. CSS custom property (CSS variable) implementations differ in how they handle inheritance and fallbacks. Modern CSS features like container queries, cascade layers, :has() selector, and subgrid have varying support levels that precisely identify browser versions. Vendor-prefixed properties (-webkit-, -moz-, -ms-) reveal rendering engines. CSS animation and transition timing functions use different easing algorithms. Even measuring default form control styles (buttons, inputs, selects) exposes OS-level theming: macOS form controls look distinct from Windows controls even in the same browser. Privacy browsers attempt to normalize CSS but maintaining consistency across thousands of CSS properties while appearing legitimate is nearly impossible.
Move from this collector to the CreepJS signal index, live checker, API docs, and other high-value fingerprinting explainers.