Hardware Signal Detection
WebGL renderer, CSS safe-area-inset, device pixel ratio, Vibration API — correctly identifies phones in desktop mode and distinguishes Apple Silicon from Intel Mac.
UA strings lie. ua-browser combines hardware signals and Client Hints to stay accurate when the UA string can't be trusted. Zero dependencies. Browser and Node.js.