Last updated:
Your choice
Google Analytics is optional. Its script does not load, set analytics cookies, or send measurements until you choose Accept analytics. Rejecting analytics does not limit access to the portfolio or articles. Scrolling, closing settings, or continuing to browse does not count as acceptance.
You can accept or reject analytics in the banner, or use at any time. Withdrawing consent stops future collection, removes accessible analytics cookies for this site, and reloads the page to unload the analytics software. It does not automatically delete data already received by Google.
Privacy preference
The first-party cookie portfolio_consent stores your accept/reject choice, the policy version and the time you chose. It lasts for 180 days, equally for acceptance and rejection. It is used to respect your choice, not to identify you for analytics. You will be asked again if it expires, is cleared, or the consent version changes.
Colour theme
The browser's local storage entry theme remembers the light, dark or system appearance preference. It stays in your browser until changed or cleared. It does not send usage measurements to Google.
Analytics cookies
After acceptance, Google Analytics 4 uses first-party cookies _ga to distinguish browsers and _ga_<measurement-id> to maintain session information. This site configures their lifetime to a maximum of 180 days and disables automatic expiry renewal on visits. Your browser may enforce a shorter lifetime.
The Google tag is configured with advertising consent denied and Google signals and advertising personalization disabled. No Google Ads tag is added by this site. Cookie lifetime is separate from the retention of data already collected in Google Analytics; see the Privacy Policy.
Comments and external services
Article comments use Giscus and GitHub. They load only after you choose Load comments. If you sign in, Giscus may store a login token in browser storage to keep you signed in. This is separate from analytics consent. You can sign out through the comment interface or clear its site storage.
External links such as LinkedIn, GitHub, DEV and WhatsApp open their own services, which manage their own cookies and privacy settings.
Browser controls
You can also delete cookies and local storage through your browser. If the privacy preference cannot be saved, analytics stays off and you may see the banner again. Disabling JavaScript leaves analytics off.
For questions about data processing or your rights, see the Privacy Policy.