Privacy Policy
Last updated: 30 September 2026
1. Overview
HeyKit is committed to protecting your privacy. This policy explains what data we collect, how we use it, and how we keep it safe. We comply with the Protection of Personal Information Act (POPIA) of South Africa.
In short: your data is yours, we don't sell it, and we only use it to run the app for you.
2. What We Collect
From Google Sign-In
When you sign in with Google, we receive and store:
- Email address — to identify your account
- Display name — shown in the app
- Profile photo URL — shown as your avatar
We do not access your Google contacts, calendar, Drive files, or any other Google data.
Email sign-in
If you sign in with your email address instead, we store the address and, if you set one, a password — stored only as a one-way (bcrypt) hash, never in readable form.
Data you enter
- Expenses (description, amount, category, date)
- Budget amounts per category
- Family member names and colours
- Children's names, birthdays, and schedules
- Shopping and to-do list items
- Receipt images (photos of receipts you upload)
- Documents you upload (stored securely)
- Loyalty card barcodes and names
- Electricity meter readings
- Vehicle records (make, model, license plate, VIN, license/insurance expiry dates) — household admin use only
Staff employment records (optional)
If you add domestic staff to your family account, we store:
- Name, role, phone number, and pay rate
- Nationality and ID/passport number (for UIF and legal employment records)
- Uploaded ID/permit document copies
- Work permit expiry date (for foreign nationals)
- Emergency contact details
- Bank account details (for salary payment and UIF)
- Clock-in/out timestamps and GPS coordinates at the moment of clock-in
Staff employment data is stored because employers are legally required to keep these records under the Basic Conditions of Employment Act and UIF Act. This data is only accessible to family admins, is not shared with third parties, and GPS coordinates are only captured at the moment of clock-in — ongoing location is never tracked.
Mobile app
- Push notifications — if you allow them, a push token for your phone so we can send reminders and alerts. Signing out or deleting your account removes it.
- Camera and photos — used only when you choose to photograph a receipt or scan a loyalty-card barcode. Nothing is captured in the background.
- Microphone (voice dictation) — only while you're dictating to the assistant. Your phone's own speech recognition turns it into text (on iPhone that's Apple's, which may process audio on Apple's servers under Apple's privacy policy). HeyKit receives only the text, never the recording.
- Face ID / Touch ID — if you turn on the app lock, your phone checks your face or fingerprint itself. HeyKit never receives or stores biometric data.
- Documents saved for offline use — kept on your phone only, and removed when you sign out.
Automatic expense capture (optional)
- Bank notification emails — if you forward your bank's transaction emails to your personal HeyKit capture address, we read the amount, merchant and date from them to create draft expenses for you to confirm. The rest of the email is not kept.
- Bank feeds — if you connect a bank that offers one (currently Investec), we store the access your bank grants (which you can remove at any time) and import transaction dates, descriptions and amounts as draft expenses. We never see or store your banking password.
AI usage records
For each AI feature you use (receipt reading, category suggestions, the assistant) we record which feature was used, when, and how much processing it took, so AI use can be measured and billed per family. These records contain no content from your receipts or messages.
Telegram (optional)
If you connect Telegram, we store your Telegram chat ID to send notifications. We do not access your Telegram messages, contacts, or any other Telegram data.
3. How We Use Your Data
We use your data exclusively to:
- Display your expenses, budgets, and schedules in the app
- Send you Telegram notifications (if connected)
- Process receipt images through AI for text extraction
- Suggest a category for new expenses from their description
- Answer requests you type to the HeyKit assistant, using your family's budget, lists and pocket-money data
- Send you push notifications in the mobile app (if allowed)
- Generate spending reports and budget summaries
We do not:
- Sell your data to third parties
- Share your data with advertisers
- Use your data for profiling or marketing
- Display any advertisements in the app
4. Where Your Data Is Stored
- Database — MySQL database hosted on a secure server. All expense, budget, and family data is stored here.
- File storage — Receipt images and uploaded documents are stored on DigitalOcean Spaces (S3-compatible cloud storage) in a private bucket.
- Session data — Authentication sessions are managed by NextAuth.js using secure HTTP-only cookies.
All data is transmitted over HTTPS (encrypted in transit). The database and file storage are access-restricted to the application only.
5. Third-Party Services
We use the following third-party services:
- Google OAuth — for authentication only. We receive your name, email, and profile photo URL. We do not request access to Drive, Calendar, Contacts, Gmail, or any other Google service.
- Google Analytics 4 — for aggregate, anonymous traffic statistics on our public marketing pages and inside the app (which features are used, where visitors come from). No personally identifiable information is sent to Google; IP addresses are anonymised. Used solely to understand how to improve HeyKit. You can opt out at the browser level via Google's opt-out add-on.
- OpenAI or Anthropic (Claude) — for receipt text extraction, reading bank notification emails, category suggestions and the HeyKit assistant. Only what's needed for the request is sent (for example the receipt image, or the assistant conversation plus the budget figures it asks for). Neither provider uses API data to train its models, and data is not retained beyond their standard abuse-monitoring windows, per their data-handling policies.
- TypeSafe — for category suggestions. Only transaction descriptions (merchant names as printed by the bank) and your family's category names are sent.
- Expo and Apple Push Notification service — to deliver push notifications to the mobile app. The notification text and your phone's push token pass through these services.
- Investec — only if you connect an Investec account for a bank feed.
- Telegram Bot API — for sending notifications to connected users. We never read incoming messages other than the optional /start handshake used during account linking.
- Mailgun — for transactional email delivery (welcome emails, sign-in links, weekly summaries, budget alerts, renewal reminders) and for receiving bank notification emails you forward to your capture address. Recipient email and message body are processed by Mailgun under their privacy policy.
- Apple Wallet pass generation — when you tap "Add to Apple Wallet" on a loyalty card, the pass is generated server-side and signed with our Apple Developer certificate. No personal data is sent to Apple as part of pass generation. The pass itself contains only the card name, owner name (if assigned), barcode, and expiry date — the same information already in the app.
- DigitalOcean Spaces — for secure file storage of receipt images, uploaded documents, and database backups in a private bucket.
6. Cookies
HeyKit uses two categories of cookies:
- Essential cookies — required for authentication and to keep you signed in (session cookies). These cannot be disabled.
- Analytics cookies — set by Google Analytics to understand aggregate traffic patterns (page views, country, referrer). No personally identifiable information is collected through these cookies. You can block these via your browser settings or the Google Analytics opt-out add-on linked above.
We do not use advertising cookies, retargeting pixels, or any other tracking technology beyond the above.
7. Family Data Sharing
HeyKit is designed for families. When you join or create a family:
- All family members can see and edit shared expenses, budgets, schedules, and documents
- Personal expenses are visible to all family members (they are categorised by person, not private)
- Family members are added by invitation only (via a secure invite link)
Be mindful of who you invite to your family group, as they will have access to all family data.
8. Your Rights (POPIA)
Under the Protection of Personal Information Act (POPIA) of South Africa, you have the right to:
- Access — request a copy of all personal data we hold about you
- Correction — request correction of inaccurate personal data
- Deletion — delete your account yourself in the mobile app (Profile → Delete account), or ask us to. If you are the last person with a login in your family, the family's data is deleted with it; otherwise the shared family data stays for the other members.
- Object — object to the processing of your personal data
To exercise any of these rights, contact us using the details below.
9. Data Retention
We retain your data for as long as your account is active. When you delete your account in the app, it is removed immediately; uploaded documents are removed from file storage at the same time, and any copies in encrypted backups expire within 30 days. Aggregate AI usage records (feature, date, cost — no content) are kept for billing.
We do not create backups that retain deleted user data beyond the deletion period.
10. Children's Privacy
HeyKit is intended for use by adults managing household finances. We do not knowingly collect data from children under 18. Children's names and schedules entered by parents are considered household management data under the parent's account.
11. Changes to This Policy
We may update this privacy policy from time to time. We will notify active users of significant changes via the app or Telegram notifications.
Contact
For questions about this privacy policy, to exercise any of your data rights under POPIA, or to request account deletion, contact us at support@heykit.io. We aim to respond within 5 working days.