Skip to main content
Avatar AI

Legal

Privacy Policy

What Avatar AI collects, who it goes to, and how to get it deleted.

Effective August 23, 2026Last updated August 23, 2026
Contents

Avatar AI is a companion app for adults. You chat with AI characters, write a persona for yourself, create characters of your own, and can ask a companion to send a photo from inside the scene. All of that runs on text you write and text a model writes back, so this policy is mostly about one thing: your conversations, where they go, and what happens to them.

We wrote this by reading our own code rather than a template. The tables named in section 3 are the real tables in our database. The companies named in section 9 are the real companies that receive data. If something changes, this page changes with it.

You must be 18 or older to use Avatar AI. If you have a question that this page does not answer, email liuwilliam12@gmail.com and a human will reply.

Who we are

In this policy, 'Avatar AI', 'we' and 'us' mean the team that operates the Avatar AI app and service. 'You' means the person using it. Avatar AI is an iOS-first mobile app built with Expo and React Native, backed by our own API server and a PostgreSQL database.

We are a small team and we do not publish a mailing address. Email is how we do business, and it reaches us quickly: liuwilliam12@gmail.com. Use it for any privacy question, any request about your data, and any complaint.

This policy covers the Avatar AI mobile app, our API, and the website at https://avatar-ai-umber.vercel.app. It does not cover services you reach from the app but that are run by other companies, such as Apple's App Store and its purchase sheet. Those have their own policies.

The short version

The rest of this page is the detail. This is the shape of it.

  • You can use Avatar AI as a guest, with no email address and no password.
  • Your messages are sent to a third-party AI provider so a character can reply. We do not train AI models on your conversations, and we do not build models at all.
  • Asking a companion for a photo sends a scene description written from your recent messages, plus that character's reference photos, to OpenAI's image models.
  • Generated images are saved on our server at random web addresses that are not behind a login. Anyone who has the link can open the image.
  • Payments run through Apple's in-app purchase system. We never see or store your card number.
  • There is no advertising, no ad SDK and no third-party analytics in the app.
  • You can delete your account and its data from Settings inside the app, at any time, without asking us.

What we collect

Everything below is stored in our own PostgreSQL database unless we say otherwise. The names in brackets are the actual database tables, so you can hold this list against what the software really stores.

  • Account record (User): a user id, a username, and a flag for whether you are a guest. If you sign in, we also store your email address, the id Supabase gives your login, an optional display name, an optional avatar image URL, the date you joined, your referral code, who referred you if anyone, your Gem balance, your plan tier and when it expires, and a per-day message counter used to apply free tier limits.
  • Personas (Persona): the name and the self-description you write for yourself so a character knows who it is talking to.
  • Characters you create (Character): name, tagline, description, greeting, example dialogue, appearance text, tags, visibility setting, artwork URLs, and counters for likes and chats.
  • Chats and messages (Chat, Message, Candidate): every chat you open, which character and persona it uses, its Message Mode, a rolling summary of older turns, whether Permanent Memory is on, and the full text of every message, including the alternate character replies you can swipe between.
  • Generated images (the imageUrl on a message, plus the image file itself): photos you request in a chat are written to our server as files and linked from the message that shows them.
  • Long-term memory (Memory): a table for durable facts pulled out of a conversation so a companion can bring them up later. Where this is switched on it holds short extracts of your chat text along with a numeric embedding of that text used for search.
  • Likes (Like): which characters you have liked.
  • Gem ledger (GemTransaction): every Gem credit and debit, the reason for it, an optional reference such as a purchase transaction id or a message id, and the time.
  • Purchases and plans (Purchase, Subscription): the product you bought, how many Gems, the amount and currency, the payment status, the App Store transaction or subscription id, your tier, whether it is set to cancel, and the period end date.
  • Referrals (Referral): who invited whom, and when the reward was paid.
  • Feedback (Feedback): the category you picked, the message you wrote, an optional contact address if you typed one, and the app version and platform (for example 'ios') sent with it. Guests can send feedback, in which case it is not linked to any account.
  • Billing event records (WebhookEvent): the ids and types of payment events we have already handled, so a purchase is never credited twice. These contain no message content.
  • Kept on your device only: your session token, your Supabase login session if you signed in, your onboarding answers (the audience, vibes and interests you picked, your pacing preference, and the display name and short 'about you' text you typed), and per-chat display settings such as the chat background toggle and the Message Mode you last used. These live in the app's local storage. Signing out clears the session, deleting the app clears the rest.
  • Device permissions: the app asks for exactly one, your photo library, and only at the moment you choose a picture for a character you are creating. We receive the picture you pick and nothing else from your library. The app never requests your camera, microphone, location, contacts or push notifications, and it carries no advertising or third-party analytics SDK.
  • Server logs: our API keeps ordinary operational logs, which can include IP addresses, request paths, timestamps, response codes and error details. They exist to keep the service running and to investigate abuse or fraud, they are not used to profile you, and API keys are kept out of them by design.

