SignalTrace

visitor intelligence

[ live inspection ]

YOUR BROWSER.
YOUR SIGNAL.

Everything below is read from this browser and your public IP, right now. No account, no server, no tracking of anyone else. Your signal, on your screen.

current visitor…
Public IP…
Location…
ISP / ASN…
Coordinatesn/a
reading browser…
Browser…
OS…
Screen…
Viewport…
Coresn/a
Connectionn/a

02 / fingerprint

Read directly from this browser. Values the browser does not expose are labelled n/a - nothing here is server-verified.

device & browser
Browser…
OS…
Platform…
Language…
Languages…
User agent…
Referrernone
display & performance
Screen…
Viewport…
Device pixel ration/a
CPU coresn/a
Device memoryn/a
Touch…
Max touch pointsn/a
WebGL vendorn/a
WebGL renderern/a
network & time
Timezone…
UTC offset…
Online…
Connection typen/a
RTTn/a
Downlinkn/a
Save datan/a
public geo & network
IP…
ISPn/a
ASNn/a
Cityn/a
Regionn/a
Countryn/a
Timezonen/a
Sourcen/a

03 / session log

Recent visits recorded in this browser's local storage. This is a local demo - it never leaves this device unless you wire up an endpoint.

recent visits0 total

no visits recorded yet

Reload the page to log a session in this browser.

map

resolving coordinates…

A stylized position map appears here once public geo data is available.

04 / embed generator

Generate a tracking pixel or a live counter badge for your own site. Set an endpoint to receive visits on your server; leave it empty for an honest local-demo snippet that only counts in the visitor's browser.

site id & endpoint

No endpoint set? The generated snippet runs as an honest local demo - it counts visits in the visitor's own browser and never sends data anywhere. Set an endpoint to receive real POSTs on your server.

visitor pixel
<!-- SignalTrace visitor pixel - paste just before </body> -->
<script>
  (function () {
    var ENDPOINT = ""; // set this to receive visits on your server (e.g. "https://your-app.example.com/track")
    var SITE_ID = "my-site";
    // No endpoint set - this is a LOCAL DEMO: visits stay in this browser only and are never sent anywhere.
    var payload = {
      siteId: SITE_ID,
      ts: Date.now(),
      ua: navigator.userAgent,
      lang: navigator.language,
      screen: screen.width + "x" + screen.height,
      viewport: window.innerWidth + "x" + window.innerHeight,
      referrer: document.referrer
    };
    if (ENDPOINT) {
      try {
        fetch(ENDPOINT, {
          method: "POST",
          headers: { "Content-Type": "application/json" },
          body: JSON.stringify(payload),
          keepalive: true
        });
      } catch (e) { /* ignore */ }
    } else {
      // Local demo mode: record a visit in this browser only.
      try {
        var key = "signaltrace." + SITE_ID;
        var n = parseInt(localStorage.getItem(key) || "0", 10) || 0;
        localStorage.setItem(key, String(n + 1));
      } catch (e) { /* ignore */ }
      if (window.console) {
        console.log("[SignalTrace] No endpoint configured - visit recorded locally only.");
      }
    }
  })();
</script>
hit counter badge
<!-- SignalTrace hit counter badge -->
<div id="st-badge" style="display:inline-block;font:13px/1.4 ui-monospace,monospace;background:#0b1220;color:#c6ff3e;border:1px solid rgba(198,255,62,.35);padding:4px 10px;border-radius:0;">visits 0</div>
<script>
  (function () {
    var ENDPOINT = ""; // set this to read the live count from your server
    var SITE_ID = "my-site";
    var el = document.getElementById("st-badge");
    function render(n) { el.textContent = "visits " + n; }
    if (ENDPOINT) {
      fetch(ENDPOINT + "?site=" + encodeURIComponent(SITE_ID))
        .then(function (r) { return r.json(); })
        .then(function (d) { render((d && d.count) || 0); })
        .catch(function () { render("n/a"); });
    } else {
      // Local demo mode: count from this browser's own visits.
      var n = parseInt(localStorage.getItem("signaltrace." + SITE_ID) || "0", 10) || 0;
      render(n);
    }
  })();
</script>

privacy note

Everything on this page is read from your own browser and your own public IP, and it is shown only to you. Session history is stored in this browser's local storage and never sent to any server. The generated snippets stay local too unless you configure an endpoint. Nothing here claims to track anyone else.