Privacy
What this site measures, what it keeps and for how long, and how to switch it off.
Who is responsible
This site is run by Lukáš Hellesch, Prague, Czech Republic. For questions, objections or deletion requests, write to [email protected]. You can also complain to the Czech data protection authority, Úřad pro ochranu osobních údajů (ÚOOÚ), Pplk. Sochora 27, 170 00 Praha 7, uoou.gov.cz.
Two levels
Without your consent, the site counts totals only: how many visits, from where, and what was read. They contain no cookies and no identifiers, and nothing in them describes one visit.
If you press Accept in the banner, the site also keeps a record of your visit: the pages, the time spent on each part and the clicks in order, under a random visit identifier, for 180 days. Accept also turns on PostHog, which records the screen while you use the site, with anything you type hidden (see "With your consent: PostHog" below). Accept turns on nothing else.
What is measured
- the page you viewed
- which parts of the page were on your screen, and for how many active seconds
- how far you scrolled
- the kind of link or button you clicked: within the site, to other sites, e-mail, or a named button such as LinkedIn
- clicks on things that are not links
- whether you copied text (only whether an e-mail address was copied and how long the selection was, never the text)
- whether you printed the page
- the site you came from (its address only) and a campaign tag such as "qr"
- whether the consent banner was shown and whether it was accepted, declined or withdrawn: counted per day, never tied to a visit, also after you accept, and not at all with Global Privacy Control or Do Not Track
- your browser's language
- errors in the site's own scripts: the error message with quoted text, numbers, addresses and codes removed, the script's file name and line, and the page. Counted per day and never tied to a visit, even with consent. One example of each error is kept for 180 days.
- how fast the page loaded and answered (Core Web Vitals, as ranges such as "2.5 to 3 seconds", not exact values) and which part of the page was slowest. Counted per day and device type, never tied to a visit.
From the server: your country, as resolved by Cloudflare, and the type of device (phone, tablet or computer).
Not collected:
- no cookies before you press Accept (what is stored in your browser is listed below)
- no IP address is stored by the site's collector. It holds it in memory for abuse protection until the Cloudflare instance that received it is recycled, usually within minutes. With your consent, PostHog receives it too (see below).
- no full browser identification string (user agent) is stored
- nothing you type
With your consent: PostHog
PostHog runs only after you press Accept, and none of its code is downloaded before that. It receives:
- a session recording: what the page showed and how you scrolled, moved and clicked. Anything you type is hidden. Console messages and network requests are not recorded.
- the pages you viewed, where on a page you clicked (heatmaps) and clicks on things that do nothing. It gets the kind of element you clicked, never its text.
- how fast the page loaded (Core Web Vitals)
- your browser, operating system, device type and screen size
- your IP address, from which PostHog works out your approximate location
Page addresses are sent without their query, except campaign tags. PostHog keeps an identifier in your browser, so it can tell that pages belong to the same visitor. It is listed under "Stored in your browser".
Legal basis
The record of your visit and PostHog are used only with your consent (Art. 6(1)(a) GDPR). You can withdraw it any time under Privacy settings at the bottom of every page.
The totals are kept on the basis of my legitimate interest in knowing how this site is read (Art. 6(1)(f) GDPR). They contain no identifier, are not combined with other data and are not shared. You can object at any time, see "Your choices" below.
Global Privacy Control and Do Not Track are honoured as a refusal: with either one on, nothing is measured and no banner is shown.
Who receives data
Cloudflare, Inc. hosts the site, runs the collector and stores the analytics database. It receives IP addresses and request data as part of serving the site. The analytics database is kept in Cloudflare's EU jurisdiction. Cloudflare is certified under the EU-U.S. Data Privacy Framework for request data it handles outside the EEA, and keeps its own request logs as its privacy policy describes.
PostHog, Inc. receives what is listed under "With your consent: PostHog", and only after you press Accept. Its EU Cloud stores it on Amazon Web Services servers in Frankfurt, Germany. The site passes your IP address on for the location lookup, and PostHog discards it after that lookup. Where PostHog's US company or its subprocessors access the data from outside the EEA, the EU Standard Contractual Clauses in PostHog's data processing agreement apply. A copy is available on request at the address above.
Nobody else receives anything. There is no advertising, and no data is sold or shared.
Stored in your browser
| Name | Purpose | Lifetime |
|---|---|---|
| analytics-consent, analytics-consent-at | your answer to the banner and its date (localStorage) | until you change it, asked again after 12 months |
| ph_<project>_posthog and other ph_ keys | PostHog's identifier for your browser and your session, only after Accept (a cookie, localStorage and sessionStorage) | 1 year, removed when you withdraw consent |
| ph-fresh | marks that PostHog started fresh after your consent (localStorage) | until you withdraw consent |
| __ph_opt_in_out_<project> | remembers that you withdrew, so PostHog stops in your other open tabs too. It holds no identifier (localStorage) | stays after you withdraw |
| k-off | only if you open a link with ?k=off: switches measuring off in this browser (localStorage) | until removed with ?k=on |
How long data is kept
- totals: 2 years, older days are deleted daily
- the record of a visit (with consent): 180 days, deleted daily
- one example of each script error: 180 days
- PostHog session recordings (with consent): 30 days
- PostHog events (with consent): 1 year
- your IP address in the collector's memory: until the instance is recycled, usually minutes
- your answer to the banner: 12 months
Your choices
You can ask for access to data about you, ask for it to be deleted, and object, by writing to the address above. Data that is not tied to a name may not be findable.
Under Privacy settings at the bottom of every page, Delete my visit data deletes the record of your current visit and withdraws your consent. Earlier visits used other random identifiers that your browser does not keep, so they cannot be found. They are deleted after 180 days. The totals contain no identifier and are not affected.
Withdrawing consent also stops PostHog and removes its identifier from your browser. Recordings and events PostHog already has are deleted on request: write to the address above.
To stop the totals as well in this browser, open lukashellesch.com/privacy/?k=off. It stores one flag (k-off) and nothing else.
Last updated 12 October 2026.