Draft: these pages are being reviewed and are not yet in force.
EnglishBahasa Malaysia
Privacy Policy
This policy explains what personal data KlaimJe collects, why, where it goes, how long we keep it, and the choices you have. It covers KlaimJe's website (klaimje.com), the KlaimJe web app and the KlaimJe apps for iPhone and Android. It is our notice under Malaysia's Personal Data Protection Act 2010 (PDPA). It is published in English and Bahasa Malaysia; if the two differ, the English version prevails.
Who we are
KlaimJe is run by [Company name] ([SSM registration no.]), [Business address] ("KlaimJe", "we", "us"). We decide how your personal data is used, so we are the data user (data controller) under the PDPA.
For anything about your personal data, email [Contact email]. Our data protection officer: [Data protection officer].
The short version
- Your receipts, photos and tax details stay on your device unless you use a feature that sends them somewhere: AI reading, the Google Drive plan or KlaimJe Vault.
- AI reading is optional and needs your consent. Before a photo is sent, KlaimJe covers IC numbers, phone numbers and email addresses on the copy it sends.
- We don't sell your data, show ads, or use tracking or analytics tools.
- You can download your receipts and delete your account in the app at any time.
What we collect
Your account. When you sign in with Google (or Apple, when available): your name, email address and that provider's account ID. We never receive your Google or Apple password.
Your sign-in session. A login cookie, when it was created and last used, and your browser's or phone app's name and version.
Your plan. What you bought, for which year of assessment, the price, how you paid (website, App Store or Google Play) and the transaction ID. Card and bank details are handled by Stripe, Apple or Google; we never see your card number.
AI checks. The date, year of assessment and type (receipt or tax form) of each AI reading, to count your checks. Not the photo or what it says.
Your consent. When you gave or withdrew consent for AI reading, the version of the notice you saw, your language and whether you used the website, iPhone or Android.
Filed date. The date you filed your tax return for a year, if you record it.
KlaimJe Vault (only if you buy it). The receipts for that year: each receipt's details (shop, date, amount, items, relief category, notes and who it is for) and its photos.
Messages. If you email us: your email address and what you write.
What stays on your device. Your receipts and photos, the profile you fill in (family details, income and tax figures used for estimates) and your settings are kept in your browser's or the app's storage on your device. We don't receive them unless you use AI reading or KlaimJe Vault as described here.
The help box ("Ask KlaimJe") runs on your device. Your questions are not sent to us or to any AI.
AI reading
AI reading is optional. If you say no, KlaimJe reads receipts on your device only and nothing is sent. If you agree, each time you ask KlaimJe to read a receipt, a Form EA or an earlier tax form:
- The app makes a copy of the photo and covers IC numbers, phone and fax numbers and email addresses on it. Your name stays visible so the claim can be matched to the right person. If the covering can't run, the photo is not sent.
- The covered copy goes through our server to Anthropic, PBC (the Claude AI service), which reads it and sends back the text and figures. Anthropic processes it outside Malaysia, for example in the United States.
- Our server doesn't keep the photo. If you have run out of AI checks, the reading result is held for up to 24 hours so you can collect it after topping up, then deleted.
- Anthropic does not use this data to train its models. It keeps it for a limited time for safety and abuse monitoring: [Anthropic's retention period].
- A receipt can show health information, such as a clinic or a medicine. This is sensitive personal data under the PDPA, and we process it only with the explicit consent you give on the AI consent screen.
- Forms EA and tax forms show your income, employer and tax details. They are covered and sent in the same way.
- Automatic covering is not perfect, so please keep other personal details out of the photo.
You can withdraw your consent at any time in Settings.
Who helps us, and where your data is kept
We use these service providers. Each gets only what it needs for its job.
| Provider | What for | What it receives | Where |
|---|---|---|---|
| [Hosting provider] | Runs KlaimJe's website and server | Everything our server handles | [Server location] |
| Supabase | Database and KlaimJe Vault storage | Account, plan and KlaimJe Vault data | [Supabase region] |
| Anthropic | AI reading | The covered copy of each photo you choose to read | United States and other countries |
| Sign-in; the Google Drive plan | Sign-in details; on the Drive plan, receipt photos and backups saved in a KlaimJe folder in your own Google Drive | Google's data centres worldwide | |
| Stripe | Payments on the website | Your name, email and payment details | [Stripe locations] |
| Apple, Google Play and RevenueCat | Purchases in the phone apps | Your KlaimJe account ID and your purchases | United States and other countries |
| Google Fonts, cdnjs and jsDelivr | Fonts and code libraries for the website and app | Your IP address and browser details, as with any website | Worldwide |
Some of these providers keep data outside Malaysia. We transfer personal data outside Malaysia only as the PDPA allows, and we use providers that are bound by contract to protect it.
Google Drive. KlaimJe asks only for access to the files it creates (Google's "drive.file" permission), so it cannot see the other files in your Drive. Files in your Drive are under your control and Google's terms; deleting your KlaimJe account doesn't delete them. KlaimJe's use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
KlaimJe Vault
- Receipts and photos in KlaimJe Vault are encrypted (AES-256-GCM) with a separate key for each user. The keys are made on our server from a master key that never leaves it. They are stored with Supabase in [Supabase region].
- We keep each year's receipts for up to 7 years after the end of that year of assessment, because LHDN can ask for proof for that long. After that we delete them, and we will remind you beforehand so you can download them.
- If you delete a receipt, it is removed from KlaimJe Vault. A marker without its contents is kept so your other devices remove it too.
- If you delete your account, all your KlaimJe Vault receipts and photos are deleted.
- If a KlaimJe Vault purchase is refunded: [What happens to Vault copies].
Why we use your data
- To run KlaimJe for you: sign-in, AI reading, keeping your plan and AI checks, and saving to and restoring from KlaimJe Vault.
- To take payments and handle refunds and disputes.
- To reply to your messages.
- To keep KlaimJe secure and stop abuse, for example making sure the free AI checks are given only once to each person.
- To meet our legal obligations, such as keeping accounting records.
Your name and email are needed to have an account. AI reading, Google Drive and KlaimJe Vault are optional. We don't use your data for advertising. KlaimJe's readings and relief categories are suggestions: you decide what to claim, and nothing KlaimJe does is a decision about you with legal effect.
How long we keep it
| Data | How long |
|---|---|
| Account details, AI check counts, consent records, filed dates | Until you delete your account |
| How many free AI checks a deleted account used, under a one-way code made from its sign-in and email (not the email itself) | Up to 7 years after you delete your account |
| Sign-in sessions | 30 days, or until you sign out |
| AI reading results held for a top-up | Up to 24 hours |
| KlaimJe Vault receipts | Up to 7 years after the end of the year of assessment, or until you delete the receipt or your account |
| Purchase records | 7 years for accounting and tax law; your name and email are removed when you delete your account |
| Server logs | [Log period] days |
| Emails to us | As long as needed to deal with your message, and no more than 2 years |
Your rights
Under the PDPA you can:
- ask for a copy of the personal data we hold about you;
- ask us to correct data that is wrong or out of date;
- withdraw your consent (for AI reading, in Settings; otherwise by email);
- ask us to stop or limit using your data;
- download your receipts and photos at any time in Settings > Download backup;
- delete your account in Settings > Delete account. This deletes your account details, sign-ins, AI check counts, consent records, filed dates and KlaimJe Vault receipts at once. Receipts on your device stay until you remove them, and photos in your Google Drive stay in your Drive. We keep only a one-way code made from your sign-in and email, with the number of free AI checks you used, so they aren't given again if you sign up later.
Email [Contact email] for anything else. We reply within 21 days and don't charge for it. If you're not happy with our answer, you can complain to the Personal Data Protection Commissioner (www.pdp.gov.my).
Keeping your data safe
- All connections to KlaimJe use HTTPS. The login cookie can't be read by scripts on the page.
- KlaimJe Vault is encrypted as described above, and access to the database and storage is limited to KlaimJe's server.
- Only the people who need to run KlaimJe can reach its systems, and they use them only to run KlaimJe or when you ask for help.
- If a data breach could harm you, we will tell the Personal Data Protection Commissioner and you, as the PDPA requires.
Children
KlaimJe is for people aged 18 and over. Parents can keep their children's receipts (such as education or childcare) for their own tax claims, but we don't knowingly let anyone under 18 open an account.
Changes to this policy
We will post any new version here with a new date. For important changes, we will tell you in the app before they take effect.
Contact us
[Company name] ([SSM registration no.]), [Business address]. Email: [Contact email].