Privacy Policy

Last updated: January 26, 2026

Introduction

This Privacy Policy describes how Luke Edwards ("I", "me", or "my") collects, uses, and handles your information when you visit my personal portfolio website at lukeedwards.me. I respect your privacy and am committed to being transparent about the data practices on this site.

Information I Collect

Contact Form Submissions

When you submit the contact form, I collect:

  • Your name (as provided by you)
  • Your email address (as provided by you)
  • Your message content (as provided by you)
  • Your IP address (collected automatically)
  • Approximate geographic location (derived from your IP address or browser geolocation if you have previously granted permission)
  • Submission timestamp

This information is stored securely in Google Sheets and used solely to respond to your inquiry and understand where my visitors are located.

Like System (Now Page)

The "Now" page includes a like feature for posts. To track likes without requiring account creation, I generate an anonymous browser fingerprint based on:

  • Browser user agent
  • Screen resolution and color depth
  • Timezone and language settings
  • Hardware characteristics

This fingerprint is hashed and stored in your browser's localStorage and on my server (Redis) to remember your like preferences. It cannot be used to personally identify you.

Analytics

I use Vercel Analytics, a privacy-focused analytics service that collects anonymous, aggregated data about page views and visitor counts. Vercel Analytics does not use cookies and does not track individual users across sites.

Bot Protection

The contact form uses Cloudflare Turnstile to protect against spam and automated submissions. Turnstile may collect technical information about your browser to verify you are human. Please refer to Cloudflare's Privacy Policy for more details.

Third-Party Services

This website uses the following third-party services:

  • Vercel – Hosting and privacy-focused analytics
  • Cloudflare Turnstile – Bot protection for the contact form
  • Upstash Redis – Storing like counts and rate limiting data
  • Google Sheets API – Storing contact form submissions
  • ipapi.co – IP-based geolocation lookup
  • OpenStreetMap Nominatim – Reverse geocoding (if browser location is available)

Data Retention

Contact form submissions are retained indefinitely for record-keeping purposes. Like data and browser fingerprints are stored for as long as the feature is active. Rate limiting data expires automatically after 1 hour.

Your Rights

If you would like to request deletion of your contact form submission or have any questions about your data, please contact me at edwards.lukec@gmail.com.

Changes to This Policy

I may update this Privacy Policy from time to time. Any changes will be posted on this page with an updated revision date.

Contact

If you have any questions about this Privacy Policy, please contact me at edwards.lukec@gmail.com.