Privacy Policy

1. Data controller

Christian Confalonieri, Italy - contact@christianconfalonieri.com. This is a personal, non-commercial portfolio website (https://christianconfalonieri.com). For any privacy request, including exercising your rights under Articles 15–22 GDPR, contact the email above.

This policy is provided pursuant to Articles 12–14 of Regulation (EU) 2016/679 (GDPR) and Italian Legislative Decree 196/2003 as amended by 101/2018.

2. What this site (doesn't) collect directly

  • No accounts, no marketing cookies, no profiling.
  • No third-party font/icon CDNs. Poppins and Font Awesome are self-hosted on this domain - they set no cookies and send no data to Google or Cloudflare.
  • Theme and language preferences are stored only in your browser's localStorage (see table below) and never transmitted to this site.

3. Processors and services

ServiceDataPurpose / legal basisRetention / transfer
GitHub Pages (GitHub B.V., Netherlands / GitHub, Inc., US) - hosting Server log data (e.g. IP address, user agent) collected automatically when serving pages Legitimate interest (Art. 6(1)(f) GDPR): secure and reliable hosting Per GitHub Privacy Statement. Possible transfer to the US under GitHub's safeguards.
GoatCounter (Martin Tournoij, Ireland; servers Hetzner FI/DE) - aggregate analytics at stats.christianconfalonieri.com Aggregate counts only: page path, browser/OS family, country (derived from IP, IP not stored), language, screen width, referrer. No cookies, no IP storage, no fingerprinting. The counter script is loaded from https://gc.zgo.at/count.js (GoatCounter). See GoatCounter privacy and GDPR notes. Legitimate interest (Art. 6(1)(f) GDPR): understanding aggregate site usage. No cookies, no IP storage, no identifiers; Do Not Track is respected and you can opt out anytime via "Disable analytics" in the footer. Aggregated stats per GoatCounter policy. Data stays in the EU (Finland/Germany).
Web3Forms (US) - contact form delivery Name, email, subject, message you type into the form Consent (Art. 6(1)(a)) via the unchecked checkbox you must tick before sending Forwarded to the controller's mailbox to answer your message; kept until the request is handled and no longer than 12 months. Transfer to the US per Web3Forms privacy policy.
GitHub API (api.github.com) - project list No visitor data sent except a standard HTTPS request for public repository metadata Legitimate interest: showing public projects Responses cached 10 min in sessionStorage on your device only.

4. Cookies and analytics without consent

This site sets no cookies. GoatCounter sets no cookies and stores no IP addresses or identifiers; it keeps only aggregate counts (page, browser/OS family, country derived from the IP and then discarded, language, screen width, referrer). Under the Garante's 2021 cookie guidelines this kind of anonymized, cookie-less analytics needs no prior consent; it is disclosed here for transparency. Do Not Track is respected (no request is sent when DNT is on), and you can opt out at any time via "Disable analytics" in the footer - the choice is stored only on your device (portfolio-analytics-optout) and no further hits are sent.

5. Storage on your device

KeyTypePurposeExpiry
portfolio-theme, portfolio-btn-themelocalStorageRemember light/dark theme (strictly necessary / functional)Persistent until cleared
portfolio-langlocalStorageRemember Italian/English choice (functional)Persistent until cleared
portfolio-analytics-optoutlocalStorageRemember analytics opt-out (1 = disabled)Persistent until cleared
gh-repos:… (+ :at timestamp)sessionStorageCache public GitHub repo list and fetch time10 minutes / tab session
project-filtersessionStorageRemember project tag filterTab session

No consent is required for these strictly necessary/functional stores (Art. 122 Italian Privacy Code / ePrivacy; Garante guidelines on technical storage).

6. Your rights

Under Articles 15–22 GDPR you have the right of access, rectification, erasure, restriction, data portability, objection, and to withdraw consent at any time (withdrawal does not affect prior lawful processing). To exercise them, email contact@christianconfalonieri.com - you will receive a reply within one month.

You also have the right to lodge a complaint with the Italian Data Protection Authority (Garante per la protezione dei dati personali, garanteprivacy.it).

7. Minors, changes, contact

This site is not directed at children under 14. If this policy changes, the "Last updated" date below will be revised. For questions: contact@christianconfalonieri.com.

12 Sep 2026