JS Stats ← Home

Privacy policy

How JS Stats handles data — both for people who use the dashboard and for visitors to the websites it measures.

Last updated: 2026-08-30

The short version
  • We never store a visitor's raw IP address.
  • In the default cookieless mode the tracker stores nothing in a visitor's browser.
  • We do not sell data, and we do not share it with advertising networks.
  • We do not build cross-site profiles. Data belongs to one site and stays there.
  • You can export everything you have, or delete your account, from Settings.

1. Two different groups of people

This policy covers two groups, and it matters which one you are:

  • Account holders — people who sign in to stats.jidanshoppu.com to look at statistics.
  • Visitors — people browsing a website that has the JS Stats tracker installed. We act as a processor here: the site owner decides to measure their traffic, and we store the result for them.

2. What the tracker collects about visitors

For each pageview, the following is recorded:

  • Page address, path and title, and the referring URL and its domain
  • UTM campaign parameters, when present in the address
  • Browser and version, operating system, device type (desktop / mobile / tablet)
  • Country (two-letter code only — never a city, never coordinates)
  • Browser language and screen resolution
  • Time on page (counted only while the tab is visible) and how far the page was scrolled
  • A salted hash of the IP address — see the next section

No names, email addresses, form contents or keystrokes are collected. Nothing is read from the page other than its address and title.

3. IP addresses

Raw IP addresses are never written to the database. An address is used briefly in memory to derive a country code, then reduced to a salted SHA-256 hash and discarded. The salt is generated per installation and is not shared.

We state this precisely rather than calling it anonymous: a salted hash is not reversible without the salt, but it is a hash of a value from a limited range, so we treat it as pseudonymous data and protect the salt accordingly. The hash exists only so the same visitor is not counted twice and so site owners can exclude their own traffic.

4. Cookies

In the default cookieless mode, the tracker sets no cookie and writes nothing to localStorage. A visitor is recognised within a day by a server-side hash that rotates every 24 hours, so the identifier cannot follow anyone across days or across sites.

A site owner may switch their site to a persistent identifier, which stores an ID in the visitor's browser for more accurate returning-visitor counts. That is their choice and their responsibility to disclose. The dashboard itself uses one strictly necessary session cookie to keep you signed in, and remembers your theme and language preference locally.

5. Do Not Track, and bots

Browsers sending a Do Not Track signal are not recorded. Traffic identified as a bot or crawler — including AI crawlers such as GPTBot, ClaudeBot and PerplexityBot — is kept out of visitor statistics entirely and counted separately, so it never becomes part of anyone's visitor data.

6. Account data

For account holders we store your name, email address and a bcrypt hash of your password (never the password itself). If you enable two-factor authentication we store its secret. If you connect Slack or Telegram for alerts, we store the webhook URL or chat ID you provide.

7. How long data is kept

Statistics are kept until they are pruned by the retention setting that applies to your account, or until you delete the site or your account — whichever happens first. Deleting a site deletes its statistics. Deleting your account deletes your sites and their statistics.

8. Who else sees the data

We do not sell data and we use no advertising or analytics trackers of our own. Data reaches a third party only in these cases:

  • Our hosting provider, which stores the database on our behalf.
  • jsDelivr, a public CDN that serves the charting library used by the dashboard. This affects people viewing the dashboard, not visitors to measured websites — the tracker itself loads nothing from third parties.
  • Slack, Telegram or your own webhook endpoint, but only if you configure them, and only for the alerts you asked for.
  • Our payment provider, only if paid plans are enabled and you make a payment. Card and bank details are handled by the provider; we never receive or store them.
  • Where the law requires it.

9. Your rights

You can export all of your data as a file, and delete your account together with everything in it, from the Settings page — no request or waiting period. If you are a visitor to a measured site and want data about you removed, contact that site's owner: they control it, and we act on their instructions.

10. Self-hosted installations

If you run JS Stats on your own server, none of your data ever reaches us — there is no phone-home, no licence check and no telemetry. This policy then describes only the software's behaviour; you are the controller of your own installation and responsible for your own policy.

11. Changes

Material changes will be reflected in the "last updated" date above and noted in the changelog.

12. Contact

Questions about this policy: stats@jidanshoppu.com.

Home · Privacy · Terms · Docs · Changelog