Privacy policy.
Minimal
data handling.
Analytics
This site uses Cloudflare Web Analytics as its primary traffic and performance tool, with Vercel Web Analytics as an independent backup. Both provide aggregate reporting such as visits, page views, referrers, high-level visitor context, page-load timings, and Core Web Vitals.
Cloudflare Web Analytics does not use cookies or track individual visitors across sites. Its purpose is to understand site usage and performance in aggregate, not to identify individual visitors.
Vercel Web Analytics does not use third-party cookies or create a cross-site profile. It uses a short-lived hash derived from the incoming request for aggregate traffic measurement and discards that visitor session after 24 hours. The implementation removes query strings, excludes the private owner dashboard, and sends only canonical public route groups to Vercel.
The site also keeps first-party daily aggregate counts for a small allowlist of actions: canonical page groups, 50%, 75%, and end-of-page content milestones, contact opens by predefined placement, and contact-form stages. It also counts clicks to a fixed list of owned products and tools, using a predefined destination label rather than the destination URL.
For those owned-link clicks only, Cloudflare supplies a two-letter country code at the edge and the site adds it directly to the daily aggregate counter. The site does not receive or store the IP address in its analytics database. Country is approximate, can reflect a VPN or proxy, and is shown by name in the private dashboard only after at least three clicks to the same destination in the selected report view. Smaller and unavailable country totals are grouped together.
These counters do not contain personal details, IP addresses, user agents, raw URLs, query strings, pointer coordinates, free-form page content, or visitor identifiers. Click totals count activations, not unique people.
A private owner-only analytics dashboard uses short-lived, strictly necessary authentication cookies after the site owner signs in. Public visitors do not receive these cookies, and the cookies are not used to measure visitor behaviour.
Contact enquiries
If you use the contact form, the site processes the information you choose to provide: your enquiry type, name, email address, message, and company where relevant. This information is used to assess and respond to your enquiry; unlike analytics data, it is not anonymous.
Vercel hosts the site and contact endpoint. Cloudflare Turnstile checks submissions for automated abuse. Enquiries that pass the local validation and spam checks are sent by Resend to the destination mailbox.
Storage and retention
The application has no contact database or quarantine and does not retain a local copy of blocked or delivered submissions. It does not log contact-form content or per-submission filtering decisions.
Daily aggregate analytics counters are retained to compare long-term portfolio performance. The analytics database does not keep raw events, browsing sessions, or visitor-level histories. Country is retained only as part of aggregate owned-link counters.
Delivered enquiries remain in Resend and the destination mailbox according to those providers' and the mailbox account's retention settings. Vercel, Cloudflare, and Resend may also retain technical or operational data under their own privacy and retention policies.
What we do not do
Public analytics does not use advertising identifiers, cross-site behavioural profiling, or contact information for advertising. Vercel and Cloudflare may process technical and network-security signals to operate analytics and protect the site, but those signals are not stored in the first-party analytics counters.
For more information, see Cloudflare Web Analytics documentation and Vercel Web Analytics privacy documentation.