Skip to content

Privacy Policy

Last updated: 7 November 2026

This policy explains what personal data HalusAI collects, why, who receives it, how long we keep it and how you can use your rights. It is written in plain English. A short notice in Bahasa Malaysia is at the end: Notis PDPA.

The short version. We keep every text you send and its results for 365 days, in a store only the owner of HalusAI can access, to run the service, handle support and improve HalusAI. Then they are deleted automatically. We use essential cookies only. Card details go to Stripe, and we never see your card number. If you pay by DuitNow QR, the receipt you upload is read by an AI service provider so the payment can be checked automatically, and by the owner of HalusAI when a check needs a person.

1. Who we are

HalusAI is a writing tool run from Malaysia by Halus App, Level 4, PAM Centre 99L, Jalan Tandok, Bangsar, 59100 Kuala Lumpur. In this policy, "HalusAI", "we" and "us" mean that business. We decide how the personal data described here is used, and Malaysia's Personal Data Protection Act 2010 (PDPA) applies to it.

Questions about privacy go to support@halus.app.

2. What we collect

  • Account details. Your email address, your sign-in sessions, your word balances, purchases and plan, the language we write your emails in (English, or Bahasa Malaysia if you signed up from the Malaysian page), and whether you agreed to tips and offers by email, with the date and the wording you agreed to. Your own account has a password that you choose. We keep only a hashed form of it (scrypt), never the password itself. An account opened with a personal invite link, or from a DuitNow QR order page, has no email address: you open it with that invite link or from that order page. A shared login, which we set up so a group can use one email address and password, keeps only a hashed form of its password.
  • Your texts and results. Every text you paste or upload, its results, every version the model wrote and the versions you pick. See job records below.
  • Usage events. Records of actions in the service, such as signing in or starting a run. They store a hashed form of your IP address, never the raw address.
  • Wrong passwords. When a wrong password is typed for an email address, we count it against a keyed hash of that address (never the address itself or the password typed), so signing in to that account can pause for 15 minutes after 10 wrong tries. The count is deleted within a day.
  • Shared logins. If you sign in to a shared login, we keep a sign-in session for your browser and, with each text you send, a hashed form of your network (IP) address, never the raw address. We use them to apply the login's limits per browser and per network, and to show each browser only its own texts.
  • Payment records. What you bought, when, the amount and currency, and the payment's status, which we receive from Stripe. Stripe also tells us the country that issued a card, because the RM price depends on it (see Payments). We never see your card number.
  • DuitNow QR orders and receipts. If you pay for a pass or a plan month by DuitNow QR, the order, the receipt you upload, the bank transaction ID if we ask you to type it, and the details read from the receipt. See DuitNow QR receipts below.
  • Messages to support. If you email or message us, we keep the conversation so we can answer you and sort out the issue.

Giving your email address and choosing a password are required to have an account. Without them we cannot provide the service. Tips and offers by email are optional. The exception is an account opened with a personal invite link, or from a DuitNow QR order page: it has no email address or password. To pay by DuitNow QR, uploading the receipt is required. Without it we cannot confirm the payment, and no words are added. What you write into your texts is your choice.

3. Job records: your texts and results

We keep your texts and results for 365 days to run and improve HalusAI. This covers every text you send, its results, every version the model wrote and the versions you pick.
  • Where. In a store only the owner of HalusAI can access.
  • Why. To run the service, to handle support (for example, to look into a result you report) and to improve HalusAI.
  • For how long. 365 days from each run. Then they are deleted automatically.
  • Where you are told. The page that takes your text says so too.

If you delete your account

  • A plan, if you have one, is cancelled first. Your account details (email address, hashed password, sessions and word balances) are removed.
  • The texts and results you sent are kept, without any link to you, until their 365 days end. Then they are deleted automatically.
  • Payment and accounting records are kept for 7 years, as Malaysian law requires.

A text can still contain personal details you wrote into it, such as a name or a student number, even after it is no longer linked to your account. Do not paste personal data you don't want kept.

4. DuitNow QR receipts

