Privacy Policy
Contents
Short version: Vegvisir has no account and no sign-in, and we never ask for your name or email address. Your saved places, trips, travel profile and settings are stored on your phone, not on a server of ours. There are no ads, no analytics, no crash reporting and no tracking.
Two things do leave your phone, and we would rather state them plainly than bury them. If you use the optional AI feature Ask a local, your question is sent through our server to Anthropic to be answered, and our server keeps a count of the questions you have used against a random identifier. And whenever you open the app, its purchase component checks your purchases with RevenueCat, even if you never buy anything. That check sends a random purchase identifier, Apple’s identifier for vendor for your phone (not the advertising identifier) and the country of your App Store account. If you buy Vegvisir Pro or more questions, Apple handles the payment and RevenueCat keeps track of the purchase. Sections 2, 3 and 7 describe exactly what is sent and to whom.
1. Who we are
Vegvisir is developed and operated by Olmo Technologies, a sole-trader business based in Norway.
For the purposes of the General Data Protection Regulation (GDPR), Olmo Technologies is the data controller for personal data processed in connection with Vegvisir.
Contact: contact@olmo-technologies.com
2. What data we collect
Vegvisir has no user account and no sign-in. We do not ask for your name, your email address or any other contact detail, and we operate no database of users.
Data stored on your device
The following is saved in the app’s private storage on your phone so that the app remembers what you were doing between sessions:
- Places you have marked as interesting, and places you have skipped
- Trips you have planned: trip name, start date, number of days, which places you put on which day, where you are staying each day, and any changes you made to how long you stay at a place
- Unsaved planner drafts and a half-finished travel interview, so they are not lost when you close the app
- Your travel profile, meaning the answers you give in the intake questions: whether you are planning a trip or already in Norway, the place or places you are based, roughly how many days you have, how you are getting around, how far you are willing to travel, and what you are interested in
- Your settings: interface language, colour theme, metric or imperial units, and the area you are browsing
- Whether you have completed onboarding and seen the guided tour and hints
- Whether you have given permission for Ask a local to send your questions (see Section 3)
- How many of the free questions for Ask a local you have used on this phone
- Trips you have downloaded for offline use (a Pro feature), together with the photographs for those trips
- Photographs cached after they were first shown (see Section 5)
- The country or region of your App Store account, used to decide whether Ask a local is offered (see Section 3)
- The last few dates you opened the app, and the app version in which you were last asked to rate it, so Apple’s rating request appears at most once per version
Identifiers
Vegvisir uses two random identifiers of its own, and RevenueCat’s purchase component in the app also sends one that Apple provides. None of them is your Apple ID or the advertising identifier, and none of them contains your name.
- The device identifier for Ask a local. A random string created the first time you ask a question in Ask a local. It is stored in your iPhone’s Keychain, so it stays on the phone even if you delete and reinstall the app. It is used to count the free questions for that phone (Section 3).
- The anonymous purchase identifier. Created by RevenueCat’s purchase component the first time the app is opened, whether or not you ever buy anything, and sent to RevenueCat each time the component checks your purchases. It is new for each installation of the app. When you restore purchases, RevenueCat links the new identifier to the same customer as before, so your purchases and your paid question balance stay with you (Sections 3 and 7).
- Apple’s identifier for vendor. A random identifier that iOS gives each app developer on each device; it is the same for all apps from the same developer on your phone. Vegvisir’s own code does not use it, but RevenueCat’s purchase component includes it in its requests to RevenueCat (Section 7). It is not the advertising identifier.
If you email us
The contact option in Settings opens your own email app with a pre-filled message to contact@olmo-technologies.com. Nothing is sent until you press send in your own email app, and you can edit or delete any of it first. The draft includes your app version and interface language so we can help you faster. Emails you send us are handled as ordinary correspondence and kept only as long as needed to answer you.
What we do NOT collect
- Name, email address or any other contact details (unless you email us)
- Your GPS coordinates (see Section 4); they are not sent from your device
- Contacts, photos, camera, microphone, calendar or health data: Vegvisir does not request access to any of these
- The advertising identifier (IDFA): Vegvisir does not request it and shows no tracking prompt
- Usage analytics, behavioural events, session recordings or crash reports
- Browsing or activity in other apps: there is no cross-app or cross-site tracking of any kind
- Payment or card details (see Section 7)
Vegvisir does not use cookies. It is a native app, not a website, and stores nothing of that kind.
3. Ask a local (AI feature)
Ask a local is an optional AI feature that needs an internet connection. It is an AI, not a person. The rest of the app works without it. Its answers are written by Claude, an AI model made by Anthropic.
Your permission comes first
The first time you send a question, Vegvisir shows a dialog that explains what will be shared with Anthropic, with a link to this policy, and asks you to choose Allow or Not now. Nothing is sent until you choose Allow. If you choose Not now, your question stays in the text field and nothing leaves your phone. The permission is remembered on your device; “Start over” in Settings resets it, and you will be asked again.
What the app sends to our server
When you send a question, the app makes a request to a server operated by Olmo Technologies on Cloudflare’s network, at vegvisir-guide.olmodev.workers.dev. The request contains:
- Your messages in the current conversation: the question you just asked, plus the earlier questions and answers in the same chat, so the answer makes sense in context. Neither the app nor our server saves the conversation.
- A small extract of Vegvisir’s own guidebook: up to ten place descriptions from the content inside the app, selected on your phone as likely relevant to your question. This is our text, not yours.
- The language you are reading the app in, so the answer comes back in that language.
- A one-sentence summary of your travel profile, if you have filled one in, for example that you are planning a trip, based in a particular town, for about a week, getting around by car, interested in fjords and hikes. If you typed a place name as your base, that place name is included.
- The device identifier for Ask a local and, if the app can read it, the anonymous purchase identifier, together with whether the app believes you have Pro. These are used only to count questions (see below).
What our server sends to Anthropic
Our server forwards to Anthropic only what is needed to write the answer: the most recent part of the conversation (up to 12 messages), the selected place descriptions, the travel-profile summary and your language, together with our own instructions for Ask a local. It does not forward the device identifier, the purchase identifier or your network address to Anthropic.
What is not sent at all
Your GPS coordinates are not sent. If you have allowed location access, your phone uses your position to favour nearby places when it picks the place descriptions, so the places included can reflect roughly which part of Norway you are in; the coordinates themselves stay on your phone. Your saved places, your planned trips and your settings are not sent either.
How questions are counted
Every phone gets 5 free questions in total. Vegvisir Pro includes 300 questions, and each top-up adds 150 questions. Questions do not expire. Our server keeps the count, not the app:
- Free questions are counted against the device identifier. Because it is kept in the Keychain, deleting and reinstalling the app does not reset the free questions on that phone.
- Pro questions and top-ups are counted against your RevenueCat customer, recorded under the first anonymous purchase identifier that customer had. A new installation gets a new identifier. When you use Restore purchases after reinstalling or on a new phone, RevenueCat links the new identifier to the same customer, so your paid question balance follows your purchases.
- To confirm a Pro purchase, and to find which customer a purchase identifier belongs to, our server may ask RevenueCat about that identifier.
- If the service fails and no answer is produced, the question is given back to your balance.
What our server stores
Our server does not store the content of your questions or the answers, and its code writes no request logs. It stores only these items, in Cloudflare’s key-value storage:
- For each device identifier, the number of free questions used
- For each RevenueCat customer, recorded under its first anonymous purchase identifier, the number of questions used, the number of questions credited by purchases, and a marker that its Pro purchase has been confirmed with RevenueCat
- For an anonymous purchase identifier the app has sent, which RevenueCat customer it belongs to; this link expires after one day
- The identification numbers of purchase notifications already received from RevenueCat, so the same purchase is never counted twice; these expire after 60 days
To block automated abuse, the server limits how many requests can arrive from the same network (IP) address within a minute, using Cloudflare’s rate-limiting feature. Our server does not write your IP address to its storage.
Where Ask a local is offered
Ask a local and the question top-up are not offered to App Store accounts in mainland China, Hong Kong or Macao. Two checks apply this:
- On your phone, the app reads the country or region of your App Store account, which Apple’s StoreKit reports to the app. This is the country the account belongs to, not where you are. If it is one of those three, the app hides Ask a local and the top-up. The app keeps the last known country in its own storage on your phone, so the check also works without a connection. The app does not send this country to our server, but RevenueCat’s purchase component, which reads it from StoreKit for the app, includes it in its own requests to RevenueCat (Section 7).
- On our server, Cloudflare reports which country the request’s network (IP) address belongs to, and the server refuses requests from those three regions. This is worked out in the moment, like the rate limit above, and is not written to storage.
We use neither country for anything else.
Anthropic
Anthropic processes the request in order to generate the answer. We use Anthropic’s API under Anthropic’s Commercial Terms of Service, which state that Anthropic “may not train models on Customer Content from Services.” Anthropic’s wider handling of personal data is described in the Anthropic Privacy Policy.
Because Ask a local sends whatever you type, please do not type anything into it you would not want a third party to process. It only needs your travel question; it does not need your name, contact details or other personal information.
4. Location
Location is optional and the whole app works without it. If you never grant the permission, nothing is lost except the convenience of distances and automatic sorting.
If you do grant it, Vegvisir reads your position only while the app is in use. There is no background location tracking, no location history and no geofencing. The position is used for these things, all of them calculated on your device:
- Showing how far away each place is
- Sorting places by what is closest to you, the “around me” view
- Showing your own position as a dot on the map
- Favouring nearby places when the app picks which place descriptions to include with a question for Ask a local (Section 3)
Your coordinates are never transmitted to us, to Ask a local, or to anyone else. They are held in the app’s memory while you use it and are not written to permanent storage. You can revoke the permission at any time in your phone’s system settings and the app will carry on working.
Separately from location access, Ask a local is not offered in mainland China, Hong Kong or Macao, and to apply that the app reads the country of your App Store account and our server checks the country of a request’s network address (Section 3). Neither is your position. The app does not send the App Store country to our server (RevenueCat’s purchase component sends it to RevenueCat, see Section 7), and the server’s check is not stored.
5. Photographs and maps
Place photographs
The text, place data, routes and driving distances in Vegvisir are bundled inside the app and need no connection. Photographs are the exception: they are downloaded the first time a place is shown and then cached on your device. If you have Pro and download a trip for offline use, the photographs for that trip are kept on your device until you use “Start over” in Settings or delete the app.
All photographs come from Wikimedia Commons and are fetched directly from Wikimedia’s image servers at upload.wikimedia.org and thumb.wikimedia.org. Each image is used under a free licence and is credited in the app with its photographer and licence. Requesting an image tells Wikimedia’s servers that some device asked for that file, in the same way as opening any web page would; nothing about you or your use of the app is included. Wikimedia’s handling is governed by the Wikimedia Foundation Privacy Policy.
Maps
The map screen uses Apple Maps, the map component built into iPhone and iPad. Map tiles are fetched by that component from Apple as you pan and zoom. The “Open in Maps” option on a place opens Apple’s Maps app at that place’s location. Apple’s handling is governed by the Apple Privacy Policy. We receive nothing from this.
6. How your data is used
Everything stored on your device is used for one purpose: to make the app work for you: to show your saved places, keep your trips, remember your settings, and suggest things that suit the trip you described.
The data that leaves your device is used only to answer your questions in Ask a local, to check that Ask a local is offered where a request comes from, to keep count of the questions you have used and bought, and to check, process and restore purchases.
Under the GDPR, our legal bases are:
- Performance of a contract (Article 6(1)(b)): answering the questions you send to Ask a local, keeping your free and paid question balance, checking with RevenueCat whether you have bought Pro, and handling the purchases you make, because those are the features you asked us to provide.
- Consent (Article 6(1)(a)): access to your location, which you grant through your phone’s permission prompt and can withdraw at any time; and sending your questions in Ask a local to Anthropic, which the app asks you to allow before the first question is sent.
- Legitimate interests (Article 6(1)(f)): using the network address of a request, in the moment, to limit automated abuse of Ask a local and to refuse requests from the regions where Ask a local is not offered.
We do not use your data for advertising, profiling, resale, or AI model training. We do not sell personal data to anyone.
7. Third-party services
The services below are provided by companies based in the United States, so data described in this section may be processed there.
Apple (App Store and payments)
Vegvisir is distributed through the App Store, and every purchase is processed by Apple. We never see your card number, bank details, billing address or Apple ID, and we cannot. The App Store may collect data about your download and use of the app, such as aggregated analytics, in accordance with your device settings and Apple’s own policy. We receive only anonymous aggregated figures from Apple, never data that identifies you. See the Apple Privacy Policy.
RevenueCat (purchase status)
To check whether you have bought Pro, to process top-ups and to restore purchases, the app uses RevenueCat (RevenueCat, Inc., USA). RevenueCat’s purchase component in the app contacts RevenueCat whenever the app is opened, even if you never buy anything. Its requests contain the anonymous purchase identifier, Apple’s identifier for vendor for your phone and the country or region of your App Store account, together with technical details such as the app version, the iOS version, the device model and your preferred languages. They do not contain the advertising identifier, and Vegvisir does not switch on the component’s optional collection of further device identifiers. Like any request over the internet, they reach RevenueCat from your network address. When you buy or restore, RevenueCat also receives the purchase information from the App Store.
When a purchase, refund or restore happens, RevenueCat sends our server a notification about the event. The notification can contain more details of the purchase, but our server uses only the customer’s anonymous purchase identifiers, the product and the type of event, so the right number of questions can be credited, removed or moved. It also keeps the notification’s own identifier for 60 days, so the same event is never counted twice, and stores nothing else from it. Our server may also ask RevenueCat which RevenueCat customer an anonymous purchase identifier belongs to, and whether that customer has an active Pro purchase. RevenueCat’s handling is governed by the RevenueCat Privacy Policy.
Cloudflare (server for Ask a local)
Our server for Ask a local runs on Cloudflare (Cloudflare, Inc., USA). Cloudflare receives the requests described in Section 3, including the network address they come from, tells our server which country that address belongs to, and stores the question counters described there. Cloudflare’s handling is governed by the Cloudflare Privacy Policy.
Anthropic (AI answers)
Anthropic makes Claude, the AI model that writes the answers in Ask a local. It receives your question, the conversation so far, a short summary of your travel profile, your language and a selection of Vegvisir’s own place descriptions, to generate the answer. Anthropic, PBC is based in the USA; under Anthropic’s Commercial Terms, the contracting party for customers in the EEA, such as Olmo Technologies, is Anthropic Ireland, Limited. Described in full in Section 3.
Wikimedia Commons
Source of the place photographs. Described in Section 5.
No advertising and no analytics
Vegvisir contains no advertising SDK, no analytics SDK, no crash-reporting service and no third-party tracking library of any kind.
8. Data storage and security
Your saved places, trips, travel profile and settings are stored in the app’s sandboxed storage on your device. The device encrypts this storage at rest and other apps cannot read it. The device identifier for Ask a local is stored in the iPhone Keychain. We do not synchronise any of this to a server of ours.
We operate no user database and no backend that holds your trips, saved places or conversations. The only things we store are the question counters and purchase markers described in Section 3, held in Cloudflare’s key-value storage and keyed by random identifiers, not by name, email or Apple ID. There is therefore no copy of your trips, your saved places or your conversations outside your own device for anyone, including us, to access, lose or disclose.
9. Your rights (GDPR)
If you are located in the European Economic Area (EEA) or the United Kingdom, the GDPR gives you the following rights over personal data held about you:
- Right of access: a copy of any personal data we hold about you.
- Right to rectification: correction of inaccurate data.
- Right to erasure: deletion of your data.
- Right to restriction: limiting how we process it.
- Right to data portability: your data in a structured, machine-readable format.
- Right to object: objection to processing based on legitimate interests.
- Right to withdraw consent: withdrawal at any time where processing rests on consent, such as location access or Ask a local.
In practice we hold very little to exercise these rights against. Your trips, places and settings live on your device, where you already have complete and immediate control (Section 10). On our side there are only the question counters and purchase markers described in Section 3. They are stored against random identifiers, and we hold no name, email address or Apple ID with them, so we cannot look them up from your name. If you ask us to access or delete them, we may need to ask you for information that lets us find the right record, and we will tell you what we need.
To make a request or ask a question, contact us at contact@olmo-technologies.com. We will respond within 30 days.
You also have the right to lodge a complaint with the Norwegian Data Protection Authority (Datatilsynet): www.datatilsynet.no.
10. Data retention and deletion
On your device
Data on your device is kept until you remove it. You can delete individual trips and saved places inside the app. Settings → Start over deletes, in one go: saved and skipped places, trips, drafts, travel profile, settings, downloaded trips and their photographs, and your permission for Ask a local. Your interface language is set back to the phone’s language. Ordinary cached photographs are left in the app’s cache, which iOS can clear on its own.
Three things are deliberately kept by “Start over”: the count of free questions for Ask a local you have used on this phone, its device identifier in the Keychain, and the app version in which you were last asked to rate the app. The first two are kept because our server counts the free questions against that identifier, so resetting the count in the app would only promise questions the server would refuse. The third is kept so that starting over does not bring back Apple’s rating request in the same version. “Start over” does not touch your purchases either: RevenueCat’s purchase component keeps the anonymous purchase identifier, so Pro and your paid question balance stay with you.
Deleting the app removes what it stored in the app’s own storage. The device identifier for Ask a local is stored in the Keychain and remains on the phone after the app is deleted.
On our server
Questions do not expire, so the question counters and purchase markers described in Section 3 are kept without an expiry date. The identification numbers of purchase notifications expire after 60 days, and the links between purchase identifiers and customers expire after one day. We keep nothing else.
If you want your counters deleted, contact us at contact@olmo-technologies.com (see Section 9). Please note that deleting a paid question balance means any unused paid questions are lost.
11. Children’s privacy
Vegvisir is a general-audience travel guide and is suitable for families. It asks no one for personal details, including children. We do not knowingly collect personal data from children under 13. If you believe a child has sent us personal information, for example by email or in a question to Ask a local, contact us and we will delete what we hold.
12. Changes to this policy
We may update this Privacy Policy from time to time, for example if a future version of Vegvisir adds a feature that needs data. When we do, we will update the “Last updated” date at the top of this page, and we will notify you within the app before any material change takes effect.
13. Contact us
If you have any questions about this Privacy Policy or how Vegvisir handles data, please contact:
Olmo Technologies
Norway
contact@olmo-technologies.com