// terms-page.jsx — refunds, terms of sale and use, privacy, contact (one page, four anchors). // The contact address comes from window.VC_CONTACT_EMAIL in shared.jsx. function V4Terms() { const v4 = window.v4; const accent = v4.yellow; const email = window.VC_CONTACT_EMAIL; const seller = window.VC_SELLER; // empty on purpose: the site does not name the company (see shared.jsx) const Mail = ({ children }) => email ? {children || email} : {children || 'the support address on your Stripe receipt'}; const UPDATED = '10 October 2026'; const price = (id) => (window.VC_TIERS.find(t => t.id === id) || {}).price; React.useEffect(() => { const id = (location.hash || '').slice(1); if (id) { const el = document.getElementById(id); if (el) setTimeout(() => el.scrollIntoView({ block: 'start' }), 60); } }, []); const H = ({ id, k, children }) => (
Keelvalue is {seller ? <>published by {seller}, a New Zealand company> : <>published in New Zealand>}. This page sets out what you get when you buy, how refunds work, and what happens to your information.