How we use your information

We use what we collect to run the product you asked for, and for very little else.

  • To hold a conversation: we assemble a prompt from the character, your persona, the rolling summary, any recalled memories and roughly the last 30 messages of that chat, send it to our AI provider, and stream the reply back to you.
  • To show you your chats, your characters, your personas, your likes and the Discover feed.
  • To generate the in-chat photos you request, and to store the character picture you upload.
  • To apply free tier limits and plan benefits: the daily message counter, the persona limit, and which Message Modes are unlocked.
  • To take payments, credit Gems, activate and renew plans, and reverse a charge when a refund happens.
  • To run referrals: matching a code to an account and crediting both sides once.
  • To answer your feedback and support email.
  • To keep the service safe: preventing abuse, spam, payment fraud and attempts to bypass limits, and debugging failures.
  • To meet legal, tax and accounting obligations.

How AI replies are produced, and who receives your messages

This is the most important section, so it is blunt. To generate a character's reply, our server sends a request over HTTPS to a third-party AI provider. That request contains the character card (its description, example dialogue, appearance text and tags), your persona text if you use one, the rolling summary of older turns, any recalled memories, and up to the last 30 messages of that chat, which includes everything you typed.

Which company receives that text is decided by a single server setting. The default is OpenAI, whose GPT models we call directly. The alternative is Anthropic, whose Claude models we call directly instead. Only one provider is active at a time. If we change the default we will update this page.

Because we call the selected provider directly, that provider's own terms govern what it does with the content of the request. Please keep that in mind, and do not type anything into a chat that you would not want that company to process.

Two other features send conversation text to a model. 'Suggest a reply' asks the model for reply ideas based on your recent messages. Requesting a photo asks the model to write a scene description from roughly the last dozen messages, which is then sent on to the image provider (see section 8).

Do we train AI models on your chats?

No. We do not train, fine-tune or evaluate AI models on your conversations, and we do not build models at all. Avatar AI is an application on top of other companies' models.

Our providers receive your messages because that is the only way a reply can be produced. They handle that content under their own terms and privacy policies. Standard API terms at the major providers exclude API content from model training, but we cannot make that promise on their behalf, which is exactly why we name every one of them in section 9 so that you can read their policies yourself.

We look at individual conversations only in narrow situations: when you send us feedback or a support request that points at one, when we are investigating a specific abuse, safety or security report, or when the law requires it. We do not read chats for curiosity, for marketing, or to build profiles.

Generated images, and the honest caveat about their links

There is one image feature that generates anything: in-chat photos. When you ask a companion for a photo, we send the scene description written from your recent messages, together with that character's own reference photos, to OpenAI's image models. The reference photos are what keep a character's face consistent from one photo to the next. The request goes directly to OpenAI, which returns the result to us. The picture on a character you create is not generated: you upload it yourself from your photo library, and we store it as you sent it.

The image is written to our file storage under a random identifier, and the message in your chat points at it. Our production storage is a private bucket, so the address the app loads is a short-lived signed link that stops working once it expires.

Please read this part anyway. A signed link is still a link: for as long as it is valid, anyone you forward it to can open the image without an Avatar AI account. We do not publish a list of these addresses and we do not feed them to search engines, but treat a generated image link you share as public until it expires. If you want particular images deleted from our storage, email us and we will remove them.

Companies that process data for us