While that option is shown, passes, and one month of a plan, can be paid by DuitNow QR in the app. To confirm the payment, you upload a screenshot of the receipt in the app (or on the order page, for an order made before 7 November 2026).

  • What a receipt shows. The screenshot usually shows the payer's name, bank, transaction reference, date, time and amount, and it may show part of an account number. That is personal data.
  • What you may cover. You may cover anything we don't need, such as your balance, as long as the amount, date, time, reference and recipient stay readable.
  • Why. To confirm the payment, to prevent a receipt being reused and other fraud, and to keep accounting records.
  • Who sees it. An AI service provider reads the screenshot for us, through OpenRouter, so the payment can be checked automatically. It receives the image only, never your name, email or order, and processes it under its own terms. The owner of HalusAI sees it when a check needs a person. It is stored on our server in Singapore and is never sent by email or chat. When a receipt is uploaded, the owner gets a Telegram alert with only the order's reference code, the pass or plan, the amount, whether it was approved automatically, whether the buyer is new or already had an account, and how many orders are waiting. The alert never contains the receipt, your name or the order page link.
  • What we read from it. We keep the details read from the receipt (amount, recipient, date, time, transaction reference) with the order, so the payment can be checked and a receipt cannot be used twice.
  • For how long. Receipts of approved payments, including approvals we later cancel, are kept with the payment and accounting records for 7 years, as Malaysian law requires. Receipts of orders that were not approved are deleted 30 days after that decision. After that we keep only a fingerprint of the file (a hash, from which the receipt cannot be rebuilt) and the bank transaction reference, so the same receipt cannot be used again.
  • Also on the order. We keep a hashed form of the IP address and device on the order and on each receipt, and delete it after 90 days, as we do for other usage events. The order's record itself (its reference code, pass, amount, status and times) is kept with the payment records.

If you have an order page from before 7 November 2026, keep its link private: it is the key to your order and your pass.

5. How we use your data

  • To run the service: rewrite your texts, show you the results, sign you in and keep your word balance.
  • To take payments: through Stripe, or by DuitNow QR with a receipt checked automatically, sometimes by our team, and to keep the payment and accounting records the law requires.
  • To give support: answer questions, look into problems and handle refunds.
  • To prevent abuse: enforce limits, stop account sharing, refuse texts that try to manipulate the system, and stop a payment receipt being reused.
  • To improve HalusAI: for example, by studying where rewrites go wrong so the next version does better.
  • To email you: codes and links to verify your email when you create an account and to reset your password, a note if someone asks to create an account with your email address when you already have one, a welcome email, and messages about your passes (a receipt, a note when half your words are left, a note about 24 hours before a pass ends, and one when it has ended). We send these to every account. Tips and offers (a few tips after you sign up, and a note after a pass has ended) go only to accounts that ticked "Send me tips and offers by email". The box is unticked until you tick it. Each of these emails has an unsubscribe link that works in one click, and you can switch them off in your account at any time.

We do not sell personal data, and we do not use it for advertising. By creating an account and using HalusAI, you consent to the processing described in this policy. You can withdraw that consent at any time (see your rights).

6. Who receives your data

We share data only with the kinds of providers HalusAI needs in order to work:

  • AI model providers, which process your text to produce the rewrites. They act under their own terms, which may include keeping the text for a short period for abuse monitoring. Where we can choose, we do not allow them to use it for training.
  • Stripe, our payment processor, which handles payments and card details. Stripe keeps its own records under its own privacy policy.
  • An AI service provider (through OpenRouter), which reads DuitNow QR receipt screenshots so payments can be checked automatically. It receives the image only.
  • Our bank, which receives DuitNow QR payments and sends their refunds by bank transfer. We do not send it the receipts you upload.
  • Telegram, which delivers the owner's alerts about new DuitNow QR receipts. An alert carries only the order's reference code, the pass or plan, the amount, whether it was approved automatically, whether the buyer is new or already had an account, and how many orders are waiting. It never carries the receipt, your name or the order page link.
  • Our email provider, which delivers the codes and links to verify your email or reset your password, and the other emails we send you (about your passes, and tips and offers if you agreed).
  • Our hosting provider, whose servers in Singapore run HalusAI and store its data.

