This document was written in Bahasa Malaysia, which is the official and binding version. The Bahasa Malaysia version is the controlling version in the event of any conflict of interpretation with a translation, including this English one.
1. What we collect
Rojak collects the data required to operate the Service, plus basic usage data used to improve this site.
1.0 Third-party tools on this site
We use four third-party tools on our public pages:
Google Analytics, anonymous visit statistics: pages viewed, device type and country.
Microsoft Clarity, anonymous session recordings (mouse movement, scrolling, taps) so we can see where users get stuck. The images and videos you upload, and the results generated, are masked out of these recordings and are not sent to Microsoft.
TikTok Pixel, which measures the effectiveness of our advertising.
Meta Pixel, which measures the effectiveness of our advertising on Facebook and Instagram.
All four of these tools store cookies. You can block them using your browser settings or any ad blocker, and the Service will continue to work normally.
1.1 Account data
Email address, used as your account identifier and for transactional email (login links, purchase receipts).
Password, stored as a salted scrypt hash. We never see your plaintext password.
IP address at registration, used to prevent abuse of the free credit grant. Stored in plaintext alongside your account record.
Credit balance and generation count, used to meter the Service.
1.2 Generation data
Uploaded character images, treated as biometric data (see Terms, section 5). Sent to fal.ai for processing (see section 3). We do not use your photo to train AI. For uploads from 3 October 2026, the source image is deleted from our blob storage as soon as your video is ready; if that deletion does not succeed, or the generation fails or is never completed, it is deleted automatically within 4 days. Uploads from before that date are not yet deleted automatically: email hello@rojak.app or message us on WhatsApp and we will delete them.
Saved looks (Simpan Rupa), only if you tick the box Simpan gambar ini untuk video seterusnya ("Save this photo for my next videos") on the Muka step in the Studio, we keep one copy of that photo, and one small picture of it for your list, in our Vercel Blob storage (at most 6 photos per account). It is treated as biometric data like any other character image, is sent to fal.ai and Google when you use it for a video, and is not used to train AI. If you do not tick it, nothing changes: your photo is deleted as described above.
Uploaded reference videos, sent to fal.ai for processing. We do not use them to train AI. The deletion rules are the same as for character images above.
Generated output videos, copied to Vercel Blob (at URLs that cannot be guessed but are publicly accessible) in order to deliver them to you. If that copy does not succeed, the video stays at its fal.ai link, which is subject to fal.ai's terms (section 3). Our copy is kept until you delete your account or ask us to delete it. Studio does not yet have a delete button for a single video: email hello@rojak.app or message us on WhatsApp with the video URL. Finished videos may also be checked automatically for quality: a few frames from the video are sent to Google (Gemini) and are not used to train models.
Generation metadata, including timestamps, the fal.ai request ID and the credit cost. Stored in Vercel KV until you delete your account.
1.2a Other generations (WhatsApp, Iklan UGC, Gaya, Hidupkan Gambar)
WhatsApp bot, images and videos you send are deleted automatically within 7 days. Type "padam" in the chat to delete them immediately. The text of your messages and the bot's replies is kept in the conversation record for up to 180 days (section 2).
Iklan UGC, the selfie and product photo you upload on the website from 3 October 2026 are deleted automatically within 4 days; those sent through WhatsApp are deleted within 7 days. The ad images and videos generated are kept until you ask us to delete them.
Gaya and Hidupkan Gambar, the source image you send is deleted automatically within 7 days. The results generated are kept until you ask us to delete them and are not deleted automatically. Email hello@rojak.app or message us on WhatsApp.
1.3 Payment data
Purchases (one video, the Ahli Rojak membership or an old credit pack) are processed by Stripe. Stripe receives your card details directly, encrypted on their servers. We only see the Stripe customer ID, what was purchased, the amount, and the verified email associated with the payment. We do not store card numbers.
1.4 Push notification data
If you enable push notifications, your browser gives us a push subscription token (a cryptographic endpoint, not personal identification). We store this against your account so we can tell you when a generation finishes. You can disable push notifications from your browser settings at any time, which invalidates that token.
1.5 Customer support data
If you type into the "Adik Rojak" support chat on this site, or contact us through WhatsApp (+60 11-4572 6594):
Your messages and the bot's replies, stored so our team can read the conversation, reply to you, and fix answers that were wrong. Your messages are sent to Google (Gemini) to generate a reply.
Your account email address, recorded alongside the conversation if you are logged in, so we know whose conversation it is and can reply to you. If you are not logged in, the conversation is stored anonymously.
Do not type card numbers, passwords or identity card numbers into that chat. We do not need them and the chat is not the place for that information.
1.6 Passport photo tool (/gambar-passport)
The passport photo cropper runs entirely inside your browser. Your photo is not sent anywhere to crop, resize or make a 4R sheet. Only steps that you start yourself send your photo off your device:
White background removal (100 credits), your source photo is sent to fal.ai to have its background removed, and the result comes back to your browser. We do not store that photo.
Optional AI steps (pose correction, face detection, spec check), your photo is sent to an AI processor (fal.ai or Google Gemini) to be processed, and the result comes back to your browser. We do not keep that photo in our blob storage.
“Email it to me”, your finished photo is sent as an attachment through Resend, our email provider. We do not store that photo; we keep your email address, a timestamp and the kind of image sent, plus your IP address and send counters for up to 24 hours, so we can rate-limit abuse and know how many people use this feature.
Signing up on that page, only your email address is sent. Your photo is not. The resulting account is an ordinary Rojak account, covered by the rest of this policy, and it is what unlocks the 5 crop versions and lets you pay.
2. How long we keep your data
Account records, until you delete the account.
Source uploads (character images, reference videos), deleted as soon as your video is ready (within seconds); if that deletion does not succeed, or the generation fails or is never completed, automatically within 4 days. This applies to uploads from 3 October 2026. Earlier uploads are deleted on request.
Saved looks (Simpan Rupa), kept until you delete it yourself (the Padam button on that look on the Muka step in the Studio) or delete your account. This is the only face photo we keep for longer than your video; it is not part of the 4-day deletion above. We cannot delete copies held by fal.ai (section 3).
Viral move and character videos copied to our storage, kept until you delete your account or ask us to delete them.
Gaya, Hidupkan Gambar and Iklan UGC results, kept until you ask us to delete them.
Images and videos sent to the WhatsApp bot, deleted automatically within 7 days.
Stripe payment records, kept for as long as Malaysian tax law requires records to be retained (currently 7 years).
Email addresses from the passport photo tool, kept until you ask us to delete them. Photos sent by email are not stored at all.
Internal operations log (events and errors that contain your email and generation ID), kept in a capped buffer (the latest 100 events per user, and the latest 1000 events and 500 errors overall) that is continuously overwritten; it is not specifically deleted when you delete your account.
Server logs (IP, request URL), kept at Vercel for up to 30 days, then deleted automatically.
Support chat conversations, kept for up to 180 days, then deleted automatically.
WhatsApp message text and the bot's replies, including your phone number and the email you verified, kept in the conversation log for up to 180 days, then deleted automatically. The conversation record the bot uses to answer you expires after 7 days of inactivity.
3. Third-party processors
Rojak relies on the following processors. By using the Service, you consent to your data being shared with them for the stated purposes.
fal.ai (United States), AI video generation. Uploaded images and videos are sent here for processing: we give fal.ai a link to the file in our storage and it fetches it. Since 2 October 2026, every request we send to fal.ai carries an instruction not to keep the request record (the link and the text prompt), which fal.ai otherwise keeps for 30 days by default; requests from before that date may still be held there for up to 30 days. fal.ai still keeps generated videos on its CDN for a period it decides; we do not control that period and cannot delete copies held there. fal.ai's terms allow it to use anonymised or aggregated data derived from use of its services, which may be based on customer input, to develop its products and AI models. We ourselves do not use your images or videos to train AI and we do not sell them. Privacy, Terms.
Stripe (United States, with a Malaysian entity), payment processing. Privacy.
Resend (United States), transactional email (login links, receipts) and delivery of the passport photo when you ask us to email it to you. Privacy.
Cloudflare (United States), DNS and edge protection for rojak.app. Privacy.
Google (United States), Google Analytics: anonymous visit statistics on public pages. Privacy.
Google (United States), Gemini: generates support chat replies (the messages you type into the chat are sent here) and checks images and videos you upload (face count, inappropriate content, face match, passport photo checks). Privacy.
Anthropic (United States), Claude: our WhatsApp bot uses it to answer your messages and to comment on pictures. What is sent to Claude: the messages you type in the WhatsApp chat (together with your WhatsApp profile name, your phone number and the email you verified, if any) and a summary of older conversation; pictures you send as pictures in that chat (a small copy, including selfies for a passport photo; up to 10 a day per number), so that Claude writes one short line about clothing, accessories, setting and light, and we instruct it not to mention face, expression, age or identity; and, for generated Gaya results, the result image itself (full size) for one line of comment. The line about your picture is kept in the conversation record the bot uses to answer you, which expires after 7 days of inactivity. Anthropic keeps data under its own privacy policy (link here). Under Anthropic's Commercial Terms (effective 17 June 2025, section B), Anthropic may not train its models on customer content sent through its services, and we do not use it to train AI ourselves. Privacy.
Meta (United States), WhatsApp: the images, videos and messages you send to our WhatsApp bot travel through the WhatsApp platform; we cannot delete copies held by WhatsApp. Privacy.
Microsoft (United States), Clarity: anonymous session recordings. Your images and videos are masked out of the recordings and are not sent here. Privacy.
TikTok (Singapore / United States), TikTok Pixel: advertising measurement, including sign-up events sent from our server (your email and IP address). Privacy.
Meta (United States), Meta Pixel: advertising measurement and ad audiences on Facebook and Instagram. The pages you view, actions such as sign-up, starting checkout and purchase (value and currency), your IP address and your browser details are sent here. We do not send your email, phone number, name, photos or videos. If you are logged in to Facebook or Instagram, Meta may match this visit to your account. Privacy.
4. Your rights under the PDPA (Malaysia)
Under Malaysia's Personal Data Protection Act 2010, you have the right to:
Access the personal data we hold about you, by emailing hello@rojak.app.
Correct inaccurate data, by updating your account or emailing us.
Delete your data using the "Delete account" button on the Account page. This removes your user record, generation history, the uploaded files linked to your account's generations (viral move videos, character videos and Iklan UGC), your viral move and character videos, your saved looks, IP record and push subscription token. Gaya, Hidupkan Gambar and Iklan UGC results, and older uploads not linked to your account's generations (including those from before 3 October 2026), are deleted on request: email hello@rojak.app or message us on WhatsApp. We cannot delete copies held by fal.ai (section 3).
Withdraw consent for processing, which means closing your account.
Object to direct marketing, although we do not currently send direct marketing email.
5. Security
All connections to rojak.app use HTTPS. Passwords are stored as salted scrypt hashes, with a per-user salt. The session cookie is HMAC-signed, HttpOnly, Secure, SameSite=Lax. Generated video URLs cannot be guessed (they contain a random identifier) but are publicly accessible. Do not share a generation URL that you want to keep private.
6. Cookies
We set one functional cookie, ms_session, which is the HMAC-signed login session. It is essential for the Service to work. The third-party tools in section 1.0 (Google Analytics, Microsoft Clarity, TikTok Pixel, Meta Pixel) set their own cookies on public pages; you can block them (see section 1.0).
7. Children
Rojak is for users aged 18 and over. We do not knowingly collect data from anyone under 18. If we find an account belonging to a child, the account and the personal data we hold will be deleted, except records we are required to keep (section 2).
8. International transfers
Most of our processors are based in the United States (Vercel, fal.ai, Stripe, Resend, Cloudflare). When you use Rojak from outside the United States, your data is transferred to and processed in the United States. By using the Service, you consent to that transfer.
9. Changes to this Policy
Material changes will be announced by email. The "Last updated" date at the top of this page reflects the most recent revision.
10. Contact us
For privacy questions, complaints or data subject requests: hello@rojak.app
Operated by the Rojak Studio team (Malaysia). Contact: hello@rojak.app.