Test Your Safari Fingerprint on iOS 26

Run the fingerprint inspector above before and after upgrading to iOS 26 and compare entropy scores directly, to see exactly what Apple's Advanced Fingerprinting Protection changes.

ZERO UPLOAD · ALL LOCAL
  1. The scan runs automatically when you open this page — no input needed.
  2. Each section shows a group of signals your browser exposes. Rows marked TRACKABLE are the highest-entropy signals used to identify you.
  3. The entropy score at the top estimates how uniquely identifiable your browser is across the web.
  4. Use the Copy buttons next to any row to copy that value to your clipboard.
  5. The Installed Fonts section lists which fonts from a 30-font probe were detected on your system.

What AFP leaves unmodified

  • real value, 6 cores on all Apple A10-A19 chips
  • unmodified, logical CSS resolution
  • unmodified
Scanning browser APIs…
~0 bits

Analysing fingerprint…

27+ bits VERY HIGH
19 – 26 bits HIGH
9 – 18 bits MODERATE
0 – 8 bits LOW

IDENTITY

USER AGENTTRACKABLE
APP VERSION
PLATFORM
VENDOR
WEBDRIVER

HARDWARE

CPU THREADS
DEVICE MEMORY
SCREEN RESOLUTIONTRACKABLE
AVAILABLE SCREEN
COLOUR DEPTH
PIXEL DEPTH
PIXEL RATIO
ORIENTATION
TOUCH POINTS
BATTERY LEVEL
BATTERY CHARGING

GRAPHICS

CANVAS HASHTRACKABLE
WEBGL VENDOR
WEBGL RENDERERTRACKABLE
WEBGL EXT COUNT
WEBGL EXTENSIONS
MAX TEXTURE SIZE
WEBGL 2
WEBGPU

AUDIO

AUDIO FINGERPRINTTRACKABLE
SAMPLE RATE
BASE LATENCY

NETWORK & PRIVACY

ONLINE
DO NOT TRACK
COOKIES ENABLED
CONNECTION TYPE
DOWNLINK
RTT
SAVE DATA

BROWSER ENVIRONMENT

LANGUAGE
LANGUAGESTRACKABLE
TIMEZONETRACKABLE
TIMEZONE OFFSET
PLUGIN COUNT
PLUGINS
LOCAL STORAGE
SESSION STORAGE
INDEXEDDB
WEBSQL
CODEC H.264
CODEC VP8
CODEC VP9
CODEC AV1
CODEC HEVC
SPEECH VOICES
VOICE NAMES

SYSTEM PREFERENCES

COLOUR SCHEME
REDUCED MOTION
CONTRAST
POINTER
HOVER
FORCED COLOURS

INSTALLED FONTS

INSTALLED FONTSTRACKABLE
Show detected fonts (30 probed)

Test Your Safari Fingerprint After the iOS 26 Update

Run the fingerprint inspector above on an iPhone running iOS 26 and compare the entropy score against a backup taken on an earlier version, and Apple's Advanced Fingerprinting and Tracking Protection (AFP) becomes visible directly in the numbers. AFP activates automatically for every user who upgrades to iOS 26, without requiring any settings changes.

AFP targets the highest-entropy passive signals that fingerprinting scripts rely on: canvas rendering output is modified to reduce uniqueness, WebGL output is altered, audio processing results are normalized, and font access is restricted to a common subset.1 Consequently, a browser that previously produced a distinctive canvas hash on iOS 17 produces a modified output on iOS 26 Safari, making cross-session re-identification through canvas fingerprinting significantly harder.

Building on this, AFP differs from approaches taken by Brave and Firefox: rather than randomizing values per origin, AFP normalizes them toward a common baseline, which reduces intra-user variance while preserving the appearance of consistent behavior. Checking your own score above after the upgrade shows the reduction directly, instead of taking the description on faith.

What AFP in iOS 26 blocks and modifies

AFP modifies canvas and WebGL rendering output to reduce the uniqueness of the rendered result. Scripts calling HTMLCanvasElement.toDataURL() receive a modified pixel buffer that has been processed to reduce the hardware-specific variation caused by GPU drivers and font rasterizers. WebGL rendering output undergoes similar modification, reducing the fingerprinting value of canvas-based WebGL renders. Audio processing output through OfflineAudioContext is normalized; the floating-point values in the rendered audio buffer are adjusted to reduce DAC-specific variation.2

What AFP changes on iOS Safari

Font access is restricted to a predefined common subset, which prevents the font enumeration technique from producing a distinctive font list.1 Consequently, the four highest-entropy passive fingerprinting signals are each reduced in entropy simultaneously. Building on this, AFP activates automatically and requires no user action; the protection is present from the first Safari launch after upgrading to iOS 26, making it the broadest default-on deployment of anti-fingerprinting protection in any major browser.

You can measure the effect directly by running the inspector on an iOS 26 device and comparing the entropy score with the same device before the upgrade, or with an Android phone running the same sites. The canvas, WebGL, and audio rows should show lower variance on iOS 26 than on earlier versions, which confirms that AFP is changing the underlying values rather than only hiding them. Testing on both Wi-Fi and cellular also shows whether the network path changes the result.

