Privacy
Reading should not turn you into a profile.
The application sets no cookies and uses no trackers or external analytics. Search runs in the browser; the application does not send search terms or build a behavioral profile from them.
Persisting a reading list or experience preferences is explicit and optional. Without Remember, preferences last for the visit only. When storage is enabled, entry identifiers and settings remain in this browser and are not sent by the application. You can clear them or turn storage off at any time.
The browser creates a random seed for each session to vary discovery order; it is not a lasting cross-session identifier. Diagnostic exposure and open counters remain in memory until reload and are not transmitted.
The approximate-country language suggestion runs only when requested. The site asks its hosting environment for a coarse country signal; application code does not read the IP address. The signal is not treated as identity or culture and never changes language automatically.
Contact drafts stay in page memory during interaction, without browser storage or inclusion in the URL. After review, consent and explicit submission, the necessary details are stored in a private inbox to handle the request when the service is enabled. No automatic email is sent and a reply is not guaranteed. If saving fails, the draft remains available to edit or retry.
Cloudflare hosts the site and may process network request data for hosting and security. Application code does not read the IP address, but Cloudflare’s exact request-log settings and retention are not known here and depend on the deployment configuration and provider policy. A content status describes publication permission, not privacy or the level of human review.
When subscription forms are available, we store your email address, language, selections and consent record in Cloudflare D1. A subscription starts only after email confirmation. Following a book does not subscribe you to the general newsletter. Cloudflare sends confirmation and preference-management messages; token verification uses hashes, while queued email payloads, including their links, are encrypted and removed within 90 days.
Kit manages the recurring messages you have agreed to receive. We share only a confirmed subscriber's address, language and selected topics. Book notices and the general newsletter have separate consent. You can withdraw consent through the preference or unsubscribe links, and Kit’s general unsubscribe link stops all mail from that provider. We never automatically reactivate an address that has unsubscribed there.
The legacy contact form with email delivery stores your name, email, subject and message in Cloudflare and sends a copy to the site operator. That form uses Turnstile and does not store IP addresses in its communications database. The current contact form saves requests to a private inbox without sending automatic email. Neither form subscribes you to a mailing list.
Unconfirmed subscription requests expire after 48 hours. Unsubscribed records are deleted after 30 days and local records from the legacy email-delivery form after 90 days; pseudonymous consent records are retained for one year. The private contact inbox currently has no automatic deletion schedule; you can request deletion using your receipt reference. Kit and Cloudflare retain their own operational and backup copies under their respective policies.
Booking opens on Cal.com only when you choose to open it. That provider processes the information you submit and the connected calendar under its policy. The site does not load a booking interface automatically while you read. Each form states whether the service is available before you send data.
Local saving is optional and off by default.