---
title: "Privacy | Martin Masevski"
description: "What martinmasevski.dev collects about visitors, why, and how to ask about it."
canonical_url: "https://martinmasevski.dev/privacy"
meta:
  "og:description": "What martinmasevski.dev collects about visitors, why, and how to ask about it."
  "og:title": Privacy
  "twitter:description": "What martinmasevski.dev collects about visitors, why, and how to ask about it."
  "twitter:title": Privacy
---

> Index of every page on this site: [llms.txt](https://martinmasevski.dev/llms.txt)

# **Privacy**

Last updated 5 November 2026

This is my personal site. It has no ads, no analytics and no tracking, and it asks for nothing about you. The little it does handle is listed below.

## Who is responsible

Martin Masevski, Italy. For anything about this page, write to [martin.masevski@gmail.com](mailto:martin.masevski@gmail.com).

## Server logs

The site runs on Cloudflare. Like any web server, it sees each request: your IP address, browser, the page asked for and the time. Cloudflare keeps these logs for at most 7 days, and I only look at them to fix errors and stop abuse. That is my legitimate interest in keeping the site working (GDPR Art. 6(1)(f)).

## Likes and the live reader count

The site shows how many people are on it right now. That count is made from open connections and nothing about you is saved.

When you press the like button for the first time, your browser saves a random ID (`likes-visitor-id`) and sends it with your likes. The server stores that ID with one number, how many likes it gave, so each browser has its own limit. It never stores your name or IP address with it, and keeps it as long as the article's like count exists. If you never press like, nothing is saved.

## What your browser stores

No cookies are set until you change a setting. These are the only things the site saves in your browser, and each one exists because you asked for it:

- `reduced-motion-enabled` (cookie, 1 year): your Motion On/Off choice.
- `nuxt-color-mode`: your light or dark theme.
- `blog-code-wrap`: whether code blocks wrap long lines.
- `likes-visitor-id`: the like ID described above.
- A copy of the site's files, so pages load faster and work offline.

Clearing your browser's data for this site removes all of them.

## Who else sees it

Only Cloudflare, which hosts the site, the likes server and the article audio. Cloudflare is a US company covered by the EU-US Data Privacy Framework. Fonts are served from this site, so your browser does not contact Google or any other third party. Links to LinkedIn or GitHub take you to sites with their own privacy rules.

## Your rights

You can ask me what I hold about you, and ask me to correct or delete it, or to stop using it. Write to the address above. You can also complain to the Italian data protection authority, the [Garante per la protezione dei dati personali](https://www.garanteprivacy.it/).

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://martinmasevski.dev/#website","@type":"WebSite","description":"Senior frontend engineer working in Vue, Nuxt and TypeScript. I build the tests and checks that make AI-written UI safe to ship.","name":"Martin Masevski","url":"https://martinmasevski.dev/","publisher":{"@id":"https://martinmasevski.dev/#identity"}},{"@id":"https://martinmasevski.dev/privacy#webpage","@type":"WebPage","description":"What martinmasevski.dev collects about visitors, why, and how to ask about it.","name":"Privacy","url":"https://martinmasevski.dev/privacy","isPartOf":{"@id":"https://martinmasevski.dev/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://martinmasevski.dev/privacy"]}]},{"@id":"https://martinmasevski.dev/#identity","@type":"Person","description":"Hi, I'm Martin, a senior frontend engineer working in Vue, Nuxt and TypeScript. AI can now write UI faster than teams can review it, so I build the tests and checks that make it safe to ship.","email":"martin.masevski@gmail.com","jobTitle":"Senior Frontend Engineer","name":"Martin Masevski","url":"https://martinmasevski.dev","alumniOf":{"@type":"EducationalOrganization","name":"Università degli Studi di Padova","sameAs":"https://www.unipd.it"},"image":{"@type":"ImageObject","@id":"https://martinmasevski.dev/#/schema/image/profile","url":"https://martinmasevski.dev/images/profile.png"},"knowsAbout":["Vue.js","Nuxt","TypeScript","Web accessibility","Frontend testing"],"knowsLanguage":["en"],"sameAs":["https://www.linkedin.com/in/masevski/","https://github.com/Archetipo95","https://nuxt.com/nuxters/Archetipo95"],"worksFor":{"@type":"Organization","name":"hubcore.AI (Destination Italia)","url":"https://hubcore.ai/en/"}}]}
```

## Sitemap

See the full [sitemap](https://martinmasevski.dev/sitemap.md) for all pages.
