PageSourceSearch

https://clouxart.com/_next/static/chunks/pages/privacy-c70a228943497de5.js

js clouxart.com collected 2026-10-05 07:16:51 UTC 11,030 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[736],{675:(e,t,o)=>{"use strict";o.r(t),o.d(t,{default:()=>u});var n=o(7876),i=o(8230),a=o.n(i),s=o(3814),r=o(8884),l=o.n(r),h=o(7700),d=o.n(h),c=o(6529);let u=()=>(0,n.jsx)(c.Ay,{service:"automation",title:"Privacy notice — Clouxart",description:"What Clouxart collects when you write to us, book a call or read the site, why we hold it, how long we keep it, and what you can ask us to do about it.",children:(0,n.jsxs)("div",{className:d().sheetStage,children:[(0,n.jsx)(s.A,{}),(0,n.jsxs)("section",{className:"".concat(d().sheet," ").concat(d().wrap),"aria-labelledby":"privacy-title",children:[(0,n.jsx)("p",{className:d().eyebrow,children:"Privacy"}),(0,n.jsxs)("h1",{id:"privacy-title",className:d().sheetTitle,children:["What we hold,",(0,n.jsx)("br",{}),"and why."]}),(0,n.jsx)("p",{className:d().sheetIntro,children:"We collect what you send us. The site sets no cookies and counts page views without them. We run no advertising tags, and we sell nothing to anybody."}),(0,n.jsxs)("div",{className:l().legal,children:[(0,n.jsx)("h2",{children:"Who we are"}),(0,n.jsx)("p",{children:"Clouxart Ltd, registered in England and Wales, company no.\xa012833766. Registered office: 20 Station Road, Cambridge, England, CB1\xa02JD. We are the controller for the personal data described here."}),(0,n.jsxs)("p",{children:["Write to us at"," ",(0,n.jsx)("a",{href:"mailto:[email protected]",children:"[email protected]"})," about anything on this page."]}),(0,n.jsx)("h2",{children:"What we collect, and why"}),(0,n.jsx)("h3",{children:"If you write to us"}),(0,n.jsxs)("p",{children:["The ",(0,n.jsx)(a(),{href:"/contact/",children:"contact form"})," asks for your name, work email, your company if you give one, and what the work is. Before the form is sent, Cloudflare Turnstile checks that a person and not a script is filling it in; its widget loads with the contact page, and Cloudflare sees that request, not what you typed. The form then goes to our inbox and to HubSpot, where we keep enquiries. We use it to reply, and to quote for the work if it goes that far. HubSpot’s own script is not on this site: our server sends the form on, so nothing of HubSpot’s runs in your browser."]}),(0,n.jsx)("h3",{children:"If you book a call"}),(0,n.jsxs)("p",{children:["Booking links open Cal.com. Your name, email and anything else you type there go to Cal.com and into our calendar, so that the call happens. The booking panel loads only when you click or tap a booking link. From then on Cal.com, and Cloudflare who serve it, may set cookies under cal.com: a thirty-minute ",(0,n.jsx)("code",{children:"__cf_bm"})," bot check, and two session cookies the panel uses while it is open. They are theirs, not ours, and we cannot read them. The panel also reports its own errors to Sentry, a service Cal.com uses."]}),(0,n.jsx)("h3",{children:"Every visit"}),(0,n.jsx)("p",{children:"The site runs on Cloudflare. Their servers log the ordinary request details (IP address, the page asked for, the browser’s user agent, the time) to serve the page and keep the site up."}),(0,n.jsx)("p",{children:"Cloudflare Web Analytics counts page views on top of that. It sets no cookies and stores nothing on your machine; it reports the page, the referring site, the country, the kind of browser and how quickly the page loaded, as totals rather than as people. Nothing there identifies you, and nothing follows you to another site."}),(0,n.jsx)("h2",{children:"Our lawful bases"}),(0,n.jsxs)("ul",{children:[(0,n.jsx)("li",{children:"Replying, quoting and holding a call: legitimate interests, those of a business that answers the people who write to it, and the steps you have asked for before any contract."}),(0,n.jsx)("li",{children:"Counting page views and keeping the form free of scripts: legitimate interests, namely knowing which pages are read without identifying anybody, and a form that is not filled in by machines."}),(0,n.jsx)("li",{children:"Serving the site and keeping it up: legitimate interests, namely a working site that is not being abused."})]}),(0,n.jsx)("h2",{children:"How long we keep it"}),(0,n.jsxs)("ul",{children:[(0,n.jsx)("li",{children:"Enquiries and contact records in HubSpot: until we delete them. HubSpot publishes no fixed period of its own for a customer’s records. When we delete one it sits in a recycling bin for 90 days and is then gone for good; a deletion made because you asked for one skips the bin and is purged from HubSpot’s systems within 30 days."}),(0,n.jsx)("li",{children:"The copy of an enquiry in our inbox: until we delete it. When you ask us to delete an enquiry, that copy goes too."}),(0,n.jsx)("li",{children:"Bookings in Cal.com: while the account is active. If we ever close it, Cal.com allows an export window of at least 30 days and then deletes on its standard schedule, apart from what the law makes it keep and what sits in backups and security logs until those roll over."}),(0,n.jsx)("li",{children:"Cloudflare’s request logs: seven days at most, whatever the plan, and three days on the free one."}),(0,n.jsx)("li",{children:"Cloudflare Web Analytics: the figures stay visible to us for six months, and there is nothing on your machine to expire."}),(0,n.jsxs)("li",{children:["Cal.com’s cookies, if you open a booking link: the"," ",(0,n.jsx)("code",{children:"__cf_bm"})," bot check lasts thirty minutes in your own browser, and the panel’s two session cookies go when you close it."]})]}),(0,n.jsx)("h2",{children:"Where it goes"}),(0,n.jsx)("p",{children:"HubSpot, Cal.com and Cloudflare are American companies with UK and European operations, so some of this is handled outside the UK. Each names the ground it stands on:"}),(0,n.jsxs)("ul",{children:[(0,n.jsx)("li",{children:"HubSpot relies on the standard contractual clauses with the UK Addendum to them, and is certified under the EU–US Data Privacy Framework and its UK Extension."}),(0,n.jsx)("li",{children:"Cal.com relies on the standard contractual clauses, or on an adequacy mechanism such as the EU–US Data Privacy Framework."}),(0,n.jsx)("li",{children:"Cloudflare relies on the EU standard contractual clauses as amended by the UK Addendum, and on the Data Privacy Framework where that applies."})]}),(0,n.jsx)("p",{children:"We share your details with nobody else, and we sell them to nobody at all."}),(0,n.jsx)("h2",{children:"Your rights"}),(0,n.jsxs)("p",{children:["You can ask us for a copy of what we hold about you, to correct it, to delete it, to restrict or object to what we do with it, or to have it sent on to someone else. Email"," ",(0,n.jsx)("a",{href:"mailto:[email protected]",children:"[email protected]"})," and we will answer within a month."]}),(0,n.jsxs)("p",{children:["If we get it wrong, tell us. You can tell the Information Commissioner’s Office too, without asking us first:"," ",(0,n.jsx)("a",{href:"https://ico.org.uk",target:"_blank",rel:"noopener",children:"ico.org.uk ↗"}),", helpline 0303 123 1113."]}),(0,n.jsx)("h2",{children:"Nothing is decided by machine"}),(0,n.jsx)("p",{children:"No automated decision-making and no profiling happens here. Nothing on this site decides anything about you on its own."}),(0,n.jsx)("h2",{children:"Changes"}),(0,n.jsx)("p",{children:"If this notice changes, the date at the foot of it changes, and anything material gets a line saying what moved. On 17 September 2026 Google Analytics, Tag Manager, the HubSpot chat and the cookie bar were all removed from the site. On 19 September 2026 the booking panel stopped loading when a booking link is hovered over; it loads on a click or tap only, and this notice now names every cookie Cal.com sets."}),(0,n.jsx)("p",{className:l().stamp,children:"Clouxart Ltd \xb7 19 September 2026"})]})]})]})})},3814:(e,t,o)=>{"use strict";o.d(t,{A:()=>l});var n=o(7876),i=o(4232),a=o(4750),s=o(7700),r=o.n(s);let l=e=>{let{rows:t=!0,mark:o=!0,strength:s=.6,hole:l=!1,follow:h=!1}=e,d=(0,i.useRef)(null),c=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let e=d.current,o=null==e?void 0:e.parentElement,n=null==e?void 0:e.getContext("2d");if(!e||!o||!n)return;let i=(0,a.Oq)(.5,16),r=window.matchMedia("(prefers-reduced-motion: reduce)").matches,u=.55,w=0,p=!0,m=!0,g=performance.now(),f=h&&l&&window.matchMedia("(pointer: fine)").matches,y=null,x=-1,b=-1,k=e=>
1{let t=o.getBoundingClientRect();y={x:e.clientX-t.left,y:e.clientY-t.top}},v=()=>{y=null};f&&(o.addEventListener("pointermove",k),o.addEventListener("pointerleave",v));let j=e=>{var h,d;let k=o.getBoundingClientRect(),v=k.width<=1050,C=v?{...(0,a.aA)(k.width,k.width<=720?200:240,.8*k.width-(k.width<=720?30:66),{widthScale:.6}),width:k.width,height:k.height,maxX:k.width-40}:(0,a.aA)(k.width,k.height,.8*k.width),L=C;if(f&&!v){let e=y?Math.min(Math.max(y.x,.56*k.width),k.width-70):C.throatX,t=y?Math.min(Math.max(y.y,70),.66*k.height):C.throatY;x<0&&(x=C.throatX,b=C.throatY),x+=(e-x)*.05,b+=(t-b)*.05,L={...C,throatX:x,throatY:b}}let _=0;l&&(_=v?30:44);let E=v?Array.from(null!=(d=null==(h=o.querySelector("section"))?void 0:h.children)?d:[]).map(e=>{let t=e.getBoundingClientRect();return{x:t.left-k.left-12,y:t.top-k.top-12,w:t.width+24,h:t.height+24}}):void 0;r||(u+=(.55+.18*Math.sin((e-g)/9500)-u)*.03),(0,a.lC)(n,i,L,u,Math.min(2,window.devicePixelRatio||1),{rows:t,strength:s,clear:E,rowGlow:+!!t,rowAlpha:.34,hole:_}),c.current&&(c.current.style.transform="translate(".concat(L.throatX.toFixed(1),"px, ").concat(L.throatY.toFixed(1),"px)")),m&&!r&&p&&(w=window.requestAnimationFrame(j))},C=()=>{m&&(window.cancelAnimationFrame(w),w=window.requestAnimationFrame(j))},L=new IntersectionObserver(e=>{let[t]=e;(p=!!(null==t?void 0:t.isIntersecting))&&C()});L.observe(o);let _=new ResizeObserver(()=>{(r||!p)&&C()});return _.observe(o),C(),()=>{m=!1,window.cancelAnimationFrame(w),L.disconnect(),_.disconnect(),f&&(o.removeEventListener("pointermove",k),o.removeEventListener("pointerleave",v))}},[t,s,l,h]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("canvas",{ref:d,className:r().sheetCanvas,"aria-hidden":"true"}),o&&(0,n.jsx)("div",{ref:c,className:r().sheetMark,"aria-hidden":"true",children:(0,n.jsx)("svg",{viewBox:"0 0 56 56",children:(0,n.jsxs)("g",{transform:"translate(16.5 11) scale(1.204)",fill:"#eaeaea",stroke:"#191b1d",strokeWidth:"3.2",strokeLinejoin:"round",paintOrder:"stroke",children:[(0,n.jsx)("path",{d:"M8.04517 28.2476L9.50096 25.387L18.6955 25.4892L13.2298 18.1081L14.6856 15.2476L22.6542 26.281L21.6837 28.222L8.04517 28.2476Z"}),(0,n.jsx)("path",{d:"M3.62671 25.617L16.831 0.22998L18.9253 2.50306L5.74655 27.9156L3.62671 25.617Z"}),(0,n.jsx)("path",{d:"M14.609 0L13.1532 2.86051L3.95874 2.78389L9.4499 10.165L7.99411 13.0255L0 1.9666L0.996071 0.0255403L14.609 0Z"})]})})})]})}},8884:e=>{e.exports={legal:"Legal_legal__2AiQG",stamp:"Legal_stamp__DWX__"}},9100:(e,t,o)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/privacy",function(){return o(675)}])}},e=>{e.O(0,[84,254,636,593,792],()=>e(e.s=9100)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.