Privacy

What is self-hosted, what is stored, and where data goes.

The site now makes its privacy story explicit instead of assuming visitors will infer it from the infrastructure pitch.

Self-hosted by default

The portfolio, AI endpoints, and most supporting services are designed to run on infrastructure Nick owns. That is part of the point, not just a background implementation detail.

AI chat data

The chat UI stores recent conversation history in browser localStorage to make page-level conversations persistent for the visitor. Requests are proxied through tinyblue backend endpoints to the configured self-hosted model infrastructure.

Contact form data

The contact form sends inquiry details to a tinyblue backend endpoint, validates the request, and forwards it by email when possible. Submissions are rate-limited and include a honeypot field to cut down on spam.

Third-party minimization

The site removed its dependency on a third-party GitHub contribution API in a recent refresh. The public profile link remains, but tinyblue.dev no longer relies on another service for that visual proof section.

Analytics

No third-party analytics scripts run on this site. Apache access logs are retained on the operator's infrastructure for diagnostic purposes only and are not shared with vendors or ad networks.

Cookies and storage

The only browser storage in use is the tb_theme localStorage key (to remember light/dark preference) and chat history scoped to the chat widget. No tracking cookies.