This page describes what House Call collects, why, and how we store it. Last updated 2026-10-12.
Who is responsible for your data
House Call is run by its practitioner, who is the data controller for everything described on this page. Write to hello@housecallastro.com for any question about your data, including the requests listed under “Your rights”. There is no separate data protection officer; the practice is one person.
What we collect from you directly
When you sign up, we collect your name, email, birth date, birth time, birth place, and any open-ended notes you choose to add. These are required to compute your chart and write your reading. We do not collect anything you don’t tell us.
If you choose to sign in with Google, we additionally store the Google account identifier (the “sub” claim from your Google ID token) so we can recognise the same account on return. We do not receive your Google password, contacts, calendar, or any other Google profile data. See Google’s privacy policy for what Google itself processes when you sign in.
If you submit a question, a prediction, a tarot/oracle note, a piece of feedback, or your reading preferences through the app, we store that alongside your account. Optional profile fields (pronouns, relationship status, whether you have children, current city, vocational context, broader life context, accessibility preferences, which interpretive layers you want enabled) are collected only if you fill them in via /natal/settings, and exist so the practitioner can write a reading that lands at the right angle for your life. None of this is ever visible to other users, advertised against, or sold.
What we collect automatically
We use one analytics provider to understand how the app is used:
- Vercel Web Analytics for page visits, approximate country or region, browser type, and a small number of named events (for example, that a checkout was started). It is aggregate and non-identifying by design: it records that something happened, not who did it. We deliberately send it no names, no email addresses, no birth details, no IP addresses and no account identifiers, so there is no profile of you in it to build, sell, or hand over. Vercel Web Analytics does no cross-site tracking and has no ad network.
- Meta Pixel, only if you press Accept on the cookie banner, and only on our public pages (the landing page, pricing, sample, sign-in and checkout pages). It tells Meta that a page was viewed and, after a booking, the amount and currency of the purchase, so we can measure whether our ads work. Meta may set cookies and combine this with its own data about you under its own policy. We send it no name, email, birth details or account identifier, and it never loads on your reading, the intake form, your settings or the admin area. Decline, or a Do Not Track browser setting, keeps it off.
Error tracking. If something breaks while you are using the app, we send the error report (the stack trace, the URL you were on, the browser/OS you were using, and the user ID of the account that hit it) to Sentry (sentry.io) so we can debug it. Sentry error context can include the data the failing function was processing, for example, the chart data being rendered, the question text that failed to save, or your account’s reading slug. Sentry retains error events for 90 days. We do not enable Sentry session replay.
Abuse prevention. If you submit a support message from a public page, we keep a one-way hash of your IP address for up to 30 days so we can detect spam patterns. We never store the raw IP. We also rate-limit some endpoints (e.g. login attempts) by IP; a shared network may briefly be throttled if many people on it are trying to sign in at once.
Apart from the optional Meta Pixel above, there are no advertising trackers or third-party marketing pixels, and no data is sold to or shared with anyone. The site loads no web fonts at all: typography is drawn entirely from fonts already on your device, so there is no font CDN in the picture.
Your choice. The basic page count from Vercel Web Analytics runs for every visitor. It uses no cookie and stores nothing on your device, and it holds no profile of you, so there is nothing for a banner to switch off. We rely on our legitimate interest in knowing which pages are visited (GDPR Art. 6(1)(f)). Once you scroll or open a second page, a small banner offers Accept or Decline (on your next visit instead, if another notice already showed on this one) for the things that go further: a first-touch record of which link brought you here, kept on your device for 90 days, counts of actions such as starting a signup, and the Meta Pixel for ad measurement. All three stay off until you Accept. Separately, and whatever you choose, when you book, ask a question or run the free chart snapshot, the campaign tag on the link you arrived from in that visit (for example utm_source=reddit) is sent with the form and kept with it. That tag names a link, not you, and nothing is stored on your device for it; same legitimate interest. If your browser reports Do Not Track, the banner doesn’t render and those stay off. You can revisit the decision any time via the “Cookie settings” link in the footer. Error tracking (Sentry) and abuse-prevention rate limiting fire regardless of this choice because they protect the service itself; we treat error reports as legitimate-interest processing under GDPR Art. 6(1)(f).
Cookies + session
We set a single first-party authentication cookie containing a signed JWT when you sign in. It is httpOnly, SameSite=Lax, and (in production) Secure; it is not accessible to JavaScript and is not used for cross-site tracking. The cookie holds an opaque user ID, your role, and your reading slug, and expires after 14 days. There is no analytics cookie at all unless you accept the banner, and the page count sets none.
Why we may process it
Under the GDPR and UK GDPR, each use of your data has a legal basis:
- Performing our agreement with you (Article 6(1)(b)): your name, email, birth data, the questions you ask and the reading itself. Without these there is no reading.
- Your consent (Article 6(1)(a)): the extra analytics behind the cookie banner, the free monthly horoscope and any other email you opt into, and the first-touch attribution record and the Meta Pixel, both written or loaded only after you accept the banner. You can withdraw consent at any time: the cookie settings link in the footer, the unsubscribe link in every automated email, or Settings.
- Our legitimate interests (Article 6(1)(f)): keeping the service secure and working, which is what the rate-limit counters, the hashed IP on public forms, the server-side session records and the error reports are for. None of these are used to profile you.
- Legal obligations (Article 6(1)(c)): keeping payment records for as long as tax law requires, once payments open.
Birth data is not a special category of data, but a question you ask may touch on your health, relationships or beliefs. We process what you choose to write on the basis that you have made it manifestly part of your request (Article 9(2)(a) and (e)), and nothing obliges you to include it.
How we store it
Your account, questions, predictions, feedback, preferences, and your reading itself all live in the same managed libSQL/SQLite database hosted by Turso in the United States (AWS, Virginia). The practitioner writes and edits your reading in the House Call admin panel, which saves it straight into that database; nothing is cloned or mirrored into the Vercel deployment at build time. Transactional email (account confirmation, deletion confirmation, occasional service notices) is delivered through Resend; your email address is transmitted to Resend only at the moment a message is sent and is not used for marketing.
Sub-processors at a glance
The full list of third-party services that may process your data on our behalf, and what each one sees:
- Turso (United States): primary database; all account + question + prediction + feedback rows.
- Vercel (Frankfurt): app hosting; sees every request to housecallastro.com.
- Sentry: error tracking; sees error stack traces + the user ID and request context that triggered them.
- Vercel Web Analytics: page counts for every visitor, plus named actions only if you accept the cookie banner. Aggregate and non-identifying: it records that a page or action happened, not who did it.
- Meta Platforms: ad measurement through the Meta Pixel, only if you accept the cookie banner, only on public pages. Receives page views and the purchase amount, not your name, email or birth data.
- Resend: transactional email delivery; sees your email address at send time.
- Google (only if you sign in with Google): receives the OAuth handshake; we receive your Google sub + verified email back.
- Apple (only if you sign in with Apple): receives the OAuth handshake; we receive your Apple user ID + verified email back.
- Stripe (only once payments are open): processes your checkout; we receive your name and email plus a payment status, never your card details.
- Anthropic (Claude API, drafting only): receives the chart data needed for a specific section at the time the practitioner is writing it. Never receives your contact details or persistent identifiers.
Where your data goes
The app runs in Vercel’s Frankfurt region, but the database is currently hosted by Turso in the United States (AWS, Virginia), so what we store about you is held in the US. We are moving it to Turso’s EU region and will update this page when that is done. Other sub-processors listed above are also United States companies (Sentry, Resend, Anthropic, Google, Apple, Stripe), so some data passes through them as well: an error report, an email address at the moment a message is sent, chart data while a section is being drafted, or a sign-in handshake. Each of those providers offers the EU Standard Contractual Clauses (and the UK addendum) in its data processing terms, and we rely on those for the transfer. Ask us if you want to see them.
Who sees it
The practitioner. They write every reading personally. No other human reads your birth data, your questions, or your reading.
Drafting is AI-assisted (Claude) against a reference framework of traditional astrology texts (Vronsky / BaZi / Vedic Jyotish). The AI never has access to your contact details or to the persistent database; only the chart data needed to write a specific section is sent at the time it is written. Final synthesis and voice come from the practitioner’s edit pass. Every reading you see has been human-reviewed by the practitioner before it ships.
How long we keep it
For as long as you have an active reading with us. If you ask us to delete your data, we delete the active row inside 72 hours and confirm by email; the row is held in a soft-deleted state for 14 days as a recovery window before being hard-purged. Deletion covers your database row and your reading markdown. There is no analytics deletion step because there is nothing there to delete: Vercel Web Analytics holds aggregate, non-identifying counts and we deliberately send it no names, emails, birth details or account identifiers. Sentry retains anonymised error events for 90 days regardless. Account deletion now revokes every active sign-in for the account in the same transaction (added 2026-05-29), so no other device’s cookie remains usable after deletion.
Signing out everywhere. Every sign-in creates a server-side session record. You can review and revoke any session from Settings › Where you’re signed in, or use “Sign out everywhere else” to keep only the current device. Completing a password reset automatically revokes every existing session for the account.
Contact: hello@housecallastro.com (or whatever email the practitioner used to onboard you).
Your rights
Wherever you live, you can at any time:
- Access a copy of everything we hold about you. Settings › Download my data gives you the account data as a file without asking us; the reading itself you can save from its Print view, or ask for the Markdown by email.
- Correct anything that is wrong: birth data and profile fields directly in Settings, anything else by email.
- Delete your account and reading. Settings › Delete account does it; the timeline is in “How long we keep it”.
- Take your data elsewhere (portability): the export is JSON, and the reading is plain Markdown on request.
- Restrict or object to a particular use, and withdraw consent for analytics or email, without it affecting the reading itself.
Email requests get an answer within 14 days, and never later than the one month the GDPR allows. We do not sell personal data, share it for cross-context advertising, or make decisions about you by automated means: the AI in the toolchain drafts, and a person reads and edits every line before you see it (see how we use AI). If you are in the EU or UK and unhappy with our answer, you can complain to your national data protection authority; in the UK that is the ICO. If you are in California, the rights above cover everything the CCPA would give you, and we treat a request from any state the same way.
Children
House Call is for adults and for people aged 16 or over who confirm that at sign-up. We do not knowingly hold data about anyone younger. If a reading was requested for a child without a parent or guardian’s consent, write to us and we will delete it.
This is not advice
Your reading is reflective writing, not medical, legal, financial, or psychiatric advice. It is offered as a perspective to think with, not a directive to follow. Decisions about your health, money, relationships, or career remain entirely yours.