JavaScript is required

Privacy Policy

Last updated November 6, 2026

Who we are

Clint Losee Photography runs this site (clintlosee.com). This policy explains what personal information we collect, why we collect it, and the choices you have. It covers the public site, the contact form, the newsletter when it is offered, and print orders.

Information we collect

We collect personal information in several ways:

  • Analytics. When analytics is on for your browser, PostHog receives usage data such as IP address, pages viewed, device and browser information, and on-site interactions (for example clicks and the path through the site). If a server request fails, PostHog may also receive error diagnostics such as the error message, the request path (without query strings), and technical request context — but only for server errors, and error reports are skipped when your browser sends Global Privacy Control or you have turned analytics off. We use that to understand how the site is used and to find problems. Session recording is off. If it is turned on later, typed input is masked, and Stripe payment elements are blocked from the recording.
  • Page views. We keep a first-party count of views for photos, galleries, posts, and pages in our own database (content type, slug, and timestamp, kept about 90 days). This counter respects your privacy choice and is skipped when Global Privacy Control is on or analytics is turned off. We use your IP address only to rate-limit view tracking; the view record itself does not store your IP.
  • Cart on your device. Until you check out, your cart lives in your browser's local storage. It can include the prints you selected, sizes, display options, prices, a discount code, and the 5-digit ZIP code you enter for a shipping estimate. That information is sent to us and Stripe only when you check out. We also keep small browser preferences, such as whether you dismissed a banner or the newsletter popup.
  • Orders. When you buy a print, Stripe sends us the name and email address on the order, the shipping address, the items and amounts, and the ZIP code you entered in the cart. We store those so we can fulfill the order, send confirmations, and handle support. We also keep the raw Stripe webhook payload for audit and debugging. That payload may include the billing address Stripe sends, but we do not keep separate billing address fields.
  • Messages. The contact form stores your name, email, subject, and message so we can reply. If analytics is on, submitting the form also records an analytics event, but that event only notes that the form was submitted — it does not include the subject, message, name, or email address. Newsletter signup, when it is offered, sends your email to EmailOctopus for a confirmation message (double opt-in). We do not keep newsletter emails in our own database. Contact and order email is sent through Resend.
  • Security and rate limits. We record IP-based keys when you use certain features, such as the contact form, newsletter signup, view tracking, and checkout-related requests. We use them to reduce spam and abuse. The keys are stored in our database and, in production, in Upstash Redis for short-lived cache and rate-limit storage.

Payments and analytics for orders

Payments are processed by Stripe on Stripe's checkout page. Card numbers and other payment credentials are entered there and never touch our servers. Stripe's use of payment data is also governed by Stripe's own privacy policy.

When an order is completed and analytics is on, PostHog may receive an order event with the order ID, item count, and amounts. The event is identified by the internal order ID only — your name, email address, and shipping address are not sent. We do not send your shipping address or payment details to PostHog.

Cookies and local storage

We use cookies and local storage for:

  • Admin session authentication (an HttpOnly session cookie). The public site does not offer customer accounts.
  • Analytics and your analytics opt-out (PostHog). When Global Privacy Control is on, PostHog starts opted out and without analytics storage, no pageviews or other events are captured, and no analytics cookie or identifier is created — GPC is not stored, because your browser sends the signal on every request. If you turn analytics off in the footer instead, we also set a first-party analytics_opt_out cookie so our server can skip analytics on your requests; we delete it when you turn analytics back on.
  • Cart contents, the 5-digit ZIP code, and a discount code until checkout.
  • Small interface preferences, such as dismissing a banner or the newsletter popup.

Sale and sharing

We do not sell personal information. We do not share it with third parties for cross-context behavioral advertising.

We use service providers to run the site. They process information only to provide their service for us:

  • Stripe for payments and checkout.
  • PostHog for product analytics.
  • Resend for transactional email.
  • EmailOctopus for the newsletter list, when the newsletter is enabled.
  • Turso for our application database.
  • Cloudflare for the CDN, images, and object storage (R2) for site media.
  • Render for application hosting.
  • Upstash for short-lived cache and rate-limit storage.

Hosting and delivery providers may also process request metadata such as IP addresses, URLs, and server logs.

We may disclose information if required by law, or to protect rights, safety, or the integrity of the site.

Your choices and rights

Your Privacy Choices in the footer turns analytics on or off for this browser. Turning it off saves your choice in the browser and sets a first-party analytics_opt_out cookie so our server can honor it; turning it back on removes the cookie. Order records needed to fulfill a purchase are kept either way.

Global Privacy Control. If your browser sends Global Privacy Control (the navigator.globalPrivacyControl signal in the page, plus the Sec-GPC: 1 request header on network requests), we treat it as a request to opt out. We apply it before analytics starts: PostHog is initialized opted out, without analytics storage, without pageview or interaction capture, without feature-flag or configuration requests, and without tracing headers, so no analytics cookie or identifier is created. We do not store a preference for GPC — your browser keeps sending the signal. Server-side requests carrying the header are excluded from analytics too, including error reports. While GPC is on, the footer shows a locked "off" status instead of a switch, because the signal cannot be overridden from the page.

First-party page views are skipped while analytics is off or GPC is on. Checkout and view writes also tell our server when this browser has opted out, so those requests are not included in analytics. Stripe session IDs are removed from analytics URLs, and server error reports use only the request path without query strings.

To ask for access, correction, or deletion, or to exercise other privacy rights available under US state law, use the contact page . If you have an order, you can also reply to your order confirmation email. We will respond as those laws require.

How long we keep information

  • Orders and contact submissions. Kept while needed to fulfill and support an order, keep tax and accounting records, and handle disputes.
  • Page view rows. Kept about 90 days, then pruned.
  • Rate-limit records. Short-lived. Expired rows are removed when that key is next used; inactive keys may remain until we clean up the table.
  • Analytics. PostHog data is kept according to the retention period configured for this site in PostHog.
  • Newsletter. Controlled by EmailOctopus until you unsubscribe or ask us to delete your contact there.
  • Stripe payload. Kept with the order for audit and debugging unless we remove it.

Security

We use HTTPS, access controls for the admin area, and the security features of our providers. No method of transmission or storage is completely secure, so we cannot promise absolute security.

Children

The site is not directed to children under 13, and we do not knowingly collect personal information from children.

International visitors

The site is aimed at customers in the United States, and checkout shipping is currently limited to the US. If you visit from elsewhere, your information may be processed in the United States and other countries where our providers operate.

Changes

We may update this policy as the site or our providers change. When we do, we will update the "Last updated" date at the top of this page. If a change is material, we will provide a more prominent notice on the site.

Contact

Questions or privacy requests: use the contact page . You can also email info@clintloseephotography.com. If you have an order, you can reply to your order confirmation email.

Follow Me

© 2026 Clint Losee Photography. All rights reserved.

Privacy Policy

Fine Art Landscape Prints

Clint Losee Photography