feat: refresh portfolio, add analytics and privacy policy

- Update project cards with honest statuses: Navidrome and n8n+Ollama
  moved to 'On the roadmap', Open Source marked 'Not started',
  Visualización Datos Baleares marked 'Migration pending (on Vercel)'.
- Remove past-dated Notes post (2 de Junio, 2026 / Próximamente) with
  never-written content.
- Add Cases Tancades as 5th project: open housing diagnostic for
  Balears crossing INE, Airbnb and Govern Balear HUT registries.
- Add self-hosted Umami analytics tracker to all 4 pages with
  data-domains='www.itziarzameza.dev' to exclude localhost/file://
  visits from analytics.
- Add RGPD-compliant privacy policy in ES/CA/EN
  (privacidad.html, privacidad-ca.html, privacidad-en.html) covering
  controller, data collected, purpose, legal basis, retention,
  user rights, and explicit no-cookies statement.
- Link to privacy policy from footer of all 4 pages.
This commit is contained in:
2026-07-21 19:41:07 +02:00
parent 335edbf316
commit 88b7742291
7 changed files with 857 additions and 148 deletions
+229
View File
@@ -0,0 +1,229 @@
<!doctype html>
<html lang="ca">
<head>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<title>Política de Privacitat | Itziar ZG</title>
<script src="https://cdn.tailwindcss.com?plugins=forms,container-queries"></script>
<script id="tailwind-config">
tailwind.config = {
darkMode: "class",
theme: {
extend: {
colors: {
primary: "#8c2bee",
"background-light": "#f7f6f8",
"background-dark": "#191022",
},
fontFamily: {
display: ["Space Grotesk", "sans-serif"],
serif: ["Instrument Serif", "serif"],
},
borderRadius: {
DEFAULT: "0.5rem",
lg: "1rem",
xl: "1.5rem",
full: "9999px",
},
},
},
};
</script>
<link rel="alternate" hreflang="es" href="https://www.itziarzameza.dev/privacidad.html" />
<link rel="alternate" hreflang="ca" href="https://www.itziarzameza.dev/privacidad-ca.html" />
<link rel="alternate" hreflang="en" href="https://www.itziarzameza.dev/privacidad-en.html" />
<link rel="preload" href="fonts/material-symbols-outlined.woff2" as="font" type="font/woff2" crossorigin />
<link rel="preload" href="fonts/space/space-grotesk-v22-latin-regular.woff2" as="font" type="font/woff2" crossorigin />
<link rel="stylesheet" href="css/styles.css?v=1.1" />
<script
defer
src="https://stats.itziarzameza.dev/script.js"
data-website-id="8d8d648f-4a0c-4315-b287-5983ffedc8c4"
data-domains="www.itziarzameza.dev"
></script>
</head>
<body class="bg-background-light dark:bg-background-dark font-display text-slate-900 dark:text-slate-100 selection:bg-primary/30 transition-colors duration-300">
<div class="relative min-h-screen overflow-hidden iridescent-bg flex flex-col justify-between">
<div class="absolute -top-24 -left-24 w-96 h-96 bg-primary/10 fluid-shape blur-3xl opacity-50 pointer-events-none"></div>
<div class="absolute top-1/2 -right-24 w-80 h-80 bg-pink-300/10 fluid-shape blur-3xl opacity-40 pointer-events-none"></div>
<div class="layout-container flex h-full grow flex-col relative z-10">
<header class="mx-auto w-full max-w-6xl px-6 py-6 flex items-center justify-between">
<a href="index-ca.html" class="flex items-center gap-2 group cursor-pointer">
<div class="size-10 bg-primary rounded-full flex items-center justify-center text-white shadow-lg shadow-primary/20">
<span class="material-symbols-outlined text-2xl">auto_awesome</span>
</div>
<h2 class="text-xl font-bold tracking-tight font-serif italic text-slate-900 dark:text-white">Itziar ZG</h2>
</a>
<nav class="hidden md:flex items-center gap-10 glass px-8 py-3 rounded-full">
<a class="text-sm font-medium hover:text-primary transition-colors text-slate-700 dark:text-slate-300" href="index-ca.html">Inici</a>
<a class="text-sm font-medium hover:text-primary transition-colors text-slate-700 dark:text-slate-300" href="index-ca.html#manifiesto">Manifest</a>
<a class="text-sm font-medium hover:text-primary transition-colors text-slate-700 dark:text-slate-300" href="index-ca.html#laboratori">Laboratori</a>
<a class="text-sm font-medium hover:text-primary transition-colors text-slate-700 dark:text-slate-300" href="huella.html">Emprenta</a>
<a class="text-sm font-medium hover:text-primary transition-colors text-slate-700 dark:text-slate-300" href="#contact">Contacte</a>
</nav>
<div class="flex items-center gap-3">
<div class="flex items-center gap-1.5 glass px-3 py-1.5 rounded-full text-xs font-bold">
<a href="privacidad.html" class="text-slate-600 dark:text-slate-400 hover:text-primary transition-colors" title="Castellano">ES</a>
<span class="text-slate-300 dark:text-slate-700">|</span>
<span class="text-primary">CA</span>
<span class="text-slate-300 dark:text-slate-700">|</span>
<a href="privacidad-en.html" class="text-slate-600 dark:text-slate-400 hover:text-primary transition-colors" title="English">EN</a>
</div>
<button class="size-10 flex items-center justify-center rounded-full glass hover:bg-white/60 dark:hover:bg-white/10 transition-colors" id="theme-toggle" onclick="toggleTheme()" aria-label="Toggle theme">
<span class="material-symbols-outlined text-xl dark:hidden">dark_mode</span>
<span class="material-symbols-outlined text-xl hidden dark:block text-yellow-200">light_mode</span>
</button>
<a class="bg-primary hover:bg-primary/90 text-white px-6 py-2.5 rounded-full text-sm font-bold transition-all shadow-md shadow-primary/25 flex items-center justify-center" href="index-ca.html#contact">
Parlem
</a>
</div>
</header>
<main class="mx-auto max-w-4xl px-6 py-12 md:py-20 grow">
<div class="mb-8">
<a href="index-ca.html" class="inline-flex items-center gap-2 text-sm text-slate-500 dark:text-slate-400 hover:text-primary transition-colors">
<span class="material-symbols-outlined text-sm">arrow_back</span>
Tornar a l'inici
</a>
</div>
<div class="mb-16">
<h1 class="text-4xl md:text-6xl font-serif italic mb-6 text-slate-900 dark:text-white leading-tight">
Política de<br />
<span class="text-primary not-italic font-display font-black tracking-tighter">Privacitat</span>
</h1>
<p class="text-lg md:text-xl text-slate-600 dark:text-slate-400 leading-relaxed max-w-2xl">
Com es recullen, emmagatzemen i utilitzen les dades en aquest lloc web, en compliment del Reglament General de Protecció de Dades (RGPD).
</p>
<p class="text-xs text-slate-500 dark:text-slate-500 mt-4 italic">
Última actualització: 21 de Juliol, 2026
</p>
</div>
<section class="space-y-8 mb-16">
<article>
<div class="border-l-4 border-primary pl-6 mb-4">
<h2 class="text-2xl md:text-3xl font-serif italic dark:text-white">1. Responsable del tractament</h2>
</div>
<div class="p-6 glass rounded-2xl border border-white/10 space-y-2 text-slate-700 dark:text-slate-300 leading-relaxed">
<p><strong>Identitat:</strong> Itziar Zameza García</p>
<p><strong>Correu de contacte:</strong> <a href="mailto:itziar.zameza.dev@gmail.com" class="text-primary hover:underline">itziar.zameza.dev@gmail.com</a></p>
</div>
</article>
<article>
<div class="border-l-4 border-primary pl-6 mb-4">
<h2 class="text-2xl md:text-3xl font-serif italic dark:text-white">2. Quines dades tractem?</h2>
</div>
<div class="p-6 glass rounded-2xl border border-white/10 space-y-3 text-slate-700 dark:text-slate-300 leading-relaxed">
<p>Aquest lloc utilitza <strong>Umami</strong>, una eina d'analítica web de codi obert allotjada al meu propi servidor. Les dades que es recullen són:</p>
<ul class="list-disc list-inside space-y-1 ml-4">
<li>Pàgines visitades i temps de permanència</li>
<li>Adreça IP (anonimitzada i truncada per Umami)</li>
<li>Tipus de navegador i sistema operatiu (User-Agent)</li>
<li>Lloc web de procedència (referrer)</li>
<li>País d'origen (derivat de la IP, no a nivell de ciutat)</li>
</ul>
<p class="pt-2"><strong>No es recullen:</strong> dades identificatives personals (nom, correu, telèfon), ni es realitza fingerprinting, ni s'utilitzen cookies.</p>
</div>
</article>
<article>
<div class="border-l-4 border-primary pl-6 mb-4">
<h2 class="text-2xl md:text-3xl font-serif italic dark:text-white">3. Finalitat</h2>
</div>
<div class="p-6 glass rounded-2xl border border-white/10 text-slate-700 dark:text-slate-300 leading-relaxed">
<p>Les dades s'utilitzen exclusivament per analitzar de forma agregada l'ús del lloc web i orientar millores de contingut i rendiment. <strong>No s'elaboren perfils comercials</strong> i les dades no es cedeixen ni es venen a tercers.</p>
</div>
</article>
<article>
<div class="border-l-4 border-primary pl-6 mb-4">
<h2 class="text-2xl md:text-3xl font-serif italic dark:text-white">4. Base jurídica</h2>
</div>
<div class="p-6 glass rounded-2xl border border-white/10 text-slate-700 dark:text-slate-300 leading-relaxed">
<p>El tractament es basa en l'<strong>interès legítim</strong> de la responsable (article 6.1.f del RGPD): conèixer l'ús real del lloc per millorar-lo. En no utilitzar cookies ni identificadors persistents, no es requereix consentiment previ segons la normativa espanyola (LSSI-CE).</p>
</div>
</article>
<article>
<div class="border-l-4 border-primary pl-6 mb-4">
<h2 class="text-2xl md:text-3xl font-serif italic dark:text-white">5. Destinataris i transferències</h2>
</div>
<div class="p-6 glass rounded-2xl border border-white/10 text-slate-700 dark:text-slate-300 leading-relaxed">
<p>Les dades <strong>no es comuniquen a tercers</strong>. Tot el processament passa al servidor privat (VPS) de la responsable, ubicat a la Unió Europea. No es realitzen transferències internacionals.</p>
</div>
</article>
<article>
<div class="border-l-4 border-primary pl-6 mb-4">
<h2 class="text-2xl md:text-3xl font-serif italic dark:text-white">6. Conservació</h2>
</div>
<div class="p-6 glass rounded-2xl border border-white/10 text-slate-700 dark:text-slate-300 leading-relaxed">
<p>Les dades agregades es conserven durant un màxim de <strong>12 mesos</strong> i s'eliminen automàticament. No s'elaboren perfils d'usuari.</p>
</div>
</article>
<article>
<div class="border-l-4 border-primary pl-6 mb-4">
<h2 class="text-2xl md:text-3xl font-serif italic dark:text-white">7. Els teus drets</h2>
</div>
<div class="p-6 glass rounded-2xl border border-white/10 space-y-3 text-slate-700 dark:text-slate-300 leading-relaxed">
<p>Pots exercir en qualsevol moment els drets RGPD:</p>
<ul class="list-disc list-inside space-y-1 ml-4">
<li><strong>Accés</strong> — saber quines dades tinc teves</li>
<li><strong>Rectificació</strong> — corregir dades inexactes</li>
<li><strong>Supressió</strong> — sol·licitar l'eliminació</li>
<li><strong>Oposició</strong> — oposar-te al tractament</li>
<li><strong>Limitació</strong> — restringir el processament</li>
<li><strong>Portabilitat</strong> — rebre les teves dades en format estàndard</li>
</ul>
<p>Per exercir-los, escriu a <a href="mailto:itziar.zameza.dev@gmail.com" class="text-primary hover:underline">itziar.zameza.dev@gmail.com</a>.</p>
<p class="pt-2">També pots presentar una reclamació davant l'autoritat de control:</p>
<ul class="list-disc list-inside space-y-1 ml-4">
<li>Espanya — <a href="https://www.aepd.es" target="_blank" rel="noopener noreferrer" class="text-primary hover:underline">Agència Espanyola de Protecció de Dades (AEPD)</a></li>
<li>Catalunya — <a href="https://apdcat.gencat.cat" target="_blank" rel="noopener noreferrer" class="text-primary hover:underline">Autoritat Catalana de Protecció de Dades (APDCAT)</a></li>
</ul>
</div>
</article>
<article>
<div class="border-l-4 border-emerald-500 pl-6 mb-4">
<h2 class="text-2xl md:text-3xl font-serif italic dark:text-white">8. Cookies</h2>
</div>
<div class="p-6 bg-emerald-500/10 border border-emerald-500/20 rounded-2xl text-slate-700 dark:text-slate-300 leading-relaxed flex items-start gap-3">
<span class="material-symbols-outlined text-emerald-500 mt-1 shrink-0">verified</span>
<p><strong>Aquest lloc web no utilitza cookies</strong> de cap mena (ni pròpies ni de tercers). El sistema d'analítica (Umami) és cookieless per disseny.</p>
</div>
</article>
<article>
<div class="border-l-4 border-primary pl-6 mb-4">
<h2 class="text-2xl md:text-3xl font-serif italic dark:text-white">9. Canvis en aquesta política</h2>
</div>
<div class="p-6 glass rounded-2xl border border-white/10 text-slate-700 dark:text-slate-300 leading-relaxed">
<p>Aquesta política pot actualitzar-se per reflectir canvis legals o tècnics. La data de l'última actualització s'indica a l'inici del document.</p>
</div>
</article>
</section>
</main>
<footer class="pb-12" id="contact">
<div class="mx-auto max-w-6xl px-6">
<div class="mt-16 flex flex-col md:flex-row justify-between items-center gap-6 text-slate-400 dark:text-slate-500 text-sm">
<p>© 2026 Itziar ZG.</p>
<div class="flex gap-8">
<a class="hover:text-primary transition-colors text-slate-600 dark:text-slate-400" href="https://www.linkedin.com/in/itziarzamezagarcia">LinkedIn</a>
<a class="hover:text-primary transition-colors text-slate-600 dark:text-slate-400" href="https://github.com/itziarZG">GitHub</a>
<a class="hover:text-primary transition-colors text-slate-600 dark:text-slate-400" href="privacidad-ca.html">Privacitat</a>
</div>
</div>
</div>
</footer>
</div>
</div>
<script src="js/main.js"></script>
</body>
</html>