We keep the list short on purpose, and each company gets the minimum it needs. These are our processors and service providers as of the date at the top of this page.

  • Supabase: authentication. It holds your email address and password credential, and the sign-in metadata around them. We never receive or store your password. Supabase only proves who you are; your chats and characters live in our own database.
  • OpenAI: the default chat AI provider, and the image generation behind in-chat photos. For chat, it receives the prompt described in section 6. For images, it receives the scene prompt derived from your recent messages plus the character's reference photos. We call OpenAI directly for all of this. A picture you upload for a character you create is never sent to OpenAI.
  • Anthropic: the alternative chat provider (Claude). When it is selected, it receives the same prompt directly instead of OpenAI.
  • Apple: payments. Purchases are made through Apple's in-app purchase system, so Apple processes the payment itself under your Apple account. What we receive back is a signed transaction record naming the product bought, the amount, and Apple's transaction ids, which is what we need to credit your account. We never receive your card details.
  • Hosting and database infrastructure: our API server, our PostgreSQL 16 database with the pgvector extension, and the file storage that holds generated images all run on infrastructure operated by our hosting provider, which can technically access data at rest in order to operate it.
  • Embedding provider (not active yet): if we turn on long-term memory with vector search, short extracts of conversation text will be sent to an embedding service to be converted into vectors. We will name that company here before that happens.

Payments and billing data

Buying Gems or a plan uses Apple's in-app purchase sheet inside the app. The payment runs entirely through your Apple account, on Apple's side. We never receive or store your card number, its expiry, or its security code. We do not have access to your bank.

What we do store on our side: a Purchase row for each gem pack (product, gem count, amount, currency, status, App Store transaction id), a Subscription row for each plan (tier, status, renewal state, period end, App Store subscription id), the matching Gem ledger rows, and the ids and types of the App Store server notifications we have processed.

Subscriptions are managed and cancelled in your Apple account settings; the Manage button in the app takes you there. Apple's handling of your payment is covered by Apple's own privacy policy. If we ever add a second way to pay, such as a web checkout through a payment provider, we will name that company here first.

How long we keep things

We keep your account data for as long as your account exists. Chats and messages stay until you delete them or delete your account. There is no automatic expiry on conversation history, because the product is built around continuity.

Deleting your account from Settings runs a single database transaction that removes your personas, your chats, every message and every alternate reply in them, your likes, the characters you created, your referral rows, feedback that was linked to your account, your Gem ledger, your purchases, your subscriptions, and the user record itself. Where we hold the necessary key, we also delete your Supabase login.

Two consequences are worth knowing before you press it. First, deleting your account deletes the characters you created, and because a chat cannot exist without its character, it also deletes other people's chats with those characters. Second, the image files generated in your chats live in file storage: the messages that point at them are deleted, but the files themselves are not removed in the same step. Email us if you want specific image files deleted and we will do it.

Feedback you sent as a guest is not linked to your account and is not removed by account deletion, because there is nothing connecting it to you. Apple keeps its own record of a transaction under its retention and legal obligations, and we may keep the minimum billing record required for tax and accounting. Operational logs are short-lived. If our hosting provider keeps automated database backups, deleted rows can persist in those backups until they age out.

Your rights and how to use them

Wherever you live, you have real rights over the data we hold. We do not charge for them, and we will not treat you differently for asking.

In the app: open Settings and choose Delete account. It calls our API's account deletion endpoint and performs the deletion described in section 11 immediately, without you having to contact us. Signing out clears the session from the device without deleting anything.

By email: write to liuwilliam12@gmail.com and tell us which account you mean (your username, or the email you signed in with). We answer within 30 days, and sooner in practice. For access, export or deletion requests we may ask you to write from the email address on the account, because for most accounts that is the only way we can tell it is really you.

Guest accounts are a real limit on what we can do for you: a guest has no email address, so we have no way to verify that a guest account is yours. Delete a guest account from Settings on the device that holds it.

The rights themselves:

  • Access: ask for a copy of the personal data we hold about you.
  • Correction: fix anything wrong. You can change your display name and username in the app yourself.
  • Deletion: delete your account and its data, from Settings, at any time.
  • Portability: ask for a machine-readable export of the content you provided, including your chats, characters and personas.
  • Objection and restriction: object to processing based on our legitimate interests, or ask us to pause processing while a dispute is resolved.
  • Withdraw consent: for anything you gave us optionally, at any time.
  • Complain: if you are in the EEA or the UK, you can complain to your local data protection authority. We would rather you told us first, but it is your right either way.

California privacy rights

If you live in California, the California Consumer Privacy Act as amended by the CPRA gives you specific rights, and we honour them for everyone.

The categories we collect are: identifiers (user id, username, email address, Supabase login id, App Store transaction ids, and IP addresses in server logs); commercial information (purchases, subscriptions and the Gem ledger); internet or app activity (chats opened, message counts, feature use); and the content you create yourself, which includes messages, personas, characters and feedback. Because you decide what to type, that content can contain anything, including information California treats as sensitive. We do not ask for sensitive information and we recommend you do not enter it.

