Legal
Privacy
what this site stores.
Last updated October 14, 2026
Who is responsible
This site is run by Leo in Switzerland. For anything about your data, write to info@unveroleone.com. The site follows the Swiss Federal Act on Data Protection and, where it applies to you, the GDPR.
The short version: I do not run ads, I do not sell data, and the site sets no cookies of its own. The rest of this page lists exactly what is stored and why.
Visiting the site
The site is hosted on Vercel. Like any web server, Vercel logs requests with your IP address, browser, the page you asked for and the time. I use this to keep the site running and secure.
I also use Vercel Web Analytics and Speed Insights. They count page views and measure load times, with the referring site, country, device and browser type. According to Vercel they work without cookies and do not follow you across sites.
Contact form
If you send a message, your message and email address are sent through Resend to my inbox. I use them only to reply, and I keep the email until I delete it. The form is protected by Cloudflare Turnstile, which checks your browser to tell people from bots and loads from Cloudflare when the home page opens.
To limit spam, my server stores a keyed hash of your IP address together with a timestamp for about two days. The key is a secret that lives only on the server, so the hash cannot be turned back into your IP address or matched to one without it. It is still pseudonymous data, so I treat it as personal data.
Views, likes and docs votes
A blog post view is counted after you stay on the page for a few seconds. To count each visitor once per day, the server keeps a keyed hash of your IP address, the post and the date. A daily cleanup job deletes these rows after about two days. Only the total number of views stays. Visits from known bots are not counted.
A like on a blog post stores the anonymous ID from your browser and a keyed hash of your IP address, which is kept until you remove the like or ask me to delete it. A like counts once per network and post, so a second reader on the same network may see that theirs was not added. A vote on a docs page stores the anonymous ID and the vote. Both also use a separate rate limit record, with a keyed IP hash and a timestamp, that the daily cleanup deletes after a day. I use all of this only to show totals and to stop one person from inflating them.
Comments
Comments are GitHub Discussions on the public repository unveroleone/docs, shown with giscus. The widget loads from giscus.app when you scroll to the comments, so that is when your browser contacts giscus and GitHub. Reading is possible without an account. To write a comment you sign in with GitHub inside the widget.
A comment is public, including your GitHub username and profile picture, and is stored by GitHub under its own privacy policy. I can delete comments on my posts. To remove your own, delete it on GitHub or ask me.
Local storage
The site does not set cookies of its own. It saves a few small items in your browser that never leave it unless noted above:
| Key | Purpose |
|---|---|
| docs-feedback-id | A random anonymous ID, so a like or docs vote counts once per browser. |
| docs-feedback-<page>, blog-like-<post> | Remembers your own vote or like on that page. |
| blog-view-<post> | A date stamp, so your visit is not sent twice on the same day. |
| docs-actions-tooltip-seen and docs sidebar keys | Interface preferences, such as which sidebar sections are open. |
You can clear these any time in your browser settings.
Services that see your data
These providers process data for me. Most of them are based in the United States, so your data can be processed outside Switzerland and the EU. Their own policies apply.
- VercelHosting, server logs, Web Analytics and Speed InsightsPrivacy policy
- NeonDatabase for counters, likes and rate limitsPrivacy policy
- CloudflareTurnstile spam check on the contact formPrivacy policy
- ResendDelivers contact form messages to my inboxPrivacy policy
- GitHub and giscusComment threads (GitHub Discussions) and the comment widgetPrivacy policy
Your rights
You can ask me what I store about you, have it corrected or deleted, or object to how I use it. Email me and mention what you did on the site, for example the date you sent a message, so I can find it. For likes and votes it helps to tell me your anonymous ID (the docs-feedback-id value in your browser storage), because hashed values cannot be looked up by name.
If you are unhappy with my answer you can contact the Swiss Federal Data Protection and Information Commissioner (FDPIC), or the data protection authority in your own country if you live in the EU.
Changes
When the site starts storing something new, I update this page and its date at the top.