// disclosure

Privacy & data

What this site records · last updated 12 August 2026

Neuroatomic is a handful of static pages and three small scripts, all served from this domain. There is no server-side code behind it, no database, and no account system — so most of what a privacy notice usually has to explain simply does not exist here. Two things do: a page counter, and a little storage in your own browser. This page says what each of them holds, in specific terms you can check yourself.

The short version. Every page here, including this one, loads a page counter from stats.dankdev.com; it records a page hit. The site writes exactly three keys into your browser's localStoragena.focus, na.records and na.defusions — and all three stay on the device you are reading this on. Two of the three are written only when you press a save button. Nothing you type into a tool is transmitted anywhere. There are no accounts, no ads and no third-party trackers.

1 · The page counter

Every page on this site ends its <head> with a script tag pointing at https://stats.dankdev.com/count.js. That is GoatCounter, an open-source page counter, self-hosted on a domain the same person runs — the dankdev.com up-link in the footer is the same estate. It is not an ad network and it is not a company that buys or sells audience data, but it is a different hostname than this one, so the honest way to put it is: your browser makes one request to that host each time you open a page here.

What a page counter is for is counting page hits — whether anyone read a page at all, and roughly where they arrived from. The request carries the address of the page you opened (the one-line snippet above the script tag rewrites the recorded path to include the hostname, so a hit here is logged as neuroatomic.com/privacy.html), plus what GoatCounter's script is built to send alongside it: the referring page, the page title, and your screen size. On top of that, every HTTP request any browser makes carries your IP address and user-agent string to whatever host it is aimed at — that is equally true of the request that fetched this page.

What it does not get is anything you type. No tool on this site hands its text to another script or to any network request; the text goes into the page you are looking at and, for the thought record and a saved defusion run, into your own browser storage. That is a claim about this site's code, which you can read: main.js, tools.js and thought-record.js are unminified and served from this domain. It is not a claim about what any script could theoretically do once a browser has loaded it — any script in a page can read that page, and that is true of every site you use.

If that residual trust is not one you want to extend, block stats.dankdev.com in a content blocker or your hosts file. Every tool on this site keeps working, because all of the tool code, the stylesheet and the icon come from neuroatomic.com itself, and the type is set in fonts your device already has — there is no web font to fetch. Nothing here degrades when the counter fails to load.

This site's own code sets no cookies. You can confirm both halves of that in your browser's developer tools, under Application → Storage for this domain.

2 · What is stored in your browser

The site writes three keys, all in localStorage, all on the device you are using and nowhere else. There is no server to sync them to.

na.focus

Written by the focus timer on /tools.html. It holds a single number: how many focus intervals have finished in this browser. It is what the line “Focus sessions completed on this device” reads from. Nothing else about a session is kept — not the interval lengths you chose, not when a session ran, not whether you finished or abandoned it.

na.records

Written by the thought record on /thought-record.html, and only when you press Save thought record. Each saved entry holds exactly the fields on that form: the situation, the automatic thought, the emotion and its 0–100 before and after ratings, any distortion labels you ticked, the evidence-for and evidence-against text, the balanced view, and a timestamp. The list keeps the 50 most recent entries; save a 51st and the oldest one is dropped.

Those entries are the most personal thing on this site, so to be exact about it: they are stored as plain text in your browser profile. Anyone with access to that browser profile can read them. That is the trade for having no account and no server — nothing is uploaded, and equally nothing is protected by a password.

na.defusions

Written by the thought defuser on /thought-defusion.html, and only when you press Save this run to this device at step five. Each entry holds five things and no more: the short title you gave the recurring story at step three, the thought you typed at the start, the 0–10 hooked rating you set before and the one you set after, and a timestamp. The word you repeated at step four is not kept. The list keeps the 30 most recent runs; save a 31st and the oldest is dropped.

It exists for one reason: step three asks you to title the story “so you can spot it next time”, and next time is a different browsing session. The titles are shown back to you at step three, with the date each was saved, so you can reuse one in a tap. The two hook numbers are shown on the saved entry they belong to and are never charted, averaged or added up across runs — a self-rating taken minutes apart is not a measurement, and a series of them is not progress.

Like the thought record, these entries are stored as plain text in your browser profile, readable by anyone with access to that profile, and protected by no password. If your browser blocks site data or you are in a private window, the defuser cannot save at all — it says so and the five-step exercise runs as normal.

The tool that stores nothing

The breath regulator on /tools.html writes no storage at all. Its state lives in memory for as long as the tab is open; reload the page and it is gone. No breathing cycle is retained, and the thought defuser retains nothing either unless you press its save button.

3 · How to clear it

  • The thought record's own control. The Clear all saved button under the form asks you to confirm, then writes an empty list to na.records. The saved list on the page empties immediately.
  • The thought defuser's own controls. Under Saved runs on this device, each entry has its own delete link and there is a Delete all saved runs button; both ask you to confirm, and clearing all writes an empty list to na.defusions.
  • Your browser's site-data control. Clearing cookies and site data for neuroatomic.com removes all three keys at once, including na.focus.
  • A private window. Anything written in a private or incognito window is discarded by the browser when you close it.

Two honest consequences of storing things this way: records saved on your laptop will not appear on your phone, because there is no sync; and once you clear them, they are gone, because there is no copy anywhere else to restore from.

4 · What there isn't

  • No accounts. There is no sign-up, no login and no e-mail field anywhere on the site.
  • No ads. No ad network, no affiliate links, no sponsored placements.
  • No other trackers. Beyond the single counter above there is no tag manager, no advertising pixel, no session recorder and no heatmap.
  • No other third-party assets. Apart from the counter script named in section 1, every stylesheet, script, image, icon and font reference on these pages resolves to neuroatomic.com or to your own device. A test in the site's source repository fails the build if a reference to a new outside host appears, so one cannot slip in unnoticed.
  • No backend. Nothing on this site is a <form> that posts anywhere; there is no upload, no API call and no database of users, because there are no users.
  • Nothing sold or shared. There is no collected dataset to sell, share or hand to a partner.

5 · Server logs

One thing no static site can opt out of: the web server that hands you these files sees the request. An IP address, a timestamp, the path requested and a user-agent string are what an HTTP request is made of, so the server serving this page sees them, and the counter's server sees the same for its own request. Further out, your network provider and your DNS resolver can see that you looked up neuroatomic.com, though not which page you opened, because HTTPS encrypts the path.

This page can tell you exactly what the site's own code does. It is not going to pretend that fetching a file over a network is anonymous, because it isn't — here or anywhere else.

6 · If this changes

Privacy notices rot because the code moves and the page does not. This one is wired to the code: a gate in the site's source (test/privacy-contract.test.cjs) reads the site's JavaScript and fails the build if it finds a browser-storage key that this page does not name, and fails it again if any page carrying the counter stops linking here. So if a third key ever appears, either this page grows a section about it or the site does not ship.

Neuroatomic is built and run by dankdev.com. Last updated 5 August 2026.

Back to the tools