← Back to home

Privacy Policy

Last updated: October 2, 2026

This Privacy Policy explains how the Crossed Paths app (the “App”) handles information. The App is operated by an independent individual developer (“we,” “us,” “our”), not by a company. The App was designed around one rule: we read the location and date stored inside your photos, never the photos themselves.

The App has two sides, and they store different things. Connections — comparing maps with someone who gave you an invite code — works exactly as it always has. Route twins — the matching feature, with cards, waves and chat — necessarily stores more, because two strangers cannot meet on a card that does not exist. Section 4 onwards covers it in full.

By using the App you agree to the practices described here. If you do not agree, please do not use the App.

1. The short version

  • There is no account. We never ask for your email address or phone number.
  • Your photo library is never uploaded. We read only each photo's coordinates and capture date, and immediately reduce them to coarse map cells.
  • The one image we do store is the card photo you pick yourself for the matching feature — and only if you add one. It is optional, and other people using matching can see it.
  • Matching stores a little more: your card, who you waved at or passed on, your matches, and the messages in them.
  • Matching is on by default and can be switched off in the App at any time, which removes you from the pool.
  • You can delete everything at any time by removing the App and asking us to erase your record.

2. What the App reads from your device

With your permission, the App scans your photo library using Apple's Photos framework. For each photo it reads only two properties: the GPS coordinate and the creation date. It never opens, copies, transmits or analyses the image content. If a photo has no location data, it is ignored entirely.

Coordinates are rounded into grid cells before anything is stored or transmitted: about 0.001° (roughly 100 m) for the places on your own map and for what a connected friend sees, about 0.1° (roughly 11 km) for finding route twins, and — while “Show my places to route twins” is on — the same roughly 100 m places for the spots shown on a route-twin card. Raw coordinates are never sent off the device.

The one exception to “nothing from your library leaves the device” is a photo you deliberately choose as your matching card: that single image is uploaded, framed as you cropped it. Section 5 explains who can see it.

3. What we store on our servers

To let two people compare maps, the following is stored in Google Firebase (Firestore) under a random device identifier:

DataWhy
Random device identifierIdentifies your record without identifying you
Anonymous authentication idProves write access to your own record
Display name you type in the appSo a connected friend sees who they matched with
Invite codeLets a friend connect to you
Coarse map cells, visit dates, photo counts, city and country namesComputing overlaps and near misses
Friendship records and their overlap summariesShowing both sides the same result
Push notification tokenNotifying you when a connection, match or message arrives

The name you enter is entirely your choice — a nickname works. We do not verify it and we do not link it to any other identifier.

Connections are made only with an invite code someone gave you. A match in the route-twin feature is a separate thing and never turns into a connection by itself: opening your maps to each other is a second, deliberate step.

4. Route twins: the matching pool

Once your photos have been scanned, the App puts a card for you in the matching pool. This is on by default. You can turn it off whenever you like — Twins tab → settings → “Open to matching” — which deletes your pool record and takes your card out of everyone's deck.

While you are in the pool we store, under the same random device identifier:

DataWhy
Map cells rounded to roughly 11 km, plus a one-cell marginFinding people whose photos land near yours
Places rounded to roughly 100 m, grouped by 11 km cell (optional, on by default)Showing route twins the spots you have both been to, only inside cells you both have photos in
Most-visited city nameContext on the card
Your name, and — only if you add them — a photo, an age and a short bioThe card other people see
Waves you send and receiveA match is a wave in both directions
Your swipe decisions: passes, waves, reports, unmatchesSo the same card is not dealt to you twice, and so a decision survives reinstalling the App
When your pool record was last refreshed (each time you open the App)People who used the App recently are dealt first; the App never shows this time to anyone
Messages in your matchesDelivering the conversation

Two details worth being precise about. First, a wave is silent: nobody is told they were waved at, passed on or unmatched. Second, your rounded places are only ever shown inside areas the other person also has photos in, through a server function that does the filtering — nobody can download your list, and nothing outside those areas is shared. You can turn this off in Settings (“Show my places to route twins”), which deletes what was stored; you then see only your own side of the map as well.

Your swipe history is stored on our servers rather than only on your phone. Only you can read your own record; nobody can see who passed on them.

5. Your card, and who can see it

The card is your name plus anything optional you add: a photo, an age, a short line about you. Anyone using the matching feature can be dealt your card, and paid members can see it in full — that is the point of the feature, and it is why the photo is a deliberate choice rather than something taken from your library. You can edit or clear any of it at any time, and switching matching off removes the card from circulation.

6. Chat

A match opens a conversation. Messages are stored on our servers so they can be delivered to the other person, and they are never edited or deleted in place — what was sent is what a reviewer would see if it is reported.

Either of you can unmatch at any time. That deletes the match and the whole conversation for both people, permanently, and the other person is not notified. Message times are stamped by our server and shown to each of you in your own time zone.

7. Reports and moderation

You can report a card or an individual message. A report sends us the reason you chose, any note you write, the reported person's card, and — for a message report — the text of that message. Reporting someone also ends the match, the same as an unmatch.

