Legal · Privacy
Privacy Policy
Last updated: July 2026
Velora is a travel intelligence platform. This policy explains exactly what data we collect, why we collect it, and who we share it with — written to be read, not just filed.
1. What We Collect
Account information
When you create an account, we collect your email address and display name. If you sign in
with Google, we also receive your profile photo URL directly from Google's OAuth service. If
you sign in with Apple, we receive whatever Apple passes us — which is your name only on the
very first sign-in, and an email address that is a private relay address
(@privaterelay.appleid.com) if you chose to hide your real one. We treat a relay
address exactly like any other email and never attempt to resolve it to your real one. We
store these in your Velora profile to identify your account and personalize your experience.
Travel data
When you mark cities as visited, we store those destinations along with their geographic coordinates in our database. This data powers your travel record and passport map. It is associated with your account and visible only to you and friends you explicitly connect with.
Passport & entry-readiness data
To personalize entry, visa, and passport-validity guidance, Velora lets you add one or more passports — each identified by its issuing country (nationality) and, optionally, an expiry date you enter. This information is stored on your device only (see "On-Device Storage" below); it is never uploaded to our servers, and the nationality reaches an AI provider only as an anonymous country name, as described in Section 5. It is used to tailor destination briefings to you — for example, warning you when a passport is within six months of expiry or surfacing entry requirements for your nationality. You can add, edit, or remove passports at any time from within the app.
Personalization & taste data
To make destination intelligence feel built around you, we derive a travel profile from activity you generate in the app — the cities you mark as visited, destinations you save, and the ratings you submit across dimensions such as safety, food, nightlife, cost, and walkability. We combine these into aggregate taste signals used to order and personalize what you see (for example, recommendations and the "For you" panel) and to relate a destination to places you have already been. This profile is associated with your account and is not sold or shared for advertising.
Search usage
We track a daily count of how many destination searches you perform to enforce plan limits (Free: 10/day, ATLAS: 25/day, Pro: unlimited). We store this count per user per day — not the individual destinations you searched for. Guest searches are counted against the install id described below.
Separately, our product analytics (Section 3, PostHog) does record which destination an event relates to, but not who searched for it. These are two different records kept for two different reasons: the counter is tied to your account and deliberately holds no destinations, while the analytics event names the destination and is not tied to your account at all. Neither one can be used to reconstruct the other.
Install id (guests only)
When you search without an account, the app generates a random id and keeps it in local storage on your device. It is not derived from your IP address, your device, or anything about you, and it cannot identify you personally — it exists solely to count guest searches against the daily limit. Clearing the app's storage clears it. It is never linked to an account or stored alongside personal information.
Subscription and billing
Subscriptions are sold as in-app purchases through the Apple App Store and are handled by Apple. Your payment details are given to Apple and never reach our servers; we never see your card. We use RevenueCat to verify the purchase with Apple and to tell the app which plan you hold; when you are signed in, RevenueCat is given your Velora account id as the subscriber id, so that a plan you bought on one device is recognized on another. We store your plan, its status, and the current billing period. Apple's and RevenueCat's privacy policies govern how each of them handles that data.
Push notification tokens
If you allow notifications, Apple issues your device a push token and we store it against your account so a friend's passport stamp can reach you while the app is closed. We store the token and whether it came from Apple's sandbox or production gateway, nothing else about the device. Turning notifications off in iOS Settings stops delivery; deleting your account deletes the token.
Requests you send us
When you ask us to chart or deep-search a city, we store the city name, the country, when you asked, and which plan you were on at the time — the last of these because paid plans are promised priority in that queue and the queue has to be able to honour it. Requests are linked to your account, or to the install id below if you are signed out. They are used to decide what we cover next and for nothing else.
Community contributions
Ratings you submit for a city, and reports you file about information you believe is wrong, are stored with your account so we can count each person once and follow up. Ratings are shown to others only as part of an aggregate score, never as an individual attributable entry.
Social connections
If you connect with other Velora users as friends, we store that connection. Your public VeloraLink profile (a short ID like VLK-xxxx) is visible to friends you accept. You can manage or remove these connections at any time from within the app.
Nightlife bookmarks
When you bookmark venues in the nightlife section, we store those bookmarks linked to your account. If the database is unavailable, bookmarks may also be stored locally in your browser.
Preferences
Your display preferences (time format, temperature unit, brand mode) are stored locally in your browser using localStorage. These are not sent to our servers and remain on your device.
2. How We Use Your Data
- To authenticate your account and keep your session secure
- To deliver destination intelligence and travel analysis you request
- To enforce plan-based search limits and manage your subscription
- To display your travel history and passport map
- To personalize destination briefings using your passport(s), taste profile, and travel history
- To connect you with friends and show shared travel data
- To confirm a subscription purchased through the App Store and keep your plan in sync
- To send you a notification you asked for, such as a friend stamping a city
- To decide which uncharted cities to cover next, honouring the priority a paid plan carries
- To understand which features are used, so we can improve them (Section 6)
- To prevent abuse of our API
We do not use your data for advertising. We do not build behavioral profiles for sale.
3. Third Parties We Share Data With
Vercel
Velora's web app is hosted on Vercel, which processes every request to the site — including transient technical data such as your IP address and browser user agent needed to deliver the page and protect against abuse — and provides the web-only analytics described below. Vercel acts as a processor on our behalf.
The iOS app does not touch Vercel at all. Its web bundle ships inside the app and every request it makes goes directly to Supabase, so nothing about your use of the app passes through Vercel.
Supabase
Our database, authentication, and backend function infrastructure. All user account data, travel records, subscriptions, and social connections are stored in Supabase's managed PostgreSQL service. Destination intelligence for curated cities — including safety and nightlife data — is read directly from this database by the app. The small number of requests that still need an AI provider's API key (see Gemini and Groq below) run as Supabase Edge Functions rather than on a separate server. Supabase processes this data on our behalf under their data processing agreement.
Apple
Apple appears in four places: Pro and ATLAS are in-app purchases, so Apple takes the payment, holds the payment method, and manages renewals and cancellations (we receive no payment details, only whether a subscription is active); Sign in with Apple authenticates you if you choose it; the Apple Push Notification service delivers notifications you have opted into; and the maps in the app are Apple Maps, drawn by MapKit JS. When a map loads, Apple receives the request and the area being displayed, governed by Apple's privacy policy. We send Apple no account information in any of these.
RevenueCat
Subscription infrastructure. RevenueCat validates the App Store receipt on our behalf and tells the app which entitlement you hold. When you are signed in it receives your Velora account id as the subscriber id, plus the purchase itself. It does not receive your name, email, or card.
PostHog
Product analytics — how features are actually used, so we can decide what to build and what to fix. PostHog is the one analytics tool that runs inside the iOS app as well as on the web. It records product events (for example: a city was searched, a paywall was viewed, onboarding was completed, a passport stamp was added), the destination names attached to those events, the plan you are on, plus standard technical context such as device type, operating system, approximate region derived from IP, and the screens you move between.
These events are anonymous. We do not send PostHog your account id, your email address, or your name, and we do not ask it to build a profile of you — it is configured so that no person record is created at all. Signing in does not change what is collected or attach any of it to your account, which means analytics cannot be used to look up what a particular traveler has searched for, and neither can we. Session replay, which records the screens of an individual session, is switched off in the app itself rather than merely left unenabled.
Events are grouped by a random id stored on your device, so that we can tell one visit from two and see where a flow is abandoned. That id is not derived from your device, your IP address or anything about you, it is replaced when you sign out, and it is never joined to an account. We do not use PostHog for advertising, we do not sell what it collects, and we do not enrich it with data from third parties. Clearing the app's storage clears the id; if you would rather not be measured at all, email us at the address in Section 13.
Vercel Analytics and Speed Insights (web only)
On the website only, we use Vercel's cookieless analytics and performance monitoring. They collect aggregate, non-identifying data: page views, referring sites, approximate region, device and browser type, and Web Vitals. They are deliberately not loaded inside the iOS app.
Groq — AI for the district safety map
See Section 5, "How Velora uses AI", for what is sent and what it is used for.
Google (Gemini) — AI for nationality and destination risk
See Section 5, "How Velora uses AI", for what is sent and what it is used for.
FlagCDN
Country flag images are served from FlagCDN. These are public image requests carrying no account information. Our typefaces are self-hosted and are not fetched from Google Fonts or any other font CDN.
Affiliate partners
Some outbound links — such as the "Find Flights" link to Skyscanner — are affiliate links. If you click one and make a booking, we may earn a commission at no extra cost to you. When you click these links you leave Velora and are subject to that partner's own privacy policy and any cookies or tracking they use. We do not share your account information with affiliate partners.
Google (OAuth)
If you sign in with Google, Google processes your authentication and provides us with your name, email, and profile photo. This is governed by Google's privacy policy.
4. On-Device Storage
We use localStorage (not cookies) for client-side persistence — in the app this is storage private to Velora, which iOS removes when the app is deleted. The main items:
- theme, velora_timeFormat, velora_tempUnit, velora_a11yMode — appearance, unit and accessibility preferences
- velora-subscription, velora-usage — cached plan and search-count data, so the app is correct before the network answers
- velora-passports — the passports you add (issuing country and any expiry date you enter), kept on your device to personalize entry and validity guidance
- velora-visits, velora-search-history, velora-offline-cities — your travel record, recent searches, and briefs you saved to read offline
- velora-traveler-dna, velora-traveler-profile — your calibration answers and the taste profile derived from them, which is what Fit Scores are computed from, on the device
- velora-install-id — the random guest id described above
- velora-deep-intel-access — which city your weekly Deep Intel view was spent on, and when
- velora-city-requests — cities you have asked us to chart, so the button stays correct offline
- velora_nightlife_bookmarks — fallback bookmark storage when the database is unavailable
- velora_onboarded, velora_coach_seen, velora_feature_tips, velora_push_asked — which first-run guides and prompts you have already been shown
We do not set HTTP cookies for tracking, advertising, or analytics purposes. The Supabase authentication session is maintained using their SDK's built-in storage mechanisms.
5. How Velora Uses AI
Two features in Velora are generated by a large language model. Everything else you read in a destination brief — the curated city intelligence, the Traveler Consensus, the entry and visa lookup, airports, currency, nightlife venues — is human-curated or comes from bundled reference data, and is served from our database. It is not written by a model when you search.
The district safety map — Groq, Llama 3.3 70B
The coloured district overlay on the safety map is generated by Groq's API. We send the city name, the country, and the city's coordinates. We send nothing about you: not your account, your email, your nationality, your passports, or your travel history. The model returns a list of named districts with a general reputation rating, which we cache in our own database for 24 hours and serve to everyone who looks at that city, so the same city is not regenerated per person.
Nationality and destination risk — Google Gemini
When a brief assesses how the nationality in your passport relates to a destination country (entry bans, active conflict, sanctions and similar consular factors), that assessment is generated by Google's Gemini API. The prompt contains two country names and nothing else. The country names are derived on our server from ISO country codes, so no text you typed is forwarded. The result is cached by country pair for 30 days, which means it is shared across every user with the same nationality and destination and is never specific to you.
What we do not do with AI
- We do not send your personal information, account identifiers, passports, travel history, saved cities, friends, or messages to any AI provider.
- We do not use your personal data to train models, and we do not build or sell datasets from it.
- No AI makes any decision about you that has a legal or similarly significant effect. Nothing in Velora scores, ranks, profiles or denies anyone anything using a model.
- The personalization in Velora — Fit Scores, recommendations, the "For you" surfaces — is computed on your device by ordinary arithmetic over the answers and activity described in Section 1. It is not a language model and it does not leave your device to be scored.
Each AI provider processes the request under its own terms and privacy policy. Because we send only place names and coordinates, no personal information of yours is subject to them.
AI output can be wrong
Model-generated content is an estimate of general reputation, not a live feed, not an official source, and not advice. It can be out of date or simply incorrect. Do not rely on it for safety, legal, immigration, or medical decisions — see the corresponding clause in our Terms of Service, and check an official source such as your government's travel advisory or the destination's consulate.
6. Analytics
We use PostHog for product analytics in both the iOS app and on the web, and Vercel Analytics and Vercel Speed Insights on the web only. What each one receives is described in Section 3. In short: PostHog receives product events and, once you sign in, your account id and email; Vercel's tools are cookieless and receive only aggregate page and performance data.
These load automatically as part of the Velora service; their use is disclosed here and in our Terms of Service. Neither sets advertising cookies, follows you across other companies' sites, or builds an advertising profile, which is why no consent banner is shown. On the web you can block them with your browser's tracking protection or a tracker blocker; in the app, or if you would prefer to be excluded entirely, email us and we will exclude your account.
We do not use Google Analytics, Mixpanel, Segment, advertising pixels, or marketing trackers, and we do not sell your data.
Internal product analytics
For our own product decisions, we also compute aggregate, internal analytics from data we already hold (such as account, search-usage, travel, and subscription records described in Section 1). These are summary statistics — for example, total and new user counts, active-user and retention rates, feature-adoption percentages, popular destinations, the uncharted-city request queue, and revenue totals. This processing relies on existing data and does not involve any new tracking scripts, cookies, advertising profiles, or sharing of personal data with third parties, and results are reviewed only in aggregate by the Velora team.
7. Data Retention
We retain your account data for as long as your account is active. If you delete your account, we delete your profile, travel records, bookmarks, social connections, and subscription records from our database. Purchase records required for legal and accounting purposes may be retained by Apple in accordance with their policies.
Daily search counters are kept per day and are not tied to destinations. The guest install id lives on your device until you clear the app's storage or delete the app; the rows it counts against carry no other information about you. Webhook event logs used for billing integrity, and AI response caches keyed by city or by country pair (Section 5), are retained for operational purposes and contain no personal data. Analytics events held by PostHog are retained under our PostHog project's retention settings; ask us and we will delete yours.
8. Your Rights
You can, at any time:
- Access your travel data and bookmarks directly within the app
- Remove friends, bookmarks, and visited cities from within the app
- Delete your account and all associated data from the Settings panel
- Request a copy of your data by emailing us at theveloraapp@gmail.com
If you are located in the European Economic Area, United Kingdom, or California, you may have additional rights under GDPR or CCPA — including the right to access, correct, delete, or port your data, to object to or restrict certain processing, and to lodge a complaint with your local data protection authority. Contact us at the address below with any request and we will respond within the timeframe required by applicable law.
California — "Do Not Sell or Share"
We do not sell your personal information, and we do not share it for cross-context behavioral advertising. There is nothing to opt out of because this kind of sharing never happens at Velora.
9. International Data Transfers
Velora and the providers we rely on (Vercel, Supabase, Apple, RevenueCat, PostHog, Google, Groq) are based in or process data in the United States. If you access Velora from the European Economic Area, the United Kingdom, or elsewhere, your data may be transferred to and processed in the United States. Where required, these transfers are covered by Standard Contractual Clauses or equivalent safeguards offered by each provider under their data processing terms.
10. Data Breaches
We take reasonable technical and organizational measures to protect your data. In the event of a data breach that affects your personal information, we will notify affected users and, where required, the relevant authorities, without undue delay and in accordance with applicable law.
11. Children
Velora is not directed to children under 13 (or the minimum age of digital consent in your country, which may be as high as 16 in parts of the European Economic Area). We do not knowingly collect personal information from anyone under that age. If you believe a minor has created an account, contact us and we will delete it promptly.
12. Changes to This Policy
If we make material changes to this policy, we will update the "Last updated" date and, where appropriate, notify you via email or in-app notice. Continued use of Velora after changes are posted constitutes acceptance of the updated policy.
13. Contact
Velora is the data controller for the information described in this policy. Questions about this policy, your data, or to exercise any of your rights: theveloraapp@gmail.com