SoulPal
Privacy Policy
Last updated: 4 October 2026
This Privacy Policy explains how SoulPal ( “we,” “our,” or “us”) collects, uses, shares, and protects information when you use the SoulPal mobile application for iPhone and Android (the “App”) and any related services (collectively, the “Service”). By using the Service you agree to this Policy.
SoulPal is an AI-driven social application. You can chat with AI characters one-to-one or in group chats, create your own AI characters, share posts on their behalf, and publish posts of your own. Some content you create or messages you send are processed by third-party AI providers as described below.
1. Who we are
The data controller responsible for your personal data is SoulPal, the developer and operator of SoulPal. For any privacy questions, you can reach us at info@soulpal.net.
2. Data we collect
2.1 Information you provide
- Account: email address and password, or the email and (where available) name returned by Sign in with Apple or Sign in with Google when you choose one of those options. If you use Sign in with Apple and elect to hide your email, we only receive Apple’s private relay address. The password (when used) is transmitted over TLS and stored only as a salted hash by our authentication provider; we never receive or store the plaintext password.
- Profile: display name, optional avatar image, optional gender, date of birth (required for the 18+ age check), an optional short appearance description (up to 240 characters), up to three preferred content categories you choose during onboarding, and your "Safe Search" preference for mature content.
- Content you create:
- AI characters you build, including their name, handle, biography, personality traits, tags, system prompt, and avatar/cover images.
- Memories you save for a character (keyword-tagged notes that the character can refer to during chat).
- Posts you publish on behalf of a character, including the image you upload and the caption.
- Posts you publish on your own profile, including the image you upload, the caption, and the comments and likes you leave on posts.
- Group chats you create, including the group name, the characters you add to it, and the messages exchanged in the group.
- Likes you give to posts and friend connections you make with characters.
- The list of characters you have blocked, so we can keep them hidden from your Discover, Feed, search, and Inbox until you unblock them.
- Chat messages: the text you send to AI characters and the AI’s replies, in one-to-one chats, in additional storylines you open with the same character, and in group chats. We store conversation history so you can continue talking later.
- AI-generated character photos: during a chat a character may send you a generated photo of itself (a “selfie”), either from your plan’s monthly allowance, from credits you buy, or as a reward for watching an ad. These images are produced by a third-party image model from the character’s own reference image and a text description we build server-side; they do not depict real people and are never generated from your photos. They are stored in a private storage bucket scoped to your account and are automatically deleted after 30 days, after which the message stays in your history without the picture.
- Photos shared in chat: if you choose to send a photo from your device gallery into a chat with a character, we upload that photo to a private storage bucket scoped to your account, generate a short text description of it for the AI to react to, and run automated multimodal moderation on it. Chat photos are stored privately (no public URL), are accessible only to you, and are automatically deleted after 30 days. The text description that the AI saw remains in the conversation as part of message history. Photos are never shown to other SoulPal users.
- Reports you submit: when you tap the report button on a character profile or a post detail screen, we record the target (character or post id), the category you chose (impersonation, abuse, nudity, violence, self-harm, spam, or general feedback), the description you typed, and the optional contact email you provided. Reports are visible only to you and to our moderation team; they are kept for as long as the case is open and archived for up to 12 months after the case closes for legal-defence and recidivism tracking, then deleted.
2.2 Information collected automatically
- Authentication tokens: short-lived access and refresh tokens stored on your device — in the iOS Keychain on iPhone, and in the App’s private storage area on Android, which other apps on the device cannot read.
- Subscription data: your subscription tier (Free, Premium, Ultra), entitlement status, and an opaque subscriber identifier used by our subscription management provider. We do not receive your full payment card data; that is handled by the app store you purchased through (Apple on iPhone, Google Play on Android).
- Service usage counters: counters for the things your subscription tier meters — messages, group messages, posts, chat photos, and AI-generated character photos. Some counters reset daily at UTC midnight and others reset with your billing period, depending on your tier.
- Push notification token: if you grant notification permission, we register your device’s push token — issued by the Apple Push Notification service (APNs) on iPhone, or by Firebase Cloud Messaging (FCM) on Android — together with your account, the platform your device runs, the device locale (so notification copy is delivered in the right language), and the App version. The token is opaque, device-specific, rotates over time, and is deleted from our database when you sign out or when the push service reports it as invalid.
- Account identifier: an opaque user UUID assigned by our authentication provider when you create an account. We use this identifier internally to link your profile, content, subscriptions, and other records to your account.
- Basic technical metadata: the IP address and user-agent that your device sends with HTTPS requests, used to operate the Service and detect abuse.
- Analytics and crash diagnostics: we use Google Firebase Analytics on both platforms to understand aggregate usage of the App (for example which screens are opened, session and engagement counts). On iPhone we additionally use Firebase Crashlytics to detect, diagnose, and fix crashes; Crashlytics is not used in the Android App, where crash reports reach us through Google Play’s own developer reporting. These tools collect interaction events, performance data, crash data (including stack traces, the device model, operating-system version, and the App's state at the time of a crash), and a device identifier (the iOS Vendor Identifier "IDFV" on iPhone, or the Firebase installation identifier on Android). They do not collect your name, email address, chat messages, or the content you create, and the data is not used to track you across other companies' apps or websites. Firebase Analytics is configured without the advertising identifier.
- Advertising data (free tier only): if you use the App on the free tier, we display ads supplied by Google AdMob, including banner, native, interstitial and optional rewarded ads. To request, show, and measure those ads, the Google Mobile Ads SDK collects a device identifier (the iOS Advertising Identifier "IDFA" on iPhone, but only if you allow it through the App Tracking Transparency prompt; the Android Advertising ID "AAID" on Android), information about the ads you are shown and interact with, coarse (for example city-level) location estimated from your IP address, and technical diagnostics. On iPhone, if you decline the tracking prompt, the IDFA is not used and you are shown non-personalized ads instead. On Android, if you are in the European Economic Area or the United Kingdom, we show you Google’s consent form (the User Messaging Platform) the first time you open the App, and your choice there controls whether ads are personalized; you can reopen it from the App’s settings, and you can also reset or delete your advertising ID in your device’s Google settings. Rewarded ads are optional: you choose to watch one in exchange for an in-App reward, and when you finish, Google notifies our server that the reward was earned, passing your account identifier so we can credit it. Premium and Ultra subscribers are not shown ads, and this advertising data is not collected for them.
2.3 Information stored on your device
The App keeps a local cache of your conversations and a local copy of small UI preferences. This cache is stored under the App’s sandboxed Application Support and Library directories on iPhone, and in the App’s private storage area on Android. When you sign out, the App deletes the cache for that account.
2.4 What we do not collect
- We do not access your device's precise (GPS) location, contacts, microphone, camera, or health data. Our advertising partner may estimate coarse, city-level location from your IP address, as described in section 2.2.
- We request access to your photo library only when you choose to upload an avatar, a post image, or a photo to share in chat with a character; the App reads only the photos you select. Image metadata (EXIF / GPS) is stripped during the in-app re-encode before upload.
- We do not use the iOS Advertising Identifier (IDFA) unless you grant permission through the App Tracking Transparency prompt. On Android, personalized advertising in the EEA and the UK depends on the choice you make in Google’s consent form. We never use advertising identifiers for users on a paid (ad-free) subscription.
3. How we use data
We use the information described above only to:
- Create and authenticate your account.
- Show you the AI characters, posts, and chat conversations that are part of your social graph.
- Generate AI responses in chat using a third-party large-language-model (LLM) provider.
- Suggest captions for the images you upload, using a third-party multimodal AI provider.
- Moderate the characters, posts, and avatars you create, using an automated multimodal moderation model, in order to comply with the Apple App Store and Google Play guidelines and to keep the Service safe.
- Validate and manage your subscription, enforce daily usage limits, and process restorations.
- Display ads to users on the free tier through Google AdMob and, only with your App Tracking Transparency consent, personalize and measure those ads. Paid subscribers are not shown ads.
- Operate, maintain, secure, and improve the Service, including detecting and preventing fraud, abuse, and security incidents.
- Comply with legal obligations and enforce our Terms of Service.
- Detect, review, and act on content that may be illegal or may seriously breach our Terms of Service, as described in sections 3.1 to 3.3 below.
3.1 Safety review of content
To keep the Service safe and lawful, we may use automated systems, including AI classifiers, to check content that is created or exchanged in the Service: chat messages, AI-generated replies, AI-generated character photos, photos you share in chat, and the characters you create. These checks can apply to every character and conversation, including private characters and private chats.
When an automated check or a user report indicates that content may be illegal or may seriously breach our Terms of Service (for example, content that sexually exploits or endangers minors), a small number of authorized team members may review the specific content concerned, together with the related account information, in order to decide what action to take. We limit this review to what is necessary for that purpose. Our team may use AI assistance tools during such reviews; these tools are listed in section 5.
3.2 Enforcement, preservation and reporting
If we determine that content or an account violates the law or our Terms of Service, we may remove or disable the content, delete the characters, conversations, images and other data involved, restrict features, and suspend or terminate the account, with or without prior notice.
Where the law requires it, or where it is necessary to protect the safety of any person, we may preserve the relevant content and account information (for example, account identifiers, email address, timestamps, IP addresses and file hashes) for as long as necessary, and disclose it to competent law-enforcement authorities or to organizations designated to receive such reports, such as the U.S. National Center for Missing & Exploited Children (NCMEC). In these cases, the access and deletion rights described in sections 8 and 9 may be restricted to the extent permitted by law.
3.3 Child safety
SoulPal has zero tolerance for child sexual abuse and exploitation (CSAE). Creating, requesting, sharing or generating any content that sexualizes minors, including roleplay with characters presented as under 18, is prohibited everywhere in the Service, including private characters and private chats. We act on such content as described in section 3.2 and report it where required by law. You can report concerns from inside the App, or contact our child safety point of contact at info@soulpal.net.
4. AI processing
The Service uses third-party AI providers to generate chat replies, generate AI character photos, suggest captions, and moderate user-generated content. When you interact with an AI character, we send the following data to those providers, over TLS, on a per-request basis:
- The message you just typed.
- A trailing window of recent messages from that conversation (the size of the window depends on your subscription tier).
- Your display name and, if you provided them, your gender, age (derived from your date of birth), and short appearance description, so the character can address you naturally.
- The character’s public profile (name, biography, personality traits) and its system prompt.
- Memory entries that match the conversation context.
- For caption suggestions and moderation: the image URL of the photo you uploaded and the caption text you wrote.
- For photos you share in chat: a short-lived signed URL of the uploaded image and the optional caption you typed, sent to the multimodal AI for content moderation and a neutral image description used as in-character context. The AI character is told that you sent a picture so it can react naturally, but the textual description we generate is not shown to you in the UI.
- In a group chat, the same data for the group: the recent group history, and the profile and system prompt of each character in the group, so the model can decide who replies and how they react to one another.
- For AI character photos: a short-lived signed URL of the character’s own reference image and a scene description we build server-side from the conversation. We do not send your photos to the image provider. The generated photo may itself be sent to the moderation model before it is delivered.
- For automated checks on AI replies (for example, whether a reply actually hands over a photo): the AI reply, the message you just typed, and a short window of recent messages from that conversation.
The AI providers act as our processors and are contractually restricted to using the data only to provide the response. AI replies are generated automatically; they are not reviewed in real time by a human, and they may be inaccurate, biased, or otherwise unexpected. AI characters are not real people. Do not share information you would not be comfortable processing through a third-party AI service (for example, sensitive health, financial, or government identifiers).
5. Service providers
We share personal data only with the service providers that operate the Service on our behalf:
| Provider | Purpose | Categories of data |
|---|---|---|
| netcup GmbH (Germany) | Hosting of our servers in Nuremberg, Germany: authentication, database, file storage, real-time and server functions | Account, profile, content, chat messages, subscription metadata, IP / user-agent |
| Supabase, Inc. | Previous hosting provider. A locked, read-only copy of the same data is kept until 8 October 2026 and then deleted. | Account, profile, content, chat messages, subscription metadata, IP / user-agent |
| Cloudflare, Inc. (R2, EU jurisdiction) | Encrypted backups of our database and files; the provider cannot read the contents | The data listed for our hosting provider, in encrypted form |
| Vercel Inc. (AI Gateway) | Routing of chat, moderation and AI photo requests to the AI model providers listed below | The same data sent to those AI model providers |
| DeepSeek and / or OpenRouter, Inc. | Large-language-model chat completions | Chat messages, recent history window, profile descriptors, character prompt and memories |
| Google (Gemini models), through Vercel AI Gateway or OpenRouter, Inc. | Multimodal moderation of characters, posts, chat photos and AI-generated character photos; caption suggestions; neutral image descriptions for chat photos so the AI character can react in context | Signed image URLs, captions, character metadata |
| TypeSafe AI (Jev decision model), through Vercel AI Gateway | Automated checks on AI character replies, for example whether a reply actually hands over a photo, so we do not create photos that were never sent | The AI reply, the message you just typed, and a short window of recent messages from that conversation |
| Runware | Image generation for AI character photos (“selfies”) using image models such as ByteDance Seedream and Black Forest Labs FLUX | A signed URL of the character’s reference image and the scene description we build; no user photos and no chat history |
| Anthropic, PBC (Claude) | AI assistance for our team in customer support, service operations, and safety reviews of content flagged as potentially illegal or harmful (see section 3.1) | Support emails you send us; in limited cases, the specific content under review and related account information |
| RevenueCat, Inc. | Subscription management and entitlement validation | Opaque subscriber ID, subscription status, purchase events |
| xAI Corp. | Image generation for AI character photos (“selfies”), used as a fallback when the primary image provider is unavailable | A signed URL of the character’s reference image and the scene description we build; no user photos and no chat history |
| Google LLC, Firebase (Analytics on both platforms; Crashlytics on iPhone only) | Aggregate usage analytics and crash / performance diagnostics | Interaction events, performance and crash data, device identifier (IDFV on iPhone, Firebase installation ID on Android) |
| Google LLC, Google AdMob | Showing, personalizing, and measuring ads for free-tier users | Advertising identifier (IDFA on iPhone, only with your consent; AAID on Android, subject to your consent choice in the EEA and the UK), device identifiers, ad-interaction data, coarse location estimated from IP, diagnostics, and — for rewarded ads — your account identifier so the reward can be credited |
| Apple Inc., Apple Push Notification service (APNs) — iPhone | Delivery of new-message and friend-request notifications to your device | APNs device token, recipient user identifier, generic notification payload |
| Google LLC, Firebase Cloud Messaging (FCM) — Android | Delivery of new-message and friend-request notifications to your device | FCM registration token, recipient user identifier, generic notification payload |
| Apple Inc. (App Store) and Google LLC (Google Play) | App distribution and in-app payments, depending on the store you installed the App from | Purchase tokens (per the relevant store’s own terms) |
We may also disclose information when required by law, to protect our rights, property, or safety, or to investigate fraud, abuse, or violations of our Terms of Service. We do not sell your personal data. For users on the free tier we work with Google AdMob to show ads, which involves sharing the advertising and device data described above with Google; you can limit this by declining the App Tracking Transparency prompt or by subscribing to a paid, ad-free tier.
6. Legal bases for processing (EEA / UK)
If you are in the European Economic Area or the United Kingdom, we rely on the following legal bases under the GDPR / UK GDPR:
- Performance of a contract: to provide the Service you request, including AI replies, posts, and subscription features.
- Legitimate interests: to keep the Service secure, prevent abuse, and improve features, where these interests are not overridden by your rights.
- Legal obligation: to comply with applicable laws, including content-moderation obligations.
- Legitimate interests and legal obligation (safety): to detect, review and act on content that may be illegal, including child sexual abuse material, to protect our users and other people, and to preserve and disclose information to competent authorities as described in section 3.2.
- Consent: for any processing that is not covered above; you can withdraw consent at any time without affecting the lawfulness of processing carried out before withdrawal.
7. Retention
- Account, profile and content: kept while your account is active and for a reasonable period after account deletion to comply with legal obligations and to resolve disputes.
- Chat messages and memories: kept while your account is active. You can clear individual conversations and memories at any time from inside the App, which deletes them from our database.
- Photos shared in chat: automatically deleted from our private storage 30 days after upload. The corresponding chat message remains in history (without the picture); the in-character text description that the AI received during that turn also remains in history so the conversation stays coherent.
- Reports: kept while the case is under review; archived for up to 12 months after closure for repeat-offender tracking and legal defence, then deleted.
- Subscription records: kept as long as required for accounting and tax purposes.
- Content removed for safety reasons: deleted from the live Service when we act on it, except where we must preserve it as described in section 3.2.
- Backups: encrypted backups of our database and files are kept in write-once storage with Cloudflare R2 (EU jurisdiction) and are used only to recover the Service after a failure. Data that is deleted from the live Service may remain in these backups until they are pruned during our periodic backup maintenance; it is not used for any other purpose in the meantime.
- AI provider logs: retention is governed by the respective providers’ policies.
8. Your rights
Depending on your location, you may have the right to:
- Access the personal data we hold about you.
- Correct inaccurate or incomplete data.
- Delete your data (the “right to erasure”).
- Restrict or object to certain processing.
- Receive a copy of your data in a portable format.
- Withdraw consent where processing relies on it.
- Lodge a complaint with your local supervisory authority.
To exercise any of these rights, email us at info@soulpal.net. We will respond within the time limits required by applicable law.
Inside the App you can also block any character at any time. Blocking hides the character from Discover, Feed, search, and Inbox, and prevents new chat replies from that character. You can manage your blocked characters under Settings » Blocked Characters and unblock at any time.
9. Account deletion
You can sign out from the App at any time. To permanently delete your account and the personal data associated with it, open Settings » Account » Delete account inside the App and confirm. The action is processed by a server-side function that removes your profile, characters you created, posts, chat conversations and messages, memories, friendships, device tokens, and uploaded images (avatars, post images, chat photos), and then signs you out and removes your authentication record.
Some records are kept for the period legally required (for example, anonymised subscription and tax records related to payments processed by Apple or Google). If you prefer to request deletion by email, you can also write to info@soulpal.net from the address registered to your account; we will action the request within the time limits required by applicable law.
10. Age requirement (18+)
SoulPal is intended exclusively for adults aged 18 or older. By creating an account, signing in, or otherwise using the Service, you represent and warrant that you are at least 18 years old. The App enforces a minimum age of 18 at the date-of-birth picker; we do not knowingly create accounts for, collect personal data from, or provide the Service to anyone under 18.
If you are a parent or legal guardian and you believe a person under 18 has provided us with personal data, please contact us at info@soulpal.net. We will promptly delete the account and all associated data.
11. Security
All traffic between the App and our servers is encrypted in transit using HTTPS/TLS. Passwords are hashed with industry-standard algorithms by our authentication provider; we do not store your plaintext password. Database access is restricted by row-level-security policies so that users can only read and write their own records, with audited exceptions for moderation and aggregation. The character system prompts that drive AI behaviour are not exposed to client applications and are read only by server-side edge functions. Photos shared in chat live in a private storage bucket reachable only via short-lived signed URLs; public read access is disabled.
No method of transmission over the internet or electronic storage is 100% secure, and we cannot guarantee absolute security. If we become aware of a personal-data breach that is likely to result in a risk to your rights and freedoms, we will notify the relevant supervisory authority and, where required by law, the affected users without undue delay.
12. International transfers
Our service providers may process your data outside your country of residence, including in the United States and the European Economic Area. Where required, transfers are protected by the European Commission’s Standard Contractual Clauses or equivalent safeguards.
13. California residents
If you are a California resident, the California Consumer Privacy Act (“CCPA”) provides additional rights, including the right to know what categories of personal information we collect, the right to delete personal information, the right to opt out of the sale or sharing of personal information, and the right to non-discrimination for exercising these rights. We do not "sell" your personal information for money. However, when we show personalized ads to free-tier users through Google AdMob, this may be considered "sharing" of personal information for cross-context behavioral advertising under the CCPA. You can opt out at any time: on iPhone by declining the App Tracking Transparency prompt (or turning off "Allow Apps to Request to Track" in iOS Settings); on Android by opting out in Google's consent form where it is shown, or by turning on "Delete advertising ID" in your device's Google settings; or, on either platform, by subscribing to an ad-free tier. To exercise your other rights, contact us at info@soulpal.net.
14. Changes to this Policy
We may update this Privacy Policy from time to time. When we do, we will revise the “Last updated” date at the top of this page. If the changes are material, we will provide a more prominent notice (for example, an in-App notification) before the changes take effect.
15. Contact
If you have any questions about this Privacy Policy or about how we handle your personal data, please contact:
SoulPal
info@soulpal.net