Beautifully Complicated Astrology

Privacy, in plain language.

This page explains the optional analytics used to understand how visitors find the readings and where the purchase flow succeeds or needs attention.

Optional app analytics

App analytics are off until you choose “Allow analytics” in the on-page control. Your choice is kept in this browser tab for its current session. You can change it there at any time. Choosing “No thanks” sends no app analytics event and creates no app analytics identifier; turning analytics off also asks the app to delete its analytics cookie.

If you opt in, the app records a server timestamp, a small set of event types, an approved page name, a normalized source or campaign category, and a reading ID when relevant. The categories can show broad sources such as TikTok, Facebook, Google/search, direct/unknown, and other recognized sources. The current example campaign codes are “campaign-a,” “profile-a,” and “content-a”; unknown codes are not kept and appear as unclassified.

The app analytics does not store your name, email, birth information, form contents, payment details, full URLs, query strings, or order references. A random first-party session identifier is held in an HttpOnly, Secure, SameSite=Lax cookie that expires after 30 minutes without activity. It is not used to build a cross-device identity or visitor profile.

Individual app analytics events are deleted after 30 days. App event rows do not include IP addresses or IP-derived values. Daily grouped counts may be kept for up to 13 months. While a checkout is pending, a temporary record links the analytics session to its checkout session so a confirmed purchase or terminal checkout outcome can be counted. That link is deleted after purchase, cancellation, failure, or expiry, and expires with the pending checkout after 24 hours.

Services involved

Polsia provides the app hosting and database services used to store these app analytics events and daily counts. Stripe separately provides the hosted checkout and processes payment information; payment details are handled by Stripe and are not part of app analytics.

A separate platform beacon

The site template also contains a separate Polsia page-load beacon. When the deploy configures that beacon for this app, its framework-owned code stores a persistent random identifier in browser local storage and sends the identifier and the app's Polsia analytics slug to Polsia on page load. Like other network requests, the beacon request also reaches Polsia with connection metadata. This app cannot disable or consent-gate that framework integration. While it is enabled, that separate beacon uses a persistent identifier even if you decline the optional app analytics. The app owner must ask Polsia to disable or consent-gate the platform beacon to remove this separate collection.

Questions about this disclosure? Email beautifullycomplicatedastrology@outlook.com.

Back to the readings