Who is responsible for your data
The data controller is Massimo Peruga, Italy. You can use the email address on this page for privacy questions or to exercise your rights.
Optional Mixpanel analytics
Mixpanel loads only after you accept analytics. Events are associated with a random browser identifier. The legal basis is consent under Article 6(1)(a) GDPR and Article 122 of the Italian Privacy Code.
Events describe page visits, demo openings, video starts and progress, sections reached, technical details opened, clicks on CV, contact and external links, first demo interactions and viewer errors. Context includes language, an approximate device category, viewport size, simulated device, entry point, referring domain and approved campaign parameters.
This helps me understand useful content and improve the site. I do not send names, emails, chat messages, demo search terms or complete URLs with arbitrary parameters to Mixpanel. Geolocation, session recordings and automatic interaction capture are disabled. These data are pseudonymous, not anonymous.
Events are retained for up to 24 months from their date under Mixpanel’s standard policy for new projects. The date and notice version associated with your choice are also recorded. No named user profiles are created, no automated decisions with legal effects are made, and no personalised advertisements are displayed.
Cookies and browser storage
The portfolio uses localStorage and sessionStorage to save small amounts of data in your browser. These are not cookies, but rules on tracking technologies also apply to them.
Your dated choice and notice version are valid for 6 months. Analytics stops at expiry and a new choice is requested. Your browser may remove storage earlier. Clearing storage or using another browser requires a separate choice.
| Browser entry | Purpose | Duration |
|---|---|---|
portfolio.analytics-consent.v2 | Remember acceptance or refusal, date and notice version. | 6 months; removed on your next visit if the browser was closed. |
mp_<project-token>_mixpanel | Random identifier and SDK state, after consent. | Until withdrawal or consent expiry; removed on your next visit if the browser was closed. |
__mp_opt_in_out_<project-token> | SDK technical consent state, when present. | Within the same consent validity. |
portfolio.analytics-attribution.v1 | Referring source and approved campaigns, after consent. | Tab session or withdrawal. |
portfolio.analytics-entry.v1 | Internal link used to reach a page, after consent. | Consumed once; valid for one minute, at most until the tab closes or consent is withdrawn. |
Data in the demos
The educational chat, forms and management actions operate in your browser: messages and emails entered in demonstration forms are not sent to an application backend. Videos are served with the site without embedded social-platform players.
Boolflix uses the TMDb catalogue. When you search, the portfolio server forwards the term and language to TMDb without adding your IP address. The result cache has a five-minute validity and abuse-prevention counts use the IP address with a one-minute validity. These entries stay in non-persistent instance memory and are removed on replacement, when their expiry is checked, or when the instance closes. Posters load from TMDb’s image service, which receives technical connection data from your browser. This processing responds to your requested demo action, based on the legitimate interest in its operation.
When you contact me
When you email me, I process your address, message and attachments to respond and manage the professional enquiry. The legal basis is the legitimate interest in professional correspondence or, where applicable, pre-contractual steps requested by you under Article 6(1)(f) or (b) GDPR. The listed mailbox uses Google’s Gmail service.
Correspondence about an enquiry that does not continue is kept for up to 12 months after the last exchange. If a professional relationship begins, the periods required for that relationship and legal obligations apply. Disputes may require retaining only the data needed to protect legal rights.
Providers, links and transfers
Cloudflare provides the technical infrastructure; Mixpanel processes analytics on my behalf; Google provides email. The Mixpanel project uses EU data residency and the European endpoint. This covers event storage and processing and does not guarantee that every provider or subprocessor activity takes place exclusively in the EU.
Any transfers outside the European Economic Area are governed by providers’ contracts and safeguards under Article 44 onwards GDPR, such as adequacy decisions or standard contractual clauses. The links below explain their terms, recipients and safeguards.
Links to LinkedIn, GitHub, Creators Pro and credential websites open external services with their own notices. Links alone do not load their scripts or widgets in the portfolio. TMDb’s notice also applies to catalogue searches and images.
Managing or withdrawing your choice
You can decline analytics or change your choice anytime through Privacy preferences in the footer or demo toolbar. Declining keeps content and features available. The browser’s Do Not Track signal is respected.
Withdrawal stops subsequent events and removes the analytics identifier and visit context from your browser. It does not automatically delete previously collected events or affect the lawfulness of earlier processing. Email me to request deletion. Where available, show and save your analytics reference below before withdrawing: it can help locate your data without asking for further information.
Your rights
You may request access, correction, erasure, restriction and, where applicable, portability; you may object to processing based on legitimate interests and withdraw consent. I normally respond within one month, subject to GDPR extensions.
For pseudonymous analytics, I may be unable to connect an email address to browser data without its reference. I do not collect extra data solely to identify you. You may complain to the Italian Garante or the competent authority in your country.