Cookie Policy
What this website stores in your browser, how measurement works, and how to control optional cookies.
Effective 9 September 2026 · Version 2026-09-09.2
1. Cookies and browser storage
Cookies are small values stored by a browser and sent with matching requests. Local storage remembers information on the same website without sending it with each request. John Christian Natividad, operating as Rootscratch, uses these technologies as described below.
2. Necessary and preference storage
rootscratch-cookie-choice (local storage): records your optional-cookie choice, notice version and time. We treat it as valid for 180 days, then ask again. An expired value may remain in storage until replaced or cleared, but it no longer authorizes optional cookies.
theme (local storage): remembers your selected appearance until changed or cleared. Cloudflare security services may use challenge or bot-protection storage where needed; provider-controlled lifetimes vary. The contact form uses Turnstile to distinguish people from automated abuse even when you reject optional cookies.
Administrator-only storage: Supabase authentication cookies, a short-lived recovery cookie and a sidebar preference support restricted CMS access. They are not advertising cookies and are not required for ordinary visitors to submit an inquiry. Authentication duration follows the administrator session; the recovery grant lasts 10 minutes and the sidebar preference lasts 7 days.
3. Measurement and optional cookies
Google Analytics, using measurement ID G-2QGMWNB71H, loads automatically in advanced consent mode. It begins with analytics storage denied and can send cookieless measurement signals. Accepting optional cookies permits analytics storage. Its _ga and _ga_* first-party cookies distinguish browsers and maintain visit/session information. We configure a maximum cookie lifetime of 180 days without refreshing expiry on each visit. Browser restrictions may shorten it.
Optional analytics cookies are denied by default. Before acceptance and after rejection, basic measurement continues without those cookies. Cookieless does not mean that no information is sent: Google can receive technical and measurement information. Advertising storage, ad user data and ad personalization remain denied; Google signals and ad personalization signals are disabled in the site’s tag configuration.
Cookie lifetime differs from Google’s retention of previously collected data and reports. See how Google uses information from partner sites. The website does not send your inquiry text as an analytics event.
4. Change or withdraw your choice
Use to accept or reject optional cookies. Both options leave the website and forms available. Withdrawing permission updates Google’s consent state to denied and attempts to clear this site’s analytics cookies. Basic cookieless measurement continues. Your page is not reloaded and unfinished forms are preserved. Closing the banner with X hides it for the current page session without saving a choice; it will appear again after refresh if no choice was saved.
Choices apply to this browser and are synchronized across open tabs on the same origin. Use the controls again on other browsers or devices. Clearing site storage resets your choice and optional cookies remain off until you accept again. You can also manage storage in your browser; blocking all storage may affect preferences, security checks or administrator login. If preference storage is unavailable, optional cookies remain denied while cookieless measurement continues.
5. Other external requests
Hosting, security, map tiles and media can involve third-party network requests independently of optional cookies. Those providers may receive technical information needed to deliver their resources. Rejecting optional cookies does not block resources needed to display the site or protect its forms. Our Privacy Policy explains providers and your rights.
6. Questions and changes
Contact john@rootscratch.com for storage or privacy questions. We update this policy when relevant technologies change and request a new choice when the consent version changes.