Legal

Privacy Notice

Last reviewed: October 2026

Summary

I do not collect, store, or process any personal data directly. This website uses a small number of third-party services that may process your IP address as part of normal web operation. No analytics or tracking are performed.

Who I am

CodesThings.com is the personal website of James Macmillan.
Contact: james@codesthings.com

What data is processed and by whom

I do not directly collect or store personal data. The following third-party services are used to operate the site and may process your IP address:

  • GitHub Pages: hosts this website. GitHub may log IP addresses per their Privacy Statement.
  • YouTube: the ZeroCalc blog post shows a video. Until you click it, the post shows a plain link and your browser makes no request to YouTube. If you click to play, the video loads from youtube-nocookie.com, YouTube's privacy-enhanced embed, and Google may process your IP address per their Privacy Policy.

Fonts, icons and scripts are all served from this site. The source code for this website is publicly available at github.com/jamescodesthings/jamescodesthings.github.io.

Legal basis

Third-party service processing described above is carried out on the basis of legitimate interests in operating a functional, accessible website (UK GDPR Article 6(1)(f)).

Cookies and local storage

This site sets no cookies. It stores the following items on your device, in your browser's localStorage or sessionStorage. They never leave your device. More detail is on the About Cookies page.

  • theme localStorage

    Your colour theme choice: dark, light or system.

  • nav-sections localStorage

    Whether the section navigation on the homepage is switched on or off.

  • motion localStorage

    Your motion preference from the settings menu: system, reduced or full.

  • campsnapFabDismissed localStorage

    Remembers that the CampSnap prompt has already been shown, so it does not open again.

  • invaders-high localStorage

    Your high score in the hidden game.

  • terminal-history sessionStorage

    The commands you typed in the terminal, for the current tab only. It is cleared when you close the tab.

Your rights

Under UK GDPR you have the right to: access your personal data; rectification of inaccurate data; erasure; restriction of processing; data portability; and to object to processing. To exercise rights relating to third-party processing, please contact those services directly.

Right to complain

You have the right to lodge a complaint with the Information Commissioner's Office (ICO) if you believe your data has been handled unlawfully.