Privacy
What this site keeps about you, why, and for how long.
The short version
- No cookies for readers, no advertising or tracking scripts, and no accounts.
- Where the site needs to recognise a visit, to count it once or to limit how often a form is sent, it keeps a keyed hash: your network address and browser, mixed with a secret key and hashed. The ones that count views and Underlines are scoped to one post (a view's to one day as well), so they cannot follow you around the site. The network address itself is never stored.
- An email address only when you type one in, and only for the one thing you typed it in for.
- It all lives in one database I run, on Cloudflare. Nothing is sold or shared. Mail goes out through Resend.
Counting views
An entry page asks the site once to count the visit. To count a reader once a day, it keeps a keyed hash of your network address and browser, scoped to that post and that UTC day, for 2 days. What stays is a count: how many readers a post had that day, from which kind of place, on a phone or not. The places are 8buckets (linkedin, search, ai, community, social, email, direct, other), worked out from a ?via= on a shared link or the site that sent you; the address of that site, or any URL, is never stored, and ?via= is taken out of the address bar. Crawlers, scripts and pages the browser loads ahead of time are not counted.
The Underline
Underlining a post, or tapping a chip after it, keeps a keyed hash of your network address and browser, scoped to that post, so that a second tap takes it back. The hash on one post cannot be matched with the hash on another. Only the Underline count is public, and "want a part 2" once 3 readers ask.
Comments
Comments are kept in the same database, need no account, and are read by me before they appear. With a comment the site keeps its words, the name you give (or none, shown as "A reader"), the time, and a keyed hash of your network address and browser, which limits how many comments one browser can send and is deleted after 30 days.
If you tick "Email me when Vignesh replies", your address is kept too. It gets one mail to confirm it for that comment (the link works for 7 days), which names the post and the time but not the words, unless confirming would publish them, and, once confirmed, one when I reply to that comment, and nothing else. It is never shown, and it is deleted after 180 days. A keyed hash of it stays, so that a confirmed address is recognised the next time. A comment I do not publish, or take down, has its words, name and address erased 30 days after.
Your browser keeps your comments that are still waiting, for up to 30 days, and a key that withdraws a comment for 24 hours after you send it; only a hash of that key is stored here. Withdrawing erases the comment's words, name and address.
The newsletter
Subscribing keeps your address, a random token for the links in its mails, the topics you chose ("Computer science" or "Books, walks and life"), when you subscribed and confirmed, the post you subscribed from if it was a post, and which of the buckets above your visit began from. An address that is never confirmed is deleted after 7 days, and one that unsubscribes 30 days after. A confirmation goes to an address at most once every 24 hours, however often it is typed in. A copy of each issue sent is kept for 30 days; after that only the fact that it went to you stays, so that a send which stops and resumes never mails you twice, and that goes with your address.
The mails come as plain text and as simple HTML with no image in it, so nothing in them can report an open, and every one has an unsubscribe link that takes one click.
The contact form
A message keeps your name, address and words, the time, and whether it reached my mailbox, until I delete it. A keyed hash of your network address and browser, which limits how many messages one browser can send, is removed from it after 30 days.
Notes from AI readers
An AI assistant can leave a note on a post through the endpoint for machines. It keeps the name, model and link the assistant gives, the note, and a keyed hash of where it came from, removed after 30 days. A note I reject is deleted after 30 days.
Rate limits and the anti-bot check
Every form, and the Underline, counts sends per keyed hash, of your network address and browser or of the network alone (so that a new browser is not a new allowance), in windows deleted after 2 days. The check that a person sent a form is Cloudflare Turnstile, which loads only once you start using a form, never with the page; Cloudflare says what it collects in its Turnstile privacy addendum.
What your browser keeps
Not cookies: your theme choice, in local storage, if you pick one; your comments that still wait for me, as above; and, in this tab's session storage until you close it, where your visit began, so that a subscription can say so. None of it leaves your browser except as described here.
Who else is involved
- Cloudflare hosts the site and the database, and so handles every request. The site-wide visitor statistics are Cloudflare Web Analytics, which sets no cookie.
- Resend sends the site's mail: confirmations, reply notices, the newsletter, and the contact form's messages to me.
- The fonts, scripts and images are served from this site. Nothing is loaded from anywhere else but Turnstile and the Web Analytics script.
How long each thing is kept
| What | Kept for |
|---|---|
| The keyed hash that counts a view once a day | 2 days |
| Views per post, day, source and device (no identifier) | kept, as counts |
| The keyed hash behind an Underline or a chip | until you tap it again |
| Rate-limit counters | 2 days |
| A comment’s words and name, once published | while it is up |
| A comment I did not publish, or took down | erased after 30 days |
| The keyed hash of a commenter’s network and browser | 30 days |
| An email address given for reply mail | 180 days |
| A newsletter address, confirmed | until you unsubscribe |
| A newsletter address, never confirmed | 7 days |
| A newsletter address after unsubscribing | 30 days |
| A contact message | until I delete it |
| The keyed hash on a contact message or an AI reader’s note | 30 days |
| Copies of mail the site sent | 30 days |
| An AI reader’s note I rejected | 30 days |
Each thing is deleted daily once past its period. Backups last 7 days.
Your data
To see what the site holds about you, correct it, or have it deleted, write to vignesh@sudohulk.com. The unsubscribe link in every newsletter takes you off the list without writing to anyone.