Last updated: 23 October 2026
No account No sign-in No ads No location No contacts No selling of data
Reasonable Tomato is made and published by Plapl Games. It is a comedy app: you type the message you want to send, and it rewrites it in the mood you pick. It can also decode a message you received. This policy covers the app on Android, iPhone and iPad.
Only when you tap Tomato-ify or "What did they mean?", or use Tomato-ify in another app. Up to 1,000 characters are sent. When decoding, you can add up to 4 earlier messages yourself for context (up to 500 characters each, 1,500 in all); they are sent only with that decode and are not stored. When you reply after decoding, the message you are replying to and the reply plan you chose are sent too.
Over HTTPS to our server (a Cloudflare Worker at tomato-api.plapl.app), which sends it
to Google's Gemini API and returns the result.
We don't store or log message text; it is not written to any database. Our server logs hold only counts, lengths, the tone and error codes.
Google processes the request as our service provider, on a paid Gemini API plan, to produce the result. On that plan Google doesn't use the text to improve its products; it may keep it for a limited time to detect abuse, as the Gemini API terms describe. We don't store it.
ANDROID_ID), the app makes a
one-way scrambled code: a salted SHA-256 hash. It is not the identifier itself.Neither code is linked to an account or to a person.
It is sent with each request, to apply the free daily limit and, if you buy something, to apply your subscription or credits (see Purchases). For usage counts, the server scrambles it a second time with a secret key and stores only that second code.
Simple events, each carrying the scrambled device code and only these fields:
The server refuses any other event or field.
For each rewrite or decode, the server adds 1 to daily counters (mode, tone, how-mad level, audience, length, language and outcome) and records Gemini token totals.
No text, ever.
A vote on a result sends only the prompt version, mode, tone, how-mad level, audience, length, language, which version you voted on, and the vote. It sends no device code and no text. Votes are stored as daily counters.
The app fetches its settings (tones, moods, seasonal occasions and purchase settings) from our server; nothing is sent but the request itself. The day's practice scenario is fetched with only the app language: no device code and no text.
The rules for subscriptions, free trials and credit packs are in the Terms of Use.
| What | Contents | How long |
|---|---|---|
| Daily limit and purchases, per device code | Today's request count, your tier (free, trial, subscriber), credit balance, subscription status (product, store, expiry date), and the ids of purchases already credited | The daily count resets each day; the rest is kept while the app is in use |
| Credit-pack ledger, per store transaction | Which device code first received a credit pack, so a restore can't credit it twice | Until the service is retired |
| Device summary, under the second code | First and last active day, last language, level, number of active days, lifetime request and video counts | Until the service is retired |
| Daily activity, under the second code | The day, language, level and that day's request and video counts | 120 days, then deleted automatically |
| Daily totals by label | Counters by fixed labels (events, language changes, requests, tokens, video renders, levels, feedback votes), with no device code | Until the service is retired |
Privacy floor: our dashboard shows any group smaller than 5 people as "<5", so small groups can't be singled out.
Clearing the app's data, or uninstalling the app, removes all of it.
| Feature | What it is used for |
|---|---|
| Internet | To reach our server. |
| Microphone (optional, "Hold to vent") | Your speech is turned into text by your phone's own speech service. On Android that is the system speech recognizer (Google's on most phones), which may work offline. On iPhone and iPad it is Apple's speech recognition: on the device when your language supports it, otherwise on Apple's servers, under Apple's privacy policy; iOS asks for the microphone and for speech recognition separately. Audio never reaches our server. The text stays in the box until you choose to Tomato-ify it. |
| WhatsApp and Telegram stickers (optional) | "Add to WhatsApp" and "Add to Telegram" hand the tomato sticker pictures to that app. Nothing about you is included. |
| Clipboard | The app only checks whether there is text. It reads it only when you tap "Paste what you copied?". |
| Text selection and sharing (Android) | Tomato-ify in other apps' text selection or share menu receives only the text you select or share. |
Sending a result, a card or a video uses your phone's share sheet. The app never sends messages for you.
If text contains self-harm wording, the app shows a link to findahelpline.com. This is detected on the phone and on our server. It is not stored, and it doesn't count toward the daily limit.
Reasonable Tomato is for adults: you must be 18 or older to use it. It is not directed at anyone under 18, and we don't knowingly collect data from anyone under 18.
We will update this page if the app changes what it collects, and the "Last updated" date at the top will show when.
Email support@plapl.app.