Liu WeiLIU WEI · 刘维

Privacy

Last updated 3 September 2026

This site is one page about one person. There is nothing to sign up for and nothing to fill in, so there is nothing for you to hand over. It sets no cookies. Two things see you arrive: my own analytics, which runs on my own server, and Google Fonts.

Who is responsible

weiliu.me is my personal site — a CV and a list of things I have built. I am Liu Wei (刘维), and I am the person responsible for it and for every decision described here. Write to me at weiliu@duocodetech.com.

This is not a company site and nothing is sold here, but DUOCODE TECHNOLOGY (a sole proprietorship registered in Malaysia, registration number LA0087244-A) is involved in one way worth naming: the analytics described below run on a server DUOCODE operates, and the address above is a DUOCODE-hosted mailbox. So although the site is personal, what it records sits on that infrastructure.

The Personal Data Protection Act 2010 is about personal data processed in commercial transactions, and a personal page like this one sits at the edge of that. Rather than argue the point, I have written this as though the Act applies and given you the rights it would give you.

A Bahasa Malaysia version of this notice is published at Notis Privasi, as section 7(2) of the Act requires. The two say the same thing. If they differ, this English version prevails.

What this site does not collect

It is a single static page. There is no sign-in, no account, no contact form, no newsletter, no comment box, no search and no payment, and I run no server code of my own. So I never ask for your name, email address or anything else, and I have no way to receive it except by ordinary email if you choose to write to me.

No cookie is set by this site or by anything it loads. There are no advertising or retargeting pixels, no session recording or heatmap tools, no chat widget, and no embedded social, video or comment widgets. Nothing about you is sold, rented or traded, and there is no mailing list to be added to.

Analytics

Every page loads Umami, an open-source analytics tool self-hosted on our own server and served from fluentdojo.com/umami — not a third party's. It is cookie-less: it sets nothing in your browser and stores nothing there. It sends the address and title of the page you are on, the page or search that referred you, your screen size and your browser's language.

The server also sees what any web server sees: your IP address and your browser's user-agent string, from which Umami derives an approximate country and a device, browser and operating-system label. A visit is identified by a value computed on the server, not by anything planted on your device — so nothing follows you from one visit to the next, and nothing follows you to any other site. The data is not shared with Google or any other analytics company, is not used for advertising, and is not combined with anything else. I look at page counts. There is nothing here that could identify you, and no cookie banner, because there is no cookie.

The other things your browser touches

Google Fonts. The typefaces (Inter, JetBrains Mono, Instrument Serif, Noto Sans SC) load from fonts.googleapis.com and fonts.gstatic.com. Your browser requests them directly, which tells Google your IP address and user-agent. They set no cookie.

Hosting. The site is on Vercel, whose servers record ordinary request information — IP address, timestamp, path, user-agent — for delivery and abuse prevention, under Vercel's own terms. I keep no logs of my own beyond the analytics above.

Local storage. Before the page paints, a small script checks your browser's local storage for a saved theme preference so the colours do not flash. It only reads; nothing on this site writes that value, and it never leaves your browser.

Links out. The page links to GitHub, LinkedIn, X, duocodetech.com and sunflowerslw.tech. Nothing is embedded from them — they see you only if you click, and then their own policies apply, not this one.

Where the data goes

The analytics stay on our own server in Singapore — outside Malaysia, but not in anyone else's hands. Google (fonts) and Vercel (hosting) are United States companies running global infrastructure, so what they see is processed outside Malaysia too. Using the site means accepting those transfers; the next section is the remedy, and it is complete.

How to switch the analytics off

Nothing waits for your consent, because nothing is stored on your device. You can still refuse:

I do not honour the browser "Do Not Track" signal, because that option is not enabled on the analytics — better to say so than to let you assume otherwise. Any of the measures above works regardless.

Your rights

You may ask what personal data I hold about you, have it corrected, withdraw consent to its processing, or limit how it is processed. Write to weiliu@duocodetech.com. You may also complain to the Personal Data Protection Department (Jabatan Perlindungan Data Peribadi), Malaysia.

Honestly, though: the analytics are not tied to your name, and there is no identifier on your device you could quote to me, so I will normally have no way to find your records among them. Switching the analytics off, as above, is the remedy that actually works, and it takes effect immediately. Email you have sent me sits in my mailbox and I can of course delete it if you ask.

Changes

If what this site does with visitor data changes, this page changes with it and the date at the top moves. There is no notification list; the date is the record.