Privacy policy
Last updated
Khoi Greenwich (khoi.co.uk) does not track you: no analytics cookies, no advertising, no selling of data. Personal data arises only when you post a comment, rate an article, search, email me, or when the server writes a technical log for each visit. This page explains each case.
Who is responsible for your data
The data controller for khoi.co.uk is Lê Quốc Khôi, the individual who runs this blog. For anything about personal data, write to hi@khoi.co.uk.
The site is written for readers in Vietnam and the United Kingdom. For readers in Vietnam, I process data under Vietnamese personal data protection law. For readers in the UK, I apply the UK GDPR and the Data Protection Act 2018.
What data, why, and where it is kept
When you read the blog
The site's server is in Vietnam. Each request leaves a technical log: the page path, the status code, the processing time and any error. The server also sends technical traces (the same kind of information) to SigNoz, the monitoring tool I use to spot faults and keep the site running. Legal basis: my legitimate interest in operating and protecting the site. I have not set a fixed deletion period for these logs. I use them only to run the site and fix faults, not to build profiles of readers.
Cloudflare sits in front of the site as a proxy, so every request passes through Cloudflare. Cloudflare sees your IP address, your browser type and the address of the page you request, and keeps its own logs under its own policy to deliver content, stop attacks and block bots. Images in articles are served from cdn.khoi.co.uk, also run on Cloudflare (R2). Cloudflare has global infrastructure, so data may be processed outside Vietnam and the United Kingdom.
Cookies and browser storage
The site sets no tracking or advertising cookies, does not use Google Analytics or anything similar, and does not embed third-party videos, social media or fonts. Two things are stored on your device:
- Your choice of light or dark theme, kept in the browser's localStorage (key
kg-theme). It stays on your device and is not sent anywhere. - A draft-preview cookie, set only for editors who open the preview of an unpublished article. Ordinary readers never receive it.
Cloudflare may set technical cookies for security, for example to block bots. I do not use them to track you.
When you post a comment
The form asks for a display name, an email address and your comment. The name and comment appear publicly once I approve them. The email address never appears and is not in the site's public data; I keep it to contact you about the comment if needed and to fight spam, and I do not use it for newsletters or marketing. Every comment stays pending until I approve it.
Comments are stored in FerryCMS, the content management system I run. I keep a comment for as long as the article is published, or until you ask me to delete it. Legal basis: your consent when you press send.
Before you send, Cloudflare Turnstile checks that you are a real person. The Turnstile code loads from challenges.cloudflare.com when you use the comment or rating form, and sends check signals back to Cloudflare. The site's server sends the result of the check, together with your IP address, to Cloudflare to confirm it. Cloudflare handles that data under its own policy.
When you rate an article
A score from 1 to 5 stars is added to the article's average. So that each IP address can rate each article only once, FerryCMS stores a SHA-256 hash of the IP address against that article; the original IP address is not in that record. Because the space of IP addresses is small, I still treat the hash as personal data. I do not know who gave which score.
Spam protection and rate limits
Your IP address, taken from Cloudflare, is used to limit how often you can post comments, rate articles and search within a period of time, and it is passed to FerryCMS with each comment or rating request. The counters live in the server's memory and disappear when the server restarts. When a fault has to be written to the log, the site shortens the IP address (the last number of an IPv4 address is set to 0).
When you search
The words you type go to the site's server and then to the Meilisearch search server I run, to return results. I do not keep a search history and I do not link search words to your identity. Because the words are part of the request address, they may appear in the technical logs of the server and of Cloudflare.
When you email me
Cloudflare Email Routing receives mail sent to hi@khoi.co.uk and forwards it to my personal mailbox, at the email provider I use. I use the content of your message to reply and keep it until the matter is finished. I do not share your messages with anyone.
Who receives your data
Cloudflare (proxy, image storage, Turnstile, email forwarding), my email provider, and the servers I run. I do not sell data and I do not share it with advertisers.
Your rights
You can ask to see, correct, delete, restrict or object to the processing of your data, and to withdraw consent you have given. To delete a comment, email me with the link to the article and the name you used so that I can find it. I reply within one month.
Readers in the UK can complain to the Information Commissioner's Office (ico.org.uk). Readers in Vietnam have the rights that Vietnamese personal data protection law gives them.
When this page changes
When the way the site handles data changes, I update this page. The date of the last update is shown at the top of the page.