Skip to main content
01

Privacy Policy

How we collect, use, and protect your personal information.

Last updated January 23, 2026

You are viewing an older version. View current version (v4)

Information I Collect

Account Information

When you create an account, I collect:

  • Email address — used for authentication, email verification, and password resets
  • Name — displayed on your profile and comments
  • Profile image — sourced from your authentication provider

If you sign in with GitHub, I receive your public profile information (name, email, avatar) and an OAuth token to authenticate your session.

Session Data

When you sign in, I store session information including:

  • Session token — a unique identifier for your active session
  • IP address — recorded at sign-in for security purposes
  • User agent — your browser and device information
  • Session expiration — sessions expire after 7 days of inactivity

User-Generated Content

When you interact with the Site, I store:

  • Comments — content you post on blog articles, including edit history
  • Comment metadata — timestamps, parent-child threading relationships

Automatically Collected Information

The Site may collect basic request information through the hosting infrastructure, such as:

  • Pages visited
  • Referring URLs
  • Browser type and version
  • Device information

How I Use Your Information

I use the collected information to:

  • Authenticate your identity and maintain your session
  • Display your comments on blog posts
  • Send email verification and password reset emails
  • Protect against unauthorized access and abuse
  • Administer user accounts (including banning for policy violations)

Third-Party Services

The Site integrates with the following third-party services:

ServicePurposeData Shared
Neon (PostgreSQL)Database hostingAll stored user data
GitHubOAuth authentication, contribution dataOAuth tokens, public profile
ResendTransactional emailsEmail address, name
VercelSite hosting and deploymentRequest logs, IP addresses

Each service operates under its own privacy policy. I encourage you to review their respective policies.

Cookies and Local Storage

The Site uses cookies for:

  • Session management — a session cookie to keep you signed in
  • Authentication state — to maintain your login across page visits

I do not use tracking cookies, advertising cookies, or third-party analytics cookies.

Data Retention

  • Account data — retained until you request deletion
  • Session data — automatically deleted after 7 days of inactivity
  • Comments — retained until you delete them (soft-deleted, content removed from public view)
  • Email verification tokens — expire and are automatically cleaned up

Your Rights

You have the right to:

  • Access your personal data stored on the Site
  • Edit your comments at any time
  • Delete your comments (content is removed from public view)
  • Request deletion of your account and associated data

To exercise these rights, contact me at the email address below.

Data Security

I implement reasonable security measures to protect your data:

  • Passwords are hashed before storage
  • Sessions expire automatically
  • Admin access is role-restricted
  • Database connections use encrypted channels

However, no method of electronic transmission or storage is 100% secure. I cannot guarantee absolute security.

Children's Privacy

The Site is not directed at children under 13. I do not knowingly collect personal information from children. If you believe a child has provided me with personal data, please contact me.

Changes to This Policy

I may update this Privacy Policy from time to time. Changes are tracked through the version history system on the Site. Continued use of the Site after changes constitutes acceptance of the updated policy.

Contact

If you have questions about this Privacy Policy or your data, contact me at:

02

Data Controller

Under the Personal Data Protection Act (PDPA), the data controller for this website is:

For data protection inquiries, rights requests, or complaints, contact the address above.