Worker capabilities
GET /api/fingerprint/service-workerService Worker fingerprinting analyzes the availability, capabilities, and behavior of Service Worker API, which provides offline functionality, background sync, and push notifications for Progressive Web Apps. Service Worker support varies significantly across browsers and contexts: desktop browsers generally support Service Workers, while some mobile browsers (especially older versions or privacy-focused browsers) have limited or no support. The technique checks navigator.serviceWorker availability, tests registration capabilities in different scopes, enumerates supported events (install, activate, fetch, push, sync, message), and measures Service Worker lifecycle timing. Different browsers implement Service Worker specifications with varying levels of completeness: some support Background Sync, others don't; Push API support varies; Cache API implementations differ; and postMessage serialization capabilities vary. The technique creates test Service Workers and measures their execution characteristics: script evaluation time, cache API performance, fetch event interception capabilities, and message passing overhead. Service Workers run in a separate thread/process, and their isolation characteristics differ by browser: V8 Isolates in Chrome, separate processes in Firefox, different sandboxing in Safari. Testing which Service Worker features are available reveals browser version precisely: newer APIs like Background Fetch, Periodic Background Sync, or Content Index are only available in recent browser versions. The technique also detects unusual Service Worker implementations in headless browsers or automation tools: missing Service Worker support despite claiming modern browser version, unusual timing characteristics, or API availability mismatches. Corporate environments often disable Service Workers through Content Security Policy, creating distinctive fingerprints. Privacy browsers may restrict Service Worker capabilities to prevent tracking via persistent cache. Checking whether Service Workers persist across private/incognito mode reveals browser privacy implementations. The combination of Service Worker availability, supported features, timing characteristics, and integration with other APIs creates a distinctive fingerprint that correlates strongly with browser type, version, and deployment environment.
Move from this collector to the CreepJS signal index, live checker, API docs, and other high-value fingerprinting explainers.