We may also disclose data to the authorities where the law requires it.

7. Transfers outside Malaysia

Because of the providers above, your data is transferred outside Malaysia: our servers are in Singapore, and the AI model providers, the AI service that reads receipts, Stripe, Telegram and our email provider may process data in other countries. By using HalusAI, you consent to these transfers. We send each provider only what it needs for its part of the service.

8. Cookies and local storage

  • Cookies: essential only. A session cookie keeps you signed in, and a short-lived cookie is used while you create an account or reset your password. HalusAI does not work without them.
  • Local storage in your browser. It keeps the draft you paste on the home page for up to 1 hour, so it survives the sign-in step: the app takes it when you open it, and an older one is removed the next time you open HalusAI in that browser. It also keeps your preferences. This stays on your device.
  • No analytics or advertising cookies. That is why there is no cookie banner.

You can clear cookies and local storage in your browser settings at any time. Clearing cookies signs you out.

9. How long we keep data

DataKept forThen
Account details (email address, hashed password, sessions, word balances)While your account is openRemoved when you delete your account
Job records (texts, results, every version the model wrote, your picks)365 days from each runDeleted automatically. If you delete your account, kept without any link to you until the 365 days end
Usage events (with hashed IP addresses), and the hashed IP address and device on DuitNow QR orders and receipts90 daysDeleted automatically
Shared logins: each browser's sign-in session, and the hashed network (IP) address kept with each text sentWhile the shared login existsNot deleted after 90 days, because the login's limits count over its whole life
Payment and accounting records7 yearsAs Malaysian law requires, also after you delete your account
DuitNow QR orders (reference code, pass, amount, status, times)7 yearsKept with the payment and accounting records
DuitNow QR receipts of approved payments, including approvals we later cancel7 yearsKept with the payment and accounting records, as Malaysian law requires
DuitNow QR receipts of orders not approved30 days from the decisionDeleted. A fingerprint (hash) of the file is kept so it cannot be reused
Details read from DuitNow QR receipts (amount, recipient, date, time, transaction reference)Kept with the receipt: 7 years if approved, 30 days if notDeleted with the receipt. The transaction reference is kept so a receipt cannot be reused
Codes and links to verify your email or reset your passwordWork once, for 15 minutesDeleted about a day after they expire
Wrong-password counts for an account (a keyed hash of the email address typed, a count and times)Up to a dayDeleted automatically
Your draft in your browser's local storageUp to 1 hourMoved into the app when you open it there. Otherwise removed from your device the next time you open HalusAI

10. Your rights

Under the PDPA you can:

  • Access the personal data we hold about you.
  • Correct data that is wrong or out of date, including your email address.
  • Export a copy of your data.
  • Delete your account. What is removed and what is kept is set out under job records.
  • Withdraw consent to our processing. We then stop processing your data, except the records the law requires us to keep. Without that processing we cannot run the service for you, so withdrawing consent means closing your account.

How: use the Account page, or email support@halus.app from your account's email address so we can confirm the request is yours. An account opened with a personal invite link, or from a DuitNow QR order page, has no email address: for such an account, email us from any address with your DuitNow QR order's reference code. We may ask for your receipt to confirm the request is yours. We answer as soon as we can, within the time the PDPA allows. If you are not satisfied with our answer, you can complain to Malaysia's Personal Data Protection Commissioner.

11. Security

  • The site uses an encrypted connection (HTTPS).
  • Your password is stored only as a scrypt hash, never in plain text, and is never shown, logged or sent by email. After 10 wrong passwords for one account in 15 minutes, signing in to it pauses for 15 minutes. Use a password you use nowhere else, and keep your email account secure: anyone who can read your email can reset your password. Codes and links to verify your email or reset your password work once, for 15 minutes. An account opened with a personal invite link, or from a DuitNow QR order page, has no email address: its key is that invite link or the order page's link, so keep that link private.
  • A shared login's password is known to everyone in its group. Each browser sees only its own texts, but a browser left signed in shows its past texts to the next person, so sign out when you finish on a shared computer.
  • Card details go to Stripe. HalusAI never sees card numbers.
  • Job records sit in a store only the owner can access. IP addresses are stored only in hashed form.
  • DuitNow QR receipts are stored on our server in Singapore, with access for the owner only. They are sent only to the AI service that reads them, never by email or chat.
  • Never send card details to us by email or chat. We never ask for an online-banking password, TAC or OTP.

