Observed signals
Generated by npm run join. Joins the static map in signals.json against what captures actually carried, one column per browser, so a row is what the collector reports on real hardware next to what its
Generated by npm run join. Joins the static map in signals.json against what captures
actually carried, one column per browser, so a row is what the collector reports on real
hardware next to what its source says it can report.
A cell is the reported value: sN where the status was non-zero, {a,b} for an object's keys,
[n] for an array's length, #abcd1234 for a digest, the value itself otherwise. ≠ marks a
signal whose value differs between browsers, which is the set an anti-detect build has to keep
coherent; everything else is constant across all of them.
notes is where static and observed disagree: a status code no branch produces, object keys the
source never names, a digest from a collector with no hash call on its path. Each is a gap in
the static read.
Captures#
| capture | browser | origin | signals | url |
|---|---|---|---|---|
| chrome-2026-08-07T16-01-51-717Z.json | chrome | reqRaw | 144 | https://api.fpjs.io/?ci=js/4.1.4&q=kBwLN2IyH1GjeJBLpl8C |
| firefox-2026-08-07T15-59-37-104Z.json | firefox | reqRaw | 144 | https://api.fpjs.io/?ci=js/4.1.4&q=kBwLN2IyH1GjeJBLpl8C |
| safari-2026-08-07T16-00-02-124Z.json | safari | reqRaw | 144 | https://api.fpjs.io/?ci=js/4.1.4&q=kBwLN2IyH1GjeJBLpl8C |
| safari-2026-08-07T16-00-02-124Z.json | safari | reqRaw | 144 | https://api.fpjs.io/?ci=js/4.1.4&q=kBwLN2IyH1GjeJBLpl8C |
| safari-2026-08-07T16-00-02-124Z.json | safari | reqRaw | 144 | https://api.fpjs.io/?ci=js/4.1.4&q=kBwLN2IyH1GjeJBLpl8C |
| safari-2026-08-07T16-00-02-124Z.json | safari | reqRaw | 144 | https://api.fpjs.io/?ci=js/4.1.4&q=kBwLN2IyH1GjeJBLpl8C |
| safari-2026-08-07T16-00-02-124Z.json | safari | reqRaw | 144 | https://api.fpjs.io/?ci=js/4.1.4&q=kBwLN2IyH1GjeJBLpl8C |
| safari-2026-08-07T16-00-02-124Z.json | safari | reqRaw | 144 | https://api.fpjs.io/?ci=js/4.1.4&q=kBwLN2IyH1GjeJBLpl8C |
| safari-2026-08-07T16-00-02-124Z.json | safari | reqRaw | 144 | https://api.fpjs.io/?ci=js/4.1.4&q=kBwLN2IyH1GjeJBLpl8C |
Signals#
| id | binding | ≠ | chrome | firefox | safari | notes |
|---|---|---|---|---|---|---|
| s1 | sig_s1_oscpu | ≠ | s-1 | Intel Mac OS X 10.15 | s-1 | - |
| s2 | sig_s2_browserLanguage | ≠ | [1] | [2] | [2] | - |
| s3 | sig_s3_colorDepth | ≠ | 30 | 24 | 24 | - |
| s4 | sig_s4_deviceMemory | ≠ | 16 | s-1 | s-1 | - |
| s5 | sig_s5_height | [2] | [2] | [2] | - | |
| s6 | sig_s6_availLeft | [4] | [4] | [4] | - | |
| s7 | sig_s7_hardwareConcurrency | 8 | 8 | 8 | - | |
| s9 | sig_s9_date | ≠ | America/New_York | Atlantic/Reykjavik | America/New_York | - |
| s10 | sig_s10_sessionStorage | true | true | true | - | |
| s11 | sig_s11_localStorage | true | true | true | - | |
| s12 | sig_s12_indexedDB | true | true | true | - | |
| s13 | sig_s13_openDatabase | false | false | false | - | |
| s14 | sig_s14_cpuClass | s-1 | s-1 | s-1 | - | |
| s15 | sig_s15_webkitRequestFullscreen | MacIntel | MacIntel | MacIntel | - | |
| s16 | sig_s16_plugins | [5] | [5] | [5] | - | |
| s17 | sig_s17_canvas | ≠ | {geometry,text,winding} | s-2 | {geometry,text,winding} | - |
| s19 | sig_s19_touchEvent | {maxTouchPoints,touchEvent,tou | {maxTouchPoints,touchEvent,tou | {maxTouchPoints,touchEvent,tou | - | |
| s20 | sig_s20_hidden | [4] | [4] | [4] | - | |
| s21 | sig_s21_domRectList | ≠ | 124.04348155876505 | 35.74996626004577 | 124.04346622781304 | - |
| s22 | sig_s22_webAssembly | 23 | 23 | 23 | - | |
| s23 | sig_s23_clipboardItem | ≠ | s-3 | s-1 | s-1 | - |
| s24 | sig_s24 | ≠ | 33 | 37 | 37 | - |
| s26 | sig_s26_mediaDevices | s-3 | s-3 | s-3 | - | |
| s27 | sig_s27_vendor | ≠ | Google Inc. | `` | Apple Computer, Inc. | - |
| s28 | sig_s28 | ≠ | [1] | [0] | [1] | - |
| s29 | sig_s29 | ≠ | 10737418240 | s1 | s1 | - |
| s30 | sig_s30_doNotTrack | ≠ | s-1 | unspecified | s-1 | - |
| s32 | sig_s32_cookie | true | true | true | - | |
| s33 | sig_s33_brave | false | false | false | - | |
| s36 | sig_s36_div | ≠ | s-1 | s-1 | [0] | - |
| s37 | sig_s37_colorGamut | ≠ | srgb | srgb | p3 | - |
| s38 | sig_s38_prefersContrast | 0 | 0 | 0 | - | |
| s39 | sig_s39_forcedColors | false | false | false | - | |
| s40 | sig_s40_dynamicRange | ≠ | false | false | true | - |
| s41 | sig_s41_invertedColors | ≠ | s-1 | s-1 | false | - |
| s42 | sig_s42_minMonochrome | 0 | 0 | 0 | - | |
| s43 | sig_s43_prefersReducedMotion | false | false | false | - | |
| s44 | sig_s44_prefersColorScheme | ≠ | true | false | true | - |
| s45 | sig_s45_date | [2] | [2] | [2] | - | |
| s46 | sig_s46 | ≠ | #cf845af5 | #5f030fa7 | #fde394cd | - |
| s48 | sig_s48 | [6] | [6] | [6] | - | |
| s49 | sig_s49 | [2] | [2] | [2] | - | |
| s50 | sig_s50_performance | ≠ | 4395630592 | s-1 | s-1 | - |
| s51 | sig_s51_iframe | {apple,default,min,mono,sans,s | {apple,default,min,mono,sans,s | {apple,default,min,mono,sans,s | - | |
| s52 | sig_s52_origin | ≠ | #b21a1667 | s-2 | #42259f68 | - |
| s55 | sig_s55_localStorage | s-1 | s-1 | s-1 | - | |
| s56 | - | ≠ | fO5C2PhACDnr7Cu0R5bFBlpBCM7Wlu | viAEEmrzrzYRihXgGkc2q5bsDCJxZ8 | s-4 | envelope key, browserCache |
| s57 | sig_s57_devicePixelRatio | 2 | 2 | 2 | - | |
| s58 | sig_s58 | ≠ | {b,h,m,nah,p} | s-1 | s-1 | - |
| s59 | sig_s59_msPointerEnabled | false | false | false | - | |
| s60 | sig_s60_msLaunchUri | false | false | false | - | |
| s61 | sig_s61_webkitPersistentStorage | ≠ | true | false | false | - |
| s62 | sig_s62_applePayError | ≠ | false | false | true | - |
| s63 | sig_s63_ongestureend | ≠ | false | true | true | - |
| s64 | sig_s64_style | ≠ | false | true | false | - |
| s65 | sig_s65_audio | false | false | false | - | |
| s66 | sig_s66_createElement | ≠ | s-1 | s-1 | 0 | - |
| s68 | sig_s68_audioBuffer | false | false | false | - | |
| s69 | sig_s69_subtle | [1] | [1] | [1] | - | |
| s70 | sig_s70_textDecoder | s-1 | s-1 | s-1 | - | |
| s71 | sig_s71 | {a,l,w} | {a,l,w} | {a,l,w} | - | |
| s72 | sig_s72 | ≠ | true | false | false | - |
| s74 | sig_s74_canvas | {renderer,rendererUnmasked,sha | {renderer,rendererUnmasked,sha | {renderer,rendererUnmasked,sha | - | |
| s75 | sig_s75_canvas | {contextAttributes,extensionPa | {contextAttributes,extensionPa | {contextAttributes,extensionPa | - | |
| s76 | sig_s76_canvas | ≠ | #1b491f27 | #6c014971 | #b2a20f2b | - |
| s79 | sig_s79_url | s-3 | s-3 | s-3 | - | |
| s80 | sig_s80_pdfViewerEnabled | true | true | true | - | |
| s81 | sig_s81 | 127 | 127 | 127 | - | |
| s82 | sig_s82_language | en-US | en-US | en-US | - | |
| s83 | sig_s83_languages | ≠ | [2] | [2] | [1] | - |
| s84 | sig_s84_hidden | {h,w} | {h,w} | {h,w} | - | |
| s85 | sig_s85_blob | ≠ | s-1 | `` | `` | - |
| s86 | sig_s86_removeItem | s-1 | s-1 | s-1 | - | |
| s87 | sig_s87_hidden | {ab,ac,aca,act,at,aw,b,bb,bf,b | {ab,ac,aca,act,at,aw,b,bb,bf,b | {ab,ac,aca,act,at,aw,b,bb,bf,b | - | |
| s89 | sig_s89_storage | {clm,cwe,re,wlm} | {clm,cwe,re,wlm} | {clm,cwe,re,wlm} | - | |
| s91 | sig_s91_prefersReducedTransparency | ≠ | false | s-1 | s-1 | - |
| s92 | sig_s92_createDocumentFragment | {bottom,font,height,left,right | {bottom,font,height,left,right | {bottom,font,height,left,right | - | |
| s93 | sig_s93_hidden | {bottom,font,height,left,right | {bottom,font,height,left,right | {bottom,font,height,left,right | - | |
| s94 | sig_s94_webkitRTCPeerConnection | {e,s,u} | {e,s,u} | {e,s,u} | - | |
| s95 | sig_s95_atomics | ≠ | s-1 | s-1 | s-3 | - |
| s96 | sig_s96_audioContext | ≠ | s-2 | s-2 | 0.0026666666666666666 | - |
| s97 | sig_s97_dataTransfer | s-3 | s-3 | s-3 | - | |
| s98 | sig_s98 | true | true | true | - | |
| s99 | sig_s99_isSecureContext | true | true | true | - | |
| s101 | sig_s101_userAgent | Mozilla/5.0 (Macintosh; Intel | Mozilla/5.0 (Macintosh; Intel | Mozilla/5.0 (Macintosh; Intel | - | |
| s102 | sig_s102_userAgentData | ≠ | true | false | false | - |
| s103 | sig_s103_appVersion | ≠ | 5.0 (Macintosh; Intel Mac OS X | 5.0 (Macintosh) | 5.0 (Macintosh; Intel Mac OS X | - |
| s104 | sig_s104_rtt | ≠ | 100 | s-1 | s-1 | -1: navigator.connection is undefined |
| s106 | sig_s106_notification | false | false | false | - | |
| s117 | sig_s117_plugins | 5 | 5 | 5 | - | |
| s118 | sig_s118_plugins | true | true | true | - | |
| s119 | sig_s119 | ≠ | TypeError: Cannot read propert | wt@http://localhost:8099/agent | wt@http://localhost:8099/agent | - |
| s120 | sig_s120 | false | false | false | - | |
| s123 | sig_s123 | ≠ | 20030107 | 20100101 | 20030107 | - |
| s130 | sig_s130_sourceBuffer | [2] | [2] | [2] | - | |
| s131 | sig_s131 | [1] | [1] | [1] | - | |
| s132 | sig_s132 | ≠ | function close() { [native cod | `function close() { |
[native` | `function close() {
[native` | - |
| s133 | sig_s133_external | ≠ | [object External] | [object External] | s-1 | -1: window.external is undefined |
| s135 | sig_s135_mimeTypes | | 2 | 2 | 2 | - |
| s136 | sig_s136_mimeTypes | | true | true | true | - |
| s139 | sig_s139_css | | true | true | true | - |
| s142 | sig_s142_matchMedia | | true | true | true | - |
| s144 | sig_s144_sharedArrayBuffer | | s-2 | s-2 | s-2 | - |
| s145 | sig_s145 | ≠ | [28] | [10] | [7] | - |
| s146 | sig_s146_objectToInspect | | false | false | false | - |
| s148 | sig_s148 | ≠ | function bind() { [native code | function bind() { [native | function bind() { [native | - |
| s149 | sig_s149 | | s-1 | s-1 | s-1 | -1: ${} undefined |
| s150 | sig_s150_innerHeight | | {innerHeight,innerWidth,outerH | {innerHeight,innerWidth,outerH | {innerHeight,innerWidth,outerH | - |
| s151 | sig_s151 | | true | true | true | - |
| s152 | sig_s152_hidden | | 1 | 1 | 1 | - |
| s153 | sig_s153_onLine | | true | true | true | - |
| s154 | sig_s154_brave | | {ck,fp,pr,pt,wv,wvp} | {ck,fp,pr,pt,wv,wvp} | {ck,fp,pr,pt,wv,wvp} | - |
| s155 | sig_s155 | | {} | {} | {} | - |
| s156 | sig_s156 | ≠ | [3] | [1] | [2] | - |
| s157 | sig_s157 | | {awesomium,cef,cefsharp,coachj | {awesomium,cef,cefsharp,coachj | {awesomium,cef,cefsharp,coachj | - |
| s158 | sig_s158_hidden | ≠ | true | false | false | - |
| s159 | sig_s159_function | | false | false | false | - |
| s160 | sig_s160_origin | ≠ | [0] | s-2 | [0] | - |
| s162 | sig_s162_languages | | false | false | false | - |
| s163 | sig_s163_applePayError | ≠ | true | s-1 | false | - |
| s165 | sig_s165_event | | {isTrusted} | {isTrusted} | {isTrusted} | - |
| s166 | sig_s166 | | {l,p} | {l,p} | {l,p} | - |
| s167 | sig_s167_atob | ≠ | s-2 | s-3 | s-4 | - |
| s200 | sig_s200_timeOrigin | ≠ | 1786118502719.4 | 1786118367832.015 | 1786118383003 | - |
| s201 | sig_s201_srChannelCount | | false | false | false | - |
| s202 | sig_s202_intl | | en-US | en-US | en-US | - |
| s203 | sig_s203_createElement | ≠ | calc(0.207912px) | calc(-0.0773484px) | calc(0.998785px) | - |
| s204 | sig_s204_hidden | | true | true | true | - |
| s205 | sig_s205_url | | c: | c: | c: | - |
| s206 | sig_s206_style | ≠ | s-1 | -apple-system | s-1 | - |
| s207 | sig_s207_fontFace | | true | true | true | - |
| s209 | sig_s209_getRandomValues | | {d,p,s} | {d,p,s} | {d,p,s} | - |
| s210 | sig_s210_gpu | | {ds,dv,f,l} | {ds,dv,f,l} | {ds,dv,f,l} | - |
| s211 | sig_s211_decodingInfo | | [8] | [8] | [8] | - |
| s212 | sig_s212_getComputedStyle | | false | false | false | - |
| s213 | sig_s213_getCurrentPosition | | s-2 | s-2 | s-2 | - |
| s214 | sig_s214_storageBuckets | ≠ | 1299 | s-1 | s-1 | - |
| s215 | sig_s215_publicKeyCredential | ≠ | {cc,cg,eai,eaie,ecb,ecp,elb,em | {cc,cg,eai,ecp,elb,empl,ep,ht, | {cc,cg,ht,ppa,ro,uvpa} | - |
| s216 | sig_s216_managed | ≠ | f4632594-1504-761d-c20e-609796 | s-1 | s-1 | - |
| s217 | sig_s217_getBattery | ≠ | {c,ct,dt,l} | s-1 | s-1 | - |
| s219 | sig_s219_webkitRTCPeerConnection | | {e,s,u} | {e,s,u} | {e,s,u} | - |
| s221 | sig_s221_canvas | | {b,u} | {b,u} | {b,u} | - |
| s222 | sig_s222_keyboard | ≠ | [50] | s-1 | s-1 | - |
| s223 | sig_s223_presentationRequest | ≠ | Error joining route: No matchi | s-1 | s-1 | - |
Registered but never observed#
none