Privacy & Trust
Here's what you need to know about how we handle your data. No legal jargon, just transparency.
TL;DR
Grain SDK & Analytics Platform
Privacy-First by Design: Our analytics SDK is cookieless by default. We generate daily rotating session IDs until explicit user consent is granted. Three consent modes available: Cookieless (no storage), GDPR Strict Opt-in (explicit consent required), and GDPR Opt-out (track by default with opt-out option).
EU Data Storage: All analytics events sent to clientapis.grainql.com are stored exclusively in EU data centers (Helsinki, Finland and Frankfurt, Germany). Data never leaves the EU. Full GDPR compliance with 30-365 day configurable retention periods.
Data Minimization & IP Privacy: Query parameters automatically stripped from URLs to prevent PII leakage. IP addresses are never stored—only GeoIP location data (country/region). Optional IP masking removes the last octet before any processing.
You Own Your Data: Export, delete, or anonymize your analytics data anytime via our dashboard, API, or DSAR form. Complete audit logs for all data operations. Multi-tenant isolation ensures your data is architecturally separated from other customers.
Our Website & Dashboard
Analytics & Advertising: We use Google Tag Manager and Google Analytics to track website usage and optimize our marketing. Google Ads conversion tracking is enabled. You can opt out via your browser settings or Google's opt-out tool.
Authentication: Auth0 handles all authentication (email/password, Google, Facebook, X). We store your account information (name, email, preferences) in our EU database. Social logins are optional.
Payment Processing: Stripe processes all payments. We never see or store your payment card details—Stripe handles everything (PCI DSS Level 1 compliant).
AI Chat (Kai): Our AI assistant uses multiple providers (Groq as primary, Google Cloud AI for advanced features). Kai does not see your raw analytics data—it uses tools to query aggregated metrics only (totals, breakdowns, trends). Your chat messages and query results are sent to the AI provider for response generation. Conversations are automatically saved by default to enable history and digests. You can delete conversations or disable persistence in your settings.
AI Services & Support
Our AI features (Kai chat) use multiple providers to ensure reliability and performance. All chat interactions are processed by these third-party AI services.
AI Providers
Primary inference provider — hosts OpenAI-compatible models for real-time chat
Gemini models for advanced analytics and deep-dive features
Optional AI model routing for additional model access
OpenAI, Google, Anthropic, and others when you bring your own API key
How Kai Accesses Your Data
Kai does not see your raw analytics data. Instead, it uses specialized tools to query aggregated metrics from your analytics database. When you ask Kai a question, it:
- Discovers available event names and properties
- Queries for counts, breakdowns, or time-series data
- Analyzes user journey patterns to goal events
All queries return only aggregated results (totals, averages, breakdowns). Kai never receives individual event records or personally identifiable user data. Your conversation and the aggregated results are sent to the AI provider for response generation.
Chat History Storage
By default, your Kai conversations are automatically saved to enable conversation history, digest generation, and continuity across sessions. Conversation data (messages, tool results, and AI responses) is stored in Supabase (EU region).
You can delete individual conversations or your full chat history at any time from your dashboard. You can also disable automatic chat persistence in your account settings.
Start Building with Privacy
Track user journeys without compromising on privacy or compliance.
Free forever • 10,000 active users per month • No credit card required