No system is perfectly secure. If a breach affects your personal data, we will tell you and the authorities as the law requires.

12. Children

HalusAI is not directed at children under 13, and they should not use it. To pay, you must be 18 or older, or have a parent's or guardian's consent. If you believe a child under 13 has given us personal data, contact us and we will remove the account.

13. Changes to this policy

We may update this policy. The date at the top shows when it last changed. If we make a significant change to how we use your data, we will tell you by email or on the site before it takes effect.

14. Contact

  • Business: Halus App
  • Address: Level 4, PAM Centre 99L, Jalan Tandok, Bangsar, 59100 Kuala Lumpur
  • Email: support@halus.app
  • Phone / WhatsApp: 012-200 5500
  • Support hours: Monday to Friday, 10:00-18:00 Malaysia time (GMT+8)

Notis Perlindungan Data Peribadi (PDPA)

Notis ini diberikan menurut Akta Perlindungan Data Peribadi 2010. Ia meringkaskan Dasar Privasi di atas. Sekiranya terdapat percanggahan, versi Bahasa Inggeris akan diguna pakai.

  • Siapa kami. HalusAI ialah alat penulisan yang dikendalikan dari Malaysia oleh Halus App, Level 4, PAM Centre 99L, Jalan Tandok, Bangsar, 59100 Kuala Lumpur.
  • Data yang kami kumpul. Alamat e-mel, kata laluan anda dalam bentuk cincang sahaja (bukan kata laluan sebenar), sesi log masuk, baki perkataan dan pembelian anda. Setiap teks yang anda hantar, hasilnya, setiap versi yang ditulis oleh model dan versi yang anda pilih. Rekod penggunaan dengan alamat IP dalam bentuk cincang (bukan alamat sebenar). Kiraan kata laluan salah bagi sesuatu akaun, disimpan dengan cincangan berkunci alamat e-mel yang ditaip (bukan alamat itu atau kata laluan yang ditaip), supaya log masuk ke akaun itu boleh dihentikan selama 15 minit selepas 10 cubaan salah. Rekod pembayaran melalui Stripe. Jika anda membayar pas melalui DuitNow QR, pesanan dan resit yang anda muat naik. Kami tidak pernah melihat nombor kad anda.
  • Akaun kongsi. Akaun kongsi yang kami sediakan untuk sesuatu kumpulan menggunakan satu alamat e-mel dan kata laluan, dan kata laluannya disimpan dalam bentuk cincang sahaja. Jika anda log masuk ke akaun kongsi, kami menyimpan sesi log masuk bagi pelayar anda dan, dengan setiap teks yang anda hantar, alamat rangkaian (IP) anda dalam bentuk cincang, bukan alamat sebenar.
  • Teks dan hasil anda disimpan selama 365 hari dalam storan yang hanya boleh diakses oleh pemilik HalusAI, untuk menjalankan perkhidmatan, mengendalikan sokongan dan menambah baik HalusAI. Selepas itu ia dipadam secara automatik.
  • Jika anda memadam akaun anda. Butiran akaun (e-mel, kata laluan dalam bentuk cincang, sesi dan baki perkataan) dipadam. Teks dan hasil yang anda hantar disimpan tanpa sebarang kaitan dengan anda sehingga tempoh 365 hari tamat. Teks masih boleh mengandungi butiran peribadi yang anda tulis di dalamnya, jadi jangan tampal data peribadi yang anda tidak mahu disimpan. Rekod pembayaran dan perakaunan disimpan selama 7 tahun seperti yang dikehendaki oleh undang-undang Malaysia.
  • Resit DuitNow QR. Selagi pilihan itu dipaparkan, pas dan pelan satu bulan boleh dibayar melalui DuitNow QR dalam aplikasi. Tangkapan skrin resit yang anda muat naik ialah data peribadi: ia biasanya menunjukkan nama pembayar, bank, rujukan transaksi, tarikh, masa dan jumlah, dan mungkin menunjukkan sebahagian nombor akaun. Anda boleh menutup apa-apa yang tidak kami perlukan (contohnya baki akaun), asalkan jumlah, tarikh, masa, rujukan dan nama penerima masih boleh dibaca. Kami menggunakannya untuk mengesahkan bayaran, mencegah resit digunakan semula dan penipuan lain, serta menyimpan rekod perakaunan. Resit dibaca oleh penyedia perkhidmatan AI (melalui OpenRouter) untuk menyemak bayaran secara automatik, dan oleh pemilik HalusAI jika perlu. Penyedia itu menerima gambar sahaja, bukan nama, e-mel atau pesanan anda. Resit disimpan di pelayan kami di Singapura dan tidak pernah dihantar melalui e-mel atau sembang. Kami menyimpan butiran yang dibaca daripada resit (jumlah, penerima, tarikh, masa dan rujukan transaksi) bersama pesanan. Apabila resit dimuat naik, pemilik menerima makluman Telegram yang hanya mengandungi kod rujukan pesanan, pas atau pelan, jumlah bayaran, sama ada ia diluluskan secara automatik, bilangan pesanan yang sedang menunggu dan maklumat sama ada pembeli itu baharu atau sudah mempunyai akaun. Makluman itu tidak mengandungi resit, nama pembeli atau pautan halaman pesanan. Kami juga menyimpan alamat IP dan maklumat peranti dalam bentuk cincang pada pesanan dan setiap resit, dan memadamnya selepas 90 hari seperti rekod penggunaan lain. Jika anda mempunyai halaman pesanan dari sebelum 7 November 2026, rahsiakan pautannya: ia ialah kunci kepada pesanan dan pas anda.
  • Tujuan. Menjalankan perkhidmatan, menerima pembayaran (melalui Stripe, atau DuitNow QR dengan resit yang disemak secara automatik, kadangkala oleh pasukan kami), memberi sokongan, mencegah penyalahgunaan, menambah baik HalusAI dan menghantar e-mel untuk mengesahkan alamat e-mel dan menetapkan semula kata laluan, nota jika seseorang meminta untuk mencipta akaun dengan alamat e-mel anda sedangkan anda sudah mempunyai akaun, e-mel sambutan dan e-mel tentang pas anda kepada semua akaun. Tip dan tawaran melalui e-mel dihantar hanya kepada akaun yang menandakan kotak "Hantar tip dan tawaran kepada saya melalui e-mel" (kotak itu tidak ditanda sehingga anda menandanya). Setiap e-mel itu mempunyai pautan berhenti melanggan satu klik, dan anda boleh mematikannya dalam halaman Akaun pada bila-bila masa. Kami menyimpan tarikh anda bersetuju dan versi ayat yang anda setujui. Kami tidak menjual data peribadi.
  • Pihak yang menerima data. Penyedia model AI yang memproses teks anda untuk menghasilkan tulisan semula, di bawah terma mereka sendiri (ini mungkin termasuk menyimpannya untuk tempoh yang singkat bagi pemantauan penyalahgunaan, dan jika kami boleh memilih, kami tidak membenarkan mereka menggunakannya untuk latihan). Stripe (pembayaran). Penyedia perkhidmatan AI (melalui OpenRouter) yang membaca tangkapan skrin resit DuitNow QR, dan hanya menerima gambar itu. Telegram (makluman kepada pemilik tentang resit baharu, tanpa resit atau nama anda). Bank kami (menerima bayaran DuitNow QR dan menghantar bayaran baliknya melalui pindahan bank, tetapi kami tidak menghantar resit anda kepadanya). Penyedia e-mel kami (kod dan pautan untuk mengesahkan e-mel atau menetapkan semula kata laluan, dan e-mel lain kepada anda: tentang pas anda, serta tip dan tawaran jika anda bersetuju). Penyedia pengehosan kami (pelayan di Singapura). Pihak berkuasa, jika dikehendaki oleh undang-undang.
  • Pemindahan ke luar Malaysia. Disebabkan penyedia ini, data anda dipindahkan ke luar Malaysia, termasuk ke Singapura. Penyedia model AI, perkhidmatan AI yang membaca resit, Stripe, Telegram dan penyedia e-mel kami mungkin memproses data di negara lain.
  • Kuki. Kuki penting sahaja: satu kuki sesi memastikan anda kekal log masuk, dan satu kuki sementara digunakan semasa anda mencipta akaun atau menetapkan semula kata laluan. Storan tempatan pelayar menyimpan draf anda (1 jam) dan pilihan anda. Tiada kuki analitik atau pengiklanan.
  • Tempoh simpanan. Butiran akaun (termasuk kata laluan dalam bentuk cincang): selagi akaun dibuka. Teks dan hasil: 365 hari. Rekod penggunaan: 90 hari. Rekod pembayaran: 7 tahun. Resit DuitNow QR: 7 tahun bagi bayaran yang diluluskan, termasuk kelulusan yang kemudiannya kami batalkan (bersama rekod pembayaran dan perakaunan, seperti yang dikehendaki oleh undang-undang Malaysia). Resit bagi pesanan yang tidak diluluskan dipadam 30 hari selepas keputusan dibuat, dan hanya cap jari fail (cincangan) dan rujukan transaksi bank disimpan supaya resit yang sama tidak boleh digunakan semula. Butiran yang dibaca daripada resit disimpan dan dipadam bersama resit itu. Rekod pesanan DuitNow QR (kod rujukan, pas, jumlah, status dan masa): 7 tahun, bersama rekod pembayaran. Alamat IP dan maklumat peranti dalam bentuk cincang pada pesanan dan resit: 90 hari. Kod dan pautan untuk mengesahkan e-mel atau menetapkan semula kata laluan: sah sekali sahaja selama 15 minit, dan dipadam kira-kira sehari selepas tamat tempoh. Kiraan kata laluan salah bagi sesuatu akaun (cincangan berkunci alamat e-mel yang ditaip): sehingga sehari.
  • Wajib atau sukarela. Alamat e-mel dan kata laluan wajib untuk membuka akaun. Tanpanya kami tidak dapat memberikan perkhidmatan. Tip dan tawaran melalui e-mel adalah sukarela. Pengecualian: akaun yang dibuka dengan pautan jemputan peribadi atau daripada halaman pesanan DuitNow QR tidak mempunyai alamat e-mel atau kata laluan. Bagi bayaran DuitNow QR, resit wajib dimuat naik. Tanpanya, kami tidak dapat mengesahkan bayaran dan perkataan pas tidak diberikan. Kandungan teks anda adalah pilihan anda.
  • Hak anda. Anda berhak untuk mengakses, membetulkan, mengeksport dan memadam data anda, serta menarik balik persetujuan, melalui halaman Akaun atau melalui e-mel ke support@halus.app daripada alamat e-mel akaun anda. Jika akaun anda tidak mempunyai alamat e-mel (akaun yang dibuka dengan pautan jemputan peribadi atau daripada halaman pesanan DuitNow QR), hantar e-mel kepada kami daripada mana-mana alamat dan nyatakan kod rujukan pesanan DuitNow QR anda. Kami mungkin meminta resit anda untuk mengesahkan bahawa permintaan itu daripada anda. Anda juga boleh membuat aduan kepada Pesuruhjaya Perlindungan Data Peribadi.
  • Kanak-kanak. HalusAI tidak ditujukan kepada kanak-kanak di bawah umur 13 tahun. Pembayaran memerlukan umur 18 tahun ke atas, atau persetujuan ibu bapa atau penjaga.
  • Hubungi kami. E-mel: support@halus.app · Telefon / WhatsApp: 012-200 5500 · Waktu sokongan: Monday to Friday, 10:00-18:00 Malaysia time (GMT+8)