Privacy Policy

Last updated: March 22, 2026

This Privacy Policy explains how Yury Primakov ("I", "me", or "my") collects, uses, and protects information when you visit https://www.yuryprimakov.com (the "Site"). I am committed to handling your information with transparency and care.

1. Information I Collect

Information you provide when signing in: If you choose to sign in with Google or GitHub, I receive your name, email address, and profile avatar from the OAuth provider. This information is stored in my database solely to identify your account and associate your likes with it.

Interaction data: When you like a blog post, a browser fingerprint (a randomly generated UUID stored in your browser's localStorage) is used to record your reaction. If you are signed in, this is linked to your account instead.

View counts: Blog post view counts are tracked anonymously on a per-session basis using sessionStorage. No personally identifiable information is recorded for view tracking.

Automatically collected data: Like most websites, my hosting provider (Vercel) may automatically log standard server data such as IP addresses, browser type, referring URLs, and page visit timestamps. This data is used for performance monitoring and is governed by Vercel's own privacy policy.

2. How I Use Your Information

  • To identify your account and display your sign-in status
  • To associate your blog post likes with your account for cross-device persistence
  • To display aggregate view and like counts on blog posts
  • To improve the Site's content and user experience
  • To operate and maintain the Site's technical infrastructure

I do not sell, rent, or share your personal information with third parties for marketing purposes.

3. Cookies and Local Storage

Session cookies: When you sign in with Google or GitHub, a secure HTTP-only session cookie is set to maintain your authentication state. This cookie expires when you sign out or after a set period of inactivity.

localStorage: A randomly generated fingerprint ID is stored in your browser's localStorage to enable anonymous likes without requiring sign-in. This ID is not linked to any personal information unless you choose to sign in.

sessionStorage: Used to deduplicate view counts within a single browser session. Cleared automatically when you close the browser tab.

You may clear your browser's localStorage and cookies at any time through your browser settings.

4. Third-Party Services

The Site uses the following third-party services, each governed by their own privacy policies:

  • Vercel — hosting and edge infrastructure
  • Supabase (PostgreSQL) — database storage for user accounts and reactions
  • Google OAuth — optional sign-in provider
  • GitHub OAuth — optional sign-in provider
  • Auth0 — admin authentication (not used for public visitors)
  • Vercel Blob — media file storage
  • Vercel Speed Insights — anonymous performance analytics

5. Data Retention

If you sign in, your account information (name, email, avatar) is retained indefinitely to preserve your likes and preferences. You may request deletion of your account and all associated data at any time by contacting me.

Anonymous fingerprint data (likes without a signed-in account) is retained in the database but is not linked to any identifiable person.

6. Your Rights

You have the right to:

  • Request access to the personal data I hold about you
  • Request correction of inaccurate data
  • Request deletion of your account and associated data
  • Withdraw consent by signing out and clearing your browser's localStorage

To exercise any of these rights, please contact me.

7. Children's Privacy

This Site is not directed at children under the age of 13. I do not knowingly collect personal information from children. If you believe a child has provided personal information, please contact me and I will promptly delete it.

8. Changes to This Policy

I may update this Privacy Policy from time to time. When I do, I will revise the "Last updated" date at the top of this page. Continued use of the Site after any changes constitutes acceptance of the updated policy.

9. Contact

If you have questions or concerns about this Privacy Policy or how your data is handled, please contact me here.