You have the right to know what we collect and why, to request deletion, to correct inaccurate information, to opt out of the sale or sharing of personal information, to limit the use of sensitive personal information, and not to be discriminated against for exercising any of these.

We do not sell personal information, and we do not share it for cross-context behavioural advertising, as California defines those terms. We never have. There is no advertising in Avatar AI and no ad or analytics SDK in the app, so there is nothing to opt out of. We do not use sensitive personal information to infer characteristics about you.

Our referral program credits Gems for inviting a friend. It is a product feature, not a financial incentive in exchange for personal information, and no personal information is sold or shared through it. To exercise any right, or to have an authorized agent do it for you with proof of authority, email liuwilliam12@gmail.com.

EEA, UK, and international transfers

For people in the EEA, the UK and Switzerland, Avatar AI is the data controller for the processing described here, and the contact point is liuwilliam12@gmail.com. Section 5 lists our legal bases and section 12 lists your rights.

Our servers and our providers are based in the United States, and some providers operate globally. Using Avatar AI means your data is transferred to and processed in the United States and potentially other countries, whose privacy laws differ from your own.

Where personal data leaves the EEA or the UK, we rely on the transfer mechanisms in our providers' data processing terms, which are typically the European Commission's standard contractual clauses together with the UK addendum, or another lawful mechanism that provider offers. You can ask us which mechanism applies to a specific provider.

Security

Traffic between the app and our API travels over HTTPS. Passwords are handled entirely by Supabase: we never see them, never receive them and never store them. Your session is a signed token that expires after 30 days and lives in the app's local storage on your device.

Chat data sits in a PostgreSQL database that is not exposed to the public internet. Every endpoint that touches your chats, characters, personas, purchases or profile requires a valid token tied to your user id, so one account cannot read another's data. Private characters return 'not found' to everyone but their creator, so even their existence is not leaked.

Two honest exceptions to all of that: generated image files are served without authentication, as explained in section 8, and character artwork shipped with the app is public by design.

We do not claim any certification, audit or compliance standard. We are not SOC 2 audited, not ISO 27001 certified, and not HIPAA compliant, and you should not treat Avatar AI as a place for medical, financial or otherwise regulated information. No service can promise perfect security. If we discover a breach affecting your personal data, we will notify you and the relevant regulator as the law requires.

Avatar AI is for adults only

You must be 18 or older to use Avatar AI. The service is built for adults, it is not directed to children, and we do not want anyone under 18 using it. Companion roleplay can be intimate and mature, which is precisely why the line is drawn here.

We do not knowingly collect personal data from anyone under 18. If we learn that an account belongs to someone under 18, we delete the account and its data rather than asking for parental consent, because this is not a service we offer to minors under any circumstances.

If you believe someone under 18 is using Avatar AI, email liuwilliam12@gmail.com with whatever detail you can give us and we will act on it quickly.

The website, cookies and analytics

The site at https://avatar-ai-umber.vercel.app is a static export: pre-built pages and images with no login, no accounts and no database behind them. It sets no cookies of its own, and at the time of writing it carries no analytics, advertising or tracking scripts. Nothing you do on it is tied to an identity.

Like any website, it is served by a host that keeps standard server logs, which typically record an IP address, a user agent, the page requested and the time, and exist for delivery and security. If we add analytics later, we will name the provider on this page and update the date at the top before switching it on.

One other public page is worth mentioning: a referral link of the form /r/ followed by an invite code shows a small invite page and bounces you into the app. It stores nothing at all.

Changes to this policy

We update this policy when the product changes, and the effective date at the top always tells you which version you are reading. Adding a provider, changing which AI company receives your messages, or changing what we retain are all reasons we would update it.

For material changes we will give notice in the app, and by email where we have your address, before they take effect. Continuing to use Avatar AI after a change takes effect means you accept the updated policy. If you do not accept it, you can delete your account from Settings.

Ask us for an earlier version at any time and we will send it to you.

Contact us

Privacy questions, data requests, complaints and anything else covered on this page: liuwilliam12@gmail.com. We answer within 30 days, and usually much sooner.

Please tell us which account you are asking about, and send the request from the email address on that account where you can, so we can be confident it is really you.

Avatar AI. Privacy Policy at https://avatar-ai-umber.vercel.app/privacy, Terms of Service at https://avatar-ai-umber.vercel.app/terms.

liuwilliam12@gmail.com
Read nextTerms of Service