LunarOtter

Privacy and data retention

Who operates this service

LunarOtter is made by Sourdough AI LLC, 223 Child St, Warren, RI 02885. This page describes the implemented service and its current retention defaults.

Birth details and purchases

We use your date, local time or uncertainty window, selected city, and optional nickname to calculate and save a chart. The selected city’s coordinates and historical time resolution are saved with it. City suggestions come through a server-side Amazon Location lookup; no Amazon key is sent to your browser.

Stripe collects payment details and your checkout email. We retain Stripe references and an encrypted email for access delivery and recovery. Birth details, chart content, and access tokens are excluded from payment metadata and funnel events. We do not put birth details into URLs.

Checkout reminders

If your Stripe Checkout captures an email and expires unpaid, we may send up to two checkout reminders unless Stripe records a promotional-email opt-out. We do not display a preselected marketing-consent box. A reminder may be sent 1 to 24 hours after expiry and a second 24 to 48 hours after expiry, at least 12 hours apart. They return you to the same saved preview at the same $6.95 price and contain no birth details or paid reading content. Every reminder includes an unsubscribe link. These reminders are separate from purchased-reading delivery and requested access recovery.

Recovery contact is encrypted and expires seven days after checkout expiry. A keyed address hash, reminder count, paid-address flag, and unsubscribe status are kept without an automatic expiry to honor the lifetime two-reminder cap and your preferences. We check email suppression before sending and skip test sessions, unsubscribed addresses, and addresses with a paid purchase. Reminders are enabled in production and disabled in staging.

Cookies and this tab

Essential HttpOnly cookies identify the browser session and recovered access grant. They expire after 30 days. Your unfinished form is kept in session storage in this tab so you can read a guide and return. It is not included in a page address. Clearing browser storage removes that local draft.

We record minimal first-party funnel steps with an allowlisted landing page. Without optional attribution consent, the recorded source is direct. If you allow source measurement, we retain only a coarse source category and allowlisted campaign values, not the raw referrer URL. There is no third-party analytics integration. Funnel events expire after 90 days.

Retention and deletion

Unpaid birth inputs, charts, and locked readings expire after 30 days. Paid inputs, saved readings, encrypted recovery contact, and PDFs are currently retained for three years after purchase, or until you delete the reading. These are finite retention periods, not lifetime hosting. Access links expire after seven days and work once.

Delete a paid reading from its recovery and privacy controls. Deletion removes birth details, reading, PDF, recovery contact, and shared signs, and revokes access. A minimal financial record remains until its original retention deadline. Application access stops immediately; asynchronous storage cleanup and backup expiry can take longer. Backups can retain earlier copies for up to 35 days.

Public sharing and service providers

Sharing is optional. A public card includes only supported Big Three signs and, if explicitly supplied, a nickname. It expires after 30 days and can be revoked independently. Revocation cannot recall a downloaded image or screenshot.

AWS provides storage, compute, email delivery, and location lookup; Stripe provides hosted checkout. Operational logs are retained for 30 days and exclude request bodies and raw birth details. Contact and deletion options are described in Help.