Privacy Policy

Last updated: October 26, 2024

Welcome!

This blog is a personal space where I share my thoughts, learnings, and experiences in software development. Your privacy matters to me, and I want to be completely transparent about how this site works and what data is collected to improve your reading experience.

What I Collect and Why

To understand how readers engage with my content and improve the blog experience, I collect anonymous analytics data. Here's exactly what is tracked:

1. Reading Analytics

  • Page Views: Which posts you visit and when
  • Reading Behavior: How far you scroll through articles (25%, 50%, 75%, 100%)
  • Time on Page: How long you spend reading each post
  • Exit Position: Where you stop reading before leaving
  • Session ID: A randomly generated identifier to track your visit session (not personally identifiable)

Why: This helps me understand which content resonates with readers and how to improve my writing.

2. Feedback and Ratings

  • Star Ratings: If you choose to rate a post (1-5 stars), that rating is stored
  • Session ID: Used to prevent duplicate ratings from the same reading session
  • Timestamp: When you submitted the rating

Why: Your feedback helps me understand what content is most valuable and guides future posts.

3. Technical Information

  • User Agent: Your browser type and operating system (e.g., "Chrome on macOS")
  • Timestamps: When events occur (in UTC timezone)

Why: Helps ensure the blog works well across different browsers and devices.

What I Don't Collect

  • No personally identifiable information (name, email, phone number)
  • No IP addresses are stored in the analytics database
  • No login or registration system
  • No newsletter or email collection
  • No third-party advertising trackers
  • No social media tracking pixels

All analytics are anonymous and aggregated. I cannot identify individual visitors or connect your reading behavior to your real identity.

Cookies and Local Storage

Browser Local Storage

  • Theme Preference: Your dark/light mode choice is saved locally to remember your preference
  • Session Tracking: A temporary session identifier is stored in your browser's sessionStorage (automatically cleared when you close your browser)

This data never leaves your device except for the anonymous session ID sent with analytics data.

Traditional Cookies

This blog does not use traditional HTTP cookies for tracking. All session management happens through browser sessionStorage, which is more privacy-friendly.

Where Your Data is Stored

Analytics data is stored securely in a PostgreSQL database hosted on Vercel's infrastructure. The data includes:

  • Encrypted connections (HTTPS/TLS) for all data transmission
  • Access restricted to the blog owner only (password-protected dashboard)
  • Regular database backups maintained by Vercel
  • Data stored in compliance with Vercel's security standards

For more information about Vercel's data practices, visit their Privacy Policy.

Data Retention

Analytics data is retained indefinitely to help me track long-term content performance and trends. However, because all data is anonymous (no personal information), there's no risk to your privacy even with long-term storage.

Session IDs are randomly generated and cannot be traced back to you personally.

Your Rights and Choices

You Have the Right To:

  • Browse Without Tracking: While analytics are automatically collected, you can use browser extensions or privacy settings to block tracking if you prefer
  • Clear Local Data: Clear your browser's localStorage/sessionStorage at any time to remove theme preferences and session data
  • Request Data Deletion: Contact me to request deletion of analytics data (though it's anonymous and cannot be tied to you specifically)
  • Ask Questions: Reach out anytime to understand what data is collected

Opt-Out Options:

  • Use browser privacy features like "Do Not Track" (honored by this site)
  • Disable JavaScript (though this will affect the reading experience)
  • Use ad blockers or privacy extensions that block analytics

External Links

This blog contains links to external websites and social media platforms (GitHub, X, Bluesky, CodePen, LinkedIn). When you click on these links, you'll be subject to those platforms' privacy policies, not mine.

Embedded Content

Some blog posts may include embedded content from platforms like CodeSandbox. These embeds may use cookies or track usage according to their own privacy policies. I have no control over data collected by these third-party embeds.

Examples: CodeSandbox, YouTube, or other interactive demos may collect their own analytics.

Children's Privacy

This blog is not directed at children under the age of 13. I do not knowingly collect data from children. If you believe a child has provided data to this site, please contact me so I can delete it.

Changes to This Policy

As the blog evolves, this privacy policy may be updated. When changes are made:

  • The "Last updated" date at the top will be changed
  • Significant changes will be announced in a blog post
  • I'll always maintain transparency about what data is collected

I encourage you to review this policy periodically to stay informed about how your data is handled.

International Users

This blog is hosted on Vercel's global infrastructure. If you're accessing this site from outside the United States, please note that your data may be transferred to and processed in countries where Vercel operates data centers.

For users in the EU/EEA: While this is a personal blog and may not be subject to GDPR, I've designed the analytics system to be privacy-friendly and collect only anonymous data.

Contact Me

If you have any questions, concerns, or requests about privacy or your data, feel free to reach out through any of the social media links in the footer. I'm always happy to chat and clarify anything!

You can find me on: GitHub, X/Twitter, Bluesky, CodePen, or LinkedIn.

The Bottom Line: I collect anonymous analytics to understand what content helps readers, but I don't collect personal information or sell data to anyone. Your privacy is respected, and transparency is a core value of this blog. If you have concerns or questions, please reach out - I'm always happy to explain or improve.