Matteo Spinelli

Privacy Policy

Last updated: 7 July 2026

This is the privacy policy for matteospinelli.com — a personal portfolio site. It explains, in plain language, what personal data the site processes, why, on what legal basis, who helps process it, and what rights you have. I have tried to keep it honest and specific rather than generic: the site collects very little, stores almost nothing itself, and uses no tracking cookies.

Who we are

The data controller for this site is Matteo Spinelli, based in Bonn, Germany. For any question about this policy or your personal data, write to me@matteospinelli.com. There is no separate Data Protection Officer; I handle data protection matters personally.

What data we collect and why

The site has four surfaces that can involve personal data: web analytics, the contact form, the chatbot, and the booking form. Note that the booking form is currently not enabled on the live site — the code exists but the interface is hidden — so in normal use web analytics, the contact form, and the chatbot are active. Booking is documented here for completeness.

1. Web analytics

2. Contact form

3. Booking (currently disabled on the live site)

4. Chatbot

Cookies

This site does not use cookies — none for tracking, advertising, or analytics, and there is no cookie consent banner because there is nothing to consent to under the ePrivacy/cookie rules. The analytics (Umami) are cookieless, write nothing to your device, identify visits only via a daily-rotating server-side hash, and honour 'Do Not Track'. The only browser storage the site uses is a single localStorage flag that enforces a short (60-second) cooldown on the contact form to deter spam — strictly necessary for that anti-spam function, holding no personal data and used for no tracking.

Third-party processors & international transfers

I rely on a small number of service providers to run the site. Some are based in the United States; I am honest about that here. Where personal data leaves the EU/EEA to a US provider, that transfer is covered by appropriate safeguards under Chapter V GDPR — in practice, Standard Contractual Clauses (Art. 46) and the providers' own data-processing terms.

ProcessorPurposeLocationTransfer safeguard
Self-hosted UmamiWeb analytics (first-party, aggregate, cookieless)EU-hosted, operator-controlledFirst-party — no third-party transfer
Resend, Inc.Sends the contact-form emailUnited StatesStandard Contractual Clauses (Art. 46)
Cal.com, Inc.Booking (currently disabled)United StatesStandard Contractual Clauses (Art. 46)
ScalewayChatbot inferenceEU (France)Stays in the EU — none needed
CloudflareHosting, CDN/edge, abuse-prevention, aggregate telemetryGlobal edge (US-HQ)Standard Contractual Clauses (Art. 46), as applicable

My mailbox provider (where my email is hosted) also stores contact-form messages once delivered. No advertising networks, data brokers, or cross-site trackers are used.

Data retention

The application itself does not run a database and does not persist your content. In summary:

Your rights

Under the GDPR you have the right to:

To exercise any of these, just email me@matteospinelli.com. I will respond within the time limits the GDPR requires. Because I store so little, the fastest route is often simply to ask me to delete the email you sent.

You also have the right to lodge a complaint with a data protection supervisory authority. As the controller is based in Bonn, the competent German authority is the one for North Rhine-Westphalia (Landesbeauftragte für Datenschutz und Informationsfreiheit Nordrhein-Westfalen, LDI NRW). You may also complain to the authority where you live — for example, the Italian Garante per la protezione dei dati personali.

Security

No system can be guaranteed perfectly secure, but the design goal here is to collect and retain as little as possible in the first place.

Changes to this policy

I may update this policy from time to time — for example, if I enable the booking or chatbot features, or change a service provider. When I do, I will revise the 'Last updated' date. Material changes will be reflected on this page.