Legal & Trust
Privacy Policy
How Klugliv handles your household data.
⚠️ Requires legal review before production release.
This document is for transparency and planning. It is not legal advice and may be updated.
Privacy Policy
Last updated: 2026-07-20
Klugliv is built to help households understand their spending by learning from your receipts. This policy explains how we handle your personal information and what choices you have.
Account information
When you create an account, we store the information needed to run your account, including identifiers such as your email (as provided to the authentication system).
Your account data is used to:
- sign you in and keep you authenticated
- connect your receipts and shopping history to your account
Authentication
At the moment, the mobile app authenticates users using Supabase Auth. Your signed-in session is used to authorize requests to our APIs.
We also have an AWS Cognito setup as part of our infrastructure plan, but the mobile app still uses Supabase session tokens today. Our APIs validate your Supabase session inside the server function.
Receipt uploads
When you upload a receipt in the app, we process the image to extract text and receipt line items.
Where your receipt image is stored
Receipt images are stored privately.
- Primary storage (current): Supabase Storage (private objects)
- Migration slice (optional): we may also store a copy in Amazon S3 to support the AWS migration and dual-write safety
The app uses short-lived, authenticated requests. It does not expose OCR keys to the mobile client.
OCR processing
After you upload a receipt, Klugliv sends the image to a server-side OCR pipeline:
- Receipt OCR function runs as an AWS Lambda (in our AWS migration slice)
- The function reads the OCR API key from AWS Secrets Manager (encrypted with AWS KMS)
- The function calls Google Cloud Vision to extract text
- Our receipt parsers convert OCR text into structured data (merchant, date, totals, and line items)
The extracted structured data is stored together with your receipt record so the app can show insights and allow corrections.
Shopping history
We store structured shopping information derived from receipts, including:
- receipt-level data (store guess, purchase date, totals)
- extracted line items (product name and pricing signals)
- shopping trips and the timeline of your purchases
We use this data to build your household memory and monthly shopping insights.
Household Memory
Household Memory is based on your receipts and extracted purchases. It is not a “read your mind” feature. It is a user-controlled history of what your household buys and how often.
Analytics
We may use analytics to understand how the app performs and how people use features.
- The mobile app uses PostHog when an analytics key is configured for your build.
- The marketing website does not include PostHog in this repository.
- Opt-in by default: analytics are off until you choose to enable them. On first launch (when analytics are configured), we ask for your choice. You can change it anytime in Settings → Trust & privacy.
When you opt in, we record product usage events (for example, screen views and feature interactions). We do not send receipt images or receipt text in analytics. We do not sell personal receipt data.
You can withdraw consent at any time by turning analytics off in the app.
Crash reporting
We currently rely on server logs and standard error handling for operational visibility.
If we add third-party crash reporting in the future, it will be described here.
Future voice features
Voice features are planned but not active in the current product. We do not collect voice recordings for this feature today.
Legal basis under GDPR
Processing is carried out to:
- provide and maintain the service (for example, authentication and receipt processing)
- operate the platform and improve reliability (for example, security monitoring and operational logs)
- analyze usage only when you opt in to product analytics in the mobile app
This policy is a transparency document. Exact lawful bases should be confirmed during legal review.
Retention periods
We keep data for as long as it is needed to provide the service.
- Receipt images and extracted OCR output: stored while your account exists; you can delete receipts in the app. (Backups may be retained temporarily as part of system operations.)
- Derived shopping history: stored while you keep your receipts/trips, and deleted when you delete receipts or your account content.
- Operational logs (CloudWatch): we configure log retention in AWS for our API and Lambda functions.
For a more detailed schedule, see Data Retention Policy.
Deletion
You can delete receipts in the mobile app.
For account deletion, open Settings → Trust & privacy → Delete account. Confirm twice to permanently delete your account, receipts, and stored images. You will be signed out immediately.
If self-service deletion is unavailable, contact us by email.
International transfers
Our OCR processing may transfer receipt images and OCR inputs to third parties.
In the AWS migration slice, AWS processes the request and then sends the image to Google Cloud Vision. This is an international transfer in many cases because Google Cloud runs globally and processing location can depend on your configuration.
See the Vendor Register and Subprocessors pages for more detail.
Third-party processors
We work with third parties to run and operate the service. The Vendor Register and Subprocessors pages list key providers.
Your rights
You can request:
- access to your personal data
- correction of inaccurate personal data
- deletion of your personal data
- export of your data as JSON from Settings → Trust & privacy → Download my data (receipt images excluded; email fallback if export fails)
Procedures are described in Your Rights & GDPR Request Procedures.
Policy updates
We update this policy when our systems change. The Last updated date at the top shows the most recent update.
If we make material changes, we will aim to document them clearly.