SoulPal
Privacy Policy
Last updated: 30 May 2026
This Privacy Policy explains how SoulPal ( “we,” “our,” or “us”) collects, uses, shares, and protects information when you use the SoulPal mobile application (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, create your own AI characters, and share posts on their behalf. 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 Yasin Şimşek, 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.
- 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. We store conversation history so you can continue talking later.
- 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 securely in the iOS Keychain on your device.
- 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 Apple.
- Service usage counters: per-day counters for messages, posts, and chat photos so we can enforce the daily limits of your subscription tier.
- Push notification token: if you grant notification permission, we register your Apple Push Notification Service (APNs) device token together with your account, 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 APNs 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 and Firebase Crashlytics to understand aggregate usage of the App (for example which screens are opened, session and engagement counts) and to detect, diagnose, and fix crashes. 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"). 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 iOS Advertising Identifier (IDFA).
- Advertising data (free tier only): if you use the App on the free tier, we display ads supplied by Google AdMob. To request, show, and measure those ads, the Google Mobile Ads SDK collects a device identifier (including the iOS Advertising Identifier, "IDFA", but only if you allow it through the App Tracking Transparency prompt), information about the ads you are shown and interact with, coarse (for example city-level) location estimated from your IP address, and technical diagnostics. If you decline the tracking prompt, the IDFA is not used and you are shown non-personalized ads instead. 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. 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, and we never use it 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 App Store 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.
4. AI processing
The Service uses third-party AI providers to generate chat replies, 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.
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 |
|---|---|---|
| Supabase, Inc. | Authentication, database, file storage, real-time, edge functions hosting | Account, profile, content, chat messages, subscription metadata, IP / user-agent |
| DeepSeek and / or OpenRouter, Inc. | Large-language-model chat completions | Chat messages, recent history window, profile descriptors, character prompt and memories |
| OpenRouter, Inc. (using Google Gemini) | Multimodal moderation of characters, posts, and chat photos; caption suggestions; neutral image descriptions for chat photos so the AI character can react in context | Signed image URLs, captions, character metadata |
| RevenueCat, Inc. | Subscription management and entitlement validation | Opaque subscriber ID, subscription status, purchase events |
| Google LLC — Firebase (Analytics & Crashlytics) | Aggregate usage analytics and crash / performance diagnostics | Interaction events, performance and crash data, device identifier (IDFV) |
| Google LLC — Google AdMob | Showing, personalizing, and measuring ads for free-tier users | Advertising identifier (IDFA, only with your consent), device identifiers, ad-interaction data, coarse location estimated from IP, diagnostics |
| Apple Inc. — Apple Push Notification Service (APNs) | Delivery of new-message and friend-request notifications to your device | APNs device token, recipient user identifier, generic notification payload |
| Apple Inc. | App distribution and in-app payments | Purchase tokens (per Apple’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.
- 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.
- Backups: our database provider keeps encrypted backups for a limited period; deleted records expire from those backups on a rolling basis.
- 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). 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 by declining the App Tracking Transparency prompt (or turning off "Allow Apps to Request to Track" in iOS Settings), or 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:
Yasin Şimşek
info@soulpal.net