Meme Chat AI is an AI chat app with meme and GIF media. You confirm your age, sign in, chat with an AI companion, and can browse, search, attach, and download trending memes and GIFs, and send stickers you pick. To make that work, your messages — and the meme, GIF, and sticker images involved in a chat — are sent to OpenAI to generate replies and are stored in our Firebase backend; meme, GIF, and sticker media come from Klipy; when the AI determines a message needs current, real-world information, a short search query derived from your message is sent to Tavily (a web-search provider) and the results are used to inform the reply; and subscriptions run through RevenueCat with the app stores. You can also build your own custom chat personas: the text you write and any avatar you upload are screened by automated moderation before the persona goes live, the persona's text is sent to OpenAI as part of its prompt when you chat with it, and the personas you make are private to your account. You can optionally generate a persona avatar from a short text description, which is sent to OpenAI's image generation to create the picture. Free users see ads served by Google AdMob (we request non-personalized ads); paid plans are ad-free. We do not sell your personal information, and the app does not use third-party analytics, crash-reporting SDKs, attribution SDKs, or cross-app tracking.
This policy explains, in plain English, what data Meme Chat AI handles, who processes it, how long it is kept, and the choices you have.
Meme Chat AI ("the App") is published by MemeChatAI ("we", "us"). The App is built with Expo and React Native, and its backend runs on Google Firebase (Authentication, Cloud Firestore, and Cloud Functions).
The main services that process your data are:
We do not sell your personal information. Free users see ads served by Google AdMob, for which we request non-personalized ads (see Section 14); paid plans are ad-free. Aside from AdMob, we do not use third-party analytics SDKs, crash-reporting SDKs, attribution SDKs, or cross-app tracking. Backend logs and diagnostics are still processed by Firebase / Google Cloud as part of running the service (see Section 13).
| Category | Examples | Where it goes |
|---|---|---|
| Account & authentication | Email address, Firebase user ID (UID), email-verification status, sign-in provider, Apple Sign In identifier | Firebase Authentication, Firestore profile |
| Age-gate data | Date of birth you enter and the resulting pass/block decision | Stored locally on your device (AsyncStorage); see Sections 4 and 11 |
| AI conversation content | Your messages and the AI's replies (text) | Sent to OpenAI; stored in Firestore |
| Meme/GIF/sticker image inputs & references | Meme image URLs, animated-GIF still frames, and the still image of any sticker you send involved in a turn; stored references/metadata (including a sticker's title and the search term you typed) for memes, GIFs, and stickers attached to messages | Image inputs sent to OpenAI; references stored in Firestore; media fetched from Klipy |
| User-uploaded chat photos | Photos you take with the camera or pick from your library to attach to a message (compressed on-device before upload) | Stored in Firebase (Cloud) Storage under messageImages/{uid}; sent to OpenAI as image inputs; deleted on conversation/account deletion |
| Custom persona content (Persona Creator) | The personas you build: name, description/tagline, identity, example reply, humor and slang notes, greeting styles, emoji set, optional word bank, and meme/GIF preferences | Stored in Firestore (user_personas, linked to your UID) and private to your account; the persona text is sent to OpenAI for moderation when you save or edit it, and as part of the system prompt when you chat with that persona; see Sections 5, 7, and 18 |
| Persona avatars | An optional image you upload for a persona you create, or one generated for you from a short text description | Stored in Firebase (Cloud) Storage under personaAvatars/{uid}; sent to OpenAI's moderation as an image input when you save the persona; deleted on persona/account deletion; see Sections 7, 9, and 18 |
| Persona avatar generation prompt | The short text description you type to generate a persona avatar | Sent to OpenAI's image generation API to create candidate avatar images and screened by moderation; not stored after generation (only an image you choose and save is kept, as a Persona avatar above); see Sections 5 and 18 |
| Persona description generation input | When you ask AI to write a persona's description: the creator fields you have entered (name, tagline, vibe, humor) plus the persona's avatar image | Sent to OpenAI to generate a short description and screened by moderation; not stored after generation (only the description you keep is saved, as Custom persona content above); see Sections 5 and 18 |
| Conversation metadata | Conversation titles, first-message snippet, last-message preview, summaries, persona metadata, timestamps | Firestore (titles/summaries are generated by OpenAI) |
| Message ratings / reactions | Thumbs up/down you give an AI reply | Firestore (stored on the message) |
| Memory notes (paid plans) | Short notes the AI writes about you during conversations, such as your general vibe, people you mention, and topics you return to; only written when Memory is enabled | Stored in Firestore on your account (linked to your Firebase UID); included in AI context sent to OpenAI when Memory is on; manageable in-app (see Section 7) |
| Profile & personalization | Alias/nickname, display name, rot-level preference, chat appearance customization | Firestore profile and/or local device; rot level may influence AI prompts |
| Usage, credit & billing metadata | Token counts, cost estimates, credits, plan/model, usage events | Firestore; visible in backend logs |
| Purchase & subscription data | Subscription status, product IDs, entitlement/expiry, receipts/purchase tokens, transaction metadata, and RevenueCat app user ID (= your Firebase UID) | RevenueCat, Apple App Store, Google Play; status mirrored in Firestore |
| Klipy meme/GIF/sticker request data | customer_id (= your Firebase UID), page, results-per-page, locale/country, content-filter level, and a search query. For memes and GIFs this query may be one you type or one the AI generates from the conversation; for stickers it is only a query you type, since stickers are send-only and the AI never picks them |
Sent to Klipy via our backend |
| Web search query data | A short search query the AI generates from your message (and recent conversation context) when it determines the turn needs current, real-world information; no account identifier is sent | Sent to Tavily via our backend; results inform the AI reply and are not stored long-term (see Section 5) |
| Content moderation records | When a message, name, persona/avatar, or photo is flagged: your user ID, conversation ID (if applicable), message reference (if applicable), flag reason, model/version, and timestamp — never the raw flagged text or image | Stored in our backend (Firestore) for safety and audit purposes; not readable through the App or accessible to other users; see Section 18 for data handling and our Safety page for what is blocked/steered and how to report a concern |
| Message reports | When you use the in-app report action on a message: your user ID, conversation ID, message ID, report category, app version, an optional note, and timestamp | Stored in our backend (Firestore); server-only, not readable through the App or accessible to other users; see Section 18 |
| Local device data | Theme/appearance, language, onboarding flag/step, alias, chat customization, age-gate status & date of birth, rot level, last-open conversation, Firebase Auth session/cache | Stays on your device (AsyncStorage) |
| Age data (server copy) | Date of birth and derived age band (16–17 or 18+), synced once after you pass the age gate; write-once, used only for age-appropriate safety handling (see Section 4) | Firestore (your account profile); deleted with your account |
| Technical, log & rate-limit data | Diagnostic logs, error strings, IP address / network data, attachment metadata, hashed IP rate-limit buckets | Cloud Functions logs (Google Cloud); Firestore (hashed IP) |
| Device permissions / OS surfaces | Camera and photo/media library access (to take or pick a photo to attach), media-library save access, notification permission, clipboard (when you copy a reply) | Your device; see Section 12 |
| Support communications | Emails you send us and their contents | Our support inbox |
| Advertising data (free users) | IP address, device information, advertising or app identifiers (where available and permitted), coarse location derived from IP, ad interactions, and diagnostics — used to serve non-personalized ads; paid plans are ad-free | Google AdMob; see Section 14 |
| Not collected (current version) | No microphone, precise location, contacts, calendar; no file or audio uploads; no third-party analytics, crash-reporting, or attribution SDKs; no cross-app tracking (free users do see ads via Google AdMob — see Section 14) | — |
An account is required to chat and to keep your conversation history. You must be signed in and have a verified email address to use the chat features. Anonymous sign-in is not permitted.
You can sign in with:
For your account we store your email address, your Firebase-generated user ID (UID), your email-verification status, and which sign-in provider(s) you used. If you use Sign in with Apple, we receive an Apple identifier and the email Apple shares with us — if you choose Apple's Hide My Email, that may be an Apple private relay address rather than your real email.
We do not store raw passwords. Password-based sign-in is handled entirely by Firebase Authentication.
During onboarding you may also set a personalization alias / nickname and a display name; see Section 7.
Meme Chat AI is intended for users 16 and older. The App includes a mandatory date-of-birth age gate. Before you can use the App, you enter your date of birth; the App computes your age and either lets you continue or blocks access if you are under the minimum age.
Your date of birth and the resulting pass/block decision are stored locally on your device (see Section 11). This record is intentionally retained on the device after you delete your account, so that someone under the minimum age cannot bypass the check by deleting and re-creating an account. It is cleared by reinstalling or removing the App.
In addition, once you pass the age gate, the App syncs your date of birth to your account profile on our servers (Firebase Firestore), along with a derived age band (16–17 or 18+). This server record is write-once (later submissions cannot change the stored date), is used only to support age-appropriate safety handling, and does not unlock any additional content — Meme Chat AI has no mature or 18+ mode for any age. The server copy is deleted with your account when you delete your account.
Meme Chat AI uses OpenAI to generate AI chat replies and to create conversation titles and conversation summaries. The App may use different OpenAI models depending on your plan.
When you send a chat message, our backend may send OpenAI:
Conversation history is sent to OpenAI so the AI can respond with context. In addition to text, the App sends image inputs to OpenAI: meme images are sent as image URLs, animated GIFs are decoded by our backend into a few still frames that are sent as image data, stickers you send are sent as their still (transparent) image so the AI can react to them, and photos you upload to a message (taken with the camera or chosen from your photo library) are sent as image data so the AI can respond to them. The App does not support other file uploads, audio, or microphone input, so those are not sent to OpenAI.
We also use OpenAI's moderation API as part of our content moderation pipeline (see Section 18), including when you create or edit a custom persona, where the persona's text and any avatar image (uploaded or AI-generated) are sent to OpenAI for moderation. Moderation calls are separate from chat calls and are subject to the same OpenAI data-handling terms.
AI-generated persona avatars. In the Persona Creator you can optionally generate an avatar instead of uploading one: you type a short description (up to 100 characters) and we send it to OpenAI's image generation API (gpt-image-1-mini) to create two candidate images. The description is screened by moderation before generation, and the candidate images are discarded unless you select one — a selected image is then treated exactly like an uploaded avatar (moderated and stored under personaAvatars/{uid}). Generating avatars draws from the same usage allowance as chat. AI-generated images can be imperfect or unexpected.
AI-written persona descriptions. In the Persona Creator you can optionally have us draft a persona's description for you. When you do, the details you have already entered (such as the name, tagline, vibe, and humor) and the persona's avatar image — the photo you uploaded or the avatar you generated — are sent to OpenAI to write a short description. The result is screened by moderation and placed in the field for you to keep or edit. This draws from the same usage allowance as chat. The request is not retained beyond generating the text, and the avatar image follows the same storage and deletion rules as any other persona avatar.
Separately, and at our own cost (never billed to you):
Your messages and the AI's replies are stored in our Firestore database, along with conversation titles, a first-message snippet, a last-message preview, summaries, persona metadata, and references to any attached memes, GIFs, and stickers (see Sections 6 and 7).
OpenAI states that data submitted through its API is not used to train its models by default, unless the developer explicitly opts in (we do not), and that OpenAI may retain limited API logs for abuse monitoring for up to 30 days unless a longer period is required by law or another exception applies. We have not entered into a Zero Data Retention arrangement with OpenAI. OpenAI's own privacy policy and API data-use terms govern its processing.
To answer questions that depend on current, real-world information (for example recent events, news, scores, prices, or anything that changes over time and may be beyond the AI's training knowledge), the App can perform a web search on your behalf. This happens automatically and only when it is needed:
We send Tavily only the search query and the parameters needed to run the search. We do not send Tavily your account identifier, your email, or your full conversation — just the short query. Tavily's processing, retention, and any logging are governed by Tavily's own privacy policy. Web search uses the same usage allowance as chat (the search and the extra context are metered like any other AI usage; see Section 13). Results returned from the web can be inaccurate, incomplete, or out of date.
AI responses can be inaccurate, incomplete, or out of date. Do not rely on them as professional advice.
Both you and the AI can attach Klipy memes and GIFs to messages. When a meme or GIF is part of a turn:
You can also send stickers from Klipy. Stickers are a send-only feature: you pick one from a trending strip or by searching, and the AI never sends stickers back. You can send up to three stickers in a turn, on their own or alongside memes and a GIF. When you send a sticker, its still (transparent) image is sent to OpenAI as an image input so the AI can react to it in character, and a reference to the sticker (its media URLs, basic metadata, the sticker's short title, and the search term you typed, if any) is stored on the message in Firestore so the conversation renders correctly later. The title and search term are used only to give the AI context about what you sent and are never shown to you.
You can also attach your own photos — taken with the
camera or chosen from your photo library. An attached photo is compressed
on your device, uploaded to our Cloud Storage under a path scoped to your
account (messageImages/{uid}/{conversationId}), referenced on
the message in Firestore, and sent to OpenAI as an image input. The App
does not support uploading other files or audio. Uploaded photos are
deleted when you delete the conversation or your account (see Sections
20–21).
Your conversations — including the full text of your messages and the AI's replies — are stored in Firestore and linked to your Firebase UID, so your history is available across your sessions. We also store conversation titles, a first-message snippet, a last-message preview, AI-generated summaries, persona metadata, references to attached memes, GIFs, and stickers, and any thumbs up/down rating you give an AI reply.
You may set a personalization alias/nickname and a display name, which are stored in your Firestore profile (and mirrored locally). Your rot-level preference is stored locally and on your messages and may influence the style of the AI's responses (see Section 5). Optional chat appearance customization (such as bubble style and background, which may be tied to paid features) is stored locally on your device.
You can delete individual conversations from within the App. Deleting a conversation removes that conversation and its messages, but it does not delete your account or profile, does not delete your purchase data, and does not refund credits. Your conversation data remains until you delete the conversation, delete your account, or we remove it for operational, safety, or legal reasons.
Paid subscribers (Sidekick, Wingman, and MVP plans) get a Memory feature that lets the AI write short notes about you over time, such as your general vibe, the people you mention, and topics you keep returning to, so it does not ask the same things twice.
The App lets you build your own chat personas. When you create or edit a persona you provide text such as its name, a short description/tagline, an identity, an example reply, humor and slang notes, greeting styles, an emoji set, an optional word bank, and meme/GIF preferences, and you may upload an optional avatar image.
user_personas,
linked to your Firebase UID), together with the prompt the App
renders from it. An uploaded avatar is stored in Cloud Storage under
personaAvatars/{uid} (see Section 9).The App uses the Klipy API to show trending memes, GIFs, and stickers, to let you search them by keyword, and to let the AI attach relevant meme/GIF reactions. Stickers are send-only: you can search for and send them, but the AI does not pick or send stickers. The Klipy app key is held only on our backend and is never exposed to the App.
When the App requests media, our backend sends Klipy:
customer_id, which is set to your Firebase UID;Search queries sent to Klipy may be ones you type or ones the AI generates from the conversation. When the AI decides a meme or GIF fits the moment, it forms a short search query based on the conversation context and our backend sends that query to Klipy. This means conversation-derived terms — not only text you type into a search box — may be sent to Klipy. Sticker searches are different: because stickers are send-only, sticker search queries are only ones you type, never ones the AI generates.
According to Klipy's integration notes, customer_id is used
for personalization and de-duplication and is expected to stay
consistent for the same user, which is why the Firebase UID is passed.
Meme/GIF results are shown in the App and are not stored long-term by us,
except that a reference to a meme/GIF/sticker you or the AI attach to a
message is stored on that message (see Section 6). Klipy's own handling,
retention, and analytics are governed by Klipy's policies.
The current version does not use any Klipy advertising features or ad SDK.
We use Google Firebase to run the App:
Cloud Storage for Firebase stores the photos you upload
as chat attachments, under a path scoped to your account
(messageImages/{uid}/{conversationId}), and any avatar image
you upload for a custom persona, under personaAvatars/{uid}.
Storage access is locked down so you can only read and write within your
own namespace. Chat-photo objects are deleted when you delete the
conversation or your account, and a persona avatar is deleted when you
remove or replace it, delete the persona, or delete your account (see
Sections 20–21). The App does not store any other user uploads (no other
files or audio) in Cloud Storage.
Our Cloud Functions logs may contain technical metadata such as your
UID, conversation and message IDs, token counts, cost/credit figures,
plan/model, attachment metadata, rate-limit details, IP/network data,
and error strings. We do not intentionally log the text of your prompts
or the AI's replies (see Section 13). Our Cloud Functions run in Google's
us-central1 region.
Firebase / Google Cloud processes this data on our behalf as a service provider/processor under its own terms.
Subscriptions, entitlements, and purchase restoration are managed through RevenueCat, with Apple App Store and Google Play as the payment processors. Your RevenueCat "app user ID" is set to your Firebase UID.
New subscribers may be offered a 7-day free trial of the Wingman (Plus) plan as a one-time introductory offer. The following terms apply to the free trial:
rcIsInTrial) and the trial end date
(rcTrialExpiresAt) in your Firestore profile. These
fields are cleared when the trial converts to a paid subscription
or when the subscription is cancelled or expires.RevenueCat and the app stores may process purchase history, product identifiers, subscription status, receipts or purchase tokens, transaction metadata, the app user ID / purchase identifier, entitlement status, trial period information, and renewal/expiration/cancellation events, along with related device/technical information. We never receive your full payment card number.
In your Firestore profile we store billing fields such as your plan,
active product ID, entitlement expiry, trial status and trial end date,
credit balance, RevenueCat app user ID, and related status while your
account exists. We also keep a compact webhook/audit record
(revenueCatEvents) of purchase events for accounting,
fraud-prevention, and legal purposes; that audit record does not store
your Firebase UID or RevenueCat app user ID.
RevenueCat's processing is governed by its privacy policy, and purchases are also governed by Apple's and Google's respective policies.
The App stores a small amount of data locally on your device using AsyncStorage:
Chats, prompts, AI responses, purchases, downloaded media, and logs are not persisted locally by the App's own code beyond what is listed above. Local app data is cleared as part of the sign-out and account-deletion flow, except the age-gate status and date of birth, which are intentionally retained on the device after account deletion (see Section 4). You can remove everything, including the age-gate record, by deleting the App from your device.
The current version of the App:
The current version does not request access to your microphone, precise location, contacts, calendar, Bluetooth, or speech recognition, and does not support file or audio uploads.
We ask for notification permission during onboarding. In the current version, granting permission does not result in a push token being collected or sent to us, and we do not currently send push notifications.
When you download a meme or GIF you've seen in chat, our backend fetches the Klipy media asset, composites a watermark onto it, and returns the watermarked image to the App. The App then saves the watermarked image to your device's photo/media library using the save permission above. We do not read or scan the rest of your photo library — the permission is used only to add the file you chose to save.
The App meters AI usage with a credit ledger. To do this we store token counts, cost estimates, the model/plan used, credit balances, and usage events linked to your UID. We may also keep anonymized daily usage aggregates that are not tied to an individual user.
To protect the service from abuse, our backend applies a per-IP rate limit. We store a hashed, truncated form of your IP address in a short-lived rate-limit record (swept automatically by a time-to-live policy) rather than your raw IP. However, your raw IP address or network information may appear in our Cloud Functions diagnostic logs — for example, in a rate-limit warning.
We do not intentionally log the text of your prompts or the AI's replies. Backend logs are used for operating the App, billing, security, rate limiting, and debugging, and may include metadata (including attachment metadata such as counts/hosts/types, never asset URLs) and error strings as described above.
Ads. The App shows ads to free users through Google AdMob and requests non-personalized ads where supported; paid plans are ad-free. Free users see two ad formats: a small banner on some screens, and occasional full-screen interstitial ads shown at natural breaks in the app, for example after an AI reply finishes or after you tap to create a new bot. We limit how often interstitials appear so they stay infrequent, and they are never shown while a message is being written or sent. Paid plans do not see any ads.
Ad providers may process information such as:
Non-personalized ads are not based on your past behavior, but they may still use contextual information, general location, device information, and technical data for ad delivery and measurement. Where required by law or platform rules, we or our ad partners may ask for consent before using certain identifiers or ad technologies.
Aside from Google AdMob, and based on the current version of the App, we do not use Google Analytics or Firebase Analytics, Crashlytics, Sentry, attribution SDKs, or any cross-app tracking. The only internal events we record are our own usage events and server logs, used for app functionality, billing, security, rate limiting, and debugging. Backend logs and diagnostics are still processed by Firebase / Google Cloud as part of running the service.
We use the data described above to:
We share information only as needed to run the App:
customer_id and any search query (meme/GIF queries may be typed or AI-generated; sticker queries are typed only).We do not sell your personal information. Free users see non-personalized ads through Google AdMob as described in Section 14; we do not otherwise share your data for cross-app tracking.
We use measures such as Firebase Authentication, server-side authorization checks, restricted database rules, backend-only API keys, host allowlisting for media, rate limiting, and automated content moderation to help protect your data and the safety of the App. No method of transmission or storage is completely secure, so we cannot guarantee absolute security.
Meme Chat AI runs automated content moderation on message text, display names/aliases, custom persona text and avatars, and uploaded photos before they are processed by the AI or saved. This is part of how we enforce our Terms of Use and keep the App a safer space. For a plain explanation of what the app blocks or steers, how self-harm and crisis situations are handled, and how to report a message or safety concern, see our Safety page: https://meme-chat-ai.com/safety. This section covers only the data-handling side of moderation.
When a message, name, persona, avatar, or photo is flagged, a moderation record is written to our backend containing: your user ID, the conversation ID (if applicable), a message reference (if applicable), the reason for the flag, the moderation model/version, and a timestamp. We do not store the raw flagged text or image in this record. It is retained for safety and audit purposes and is not readable through the App or accessible to other users (see Sections 2 and 20).
Flagged messages are not sent to the AI and are not stored in your conversation history; flagged names, personas, and avatars are rejected before they are saved. In each case you see an in-app notice, and the moderation record above is written.
If you use the in-app report action on a message, we write a report record containing your user ID, the conversation ID, the message ID, the category you selected, your app version, an optional note you add, and a timestamp. Report records are server-only: they are not readable through the App or accessible to other users, and are reviewed as part of our safety process (see Section 2).
If you believe your content was incorrectly flagged, or if you want to report content that you think should have been moderated but was not, use the in-app report action on a message, or contact us at memechataisupport@gmail.com. Please include as much context as possible so we can review the situation.
Meme Chat AI is intended for users 16 and older. It is not directed to children, and we do not knowingly collect personal information from anyone under the minimum age. The App uses a date-of-birth age gate to enforce this (see Section 4). If you believe someone under the minimum age has provided us personal information, contact us at memechataisupport@gmail.com and we will take appropriate steps.
You can delete your account from within the App. For your security, this requires recent re-authentication. Once you confirm, the App shows a non-cancellable progress screen while the deletion runs, so it cannot be interrupted partway through. When you delete your account, the App is designed to delete your Firebase Authentication user, your profile and its subcollections, the conversations and messages you own, your Memory notes, the custom personas you created and their avatars, the photos you uploaded as chat attachments (in Cloud Storage), and the usage events linked to your UID. After deleting these, the server re-checks that no per-user records or uploaded objects remain before reporting success. The App then signs you out and wipes local app data — settings, onboarding flag, alias, chat customization, chat session, persona selection, persona drafts, review-prompt state, and any scheduled daily notifications — other than the retained age-gate/DOB record described above.
Account deletion is performed across separate systems, so it cannot be perfectly atomic. We delete your sign-in record first; if a later cleanup step (or the post-deletion verification described above) fails, some records may briefly remain. The App is designed to report that failure instead of telling you deletion fully completed, so the issue can be retried or remediated. We attempt to delete all of the data described above, but cannot guarantee that every copy is removed instantly.
The following are not deleted by account deletion:
revenueCatEvents);Deleting your account does not cancel your subscription — cancel through the App Store or Google Play (see Section 10).
You can delete selected conversations from within the App. This removes those conversations and their messages (including ratings, meme/GIF/sticker references, and any photos you uploaded to them in Cloud Storage) but does not delete your account, profile, or purchase data, and does not refund credits.
Deleting the App from your device removes the local settings, onboarding flag, personalization, age-gate/DOB record, and session data stored on it.
You can:
Depending on where you live, you may also have the right to request access to, correction of, deletion of, or a copy/export of your personal data; to object to or restrict certain processing; to withdraw consent; and to lodge a complaint with, or appeal to, your data-protection authority. We may need to verify your identity before acting on a request. The App does not currently offer an in-app data export, but you can request a copy of your personal data by emailing us (see Section 26).
The privacy disclosures we provide in Apple's App Store ("App Privacy") and Google Play's ("Data safety") are intended to match this policy and the App's actual behavior. The mapping below is a draft to be confirmed against the final store listings.
| Data type | Examples | Linked to you? | Purpose |
|---|---|---|---|
| Contact info | Email address | Yes | Account management, app functionality |
| Identifiers | Firebase UID, RevenueCat app user ID, Apple Sign In identifier | Yes | App functionality, purchases, security |
| User content | Chat messages, AI replies, titles/summaries, meme/GIF/sticker references and image inputs sent to OpenAI, photos you upload as attachments, custom personas you create and their avatars, message ratings/reactions, alias/personalization, Memory notes (paid plans, when enabled) | Yes | App functionality (sent to OpenAI / stored in Firebase) |
| Purchases | Subscription status, product IDs, entitlement status, purchase/transaction metadata (via RevenueCat/Apple/Google) | Yes | App functionality, fraud prevention |
| Usage data | Token counts, credits, plan/model, usage events, ratings/reactions | Yes | App functionality, billing |
| Diagnostics | Logs, errors, IP/network data, attachment metadata, rate-limit data | Yes | Security, diagnostics, app functionality |
| Search history | Meme/GIF/sticker search queries sent to Klipy — meme/GIF queries are typed by you or generated by the AI from the conversation, and sticker queries are typed by you — and AI-generated web-search queries sent to Tavily when a message needs current information | Yes | App functionality (meme/GIF/sticker search/attachment; web search) |
| Photos or videos | Photos you take or choose to attach to a message are uploaded and sent to OpenAI. (Separately, the App saves watermarked memes/GIFs to your gallery via add/save access and does not otherwise read your library.) | Yes | App functionality (chat attachments) |
| Coarse location | Locale/country code (not collected as device location) | — | Meme/GIF localization |
| Notifications | Permission requested; no push token collected in the current version | — | — |
| Advertising data (free users) | IP address, device info, advertising/app identifiers where available, coarse location from IP, ad interactions, and diagnostics — processed by Google AdMob for non-personalized ads; paid plans are ad-free | Yes | Third-party advertising (Google AdMob) |
| Data used to track you | None identified in the current version (AdMob requests are for non-personalized ads and are not used for cross-app tracking) | — | — |
Free users see ads through Google AdMob, which requests non-personalized ads and may process advertising or app identifiers where available and permitted (see Section 14). The App does not present an App Tracking Transparency prompt or use cross-app tracking in the current version.
Your data may be processed in the United States and other countries by us and our service providers, including Firebase / Google Cloud, OpenAI, Klipy, Tavily, RevenueCat, Apple, and Google. Where required, transfers are intended to rely on appropriate safeguards such as Standard Contractual Clauses or equivalent mechanisms.
We may update this policy from time to time. When we do, we will update the effective date above and, where appropriate, provide additional notice.
Questions or privacy requests? Email memechataisupport@gmail.com.