Privacy Policy
Version 2.4 — Effective: October 23, 2026
1. Information We Collect
Veil is designed to collect the minimum information necessary to provide the service:
- Anonymous authentication: A random user ID is generated when you first use the App. No email address, phone number, or personal information is required.
- Encrypted content: Messages, photos, videos, album comments, profile images, and calendar plans are encrypted on your device before being sent to our servers.
- Device information: Your device platform (iOS/Android), selected language, and which App features your version supports are stored for service improvement and analytics.
- FCM token: If you opt in to push notifications, your device token is stored to deliver notifications.
- Usage data: Message count, storage usage, call count (version 3.0.0 and later), and last login time are tracked for quota management and dormant account detection.
- Information used to choose ads: The gender you picked at first launch ("Prefer not to say" is available) and your region. They are sent to our server to choose ads and offers, and are not stored with your account.
- Install referrer (Android): The click identifier and campaign labels Google Play passes on when you install after tapping one of our ads. See Section 10.
- Phone change records: Records made when you move to a new phone (transfer code, backup restore, or a code from your partner's phone). See Section 7.
2. How We Use Information
We use the information we collect to:
- Provide and maintain the messaging service between you and your partner
- Enforce storage quotas and usage limits
- Deliver push notifications (if enabled by you)
- Move your pair to a new phone
- Display curated advertisements to free-plan users
- Measure the effectiveness of our own ads (Android, Section 10)
- Detect unauthorized access and keep the service secure
- Detect and clean up dormant accounts
- Improve the service through aggregated, anonymous analytics
3. Data Encryption
Veil encrypts the following content on your device before sending it to the server:
- Text messages
- Photos and videos (chat, album, and calendar)
- Album comments
- Calendar plans (titles and comments)
- Profile images
- Link previews (the title, description, and preview image of links you send) (version 3.0.0 and later)
- Push notification payloads
The encryption key is created on your device from information unique to your couple, and the key itself is never sent to the server. The server stores encrypted data. This design does not, however, guarantee that we could not reproduce the key. In our normal operations, we do not access the contents of encrypted content.
Notification previews: When you send a text message, its opening (up to 30 characters) is also encrypted with a separate notification key and stored, for display in a notification. Only when the recipient has set Notification detail to "Full" does our server decrypt it and include it in the notification. It is not used under "Restricted" (the default).
Link previews (version 3.0.0 and later): When you send a message containing a link and link previews are turned on, your device requests that page directly from the linked website to create the preview. The website receives your device's IP address and an ordinary web request, just as if you had opened the link yourself. Veil's servers do not receive the link or the page. The preview is encrypted on your device like your messages. You can turn this off in Settings → Privacy → Link previews. The recipient's device contacts the website only when they tap the link.
Chat background images are stored only on your device and are never uploaded to any server.
4. Calls (version 3.0.0 and later)
This section applies to Veil version 3.0.0 and later.
Veil provides voice and video calls between you and your partner. Calls work differently from everything else in the App, so they are described separately here.
- Call audio and video are never stored on our servers. Calls are not recorded, not transcribed, and no copy of a call exists anywhere in our systems.
- Call media is encrypted between the two devices. The audio and video of a call travel directly between your device and your partner's device, encrypted (DTLS-SRTP) with keys generated on the two devices. Those keys never leave the devices and we do not hold them, so we cannot decrypt call media — including when the call has to be relayed, as described below. The information used to match those keys is, however, part of the call set-up data described next, which passes through our servers.
- Call set-up information does pass through our servers. For a call to ring at all, the two devices exchange signalling data through us: which call it is, whether it is voice or video, its state (ringing, connected, ended), and the network addresses needed to connect. This means we can see that a call took place between two accounts and how long it lasted. What we cannot see is anything that was said or shown during it.
- On a direct connection, your partner's device learns your IP address, and your device learns theirs. This is inherent to peer-to-peer calling: it is the trade-off that keeps the conversation itself off our servers.
- When a direct connection is not possible — which is common on mobile networks — the call is carried by a relay server. The relay forwards already-encrypted packets and cannot decrypt them, so a relayed call is no less private than a direct one; only the route is longer.
- Quality measurements. Each call attempt records content-free operational data: whether it connected, how long it lasted, why it ended, which connection type was used, packet loss and jitter, together with the device platform, App version, and two-letter device language. These records contain no user ID, no couple ID, no call ID, and no free-text field, so they cannot be linked to you, to your partner, or to one another.
- Missed calls appear in your chat as a plain line showing a time and nothing else — no caller name, no call type, no duration. Calls are not written into your phone's own call history.
A note on wording. We do not use the term "end-to-end encrypted" for any feature, including calls. Call audio and video are encrypted between the two devices as described above and we do not hold the keys, but call set-up passes through our servers and there is currently no way for you to verify your partner's key directly. Stored content such as messages, photos, videos, and comments is encrypted on your device before it is sent, as described in section 3, but its key is derived from your couple's identifier.
5. Data Sharing
We do not sell your personal information. The following businesses handle information to provide the service:
- Google (Firebase): Stores data, provides authentication, and delivers push notifications. Stored content is encrypted as described in Section 3.
- RevenueCat: Manages subscription status (Section 11).
- Google Ads: Receives only the Android ad-measurement data (Section 10).
- Call relay service (version 3.0.0 and later): When a direct connection between the two devices is not possible, a call may be carried by a third-party relay service. The relay handles encrypted call packets only and has no access to their contents (Section 4).
We do not view the contents of your content in our normal operations.
6. Legal Requests
We may disclose data in our possession — such as encrypted metadata, account creation date, and last login time — in response to valid court orders, warrants, or other legal requests from competent authorities.
Because messages, photos, videos, album comments, and other content are stored on our servers in a form encrypted on your device, we can only disclose such content in encrypted form.
If we receive a report of suspected child sexual abuse material (CSAM), we will report it to the U.S. National Center for Missing & Exploited Children (NCMEC) or other relevant authorities.
7. Moving to a New Phone
- Transfer code: A code made on your old phone works only until it expires (5 minutes). When it was used and the new account that used it are recorded.
- Backup: The backup file is saved on your device and encrypted with a passphrase you choose. Neither the file nor the passphrase is ever sent to us. To confirm a restore, only a hash (a one-way value) of a secret inside the file is registered on our server.
- Partner approval (backups made before 3.0.0): The short message (up to 100 characters) and the device type you enter when requesting a restore are stored on our server unencrypted, so your partner can see them.
- A code from your partner's phone: The code, who issued it, and the new account that used it are recorded.
- After a phone change, your previous account IDs remain in the pair's records so your subscription history carries over.
8. Data Storage
- Data is stored on Firebase (Google Cloud) servers, mainly in Japan (Tokyo region); some processing takes place on servers in the United States.
- Media files are stored in Firebase Storage in encrypted form.
- Metadata (timestamps, file sizes, etc.) is stored unencrypted for service operation.
- Ads, offers, and App settings are delivered from our own server in Japan. The App sends its platform and version, and the gender and region used to choose ads.
- For security, we keep records of access to data (when, which account, and which data — never the content itself) for one year.
9. Data Retention and Deletion
- You can delete individual messages, album items, and comments at any time.
- You can also delete content shared by your partner.
- Disconnecting from your partner preserves shared data for potential reconnection.
- Accounts that have not opened the App for about 12 months may be deleted automatically, together with the pair's shared data. An account is not deleted while the partner keeps using the App or while Premium is active.
10. Advertising
- Free-plan users may see curated advertisements.
- We do not use programmatic ad networks (such as AdMob or Meta Audience Network).
- All advertisements are manually selected by the operator.
- In-app advertisements do not track your behavior or collect personal information.
Ad measurement (Android): To understand whether our own advertising is effective, the Android version of Veil records a small amount of information about how the App was installed.
- If you install Veil from Google Play after tapping one of our ads, Google Play passes a click identifier (such as a Google Click ID) and campaign labels to the App. Veil reads this once at first launch and stores it with your anonymous user ID. If you did not come from one of our ads, nothing meaningful is recorded.
- The click identifier is linked only to two events: completing pairing with your partner, and buying or renewing Premium. We report these events, with the purchase amount, to Google Ads to learn which ads led to real use.
- Messages, photos, videos, comments, profile images, and other content are never involved. Google Ads receives only the click identifier, the event type, the time, and the purchase amount.
- The click identifier is deleted 120 days after it is recorded. After that, only anonymous aggregates (for example, pairings per campaign) remain.
- Veil contains no third-party advertising or analytics SDK. This measurement runs on our own code and servers.
- The iOS version of Veil does not record install referrer information.
11. Subscriptions
- Subscription purchases are processed through the Apple App Store (iPhone) or Google Play (Android).
- Payment information is managed by Apple or Google; the operator neither receives nor stores it.
- Subscription status is managed through RevenueCat, a third-party subscription management service. RevenueCat receives your anonymous user ID and purchase information from Apple or Google, but does not access encrypted content.
12. Children's Privacy
Veil is intended for users aged 16 and older. We do not knowingly collect information from anyone under 16. If we learn that a user is under 16, we will immediately suspend the account and delete all associated data.
If you are a parent or guardian and believe your child has used Veil, please contact us at support@yotsubanet.org and we will take appropriate action.
13. Security
We take the following reasonable measures to protect your data:
- Content is encrypted on your device before transmission
- All data transfers use secure HTTPS connections
- App access requires a PIN or biometric authentication
- Optional screenshot protection
- Records of access to data are kept and suspicious access is monitored
14. Your Rights
You have the right to:
- Delete your content at any time
- Disconnect from your partner
- Request deletion of your account by contacting us
15. Changes to This Policy
We may update this Privacy Policy from time to time. The latest version is always available within the App and on our website.
16. Contact
For questions about this Privacy Policy, contact us at support@yotsubanet.org. We aim to respond to all inquiries promptly.