What AFP does not protect against

AFP's normalization approach leaves several hardware and locale signals completely untouched, which means a determined fingerprinting script can still collect meaningful entropy from the values AFP does not modify. navigator.hardwareConcurrency reports the real CPU core count, which on Apple A-series iPhone chips is consistently 6 cores (2 performance + 4 efficiency) across all generations from A10 through A19.3 screen.width and screen.height remain reported at the logical CSS resolution, which varies across iPhone models with different display dimensions, and window.devicePixelRatio continues to report the display's actual pixel ratio without any modification.

How to test Safari protection

WebRTC behavior on iOS has restricted local IP exposure since iOS 15, when Apple introduced mDNS ICE candidates that replace real local IP addresses with randomly generated .local addresses, so WebRTC leaks are already addressed independently of AFP.4 Timezone and language signals remain unmodified. AFP also does not remove the need to test after an update, because site scripts can still combine the remaining values into a recognizable profile. Consequently, a complete fingerprint score in iOS 26 Safari will be lower than in earlier iOS versions but will not reach zero; the remaining unmodified signals still provide some entropy. Building on this, the practical effect is that canvas-based, audio-based, and font-based tracking across sessions becomes substantially harder, while lower-entropy corroborating signals like screen resolution and hardware concurrency remain available to fingerprinting scripts.

How iOS 26 AFP compares to Brave and Firefox

AFP, Brave's farbling, and Firefox's privacy.resistFingerprinting address the same fingerprinting signals through different mechanisms. AFP normalizes canvas and audio output toward a common baseline shared across many iOS 26 Safari users; the goal is to reduce the uniqueness of each device's output without randomizing it. Brave farbles canvas output per origin and per session with controlled noise; the goal is to prevent stable cross-site and cross-session linking by ensuring the hash changes each time. Firefox RFP intercepts the canvas API at the engine level and injects a session-consistent modification that degrades the hash without breaking canvas functionality.

Consequently, AFP reduces entropy by normalization toward a shared baseline, Brave reduces it through session-scoped randomization that changes the hash on every new site and session, and Firefox reduces it by engine-level intervention that modifies canvas output before the script ever receives the pixel data, each reflecting a fundamentally different philosophy about how to defeat stable fingerprint collection.5

Which approach matches your device

For a user who wants to minimize their fingerprint entropy score, Brave's approach produces the most aggressive reduction on desktop; AFP produces the most significant reduction on iOS without requiring any configuration. If you browse primarily on iPhone, upgrading to iOS 26 gives you meaningful protection with zero setup, while desktop users who want the strongest available protection should combine Brave with its Shields set to aggressive mode. The key difference is that AFP normalizes toward a shared baseline while Brave randomizes per session, so the protection mechanism that works best for you depends on whether you prioritize consistency or unpredictability in your browsing profile. Checking your entropy score on iOS 26 against an earlier backup makes the AFP reduction concrete rather than theoretical.

When to use this

Run the inspector above right after upgrading to iOS 26 to audit your Safari fingerprint, or use it to check whether AFP changes how CapyToolkit Browser Fingerprint Inspector reports signals on your specific iPhone.

Examples

Comparing canvas hash before and after iOS 26 upgrade

Before
iOS 17 Safari: canvas hash = a4d9c2e1... (hardware-specific GPU-rendered value, stable across sessions)
After
iOS 26 Safari with AFP: canvas hash = modified output (normalized, less distinctive, may still be consistent within a session but differs from the pre-AFP hardware-rendered hash)

Run CapyToolkit Browser Fingerprint Inspector on your iPhone before and after updating to iOS 26 to see the actual change in entropy score.

Locating AFP settings in iOS 26

Before
AFP is enabled by default after upgrading to iOS 26. No action is required.
After
To verify or adjust: Settings > Safari > Privacy > Advanced Fingerprinting and Tracking Protection. The toggle is on by default.
Sources
  1. 1.

    Apple, "WebKit Features in Safari 26.0," webkit.org, September 2025. https://webkit.org/blog/17333/webkit-features-in-safari-26-0/

  2. 2.

    9to5Mac, "iOS 26 counters invasive tracking," 9to5mac.com, July 2025. https://9to5mac.com/2025/07/29/with-ios-26-safari-will-counter-one-of-the-webs-most-invasive-tracking-methods/

  3. 3.

    "Apple A-Series Chips," Wikipedia, accessed July 2026. https://en.wikipedia.org/wiki/Apple_A-series

  4. 4.

    Eric Rescorla, "Apple's Not-So-Private Relay Fails with WebRTC," webrtchacks.com, 2022. https://webrtchacks.com/apples-not-so-private-relay-fails-with-webrtc/

  5. 5.

    Brave, "Fingerprint Randomization," brave.com, 2020. https://brave.com/privacy-updates/3-fingerprint-randomization/

FAQ