← Home

Privacy, and what this site actually stores

Most privacy pages are written so that nothing can be held against them. This one is written so you can verify it. Every item below is something you can confirm yourself in your browser’s developer tools.

Short version: this site measures how people move through it, in aggregate, using its own code. It does not sell anything about you, it does not run ad tech, and it does not keep your IP address. If you would rather it counted nothing at all, there is a switch further down that works immediately.

Who is responsible

Quentin Dupard, operating independently. Contact for anything on this page, including a request to delete something: quentin.dupard@gmail.com. I answer these personally, usually within a day.

The site is hosted on Cloudflare Workers. Files are served from Cloudflare’s network, which means Cloudflare processes the request before this site’s own code sees it.

What gets stored in your browser

No advertising cookies, and no cookies at all for ordinary visitors. What the site uses is localStorage and sessionStorage, which stay on your device and are never transmitted anywhere as a block. Open the Application tab in developer tools and you will find exactly this list:

  • qd:vid — a random identifier, so a repeat visit is not counted as a new person. Not linked to a name, an email, or an IP.
  • qd:sid — the same idea for a single session. Cleared when you close the tab.
  • qd:utm — the campaign parameters that brought you here, if there were any, so I can tell which link worked. Session only.
  • qd:seen — a flag noting you have been here before, which is what changes the greeting to “welcome back”.
  • qd:theme, qd:glass, qd:mode — your light or dark choice, the transparency slider, and the delivery preference on the pricing table.
  • qd:asked — how many free questions you have put to AI-me.
  • qd:promo — a discount code, if you won one.
  • qd:sent — a note that you already sent a message, so the form does not nag you.
  • qd:no-personalisation — set only if you use the switch below.

The site is published in English, French and Spanish. Which one you get on the homepage is worked out from the Accept-Language header your browser already sends with every request; nothing is stored to do it, and picking a language from the switcher overrides it for a year. Every other page is served in the language of its own address, so a link you were sent opens in the language it was written in.

Two cookies exist on this domain and neither is set by simply visiting a page. qd_lang is written only when you pick a language from the switcher, so that an explicit choice beats the guess made from your browser’s language settings. qd_admin is only ever set for me, when I sign in to edit the site.

What reaches the server

Interactions are batched and posted to this site’s own /api/track, which folds them into counters. What is kept is the count, not the trail.

  • Aggregate counters. How many people scrolled past a section, how many opened the pricing table, which links were clicked. Totals, not sequences. You can see the whole set yourself on the live stats page — that is the same data I have.
  • A first-seen marker against the random qd:vid, kept 90 days, so the visitor count means something.
  • A presence key against the random session id, kept five minutes, which is how “reading now” works.
  • A rate-limit counter for AI-me, stored against a one-way hash of your IP address. The hash cannot be reversed to an address, and the address itself is never written down.
  • The questions put to AI-me, kept 90 days and then expiring on their own. See below.

What is never recorded: your IP address, your name, the text of anything you type into the site other than the message form and AI-me, or any sequence that would reconstruct one person’s path through the site.

The two things you type on purpose

The message form in the mailbox is a contact form wearing a costume, and it behaves like one. Your email address and your message go to Formspree, which forwards them to my inbox. That is a genuine transfer of your data to a third party and to me, because otherwise I could not reply.

AI-me sends your question to Anthropic to be answered, and the question is also kept here for 90 days so I can read what people actually ask. That is the whole reason: the questions tell me what to write about next, and what AI-me answers badly. Stored with it are the time, the language of the page, and a marker that dies when you close the tab so a follow-up sits next to the question before it. No IP address, no name, nothing that identifies you or connects one visit to another. Turning the measurement off with the switch below stops this too.

Do not put confidential information into AI-me — it is a demonstration on a public website, not a private channel, and now a question you type there is something I can read.

The newsletter sign-up goes through Formspree too. There is no mailing-list provider behind it yet, which means there is no unsubscribe link: to come off the list, email me and I will remove you.

Other services

  • Cloudflare — hosting and network. Also runs its own visit measurement on this domain, which loads a small script from cloudflareinsights.com. It is the one third-party script on the site.
  • Stripe and Calendly — only if you click through to them. Payment details never touch this site; checkout happens entirely on Stripe’s own pages.

There is no Google Analytics, no advertising pixel, no session recorder, no heatmap tool, and nothing that follows you to another website.

Turn the measurement off

This takes effect immediately and does not need a reload. It sets a single flag in your browser, so it applies to this device and this browser.

Measurement is on Aggregate counts only, as described above.

Cloudflare’s own measurement is separate and this switch does not control it. Browser-level tracking protection or an ad blocker will stop that one.

Your rights

Under the GDPR you can ask for a copy of what I hold about you, ask for it to be corrected, or ask for it to be deleted. In practice the honest answer is that unless you have written to me, I hold nothing that identifies you — the analytics are counters, and a counter cannot be traced back to a person.

If you have written to me, that message is in my inbox and in Formspree’s records. Ask and I will delete both. No form, no verification hoop: quentin.dupard@gmail.com.

You also have the right to complain to a supervisory authority.

Changes

If what the site does changes, this page changes with it, and the date at the top moves. It is versioned in the same repository as the site, so the history is a matter of record rather than a promise.