Cookie Policy
Version 1.1-DRAFT · Aligns with GDPR-ready + CCPA/CPRA preferences
Categories
| Category | Purpose | Default |
|---|---|---|
| Necessary | Session, CSRF, consent id, security | Always on |
| Analytics | Aggregate site measurement (Google Analytics 4) | Off until consent |
| Marketing | Reserved. No advertising pixel is loaded today. | Off until consent |
Third-party SDKs and hosts (audit)
| Name | What it does | When it runs |
|---|---|---|
| Laravel session / CSRF | Keeps the site working and forms safe | Necessary |
pv_consent / pv_consent_id |
Stores your cookie choice | Necessary |
| Google Fonts (Manrope) | Loads the marketing typeface | First-party CSS after a privacy-friendly defer; fonts.googleapis.com / fonts.gstatic.com |
Google Analytics 4 (G-WY2CQ1ENN9) |
Page-view measurement via googletagmanager.com / google-analytics.com | Only after analytics consent. Never on Reject or GPC. |
| Advertising / social pixels | None shipped (no Meta, TikTok, LinkedIn, or Hotjar SDK) | Not loaded |
Stripe and consumer-data vendors are not loaded on the public marketing site. They stay behind authenticated product gates and a separate live-billing switch.
Your controls
Use the cookie banner (Reject, Customize, or Accept), the footer “Cookie preferences” link, or . If your browser sends Global Privacy Control (GPC), we treat non-essential cookies as rejected. We do not use pre-ticked marketing boxes or a confirm-shaming “are you sure?” after Reject.
Storage of consent
We store a consent cookie (pv_consent) and a server log with an anonymous visitor key,
categories, policy version, timestamp, and approximate technical metadata.
Related: Privacy Policy · Do Not Sell or Share