Doug Borg

Privacy notice

dougborg.org counts visits so I can see which pages people read, where readers come from, and whether pages load quickly. This page explains exactly what is collected and how to turn it off.

What is collected

When a page loads with JavaScript on, it sends short records to an analytics service I run myself (Umami, at stats.dougborg.net). They contain:

  • the page address and title, and the address of the page that linked you here. Fragments and query parameters are removed, except the standard campaign tags utm_source, utm_medium, utm_campaign, utm_content, and utm_term on the page address, and anything that looks like an email address is replaced;
  • your screen size and browser language;
  • how quickly the page loaded and responded (the Web Vitals measures TTFB, FCP, LCP, CLS, and INP);
  • these named events, and no others, each with only the data listed:
    • scroll-depth, sent the first time you scroll, yourself, past each depth of a page long enough to scroll, with depth: how far down the page, in percent (25, 50, 75, or 100).
    • engaged-time, sent each time the page is hidden or left, with seconds: how many seconds the page was visible since the last report (a whole number from 1 to 3600).
    • outbound-click, sent when you click or middle-click a link that leaves the site, with url: the destination's origin and path.
    • download-click, sent when you click a file download, with format: the file type (pdf, docx, md, json, zip, csv, txt, epub, or file); and file: the file's name.
    • contact-click, sent when you click an email or phone link, with method: which kind of link, never the address or number (email or phone).
    Never the text of a link or an email address, anything you type, or where on the page you clicked.

Like any website, the service receives your IP address and browser user agent with each request. It combines them with a key kept on the server and the current month to derive an identifier that stays the same for that calendar month, so your visits to dougborg.org within a month can be grouped together, and a shorter one that groups a single visit. It also works out your approximate location (country, region, and city) and your browser, operating system, and device type. It stores those derived values but not your IP address or user agent.

What is not collected

  • No cookies, and nothing that identifies you by name, email, or account.
  • No advertising, profiling, or tracking on other people's websites.
  • Each of my sites gets a different identifier for you, and I do not combine them. They share one analytics server, so this is a promise about how I use the data, not a technical barrier.
  • Nothing is sold or shared with anyone for advertising.

Your choices

Nothing is collected if your browser sends Global Privacy Control or Do Not Track: the analytics script is not even loaded. With JavaScript off, nothing is collected, and blocking stats.dougborg.net works too.

To honor that choice, the script reads that one local-storage entry; it writes to local storage only when you use the button.

Why, and on what basis

The purpose is to understand readership and keep the site fast and useful. Under the EU and UK GDPR, the legal basis is my legitimate interest in running the site (Article 6(1)(f)), which you can object to at any time with the choices above.

Where it goes and how long it stays

The analytics service runs on a server I run at home in Colorado, in the United States. Requests reach it through Cloudflare, which handles your IP address to route and protect the traffic. If you visit from another country, your records are transferred there. I delete records after 90 days.

Your rights

Depending on where you live, you can ask to see, correct, or delete data about you, or object to its use. Records are not tied to your name, so to find yours I would need to know roughly when you visited and which pages. Write to Doug Borg at dougborg@dougborg.org. You can also complain to your local data protection authority.

Last updated .