Reports are reviewed by the developer. A card that breaks the rules can be taken down, which removes it from every deck; the person is told, in the App, that their card was taken down and why. We keep reports for as long as needed to act on them and to recognise repeat behaviour.

8. Usage data the App records

To see whether the App works as intended — whether iOS actually shows its rating prompt, which subscription screen people meet, and whether people come back — the App records a small amount of usage data about itself. It contains no photos, places, names, messages or contact details, and it is not used for advertising or to track you across other apps or websites.

  • In a record that only you and we can read (not your friends, not route twins), under your anonymous authentication id: the App Store country of your Apple account (a three-letter code such as “GBR”), your iOS version and the App's version, when the App was first and last opened and on how many days, when the App asked iOS for a rating prompt and whether a prompt window then appeared (and for how long), why a rating prompt that was due was not asked for (for example because another screen was in the way), how many times the “Rate the app” link in Settings was tapped, whether the one subscription screen shown after joining with a friend's invite code was shown (or why not), and, if you have no photo on your matching card, when the Route twins tab first showed you how many route twins are waiting, how many there were, and whether you added a card photo after that.
  • With your device record, by versions before 1.1.6 only: the time the App asked iOS for a rating prompt, for each moment it asked at. Your connected friends' apps can read that record (section 3), so version 1.1.6 and later keep this time in the private record above instead.
  • At RevenueCat, our subscription provider: the random device identifier, which subscription screen was last shown (for example the one after your first scan, or the one in front of Close calls), and, at that moment, whether you joined with a friend's invite code, whether you have a connected friend, whether your matching card has a photo, and whether notifications are allowed. This tells us which screen subscriptions come from.

We process this on the basis of our legitimate interest in making the App work and improving it; you can object by emailing us (section 17). The App never sees whether or how you rated it; iOS does not tell apps that. The record in our database, and the details held by RevenueCat, are erased together with your server record when you ask us to delete it (section 12).

9. Website analytics

This website uses Google Analytics (via Firebase) to count page visits and see which pages people find useful. It applies to the website only — the App contains no analytics SDK; section 8 describes the little it records itself.

The page that shows a shared card is a special case. The link's card id is what reads the card, so it is removed before any analytics event is sent: every shared card is recorded under the same address, /s/. We record only that a shared card was opened, what kind of card it was, whether it loaded, and whether the App Store link was tapped. The card's contents — names, places, dates — are never sent to Google.

No advertising signals are used: ad storage, ad personalisation and ad user data are all switched off.

10. Sub-processors

  • Google Firebase (Authentication, Firestore, Cloud Functions, Cloud Messaging, Analytics) — stores the data above, delivers notifications, and counts visits to this website.
  • RevenueCat — manages subscription status. It receives a purchase receipt, the random device identifier and the usage details listed in section 8; if you installed the App from an Apple Search Ads ad, Apple's attribution token (which campaign led to the install); and basic device information that its SDK sends by itself, such as the device model, iOS version, App version, language and region. Never your map data.
  • Apple — processes payments and delivers push notifications. We never see your payment details.

11. What we do not do

  • We do not sell or rent your data.
  • We do not use your data for advertising or build advertising profiles.
  • We do not track you across other apps or websites.
  • We do not access your contacts, microphone, or precise live location.
  • We do not tell anyone that they were passed on, unmatched or reported.
  • We do not read your conversations, except the specific messages someone reports.

12. Retention and deletion

Your record is kept for as long as you use the App. Deleting the App from your device stops all further processing. Things you can erase yourself, from inside the App: switching matching off deletes your pool record; editing your card clears whatever you remove; unmatching deletes that match and its whole conversation for both sides; removing a connection deletes it for both sides.

To have your server record, your card, your matches and any connections permanently erased, email crossedpathsapp@outlook.com from any address and include your invite code; we will delete it within 30 days, together with the usage record described in section 8 and the customer record at RevenueCat that carries your random device identifier. Reports already filed about you may be kept longer where we need them to enforce the rules.

13. Your rights

Depending on where you live (for example under the GDPR or the CCPA), you may have the right to access, correct, export or delete your data, and to object to processing. Because the App holds no contact details for you, we use your invite code to locate your record. Contact us at crossedpathsapp@outlook.com.

14. Children

The App is not directed at children under 13, and we do not knowingly collect data from them. The route-twin matching feature — cards, waves and chat — is for adults only: you must be 18 or over to use it. If you believe a child has used the App, contact us and we will delete the record.

15. International transfers

The developer is based in Sweden, and the App's infrastructure runs on Google Cloud servers in the United States. Using the App therefore involves transferring your map data (11 km cells and, if enabled, places rounded to roughly 100 m) out of the EU/EEA. Google LLC is certified under the EU–U.S. Data Privacy Framework, and Google's Standard Contractual Clauses apply to the processing carried out on our behalf. RevenueCat likewise processes subscription data in the United States under Standard Contractual Clauses.

16. Changes

If this policy changes materially we will update the date at the top and, where appropriate, notify you in the App.

17. Contact

Questions or requests: crossedpathsapp@outlook.com. The developer operates from Sweden.