Subprocessors
These are the third parties that process data on our behalf. Each entry says what it actually receives. See the Privacy Policy for how the two groups of people referred to below differ.
Customers under our Data Processing Agreement are given reasonable notice before this list changes.
Google (Firebase Authentication)
United StatesAccount authentication - email address, password credential, display name, Google sign-in identity, sign-in timestamps.
Transfer outside the EEA. Google LLC relies on the EU-US Data Privacy Framework and Standard Contractual Clauses.
Google (Gemini API)
United StatesGenerating chatbot replies. Receives the visitor's question, the retrieved passages from the customer's own content, and recent conversation context.
Transfer outside the EEA. Anything a visitor types into a chat is sent to this provider to produce a reply.
Upstash (Redis)
Depends on the configured Upstash region.Rate limiting. Stores a per-user, per-chatbot counter key. No message content.
Stripe
United StatesBilling. A Stripe customer reference is stored against the profile.
Status: Configured but not currently active - profiles.stripe_customer_id exists, no payment flow is live.
Transfer outside the EEA.
Hosting provider (self-hosted infrastructure)
Our own server infrastructure.Runs the application, the PostgreSQL database (Supabase), the Qdrant vector database, the crawler, the embedding service and the OCR service. All customer and visitor data at rest lives here.
Not used
To avoid implying data flows that don’t exist: LunieAI does not send data to OpenAI or Pinecone. Configuration for both exists in the codebase for historical reasons, but no code path calls either. Vector search runs on a self-hosted Qdrant instance and embeddings are generated by a self-hosted model, both on our own infrastructure.