Environment Check
hellworld.io →

Who takes the test

These numbers come from anonymous counts of every check: how many people took the test, what gives them away most, and which systems, browsers and cards they use.

Check yourself
checks · the last 7 days

What gives people away most

    The commonest setups

    From anonymous counts: no IP, no record of a single visit. "Commonest" lists only values shared by 20 checks or more.

     

    Where do you want to seem to be?

     

    Every signal and the value it read

    A signal is something a site can read about you without asking. Any site can read all of these, and none of them shows a permission prompt.

    What the server sees21

    IP address…CF-Connecting-IP
    Location…request.cf.city
    Coordinates…request.cf.latitude
    Network (ASN)…request.cf.asOrganization
    Tor…check.torproject.org exit list
    DNS resolver…edns.ip-api.com
    Time zone of the IP…request.cf.timezone
    Reverse DNS…DNS PTR
    Nearest data center…request.cf.colo
    HTTP and TLS…request.cf.tlsVersion
    Key exchange…/cdn-cgi/trace · kex, sni
    Cloudflare WARP…/cdn-cgi/trace · warp
    TLS fingerprint…TLS ClientHello
    TCP/IP fingerprint…probe.hellworld.io · TCP SYN
    TLS fingerprint (JA4)…probe.hellworld.io · JA4
    HTTP/2 fingerprint…probe.hellworld.io · HTTP/2 SETTINGS
    QUIC fingerprint (HTTP/3)…probe.hellworld.io · HTTP/3 · QUIC JA4
    Your clock…Date.now()
    WebRTC addresses…RTCPeerConnection · STUN
    Local address…WebRTC host candidate
    IPv6 leaking the MAC…IPv6 EUI-64 (ff:fe)

    Exits6

    Site in mainland China…myip.ipip.net
    IP service abroad…api.ip.sb
    ChatGPT…chatgpt.com/cdn-cgi/trace
    Claude…claude.ai/cdn-cgi/trace
    Cloudflare…www.cloudflare.com/cdn-cgi/trace
    IPv4 and IPv6…Cloudflare Radar · IPv4 / IPv6

    Sent with every request (headers)8

    User agent…User-Agent
    Languages…Accept-Language
    Browser brands…Sec-CH-UA
    Platform…Sec-CH-UA-Platform
    Client Hints…Sec-CH-UA-* (Accept-CH)
    Compression…Accept-Encoding
    Do Not Track…DNT · Sec-GPC
    Came from…Referer · document.referrer

    Language and region9

    Browser languages…navigator.languages
    Locale…Intl.DateTimeFormat
    System time zone…Intl …timeZone
    Clock format…Intl …hourCycle
    Week starts…Intl.Locale weekInfo
    Number and date format…Intl.NumberFormat
    ICU data…Intl.supportedValuesOf
    Keyboard layout…navigator.keyboard
    Speech voices…speechSynthesis

    Fingerprints24

    JS engine…Error.message
    Engine's real version…JS feature probes
    WebAssembly…WebAssembly.validate
    Lie detection…Function.prototype.toString · iframe
    CSS feature level…CSS.supports
    Font smoothing…canvas text antialiasing
    Canvas…canvas.toDataURL
    WebGL…WebGL getParameter
    Audio…OfflineAudioContext
    Math fingerprint…Math.* → SHA-256
    System emoji version…emoji measureText
    Font list…fonts → SHA-256
    Element sizes (DOMRect)…getClientRects · Range
    SVG text sizes…SVG getBBox · getComputedTextLength
    Text metrics…measureText actualBoundingBox
    WebGL rendering…WebGL readPixels
    Engine API count…window · HTMLElement · CSS keys
    Timer precision…performance.now() resolution
    Call stack depth…recursion depth
    Combined fingerprint…SHA-256
    Hardware ID (across browsers)…screen · cores · GPU · fonts → SHA-256
    Cache ID (ETag)…HTTP cache · ETag / If-None-Match
    Fingerprint protection…canvas × 2
    Whose protection…navigator.brave · noise · lies

    Device35

    Operating system…userAgentData
    Browser…userAgentData.brands
    CPU architecture……architecture · bitness
    Device form…userAgentData formFactors
    Device model…screen · GPU · Client Hints model
    Screen…screen · devicePixelRatio
    Refresh rate…requestAnimationFrame
    Screens…screen.isExtended · screenX
    Window…innerWidth · availHeight
    Scrollbar width…offsetWidth − clientWidth
    Graphics card…WebGL RENDERER
    Virtual machine…WebGL renderer · hypervisor names
    WebGPU…navigator.gpu adapter.info
    WebGPU capabilities…GPUAdapter limits · features
    WebGL capabilities…WebGL2 · MAX_TEXTURE_SIZE
    CPU cores…hardwareConcurrency
    Memory…navigator.deviceMemory
    JS memory limit…performance.memory
    Touch and pointer…maxTouchPoints · pointer
    Battery…navigator.getBattery
    Precise location (asks)…geolocation (on request)
    Motion sensors (asks)…devicemotion (on request)
    Connection…navigator.connection
    Cameras and mics…enumerateDevices
    Audio hardware…AudioContext.sampleRate
    Biometrics…PublicKeyCredential
    Bluetooth…bluetooth.getAvailability
    Game controller…getGamepads (on request)
    VR / AR…navigator.xr.isSessionSupported
    Video codecs…MediaSource.isTypeSupported
    WebRTC codecs…RTCRtpSender.getCapabilities
    Recording formats…MediaRecorder.isTypeSupported
    Hardware video decoding…mediaCapabilities.decodingInfo
    DRM…requestMediaKeySystemAccess
    Storage quota…storage.estimate

    Browser settings24

    Color scheme…prefers-color-scheme
    Animations…prefers-reduced-motion
    Display colors…color-gamut · dynamic-range
    Accessibility…prefers-contrast · forced-colors
    Default font size and accent color…font-size: medium · AccentColor
    Opened as…display-mode
    Privacy signals…doNotTrack · GPC
    Cookies…navigator.cookieEnabled
    Permissions…permissions.query
    Sensitive APIs…usb · serial · hid · IdleDetector …
    PDF viewer…pdfViewerEnabled
    Built-in AI…LanguageModel · Translator.availability
    Automation…navigator.webdriver
    Automation traces…headless · CDP · Electron traces
    Identity strings…navigator.vendor · productSub · plugins
    How you click…mousemove → pointerdown · isTrusted
    navigator in a Worker…Worker · navigator
    Ad blocker…bait element
    Tracker blocking test…7 tracker scripts (on request)
    Extensions…window.ethereum · DOM marks
    Extension scan…chrome-extension:// files
    Tab history…history.length
    Stored traces…localStorage · IndexedDB · Cache · window.name
    Installed fonts…canvas measureText