Last updated: October 14, 2026
This Privacy Policy explains how Zuler Technology Pte. Ltd. (“we”, “us”, “our”), a company incorporated in Singapore with its registered office at 991D Alexandra Rd, #02-17, Singapore 119972, collects, uses, discloses, and protects your personal data when you use the VerseIn mobile application and this website (together, the “Service”). We handle personal data in accordance with the Singapore Personal Data Protection Act 2012 (“PDPA”) and, where applicable, other data protection laws of the regions we serve. This document is provided in English; if it is translated, the English version prevails.
Information we collect
- Account information. When you register we collect your email address and a password (stored only in salted, hashed form). If you sign in with Google or Apple, we receive the identifier and email address shared by that provider. You may optionally provide profile details such as a display name.
- Guest and device identifiers. On first launch the app creates an anonymous guest account keyed to a randomly generated, per-install device identifier, so your balance and creations can be restored across ordinary app sessions before you register. Recovery after uninstalling, reinstalling, clearing app data, or changing devices is not guaranteed. This identifier is not your hardware serial number.
- Content you provide. Photos (including images of faces), text prompts, and other images or videos you submit for generation, and the results generated for you. Results are stored with your account so you can revisit, download, and manage them.
- Drafts. If you start a creation and leave before submitting it, we save the unfinished draft (the photos, images, videos, text prompts, and settings you have added) on our servers so that you can pick it up again. Drafts are stored temporarily and deleted automatically after 24 hours.
- Transaction information. Coin-pack and subscription purchases are processed by Apple, Google, or our payment providers (such as Stripe, and RevenueCat for subscription management). We receive transaction records — product, price, currency, time, and store receipt or token — but never your full card details. We also keep your coin ledger (credits, deductions, refunds), refund and payment-dispute records, and a record of the Terms of Service version you accepted when you signed up or started a purchase, with the time and request context (IP address and browser or device information).
- Usage and diagnostic data. App version, device model, operating system, language, IP address, time zone, basic interaction events, and crash logs, used to operate, secure, and improve the Service.
- Analytics and advertising data. When permitted by applicable law, we process core funnel events (such as visits, registration, and purchases), campaign parameters, advertising click identifiers, and related browser or device data to measure performance and attribute installs or registrations to their source. Our analytics and advertising partners may include AppsFlyer, Google (Firebase, Google Analytics, and Google Tag Manager), Meta, and TikTok. On iOS, tracking occurs only as permitted by your App Tracking Transparency choice; if you decline, attribution may fall back to Apple’s privacy-preserving SKAdNetwork.
- Country. We infer your approximate country from your IP address, and you can set or change it in Settings. We do not use GPS or precise location for this. This applies to guests as well as registered users.
- Referral data. If you use an invite code, we record the referral relationship to grant rewards.
- Support correspondence. Messages you send to [email protected] and the information you include in them.
Photos and facial data
VerseIn’s core feature swaps a person from a photo you provide into video templates. Your photos — including the facial features in them — are used solely to fulfil the generation requests you make, to save your unfinished drafts and, if you publish a work to Explore, to moderate and tag that published work (see Sharing to Explore below). Your photos are transmitted securely to the third-party AI providers that process your request on our behalf (named in Third-party AI processing below), under contracts that limit their use to providing the Service. We do not use your photos or creations to train AI models, we do not build a database of facial templates for identification, and we never sell, lease, trade, or otherwise profit from biometric identifiers or biometric information. Moderation and tagging providers do not identify people and do not create facial templates from published works. You may only upload photos of yourself or of people who have given you their consent.
Retention of photos and facial data. Uploaded photos and the facial data in them are retained only while needed to provide, secure, and account for the Service. Photos saved in a draft that you do not submit are deleted together with the draft, automatically after 24 hours. Deleting a creation removes it from your account view and, if published, from the public feed. Limited job, transaction, safety, and media records may remain where reasonably needed for billing, fraud prevention, dispute handling, legal obligations, or backup integrity, and are then deleted or anonymized when those purposes no longer apply. Deleting your account removes the account and its association with your creations, subject to the same limited exceptions. You can request access, correction, or erasure by contacting our Data Protection Officer below.
Third-party AI processing
VerseIn does not run AI models on its own servers. To create your results, the content you choose to submit for a generation is sent to third-party AI services that perform the generation on our behalf. The recipient depends on the feature and model selected for a generation. Works you publish to Explore are handled separately, as described in Sharing to Explore below.
- What is sent. Only the photos and text prompts you choose to submit for that generation, together with the technical parameters needed to run it. We do not send your account credentials, contacts, location, or payment details to these providers. Saving a draft stores its content with our hosting and storage providers only; draft content is sent to an AI provider only when you submit it for generation.
- Who receives it. Depending on the feature, our AI processing platforms may include Replicate, PixVerse, Kling AI, MiniMax, Packy, Kie.ai, and fal.ai, as well as model providers behind the selected feature, which may include Google, Black Forest Labs, OpenAI, Alibaba, and Kuaishou.
- How it is used. These providers process your content to generate and return your result and to keep the service safe. We select settings that prevent provider model training where the provider offers them, do not authorize providers to sell your content or use it for advertising, and instruct them to retain submitted content only as long as needed to process and secure your request. Their handling is also governed by their own privacy terms.
- Equivalent protection. We share personal data with these providers only under contracts that require them to safeguard it to a standard comparable to this policy and to applicable data protection law, and to use it only to provide the generation service to us.
Your permission and control. Before any of your content is sent to a third-party AI service for the first time, the app asks for your explicit consent and explains this sharing; no generation occurs until you agree. You can withdraw that consent at any time from Settings → Data & Privacy in the app. Once you withdraw it, we stop sending your content to these providers, which means new generations are no longer available until you turn it back on. You may only upload photos of yourself or of people who have agreed to appear.
Connecting VerseIn to AI assistants
You can connect your VerseIn account to a third-party AI assistant that supports the Model Context Protocol (“MCP”), such as ChatGPT, Claude, Claude Code, Codex, or Cursor, so that the assistant can generate images and videos on your behalf. A connection is made only when you sign in to VerseIn in your browser and select Allow on our consent screen; we never ask for or receive your password for the assistant, and the assistant never receives your VerseIn password.
- What we receive. Through a connection we receive the requests the assistant sends on your behalf: the prompts and generation settings, the images or other media it uploads or asks us to import, and the task and result identifiers it asks about. We also record the name and identifier of the connected application, the permissions you granted, when the connection was made and last used, and technical logs of each request (such as time, outcome, and IP address) for security and abuse prevention.
- How we use it. We use this information only to run the generations you or your assistant request, to charge and refund credits under the same rules as our website and apps, to show your connected applications to you, to keep the Service secure and to measure how the connector is used. Content submitted through a connection is moderated and sent to our AI processing providers exactly as described in “Third-party AI processing” above, and your results are saved to your VerseIn library.
- Who receives it. The results and account information the assistant requests (for example your credit balance or a link to a finished result) are returned to that assistant’s provider, which handles them under its own privacy policy and terms; we do not control how a third-party AI platform processes your conversations or the data it receives. We do not otherwise share connection data beyond the categories of recipients listed in “Disclosure of your information”.
- Scope of access. A connection can only use the permissions shown on the consent screen: viewing models, prices, your credit balance and your tasks, and uploading media and starting generations that spend your credits. It cannot change your password, make purchases, publish your works to Explore, or access face swap, character, or template features.
- Retention. Access tokens expire after one hour, and a connection that is not used for 60 days stops working. Records of a connection are kept while it is active and for a limited period afterwards for security, billing and dispute purposes; generations and ledger entries created through a connection follow the retention rules in “Retention” below.
- Your controls. You can disconnect an assistant at any time from Account → Connected apps on the website; disconnection takes effect within a minute at most, after which the assistant can make no further requests. Disconnecting does not delete the works it created; you can delete those from your library, and deleting your account ends every connection and deletes the associated data as described below. You can also remove VerseIn from within the assistant’s own settings.
Sharing to Explore (public content)
The app includes Explore, a public feed of works users choose to share. Publishing is always opt-in: nothing you create is visible to anyone else unless you explicitly share it. If you publish a work, the following becomes publicly visible to all users of the Service: the generated work itself (with a VerseIn watermark), your display name and avatar, the title of the template or the text prompt the work was made from, and its view, like, and reuse counts. Other users may reuse the work’s creation parameters (prompt, template, and settings) to create their own version. Your uploaded source photos, your email address, and your other creations are never made public. You can withdraw a published work at any time from its page, which removes it from the feed; copies may persist briefly in caches and backups until purged.
- Feed ranking. To order the Explore feed, viewing and liking signals for published works are processed on our behalf by our recommendation service provider, under contract and only for this purpose. We also use your country to show works relevant to your region first. This only changes the order in which works appear; global works remain available.
- Reports and blocks. If you report a published work we record the report, the reason you select, and your account, and use them solely for content moderation. If you block a user we store that choice to filter their published works out of your feed; the blocked user is not notified.
- Moderation and tagging. When you publish a work, we send the published work, together with its title or prompt text, to content moderation and tagging providers that act on our behalf. They screen it for content that breaks our rules and generate descriptive tags and safety labels, which we store with the post to review content, enforce our rules, and organise Explore. We do not send them your source photos, email address, account credentials, or your other creations. We engage these providers under contracts that limit them to providing this service to us and prohibit them from using the content to train AI models, to identify individuals, or for advertising, and we instruct them to retain it only as long as needed to process it. This processing is part of publishing: it applies only to works you choose to publish, and no further content is sent once you withdraw the work.
How we use your information
- To provide the Service: running your generation requests, saving your unfinished drafts, and delivering results.
- To operate your account and wallet: authentication (including verification codes sent to your email), crediting purchases, deducting coins, and processing automatic refunds when a generation fails.
- To secure the Service: preventing fraud, abuse, and unauthorized access.
- To moderate and tag works you publish to Explore, including through the providers described in Sharing to Explore.
- To personalize Explore, including prioritizing works relevant to your country.
- To measure and improve the product, including aggregated or de-identified usage analysis and advertising attribution as described above.
- To communicate with you about the Service — verification, receipts, material changes, and replies to your support requests.
- To comply with legal obligations and enforce our Terms of Service.
Consent and withdrawal
By providing your personal data and using the Service, you consent to its collection, use, and disclosure for the purposes above, as permitted by the PDPA. You may withdraw consent at any time — by turning off AI data sharing in Settings → Data & Privacy, adjusting your device’s tracking permission, declining optional permissions, or deleting your account — and we will stop the corresponding processing within a reasonable time. Withdrawing consent that is necessary for the Service (for example, sharing your photos with the AI providers that generate your results) means we can no longer provide the affected features.
Disclosure of your information
We do not sell personal data. We disclose it only to: (a) service providers who process it on our behalf and under our instructions — cloud hosting and object storage, the AI generation providers that run your requests, content moderation and tagging providers, payment and subscription processors, email delivery, and the analytics/advertising partners listed above; (b) authorities or other parties where disclosure is required or authorized by law; and (c) a successor entity in a merger, acquisition, or asset sale, subject to this policy. Every third party with whom we share user data — including analytics and attribution tools, advertising networks, and third-party SDKs (such as AppsFlyer, Google, Meta, and TikTok), payment and subscription processors, the AI providers and the content moderation and tagging providers described above, and any parent, subsidiary, or other related entity that may have access to user data — is contractually required to provide the same or equal protection of your personal data as set out in this policy and required by applicable law, and to use it only for the purposes we permit.
International transfers
Our infrastructure and service providers may store or process data outside Singapore. Where personal data is transferred overseas, we take steps required by the PDPA to ensure the recipient provides a standard of protection comparable to the PDPA, including contractual safeguards.
Retention
We keep personal data only as long as needed for the purposes above: account data and creations are kept while your account is active; when you delete your account (or a creation), the personal data and stored media are deleted or anonymized, except for records we must retain for legal, accounting, dispute, or fraud-prevention purposes, which are kept only as long as those purposes require. These include purchase, refund and payment-dispute records, the coin ledger, and records of your acceptance of our Terms, which we may use to respond to refund requests, chargebacks and legal claims after the account is deleted.
Drafts are kept for no more than 24 hours and are then deleted automatically; copies may persist briefly in caches and backups until purged. Deleting your account also deletes any remaining drafts.
Security
We protect personal data with technical and organizational measures appropriate to its sensitivity — encryption in transit, hashed credentials, access controls, and environment-segregated credentials. No method of transmission or storage is completely secure; if a data breach occurs that is likely to result in significant harm, we will notify the Personal Data Protection Commission (PDPC) and affected users as required by the PDPA.
Website cookies, local storage, and analytics
The website uses browser storage for several purposes. Essential storage includes a secure, HTTP-only refresh cookie that keeps you signed in for up to 60 days and functional storage for your language, theme, workspace preferences, and in-progress authentication flows. We also store your privacy choice, the version of this policy it was made under, and a random consent identifier in first-party cookies for up to one year, so that we can honor your choice and keep a record of it as data-protection law requires. For every visitor, regardless of their privacy choice, we perform privacy-preserving first-party measurement for aggregate service and campaign performance. A tab-scoped session record retains only a sanitized acquisition source, medium, campaign label, and coarse route group. It excludes advertising click identifiers, full URLs, persistent visitor identifiers, and account or user IDs, and it ends when the tab is closed. Page-group and conversion-category totals are sent only to our backend as separate anonymous events with a fresh event identifier; they are not linked to your account, shared with advertising platforms, or used to follow you across sites. The “Limited measurement only” choice keeps measurement at this level.
If you choose “Allow analytics” and arrive through a marketing link, we store campaign parameters and advertising click identifiers in a first-party attribution cookie for up to 90 days and mirror that record to local storage for measurement continuity. The local copy is removed when the 90-day window expires, when you withdraw consent, or when it is replaced or removed by the Service.
Where configured, this site loads Google Tag Manager for every visitor in a “consent mode” that starts with all optional storage denied. In that state Google receives only cookieless, aggregate signals that cannot identify you and are used to estimate overall campaign performance; no advertising cookie is set and no advertising tag runs. Only after you choose “Allow analytics” (or, outside regions that require an explicit choice, unless you opt out or your browser sends a Global Privacy Control signal) may analytics and advertising tags from partners such as Google, Meta, TikTok, and AppsFlyer set their cookies and receive page-view, campaign, device, and conversion information under their own privacy terms. Conversion tags may also read your account email on demand so those partners can hash it in the browser for match quality; the address is never placed on the page’s data layer, never written to cookies or local storage for this purpose, and is omitted entirely unless you have allowed analytics. Use the “Privacy choices” control in the footer to withdraw or opt out at any time; doing so removes the attribution record and every analytics and advertising cookie listed below, and reloads the page so optional tags are no longer active. Limited anonymous first-party measurement continues after withdrawal as described above. You can also clear browser storage directly; clearing essential storage may sign you out or reset preferences.
Affiliate attribution (Affonso)
If Affiliate attribution is enabled and optional analytics and advertising are allowed, the Affonso Pixel may process the referral identifier, campaign and referral-visit information, and browser data. It may set the affonso_referral andaffonso_data advertising cookies for up to 30 days. Without that permission, those cookies are not set and, according to Affonso, IP address, browser and referring-page data are not sent to it. A minimal click record may nevertheless be retained when you revisit the Service through an Affiliate link.
When a new account is successfully attributed, we send Affonso only an external user identifier, not your name or email, and Affonso email tracking is disabled. For eligible Stripe purchases, we add the referral identifier to the Checkout Session and the related Subscription or PaymentIntent metadata. Through the connected Stripe account, Affonso can receive all payment events made available to that integration, including transaction, payment, renewal and refund events, and the Stripe customer data included with those events. Affonso may use them to calculate and adjust commissions.
If you withdraw permission, we delete the Affonso cookies and our local referral record, expire still-open attributed Checkout Sessions, and remove the referral metadata from active Stripe subscriptions. This stops future attributed renewals but does not erase conversions or commissions already recorded, and deleting cookies does not automatically delete visit data already held by Affonso. Affonso does not currently apply an automatic retention period to this data; it is retained until deleted. Unconverted click records cannot be deleted through Affonso’s API and require a manual request to Affonso. Account deletion follows our retention rules and may require that manual provider-side removal. If you withdraw permission in a browser where you have never signed in, we cannot use that anonymous browser state to locate an existing account or its Stripe subscriptions; the browser cookies are still removed and new attributed Checkouts are suppressed. To request access to or deletion of provider-side data, or removal of an unconverted click record, contact us using the details below so we can coordinate the request with Affonso where applicable.
When you make an explicit privacy choice on this site we record the choice, the surface you made it on, the version of this policy, your region, the time, and the requesting IP address and browser identification, so that we can demonstrate the basis on which optional measurement ran. If you later sign in, that record is associated with your account. A material change to this policy resets a previous “Allow analytics” choice, and you will be asked again where an explicit choice is required; a “Limited measurement only” choice is never reset by a policy change.
Cookies and storage we use
Essential
Required for sign-in, security and to remember your privacy choice. Always on.
| Name | Type | Provider | Duration | Purpose |
|---|---|---|---|---|
| rvn_refresh | Cookie | VerseIn | 60 days | Secure, HTTP-only refresh token that keeps you signed in. |
| rvn_consent | Cookie | VerseIn | 1 year | Your privacy choice (allow analytics / limited measurement). |
| rvn_consent_v | Cookie | VerseIn | 1 year | The privacy-policy version your choice was made under, so a material policy change asks again. |
| rvn_consent_id | Cookie | VerseIn | 1 year | A random identifier that lets us keep a record of the privacy choice you made, as the law requires. |
| rvn_consent_req | Cookie | VerseIn | 24 hours | Whether your region requires an explicit privacy choice. |
| versein.signup_install_id | Local storage | VerseIn | Until cleared | Abuse prevention during sign-up. |
Functional
Preferences and in-progress work you set up yourself. Always on.
| Name | Type | Provider | Duration | Purpose |
|---|---|---|---|---|
| NEXT_LOCALE | Cookie | VerseIn | 1 year | Your language preference. |
| versein-theme | Local storage | VerseIn | Until cleared | Light / dark theme. |
| versein-console-session | Local storage | VerseIn | Until cleared | Console session state (workspace, sidebar, and local draft state; saved drafts are stored on our servers as described in the Privacy Policy). |
| versein* | Local storage | VerseIn | Until cleared | Other Console preferences and in-progress flows (favorites, onboarding, drafts). |
Limited first-party measurement
Anonymous, aggregate and first-party only. Runs under every privacy choice.
| Name | Type | Provider | Duration | Purpose |
|---|---|---|---|---|
| versein_funnel_topup | Session storage | VerseIn | Up to 30 minutes in the current tab; cleared on sign-out or account switch | The confirmed queue display reference used to attribute a credit-pack checkout. Not a visitor identifier. |
| __Host-tovideo_funnel_* | Cookie | VerseIn | Browser session; up to 400 days when persistence is permitted | Secure, HTTP-only first-party identifier for acquisition and purchase funnel measurement. Linked to your account after sign-in; rotated on sign-out. Not used for advertising tracking. |
| tovideo_funnel_* | Cookie | VerseIn | Browser session; up to 400 days when persistence is permitted | Local HTTP development variant of the first-party funnel identifier. Production HTTPS uses the __Host- cookie instead. |
| versein_limited_attribution | Session storage | VerseIn | Tab session | Sanitized acquisition source, campaign label and coarse page group for anonymous aggregate measurement. No click identifiers, no user ids. |
| versein_product_session | Session storage | VerseIn | Tab session | Anonymous product-analytics session marker. |
| versein_behavior_device_counts | Local storage | VerseIn | Until browser storage is cleared | Anonymous per-device navigation and model selection counters; retained on sign-out. |
| versein_behavior_session_counts | Local storage | VerseIn | Current GA4 session (unavailable-GA fallback is memory-only) | Per-entry click indices shared across pages and tabs, without email or account identifiers. |
Analytics
Google Analytics and longer-lived first-party attribution. Only with “Allow analytics”; removed when you withdraw.
| Name | Type | Provider | Duration | Purpose |
|---|---|---|---|---|
| rvn_attr | Cookie | VerseIn | 90 days | First-touch campaign parameters and advertising click identifiers (also mirrored to local storage). |
| rvn_attr | Local storage | VerseIn | 90 days | Local copy of the attribution cookie for measurement continuity. |
| versein_landing_attr | Session storage | VerseIn | Tab session | Campaign labels and ad click identifier of the current visit, so a landing page and the studio it leads to report the same campaign. |
| _ga | Cookie | Google Analytics | 2 years | Distinguishes visitors. |
| _ga_* | Cookie | Google Analytics | 2 years | Persists session state for a GA4 property. |
Advertising
Google Ads, Meta, TikTok and AppsFlyer conversion measurement. Only with “Allow analytics”; removed when you withdraw.
| Name | Type | Provider | Duration | Purpose |
|---|---|---|---|---|
| affonso_referral | Cookie | Affonso | 30 days | Stores the consented affiliate referral identifier for registration attribution. |
| affonso_data | Cookie | Affonso | 30 days | Stores consented affiliate tracking data associated with a referral visit. |
| _gcl_au | Cookie | Google Ads | 90 days | Conversion linker: stores ad-click information for conversion measurement. |
| _gcl_* | Cookie | Google Ads | 90 days | Google Ads click identifiers (gclid / wbraid / gbraid) for conversion attribution. |
| _fbp | Cookie | Meta | 90 days | Browser identifier used to match conversions to Meta ads. |
| _fbc | Cookie | Meta | 90 days | Meta ad-click identifier, set after arriving from a Meta ad. |
| _ttp | Cookie | TikTok | 13 months | Browser identifier used to match conversions to TikTok ads. |
| _tt_enable_cookie | Cookie | TikTok | 13 months | TikTok Pixel cookie-enablement flag. |
| afUserId | Cookie | AppsFlyer | 2 years | First-party identifier used by the AppsFlyer Web SDK for website visits and events. |
| AF_SYNC | Cookie | AppsFlyer | 1 week | Marks that the AppsFlyer Web SDK has a stable user identifier, used to reduce repeat lookups. |
| AF_DEFAULT_MEASUREMENT_STATUS | Cookie | AppsFlyer | 2 years | Stores the AppsFlyer Web SDK default measurement opt-in copied from the snippet. |
| AF_MEASUREMENT_STATUS | Cookie | AppsFlyer | 2 years | Stores the AppsFlyer Web SDK measurement opt-in after enableMeasurement / disableMeasurement. |
| versein_af_purchase_ids | Session storage | AppsFlyer | Tab session | One-shot purchase event ids so refreshing a payment success page does not double-count revenue. |
Names ending in * are prefixes. Third-party durations are those published by the provider and may change.
Children
The Service is not directed to children under 13 (or the equivalent minimum age in your region), and we do not knowingly collect their personal data. If you believe a child has provided us personal data, contact us and we will delete it.
Your rights
Under the PDPA you may request access to, and correction of, the personal data we hold about you, and information about how it has been used or disclosed in the past year. Depending on your region you may have additional rights (such as portability or erasure). Most actions — editing your profile, deleting creations, deleting your account — are available directly in the app; for anything else, contact our Data Protection Officer below. We will respond within the time required by law. You may also lodge a complaint with the PDPC (www.pdpc.gov.sg) or your local supervisory authority.
Changes to this policy
We may update this policy as the Service or the law evolves. Material changes will be announced in the app or on this site, with the “Last updated” date revised. Continued use after changes take effect constitutes acceptance.
Contact & Data Protection Officer
Our Data Protection Officer can be reached at [email protected], or by mail to Zuler Technology Pte. Ltd., 991D Alexandra Rd, #02-17, Singapore 119972.